IPPL (Independent Parallel Particle Layer)
IPPL
Loading...
Searching...
No Matches
FieldSolverBase.h
Go to the documentation of this file.
1
#ifndef IPPL_FIELD_SOLVER_BASE_H
2
#define IPPL_FIELD_SOLVER_BASE_H
3
4
#include <memory>
5
6
#include "
Manager/BaseManager.h
"
7
#include "
datatypes.h
"
8
9
// Define the FieldSolverBase class
10
namespace
ippl
{
11
template
<
typename
T,
unsigned
Dim>
12
class
FieldSolverBase
{
13
private
:
14
std::string
stype_m
;
15
Solver_t<T, Dim>
solver_m
;
16
17
public
:
18
FieldSolverBase
(std::string solver)
19
:
stype_m
(solver) {}
20
21
virtual
void
initSolver
() = 0;
22
23
virtual
void
runSolver
() = 0;
24
25
virtual
~FieldSolverBase
() =
default
;
26
27
std::string&
getStype
() {
return
stype_m
; }
28
29
void
setStype
(std::string& solver) {
stype_m
= solver; }
30
31
Solver_t<T, Dim>
&
getSolver
() {
return
solver_m
; }
32
33
void
setSolver
(
Solver_t<T, Dim>
& solver) {
solver_m
= solver; }
34
};
35
}
// namespace ippl
36
#endif
datatypes.h
Solver_t
VariantFromConditionalTypes< CGSolver_t< T, Dim >, FFTSolver_t< T, Dim >, FFTTruncatedGreenSolver_t< T, Dim >, OpenSolver_t< T, Dim >, NullSolver_t< T, Dim > > Solver_t
Definition
datatypes.h:68
BaseManager.h
ippl
Definition
Archive.h:20
ippl::FieldSolverBase::setSolver
void setSolver(Solver_t< T, Dim > &solver)
Definition
FieldSolverBase.h:33
ippl::FieldSolverBase::getSolver
Solver_t< T, Dim > & getSolver()
Definition
FieldSolverBase.h:31
ippl::FieldSolverBase::solver_m
Solver_t< T, Dim > solver_m
Definition
FieldSolverBase.h:15
ippl::FieldSolverBase::initSolver
virtual void initSolver()=0
ippl::FieldSolverBase::getStype
std::string & getStype()
Definition
FieldSolverBase.h:27
ippl::FieldSolverBase::FieldSolverBase
FieldSolverBase(std::string solver)
Definition
FieldSolverBase.h:18
ippl::FieldSolverBase::runSolver
virtual void runSolver()=0
ippl::FieldSolverBase::stype_m
std::string stype_m
Definition
FieldSolverBase.h:14
ippl::FieldSolverBase::~FieldSolverBase
virtual ~FieldSolverBase()=default
ippl::FieldSolverBase::setStype
void setStype(std::string &solver)
Definition
FieldSolverBase.h:29