|
IPPL (Independent Parallel Particle Layer)
IPPL
|
#include <Preconditioner.h>
Public Types | |
| 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) | |
| Field | operator() (Field &r) override |
| void | init_fields (Field &b) override |
| std::string | get_type () |
Static Public Attributes | |
| static constexpr unsigned | Dim = Field::dim |
Protected Attributes | |
| OperatorF | op_m |
| InvDiagF | inverse_diagonal_m |
| unsigned | innerloops_m |
| Field | Ag_m |
| 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
Definition at line 346 of file Preconditioner.h.
| using ippl::richardson_preconditioner_alt< Field, OperatorF, InvDiagF >::layout_type = typename Field::Layout_t |
Definition at line 349 of file Preconditioner.h.
| using ippl::richardson_preconditioner_alt< Field, OperatorF, InvDiagF >::mesh_type = typename Field::Mesh_t |
Definition at line 348 of file Preconditioner.h.
|
inline |
Definition at line 351 of file Preconditioner.h.
References innerloops_m, inverse_diagonal_m, op_m, and ippl::preconditioner< Field >::preconditioner().
|
inlineinherited |
Definition at line 47 of file Preconditioner.h.
References type_m.
|
inlineoverridevirtual |
Reimplemented from ippl::preconditioner< Field >.
Definition at line 388 of file Preconditioner.h.
References Ag_m, ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::get_mesh(), and ippl::BareField< T, Dim, ViewArgs >::getLayout().
|
inlineoverridevirtual |
Reimplemented from ippl::preconditioner< Field >.
Definition at line 359 of file Preconditioner.h.
References Ag_m, ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::deepCopy(), ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::get_mesh(), ippl::BareField< T, Dim, ViewArgs >::getLayout(), innerloops_m, inverse_diagonal_m, and op_m.
|
protected |
Definition at line 399 of file Preconditioner.h.
Referenced by init_fields(), and operator()().
|
staticconstexpr |
Definition at line 347 of file Preconditioner.h.
|
protected |
Definition at line 398 of file Preconditioner.h.
Referenced by operator()(), and richardson_preconditioner_alt().
|
protected |
Definition at line 397 of file Preconditioner.h.
Referenced by operator()(), and richardson_preconditioner_alt().
|
protected |
Definition at line 396 of file Preconditioner.h.
Referenced by operator()(), and richardson_preconditioner_alt().
|
protectedinherited |
Definition at line 50 of file Preconditioner.h.
Referenced by get_type(), preconditioner(), and preconditioner().