1- #ifndef WRAP_ENVELOPE_H
2- #define WRAP_ENVELOPE_H
1+ #include " orbit_mpi.hh"
32
4- #include " Python.h"
3+ #include " wrap_danilov_20_envelope_solver.hh"
4+ #include " wrap_danilov_21_envelope_solver.hh"
5+ #include " wrap_envelope.hh"
6+ #include " wrap_envelopecalc2p5d.hh"
7+ #include " wrap_envelopeforcecalc2p5d.hh"
8+ #include " wrap_envelopecalc2p5d_rb.hh"
9+ #include " wrap_envelopecalc_slicebyslice_2D.hh"
10+ #include " wrap_lspacechargecalc.hh"
11+ #include " wrap_envelopecalc3d.hh"
12+ #include " wrap_uniform_ellipsoid_field_calculator.hh"
13+ #include " wrap_envelopecalc_uniform_ellipse.hh"
14+
15+ static PyMethodDef spacechargeMethods[] = { {NULL ,NULL } };
516
617#ifdef __cplusplus
718extern " C" {
819#endif
920
10- PyMODINIT_FUNC initenvelope (void );
11- PyObject* getEnvelopeType (const char * name);
21+ static struct PyModuleDef cModPyDem =
22+ {
23+ PyModuleDef_HEAD_INIT,
24+ " spacecharge" , " Space Charge classes" ,
25+ -1 ,
26+ spacechargeMethods
27+ };
28+
29+ PyMODINIT_FUNC initspacecharge (){
30+ // create new module
31+ PyObject* module = PyModule_Create (&cModPyDem);
32+ // add the other classes init
33+ wrap_envelope::initGrid1D (module );
34+ wrap_envelope::initGrid2D (module );
35+ wrap_envelope::initGrid3D (module );
36+ wrap_envelope::initUniformEllipsoidFieldCalculator (module );
37+ wrap_envelope::initSpaceChargeCalcUniformEllipse (module );
38+ wrap_envelope::initPoissonSolverFFT2D (module );
39+ wrap_envelope::initPoissonSolverFFT3D (module );
40+ wrap_envelope::initBoundary2D (module );
41+ wrap_envelope::initSpaceChargeCalc2p5D (module );
42+ wrap_envelope::initSpaceChargeCalc2p5Drb (module );
43+ wrap_envelope::initSpaceChargeCalcSliceBySlice2D (module );
44+ wrap_lspacechargecalc::initLSpaceChargeCalc (module );
45+ wrap_envelope::initSpaceChargeCalc3D (module );
46+ wrap_envelope::initSpaceChargeForceCalc2p5D (module );
47+ return module ;
48+ }
49+
50+ PyObject* getEnvelopeType (const char * name){
51+ PyObject* mod = PyImport_ImportModule (" orbit.core.envelope" );
52+ PyObject* pyType = PyObject_GetAttrString (mod,name);
53+ Py_DECREF (mod);
54+ Py_DECREF (pyType);
55+ return pyType;
56+ }
1257
1358#ifdef __cplusplus
1459}
15- #endif // __cplusplus
16-
17- #endif // WRAP_ENVELOPE_H
60+ #endif
0 commit comments