|
IPPL API Reference
Independent Parallel Particle Layer C++ API
|
#include <Preconditioner.h>
Inheritance diagram for ippl::richardson_preconditioner_alt< Field, OperatorF, InvDiagF >:
Collaboration diagram for ippl::richardson_preconditioner_alt< Field, OperatorF, 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 | |
| richardson_preconditioner_alt (OperatorF &&op, InvDiagF &&inverse_diagonal, unsigned innerloops=5) | |
| void | operator() (Field &r, Field &result) override |
| void | init_fields (Field &b) override |
Public Member Functions inherited from ippl::preconditioner< Field > | |
| preconditioner (std::string name) | |
| 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 | |
| OperatorF | op_m |
| InvDiagF | inverse_diagonal_m |
| unsigned | innerloops_m |
| Field | Ag_m |
| Field | g_old_m |
| bool | fields_initialized_m = false |
Protected Attributes inherited from ippl::preconditioner< Field > | |
| std::string | type_m |
Alternative Richardson preconditioner Given the linear system of equations Ax=b the update steps are performed as follows: x_{k+1} = x_k + D^{-1}*(b-A*x_k) A derivation of this preconditioner can be found at: https://jschoeberl.github.io/iFEM/iterative/preconditioning.html
|
inlineoverridevirtual |
Reimplemented from ippl::preconditioner< Field >.
|
inlineoverridevirtual |
Reimplemented from ippl::preconditioner< Field >.