OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
FieldSolver< T, Dim > Class Template Reference

#include <FieldSolver.hpp>

Inherits ippl::FieldSolverBase< 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)
 ~FieldSolver ()
void dumpScalField (std::string what)
void dumpVectField (std::string what)
Field_t< Dim > * getRho ()
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 initOpenSolver ()
void initSolver () override
void setPotentialBCs ()
void runSolver () override
template<typename Solver>
void initSolverWithParams (const ippl::ParameterList &sp)
void initNullSolver ()
void initFFTSolver ()
void initCGSolver ()
void initP3MSolver ()
void dumpVectField (std::string what)
void dumpScalField (std::string what)
void initOpenSolver ()
void initSolver ()
void setPotentialBCs ()
void runSolver ()
void initNullSolver ()
void initNullSolver ()

Private Attributes

Field_t< Dim > * rho_m
VField_t< T, Dim > * E_m
Field_t< Dim > * phi_m
unsigned int call_counter_m

Detailed Description

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

Definition at line 10 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 )
inline

Definition at line 17 of file FieldSolver.hpp.

References call_counter_m, Dim, E_m, phi_m, rho_m, and setPotentialBCs().

Here is the call graph for this function:

◆ ~FieldSolver()

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

Definition at line 22 of file FieldSolver.hpp.

Member Function Documentation

◆ dumpScalField() [1/2]

void FieldSolver< double, 3 >::dumpScalField ( std::string what)

Definition at line 116 of file FieldSolver.cpp.

References call_counter_m, OpalData::getInputBasename(), OpalData::getInstance(), getRho(), and Util::toUpper().

Here is the call graph for this function:

◆ dumpScalField() [2/2]

template<typename T, unsigned Dim>
void FieldSolver< T, Dim >::dumpScalField ( std::string what)

Referenced by runSolver().

Here is the caller graph for this function:

◆ dumpVectField() [1/2]

void FieldSolver< double, 3 >::dumpVectField ( std::string what)

Definition at line 15 of file FieldSolver.cpp.

References call_counter_m, getE(), OpalData::getInputBasename(), OpalData::getInstance(), and Util::toUpper().

Here is the call graph for this function:

◆ dumpVectField() [2/2]

template<typename T, unsigned Dim>
void FieldSolver< T, Dim >::dumpVectField ( std::string what)

Referenced by runSolver().

Here is the caller graph for this function:

◆ getE()

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

Definition at line 35 of file FieldSolver.hpp.

References E_m.

Referenced by dumpVectField().

Here is the caller graph for this function:

◆ getPhi()

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

Definition at line 42 of file FieldSolver.hpp.

References phi_m.

◆ getRho()

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

Definition at line 28 of file FieldSolver.hpp.

References rho_m.

Referenced by dumpScalField().

Here is the caller graph for this function:

◆ initCGSolver()

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

Definition at line 94 of file FieldSolver.hpp.

◆ initFFTSolver()

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

Definition at line 82 of file FieldSolver.hpp.

References initSolverWithParams().

Here is the call graph for this function:

◆ initNullSolver() [1/3]

void FieldSolver< double, 3 >::initNullSolver ( )

Definition at line 355 of file FieldSolver.cpp.

References Dim, and initSolverWithParams().

Here is the call graph for this function:

◆ initNullSolver() [2/3]

void FieldSolver< double, 3 >::initNullSolver ( )

◆ initNullSolver() [3/3]

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

Referenced by initSolver().

Here is the caller graph for this function:

◆ initOpenSolver() [1/2]

void FieldSolver< double, 3 >::initOpenSolver ( )

Definition at line 247 of file FieldSolver.cpp.

References initSolverWithParams().

Here is the call graph for this function:

◆ initOpenSolver() [2/2]

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

Referenced by initSolver().

Here is the caller graph for this function:

◆ initP3MSolver()

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

Definition at line 96 of file FieldSolver.hpp.

◆ initSolver() [1/2]

void FieldSolver< double, 3 >::initSolver ( )

Definition at line 261 of file FieldSolver.cpp.

References initNullSolver(), and initOpenSolver().

Here is the call graph for this function:

◆ initSolver() [2/2]

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

Referenced by PartBunch< PLayout, T, Dim >::setSolver().

Here is the caller 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 58 of file FieldSolver.hpp.

References call_counter_m, E_m, phi_m, and rho_m.

Referenced by initFFTSolver(), initNullSolver(), and initOpenSolver().

Here is the caller graph for this function:

◆ runSolver() [1/2]

void FieldSolver< double, 3 >::runSolver ( )

Definition at line 291 of file FieldSolver.cpp.

References call_counter_m, Dim, dumpScalField(), and dumpVectField().

Here is the call graph for this function:

◆ runSolver() [2/2]

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

◆ setE()

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

Definition at line 38 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 45 of file FieldSolver.hpp.

References phi_m.

◆ setPotentialBCs() [1/2]

void FieldSolver< double, 3 >::setPotentialBCs ( )

Definition at line 277 of file FieldSolver.cpp.

References phi_m.

◆ setPotentialBCs() [2/2]

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

Referenced by FieldSolver().

Here is the caller graph for this function:

◆ setRho()

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

Definition at line 31 of file FieldSolver.hpp.

References rho_m.

Member Data Documentation

◆ call_counter_m

template<typename T, unsigned Dim>
unsigned int FieldSolver< T, Dim >::call_counter_m
private

◆ E_m

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

Definition at line 13 of file FieldSolver.hpp.

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

◆ phi_m

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

Definition at line 14 of file FieldSolver.hpp.

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

◆ rho_m

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

Definition at line 12 of file FieldSolver.hpp.

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


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