IPPL API Reference
Independent Parallel Particle Layer C++ API
Loading...
Searching...
No Matches
FieldSolverBase.h
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
10namespace ippl {
11 template <typename T, unsigned Dim>
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() const { return stype_m; }
28
29 void setStype(const 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
Definition FieldSolverBase.h:12
Definition Archive.h:20