|
IPPL (Independent Parallel Particle Layer)
IPPL
|
#include <NullSolver.h>
Public Types | |
| using | Base = Poisson<FieldLHS, FieldRHS> |
| using | lhs_type |
| using | rhs_type |
| enum | OutputType { SOL = 0b01 , GRAD = 0b10 , SOL_AND_GRAD = 0b11 } |
| using | Tlhs = typename FieldLHS::value_type |
| using | Trhs = typename FieldRHS::value_type |
| using | grad_type = Field<Vector<Tlhs, Dim>, Dim, Mesh, CenteringCentering> |
Public Member Functions | |
| NullSolver () | |
| NullSolver (rhs_type &rhs) | |
| NullSolver (lhs_type &lhs, rhs_type &rhs) | |
| void | solve () override |
| template<typename T> | |
| void | updateParameter (const std::string &key, const T &value) |
| void | updateParameters (const ParameterList ¶ms) |
| void | mergeParameters (const ParameterList ¶ms) |
| void | setLhs (lhs_type &lhs) |
| virtual void | setRhs (rhs_type &rhs) |
| virtual MField_t * | getHessian () |
| void | setGradient (grad_type &grad) |
Protected Member Functions | |
| virtual void | setDefaultParameters () |
Protected Attributes | |
| ParameterList | params_m |
| rhs_type * | rhs_mp = nullptr |
| lhs_type * | lhs_mp = nullptr |
| grad_type * | grad_mp |
Private Types | |
| typedef FieldLHS::Mesh_t | Mesh |
| typedef FieldLHS::Centering_t | Centering |
| typedef Mesh::matrix_type | Matrix_t |
| typedef Field< Matrix_t, Dim, Mesh, CenteringCentering > | MField_t |
Static Private Attributes | |
| static constexpr unsigned | Dim = FieldLHS::dim |
Definition at line 16 of file NullSolver.h.
| using ippl::NullSolver< FieldLHS, FieldRHS >::Base = Poisson<FieldLHS, FieldRHS> |
Definition at line 18 of file NullSolver.h.
|
privateinherited |
| using ippl::Poisson< FieldLHS, FieldRHS >::lhs_type |
|
privateinherited |
|
privateinherited |
| using ippl::Poisson< FieldLHS, FieldRHS >::rhs_type |
|
inherited |
|
inherited |
|
inherited |
|
inline |
Definition at line 22 of file NullSolver.h.
|
inline |
Definition at line 25 of file NullSolver.h.
|
inline |
Definition at line 33 of file NullSolver.h.
|
inlinevirtualinherited |
Get the Hessian matrix of the solution
Reimplemented in ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >.
|
inlineinherited |
|
inlineprotectedvirtualinherited |
Utility function for initializing a solver's default parameters (to be overridden for each base class)
Reimplemented in ippl::FEMPoissonSolver< FieldLHS, FieldRHS, Order, QuadNumNodes >, ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >, ippl::FFTPeriodicPoissonSolver< FieldLHS, FieldRHS >, ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >, ippl::PoissonCG< FieldLHS, FieldRHS >, ippl::PoissonCG< Field< T, Dim >, Field_t< Dim > >, and ippl::PreconditionedFEMPoissonSolver< FieldLHS, FieldRHS >.
Definition at line 131 of file Poisson.h.
References ippl::ParameterList::add(), and SOL.
Referenced by ippl::NullSolver< VField_t< T, Dim >, Field_t< Dim > >::NullSolver(), Poisson(), and Poisson().
|
inlineinherited |
Set the field in which the gradient of the computed potential should be stored
| grad | Reference to field in which to store the gradient |
Definition at line 109 of file Poisson.h.
References ippl::grad(), and grad_mp.
|
inlineinherited |
Set the problem LHS
| lhs | Reference to problem LHS field |
Definition at line 90 of file Poisson.h.
References lhs_mp.
Referenced by ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::FFTOpenPoissonSolver(), ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >::FFTTruncatedGreenPeriodicPoissonSolver(), and Poisson().
|
inlinevirtualinherited |
Set the problem RHS
| rhs | Reference to problem RHS field |
Reimplemented in ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >, ippl::FFTPeriodicPoissonSolver< FieldLHS, FieldRHS >, and ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >.
Definition at line 96 of file Poisson.h.
References rhs_mp.
Referenced by ippl::NullSolver< VField_t< T, Dim >, Field_t< Dim > >::NullSolver(), Poisson(), ippl::FEMPoissonSolver< FieldLHS, FieldRHS, Order, QuadNumNodes >::setRhs(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::setRhs(), ippl::FFTPeriodicPoissonSolver< FieldLHS, FieldRHS >::setRhs(), ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >::setRhs(), and ippl::PreconditionedFEMPoissonSolver< FieldLHS, FieldRHS >::setRhs().
|
inlineoverridevirtual |
Solve the Poisson problem described by -laplace(lhs) = rhs
Implements ippl::Poisson< FieldLHS, FieldRHS >.
Definition at line 36 of file NullSolver.h.
|
inlineinherited |
Update one of the solver's parameters
| key | The parameter key |
| value | The new value |
| IpplException | Fails if there is no existing parameter with the given key |
Definition at line 67 of file Poisson.h.
References params_m.
|
inlineinherited |
Updates all solver parameters based on values in another parameter set
| params | Parameter list with updated values |
| IpplException | Fails if the provided parameter list includes keys not already present |
Definition at line 77 of file Poisson.h.
References params_m.
|
staticconstexprprivateinherited |
|
protectedinherited |
Definition at line 125 of file Poisson.h.
Referenced by Poisson(), Poisson(), and setGradient().
|
protectedinherited |
Definition at line 123 of file Poisson.h.
Referenced by setLhs(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::solve(), ippl::FFTPeriodicPoissonSolver< FieldLHS, FieldRHS >::solve(), and ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >::solve().
|
protectedinherited |
Definition at line 120 of file Poisson.h.
Referenced by ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::FFTOpenPoissonSolver(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::FFTOpenPoissonSolver(), ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >::FFTTruncatedGreenPeriodicPoissonSolver(), ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >::FFTTruncatedGreenPeriodicPoissonSolver(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::getHessian(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::greensFunction(), ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >::greensFunction(), ippl::FFTPeriodicPoissonSolver< FieldLHS, FieldRHS >::initialize(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::initializeFields(), ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >::initializeFields(), mergeParameters(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::setDefaultParameters(), ippl::FFTPeriodicPoissonSolver< FieldLHS, FieldRHS >::setDefaultParameters(), ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >::setDefaultParameters(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::setGradFD(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::solve(), ippl::FFTPeriodicPoissonSolver< FieldLHS, FieldRHS >::solve(), ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >::solve(), updateParameter(), and updateParameters().
|
protectedinherited |
Definition at line 122 of file Poisson.h.
Referenced by ippl::FFTPeriodicPoissonSolver< FieldLHS, FieldRHS >::initialize(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::initializeFields(), ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >::initializeFields(), setRhs(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::solve(), ippl::FFTPeriodicPoissonSolver< FieldLHS, FieldRHS >::solve(), and ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >::solve().