OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
PyFieldSolver.cpp
Go to the documentation of this file.
3
5
6namespace PyOpal {
7namespace PyFieldSolverNS {
8
9std::string track_run_docstring = std::string();
10
11
12const char* module_docstring = "build a tracking object";
13
14// DOUBLE, STRING, BOOL, INT
15template <>
16std::vector<PyOpalObjectNS::AttributeDef> PyOpalObjectNS::PyOpalObject<FieldSolver>::attributes = {
17 {"FSTYPE", "field_solver_type", "", PyOpalObjectNS::STRING},
18 {"MX", "mesh_size_x", "", PyOpalObjectNS::DOUBLE},
19 {"MY", "mesh_size_y", "", PyOpalObjectNS::DOUBLE},
20 {"MT", "mesh_size_t", "", PyOpalObjectNS::DOUBLE},
21 {"PARFFTX", "parallelise_fft_x", "", PyOpalObjectNS::BOOL},
22 {"PARFFTY", "parallelise_fft_y", "", PyOpalObjectNS::BOOL},
23 {"PARFFTT", "parallelise_fft_t", "", PyOpalObjectNS::BOOL},
24 {"BCFFTX", "fft_boundary_x", "", PyOpalObjectNS::STRING},
25 {"BCFFTY", "fft_boundary_y", "", PyOpalObjectNS::STRING},
26 {"BCFFTZ", "fft_boundary_z", "", PyOpalObjectNS::STRING},
27 {"GREENSF", "greens_function", "", PyOpalObjectNS::STRING},
28 {"BBOXINCR", "bounding_box_increase", "", PyOpalObjectNS::DOUBLE},
29 {"GEOMETRY", "geometry", "", PyOpalObjectNS::STRING},
30 {"ITSOLVER", "iterative_solver", "", PyOpalObjectNS::STRING},
31 {"INTERPL", "interpolation", "", PyOpalObjectNS::STRING},
32 {"TOL", "tolerance", "", PyOpalObjectNS::DOUBLE},
33 {"MAXITERS", "max_iterations", "", PyOpalObjectNS::DOUBLE},
34 {"PRECMODE", "preconditioner_mode", "", PyOpalObjectNS::STRING},
35 {"RC", "cutoff_radius", "", PyOpalObjectNS::DOUBLE},
36 {"ALPHA", "alpha", "", PyOpalObjectNS::DOUBLE},
37 {"EPSILON", "epsilon", "", PyOpalObjectNS::DOUBLE},
38};
39
40template <>
42
44 Object* obj = &(*fs.getOpalShared());
46}
47
48BOOST_PYTHON_MODULE(field_solver) {
51 auto fsClass = fs.make_class("FieldSolver");
52 fs.addRegister(fsClass);
53}
54
55} // PyFieldSolverNS
56} // PyOpal
57
void registerFieldSolver(PyOpalObjectNS::PyOpalObject< FieldSolver > &fs)
std::string track_run_docstring
const char * module_docstring
BOOST_PYTHON_MODULE(field_solver)
FRONT * fs
Definition: hypervolume.cpp:59
The base class for all OPAL objects.
Definition: Object.h:48
static OpalData * getInstance()
Definition: OpalData.cpp:196
void define(Object *newObject)
Define a new object.
Definition: OpalData.cpp:489