IPPL (Independent Parallel Particle Layer)
IPPL
Loading...
Searching...
No Matches
FieldSolver< T, Dim > Class Template Reference

#include <FieldSolver.hpp>

Inheritance diagram for FieldSolver< T, Dim >:
Collaboration diagram for FieldSolver< T, Dim >:

Public Member Functions

 FieldSolver (std::string solver, Field_t< Dim > *rho, VField_t< T, Dim > *E, Field< T, Dim > *phi, std::vector< std::string > preconditioner_params={})
 ~FieldSolver ()
Field_t< Dim > * getRho () const
void setRho (Field_t< Dim > *rho)
VField_t< T, Dim > * getE () const
void setE (VField_t< T, Dim > *E)
Field< T, Dim > * getPhi () const
void setPhi (Field< T, Dim > *phi)
void initSolver () override
void setPotentialBCs ()
void runSolver () override
template<typename Solver>
void initSolverWithParams (const ippl::ParameterList &sp)
void initFFTSolver ()
void initCGSolver ()
void initPCGSolver ()
void initTGSolver ()
void initOpenSolver ()
std::string & getStype ()
void setStype (std::string &solver)
Solver_t< T, Dim > & getSolver ()
void setSolver (Solver_t< T, Dim > &solver)

Private Attributes

Field_t< Dim > * rho_m
VField_t< T, Dim > * E_m
Field< T, Dim > * phi_m
std::vector< std::string > preconditioner_params_m
std::string stype_m
Solver_t< T, Dimsolver_m

Detailed Description

template<typename T, unsigned Dim>
class FieldSolver< T, Dim >

Definition at line 11 of file FieldSolver.hpp.

Constructor & Destructor Documentation

◆ FieldSolver()

template<typename T, unsigned Dim>
FieldSolver< T, Dim >::FieldSolver ( std::string solver,
Field_t< Dim > * rho,
VField_t< T, Dim > * E,
Field< T, Dim > * phi,
std::vector< std::string > preconditioner_params = {} )
inline

Definition at line 19 of file FieldSolver.hpp.

◆ ~FieldSolver()

template<typename T, unsigned Dim>
FieldSolver< T, Dim >::~FieldSolver ( )
inline

Definition at line 29 of file FieldSolver.hpp.

Member Function Documentation

◆ getE()

template<typename T, unsigned Dim>
VField_t< T, Dim > * FieldSolver< T, Dim >::getE ( ) const
inline

Definition at line 34 of file FieldSolver.hpp.

References E_m.

◆ getPhi()

template<typename T, unsigned Dim>
Field< T, Dim > * FieldSolver< T, Dim >::getPhi ( ) const
inline

Definition at line 37 of file FieldSolver.hpp.

References phi_m.

◆ getRho()

template<typename T, unsigned Dim>
Field_t< Dim > * FieldSolver< T, Dim >::getRho ( ) const
inline

Definition at line 31 of file FieldSolver.hpp.

References rho_m.

◆ getSolver()

template<typename T, unsigned Dim>
Solver_t< T, Dim > & ippl::FieldSolverBase< T, Dim >::getSolver ( )
inlineinherited

Definition at line 31 of file FieldSolverBase.h.

References solver_m.

Referenced by FieldSolver< T, Dim >::initSolverWithParams(), and FieldSolver< T, Dim >::runSolver().

Here is the caller graph for this function:

◆ getStype()

template<typename T, unsigned Dim>
std::string & ippl::FieldSolverBase< T, Dim >::getStype ( )
inlineinherited

Definition at line 27 of file FieldSolverBase.h.

References stype_m.

Referenced by FieldSolver< T, Dim >::initSolver(), FieldSolver< T, Dim >::runSolver(), and FieldSolver< T, Dim >::setPotentialBCs().

Here is the caller graph for this function:

◆ initCGSolver()

template<typename T, unsigned Dim>
void FieldSolver< T, Dim >::initCGSolver ( )
inline

Definition at line 156 of file FieldSolver.hpp.

References ippl::ParameterList::add(), ippl::PoissonCG< Field< T, Dim >, Field_t< Dim > >::GRAD, and initSolverWithParams().

Referenced by initSolver().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initFFTSolver()

template<typename T, unsigned Dim>
void FieldSolver< T, Dim >::initFFTSolver ( )
inline

Definition at line 139 of file FieldSolver.hpp.

References ippl::ParameterList::add(), Dim, initSolverWithParams(), and ippl::p2p_pl.

Referenced by initSolver().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initOpenSolver()

template<typename T, unsigned Dim>
void FieldSolver< T, Dim >::initOpenSolver ( )
inline

Definition at line 230 of file FieldSolver.hpp.

References ippl::ParameterList::add(), Dim, initSolverWithParams(), and ippl::p2p_pl.

Referenced by initSolver().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initPCGSolver()

template<typename T, unsigned Dim>
void FieldSolver< T, Dim >::initPCGSolver ( )
inline

Definition at line 165 of file FieldSolver.hpp.

References ippl::ParameterList::add(), ippl::PoissonCG< Field< T, Dim >, Field_t< Dim > >::GRAD, initSolverWithParams(), and preconditioner_params_m.

Referenced by initSolver().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initSolver()

template<typename T, unsigned Dim>
void FieldSolver< T, Dim >::initSolver ( )
inlineoverridevirtual

Implements ippl::FieldSolverBase< T, Dim >.

Definition at line 40 of file FieldSolver.hpp.

References endl(), ippl::FieldSolverBase< T, Dim >::getStype(), initCGSolver(), initFFTSolver(), initOpenSolver(), initPCGSolver(), and initTGSolver().

Here is the call graph for this function:

◆ initSolverWithParams()

template<typename T, unsigned Dim>
template<typename Solver>
void FieldSolver< T, Dim >::initSolverWithParams ( const ippl::ParameterList & sp)
inline

Definition at line 119 of file FieldSolver.hpp.

References E_m, std::get(), ippl::FieldSolverBase< T, Dim >::getSolver(), phi_m, and rho_m.

Referenced by initCGSolver(), initFFTSolver(), initOpenSolver(), initPCGSolver(), and initTGSolver().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initTGSolver()

template<typename T, unsigned Dim>
void FieldSolver< T, Dim >::initTGSolver ( )
inline

Definition at line 213 of file FieldSolver.hpp.

References ippl::ParameterList::add(), Dim, initSolverWithParams(), and ippl::p2p_pl.

Referenced by initSolver().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ runSolver()

template<typename T, unsigned Dim>
void FieldSolver< T, Dim >::runSolver ( )
inlineoverridevirtual

◆ setE()

template<typename T, unsigned Dim>
void FieldSolver< T, Dim >::setE ( VField_t< T, Dim > * E)
inline

Definition at line 35 of file FieldSolver.hpp.

References E_m.

◆ setPhi()

template<typename T, unsigned Dim>
void FieldSolver< T, Dim >::setPhi ( Field< T, Dim > * phi)
inline

Definition at line 38 of file FieldSolver.hpp.

References phi_m.

◆ setPotentialBCs()

template<typename T, unsigned Dim>
void FieldSolver< T, Dim >::setPotentialBCs ( )
inline

Definition at line 57 of file FieldSolver.hpp.

References Dim, ippl::FieldSolverBase< T, Dim >::getStype(), and phi_m.

Here is the call graph for this function:

◆ setRho()

template<typename T, unsigned Dim>
void FieldSolver< T, Dim >::setRho ( Field_t< Dim > * rho)
inline

Definition at line 32 of file FieldSolver.hpp.

References rho_m.

◆ setSolver()

template<typename T, unsigned Dim>
void ippl::FieldSolverBase< T, Dim >::setSolver ( Solver_t< T, Dim > & solver)
inlineinherited

Definition at line 33 of file FieldSolverBase.h.

References solver_m.

◆ setStype()

template<typename T, unsigned Dim>
void ippl::FieldSolverBase< T, Dim >::setStype ( std::string & solver)
inlineinherited

Definition at line 29 of file FieldSolverBase.h.

References stype_m.

Member Data Documentation

◆ E_m

template<typename T, unsigned Dim>
VField_t<T, Dim>* FieldSolver< T, Dim >::E_m
private

Definition at line 14 of file FieldSolver.hpp.

Referenced by getE(), initSolverWithParams(), and setE().

◆ phi_m

template<typename T, unsigned Dim>
Field<T, Dim>* FieldSolver< T, Dim >::phi_m
private

Definition at line 15 of file FieldSolver.hpp.

Referenced by getPhi(), initSolverWithParams(), setPhi(), and setPotentialBCs().

◆ preconditioner_params_m

template<typename T, unsigned Dim>
std::vector<std::string> FieldSolver< T, Dim >::preconditioner_params_m
private

Definition at line 16 of file FieldSolver.hpp.

Referenced by initPCGSolver(), and runSolver().

◆ rho_m

template<typename T, unsigned Dim>
Field_t<Dim>* FieldSolver< T, Dim >::rho_m
private

Definition at line 13 of file FieldSolver.hpp.

Referenced by getRho(), initSolverWithParams(), and setRho().

◆ solver_m

template<typename T, unsigned Dim>
Solver_t<T, Dim> ippl::FieldSolverBase< T, Dim >::solver_m
privateinherited

Definition at line 15 of file FieldSolverBase.h.

Referenced by getSolver(), and setSolver().

◆ stype_m

template<typename T, unsigned Dim>
std::string ippl::FieldSolverBase< T, Dim >::stype_m
privateinherited

Definition at line 14 of file FieldSolverBase.h.

Referenced by FieldSolverBase(), getStype(), and setStype().


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