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

#include <FieldSolver.hpp>

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

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 initSolverWithParams (const ippl::ParameterList &sp)
 
void dumpVectField (std::string what)
 
void dumpScalField (std::string what)
 
void initOpenSolver ()
 
void initFFTSolver ()
 
void initSolver ()
 
void setPotentialBCs ()
 
void runSolver ()
 
void initNullSolver ()
 
void initNullSolver ()
 
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
 
unsigned int call_counter_m
 
std::string stype_m
 
Solver_t< T, Dimsolver_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 FieldSolver< T, Dim >::setPotentialBCs().

Here is the call graph for this function:

◆ ~FieldSolver()

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

Definition at line 27 of file FieldSolver.hpp.

Member Function Documentation

◆ dumpScalField() [1/2]

◆ dumpScalField() [2/2]

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

◆ dumpVectField() [1/2]

◆ dumpVectField() [2/2]

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

◆ getE()

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

Definition at line 40 of file FieldSolver.hpp.

References FieldSolver< T, Dim >::E_m.

◆ getPhi()

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

Definition at line 47 of file FieldSolver.hpp.

References FieldSolver< T, Dim >::phi_m.

◆ getRho()

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

Definition at line 33 of file FieldSolver.hpp.

References FieldSolver< T, Dim >::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 ippl::FieldSolverBase< T, Dim >::solver_m.

◆ getStype()

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

Definition at line 27 of file FieldSolverBase.h.

References ippl::FieldSolverBase< T, Dim >::stype_m.

◆ initCGSolver()

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

Definition at line 69 of file FieldSolver.hpp.

◆ initFFTSolver() [1/2]

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

Definition at line 305 of file FieldSolver.cpp.

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

Here is the call graph for this function:

◆ initFFTSolver() [2/2]

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

◆ initNullSolver() [1/3]

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

Definition at line 419 of file FieldSolver.cpp.

References Dim.

◆ initNullSolver() [2/3]

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

◆ initNullSolver() [3/3]

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

◆ initOpenSolver() [1/2]

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

Definition at line 291 of file FieldSolver.cpp.

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

Here is the call graph for this function:

◆ initOpenSolver() [2/2]

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

◆ initP3MSolver()

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

Definition at line 71 of file FieldSolver.hpp.

◆ initSolver() [1/2]

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

Implements ippl::FieldSolverBase< T, Dim >.

Definition at line 325 of file FieldSolver.cpp.

References endl().

Here is the call graph for this function:

◆ initSolver() [2/2]

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

◆ initSolverWithParams() [1/2]

void FieldSolver< double, 3 >::initSolverWithParams ( const ippl::ParameterList sp)
Todo:
implement properly

Definition at line 16 of file FieldSolver.cpp.

References endl().

Here is the call graph for this function:

◆ initSolverWithParams() [2/2]

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

◆ runSolver() [1/2]

◆ runSolver() [2/2]

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

◆ setE()

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

Definition at line 43 of file FieldSolver.hpp.

References FieldSolver< T, Dim >::E_m.

◆ setPhi()

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

Definition at line 50 of file FieldSolver.hpp.

References FieldSolver< T, Dim >::phi_m.

◆ setPotentialBCs() [1/2]

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

Definition at line 341 of file FieldSolver.cpp.

◆ setPotentialBCs() [2/2]

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

◆ setRho()

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

Definition at line 36 of file FieldSolver.hpp.

References FieldSolver< T, Dim >::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 ippl::FieldSolverBase< T, Dim >::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 ippl::FieldSolverBase< T, Dim >::stype_m.

Member Data Documentation

◆ call_counter_m

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

Definition at line 15 of file FieldSolver.hpp.

◆ 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< T, Dim >::getE(), and FieldSolver< T, Dim >::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< T, Dim >::getPhi(), and FieldSolver< T, Dim >::setPhi().

◆ 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< T, Dim >::getRho(), and FieldSolver< T, Dim >::setRho().

◆ solver_m

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

◆ stype_m

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

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