aboutsummaryrefslogtreecommitdiff
path: root/Source/Python/WarpXWrappers.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Python/WarpXWrappers.h')
-rw-r--r--Source/Python/WarpXWrappers.h120
1 files changed, 120 insertions, 0 deletions
diff --git a/Source/Python/WarpXWrappers.h b/Source/Python/WarpXWrappers.h
new file mode 100644
index 000000000..07d6f80f7
--- /dev/null
+++ b/Source/Python/WarpXWrappers.h
@@ -0,0 +1,120 @@
+#ifndef WARPX_WRAPPERS_H_
+#define WARPX_WRAPPERS_H_
+
+#ifdef BL_USE_MPI
+#include <mpi.h>
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ int warpx_nSpecies();
+
+ bool warpx_use_fdtd_nci_corr();
+
+ int warpx_l_lower_order_in_v();
+
+ int warpx_nComps();
+
+ int warpx_SpaceDim();
+
+ void amrex_init (int argc, char* argv[]);
+
+#ifdef BL_USE_MPI
+ void amrex_init_with_inited_mpi (int argc, char* argv[], MPI_Comm mpicomm);
+#endif
+
+ void amrex_finalize (int finalize_mpi);
+
+ void warpx_init ();
+
+ void warpx_finalize ();
+
+ typedef void(*WARPX_CALLBACK_PY_FUNC_0)();
+
+ void warpx_set_callback_py_afterinit (WARPX_CALLBACK_PY_FUNC_0);
+ void warpx_set_callback_py_beforeEsolve (WARPX_CALLBACK_PY_FUNC_0);
+ void warpx_set_callback_py_afterEsolve (WARPX_CALLBACK_PY_FUNC_0);
+ void warpx_set_callback_py_beforedeposition (WARPX_CALLBACK_PY_FUNC_0);
+ void warpx_set_callback_py_afterdeposition (WARPX_CALLBACK_PY_FUNC_0);
+ void warpx_set_callback_py_particlescraper (WARPX_CALLBACK_PY_FUNC_0);
+ void warpx_set_callback_py_particleloader (WARPX_CALLBACK_PY_FUNC_0);
+ void warpx_set_callback_py_beforestep (WARPX_CALLBACK_PY_FUNC_0);
+ void warpx_set_callback_py_afterstep (WARPX_CALLBACK_PY_FUNC_0);
+ void warpx_set_callback_py_afterrestart (WARPX_CALLBACK_PY_FUNC_0);
+ void warpx_set_callback_py_particleinjection (WARPX_CALLBACK_PY_FUNC_0);
+ void warpx_set_callback_py_appliedfields (WARPX_CALLBACK_PY_FUNC_0);
+
+ void warpx_evolve (int numsteps); // -1 means the inputs parameter will be used.
+
+ void warpx_addNParticles(int speciesnumber, int lenx,
+ double* x, double* y, double* z,
+ double* vx, double* vy, double* vz,
+ int nattr, double* attr, int uniqueparticles);
+
+ double warpx_getProbLo(int dir);
+
+ double warpx_getProbHi(int dir);
+
+ long warpx_getNumParticles(int speciesnumber);
+
+ double** warpx_getEfield(int lev, int direction,
+ int *return_size, int* ngrow, int **shapes);
+
+ int* warpx_getEfieldLoVects(int lev, int direction,
+ int *return_size, int* ngrow);
+
+ double** warpx_getBfield(int lev, int direction,
+ int *return_size, int* ngrow, int **shapes);
+
+ int* warpx_getBfieldLoVects(int lev, int direction,
+ int *return_size, int* ngrow);
+
+ double** warpx_getCurrentDensity(int lev, int direction,
+ int *return_size, int* ngrow, int **shapes);
+
+ int* warpx_getCurrentDensityLoVects(int lev, int direction,
+ int *return_size, int* ngrow);
+
+ double** warpx_getParticleStructs(int speciesnumber,
+ int* num_tiles, int** particles_per_tile);
+
+ double** warpx_getParticleArrays(int speciesnumber, int comp,
+ int* num_tiles, int** particles_per_tile);
+
+ void warpx_ComputeDt ();
+ void warpx_MoveWindow ();
+
+ void warpx_EvolveE (double dt);
+ void warpx_EvolveB (double dt);
+ void warpx_FillBoundaryE ();
+ void warpx_FillBoundaryB ();
+ void warpx_SyncCurrent ();
+ void warpx_UpdateAuxilaryData ();
+ void warpx_PushParticlesandDepose (double cur_time);
+
+ int warpx_getistep (int lev);
+ void warpx_setistep (int lev, int ii);
+ double warpx_gett_new (int lev);
+ void warpx_sett_new (int lev, double time);
+ double warpx_getdt (int lev);
+
+ int warpx_maxStep ();
+ double warpx_stopTime ();
+
+ int warpx_checkInt ();
+ int warpx_plotInt ();
+
+ void warpx_WriteCheckPointFile ();
+ void warpx_WritePlotFile ();
+
+ int warpx_finestLevel ();
+
+ void mypc_Redistribute ();
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif