IPPL API Reference
Independent Parallel Particle Layer C++ API
Loading...
Searching...
No Matches
ippl::jacobi_preconditioner< Field, InvDiagF > Struct Template Reference

#include <Preconditioner.h>

+ Inheritance diagram for ippl::jacobi_preconditioner< Field, InvDiagF >:
+ Collaboration diagram for ippl::jacobi_preconditioner< Field, InvDiagF >:

Public Types

using mesh_type = typename Field::Mesh_t
 
using layout_type = typename Field::Layout_t
 
- Public Types inherited from ippl::preconditioner< Field >
using mesh_type = typename Field::Mesh_t
 
using layout_type = typename Field::Layout_t
 

Public Member Functions

 jacobi_preconditioner (InvDiagF &&inverse_diagonal, double w=1.0)
 
void operator() (Field &u, Field &result) override
 
- Public Member Functions inherited from ippl::preconditioner< Field >
 preconditioner (std::string name)
 
virtual void init_fields (Field &)
 
std::string get_type ()
 

Static Public Attributes

static constexpr unsigned Dim = Field::dim
 
- Static Public Attributes inherited from ippl::preconditioner< Field >
static constexpr unsigned Dim = Field::dim
 

Protected Attributes

InvDiagF inverse_diagonal_m
 
double w_m
 
- Protected Attributes inherited from ippl::preconditioner< Field >
std::string type_m
 

Detailed Description

template<typename Field, typename InvDiagF>
struct ippl::jacobi_preconditioner< Field, InvDiagF >

Jacobi preconditioner M = w*diag{A} // w is a damping factor

Member Function Documentation

◆ operator()()

template<typename Field , typename InvDiagF >
void ippl::jacobi_preconditioner< Field, InvDiagF >::operator() ( Field u,
Field result 
)
inlineoverridevirtual

Reimplemented from ippl::preconditioner< Field >.


The documentation for this struct was generated from the following file: