WarpX
WarpXWrappers.h
Go to the documentation of this file.
1 /* Copyright 2019 Andrew Myers, David Grote, Maxence Thevenet
2  * Remi Lehe, Weiqun Zhang
3  *
4  * This file is part of WarpX.
5  *
6  * License: BSD-3-Clause-LBNL
7  */
8 #ifndef WARPX_WRAPPERS_H_
9 #define WARPX_WRAPPERS_H_
10 
11 #include <AMReX.H>
12 #include <AMReX_BLProfiler.H>
13 
14 #ifdef BL_USE_MPI
15 # include <mpi.h>
16 #endif
17 
18 #include <AMReX_REAL.H>
19 
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25  int warpx_Real_size();
27 
28  int warpx_nSpecies();
29 
31 
33 
34  int warpx_nComps();
35 
36  int warpx_SpaceDim();
37 
38  void amrex_init (int argc, char* argv[]);
39 
40 #ifdef BL_USE_MPI
41  void amrex_init_with_inited_mpi (int argc, char* argv[], MPI_Comm mpicomm);
42 #endif
43 
44  void amrex_finalize (int finalize_mpi);
45 
46  void warpx_init ();
47 
48  void warpx_finalize ();
49 
50  typedef void(*WARPX_CALLBACK_PY_FUNC_0)();
51 
64 
65  void warpx_evolve (int numsteps); // -1 means the inputs parameter will be used.
66 
67  void warpx_addNParticles(int speciesnumber,
68  int lenx,
69  amrex::ParticleReal const * x,
70  amrex::ParticleReal const * y,
71  amrex::ParticleReal const * z,
72  amrex::ParticleReal const * vx,
73  amrex::ParticleReal const * vy,
74  amrex::ParticleReal const * vz,
75  int nattr,
76  amrex::ParticleReal const * attr,
77  int uniqueparticles);
78 
80 
82 
83  amrex::Real warpx_getProbLo(int dir);
84 
85  amrex::Real warpx_getProbHi(int dir);
86 
87  long warpx_getNumParticles(int speciesnumber);
88 
89  amrex::ParticleReal** warpx_getParticleStructs(int speciesnumber, int lev,
90  int* num_tiles, int** particles_per_tile);
91 
92  amrex::ParticleReal** warpx_getParticleArrays(int speciesnumber, int comp, int lev,
93  int* num_tiles, int** particles_per_tile);
94 
95  void warpx_ComputeDt ();
96  void warpx_MoveWindow ();
97 
98  void warpx_EvolveE (amrex::Real dt);
99  void warpx_EvolveB (amrex::Real dt);
100  void warpx_FillBoundaryE ();
101  void warpx_FillBoundaryB ();
102  void warpx_SyncCurrent ();
103  void warpx_UpdateAuxilaryData ();
104  void warpx_PushParticlesandDepose (amrex::Real cur_time);
105 
106  int warpx_getistep (int lev);
107  void warpx_setistep (int lev, int ii);
108  amrex::Real warpx_gett_new (int lev);
109  void warpx_sett_new (int lev, amrex::Real time);
110  amrex::Real warpx_getdt (int lev);
111 
112  int warpx_maxStep ();
113  amrex::Real warpx_stopTime ();
114 
115  int warpx_finestLevel ();
116 
117  void mypc_Redistribute ();
118 
119 #ifdef __cplusplus
120 }
121 #endif
122 
123 #endif
void amrex_init(int argc, char *argv[])
Definition: WarpXWrappers.cpp:116
void amrex_init_with_inited_mpi(int argc, char *argv[], MPI_Comm mpicomm)
Definition: WarpXWrappers.cpp:122
void warpx_PushParticlesandDepose(amrex::Real cur_time)
Definition: WarpXWrappers.cpp:430
def x
Definition: read_lab_particles.py:25
void warpx_evolve(int numsteps)
Definition: WarpXWrappers.cpp:195
int warpx_nSpecies()
Definition: WarpXWrappers.cpp:90
void(* WARPX_CALLBACK_PY_FUNC_0)()
Definition: WarpXWrappers.h:50
void warpx_MoveWindow()
Definition: WarpXWrappers.cpp:401
void warpx_set_callback_py_beforestep(WARPX_CALLBACK_PY_FUNC_0)
Definition: WarpXWrappers.cpp:174
amrex::Real warpx_getProbHi(int dir)
Definition: WarpXWrappers.cpp:229
void warpx_set_callback_py_particleloader(WARPX_CALLBACK_PY_FUNC_0)
Definition: WarpXWrappers.cpp:170
void warpx_init()
Definition: WarpXWrappers.cpp:133
void warpx_CheckGriddingForRZSpectral()
Definition: WarpXWrappers.cpp:217
int warpx_maxStep()
Definition: WarpXWrappers.cpp:456
def z
Definition: read_lab_particles.py:26
void warpx_addNParticles(int speciesnumber, int lenx, amrex::ParticleReal const *x, amrex::ParticleReal const *y, amrex::ParticleReal const *z, amrex::ParticleReal const *vx, amrex::ParticleReal const *vy, amrex::ParticleReal const *vz, int nattr, amrex::ParticleReal const *attr, int uniqueparticles)
Definition: WarpXWrappers.cpp:201
amrex::Real warpx_getProbLo(int dir)
Definition: WarpXWrappers.cpp:222
void warpx_set_callback_py_afterdeposition(WARPX_CALLBACK_PY_FUNC_0)
Definition: WarpXWrappers.cpp:162
void warpx_set_callback_py_beforedeposition(WARPX_CALLBACK_PY_FUNC_0)
Definition: WarpXWrappers.cpp:158
void warpx_set_callback_py_afterEsolve(WARPX_CALLBACK_PY_FUNC_0)
Definition: WarpXWrappers.cpp:154
void warpx_UpdateAuxilaryData()
Definition: WarpXWrappers.cpp:426
void warpx_set_callback_py_afterrestart(WARPX_CALLBACK_PY_FUNC_0)
Definition: WarpXWrappers.cpp:182
void warpx_FillBoundaryE()
Definition: WarpXWrappers.cpp:414
amrex::Real warpx_getdt(int lev)
Definition: WarpXWrappers.cpp:451
void warpx_EvolveB(amrex::Real dt)
Definition: WarpXWrappers.cpp:410
ii
Definition: check_interp_points_and_weights.py:145
void warpx_set_callback_py_afterinit(WARPX_CALLBACK_PY_FUNC_0)
Definition: WarpXWrappers.cpp:146
void warpx_setistep(int lev, int ii)
Definition: WarpXWrappers.cpp:439
int warpx_ParticleReal_size()
Definition: WarpXWrappers.cpp:85
long warpx_getNumParticles(int speciesnumber)
Definition: WarpXWrappers.cpp:241
void mypc_Redistribute()
Definition: WarpXWrappers.cpp:470
amrex::ParticleReal ** warpx_getParticleArrays(int speciesnumber, int comp, int lev, int *num_tiles, int **particles_per_tile)
Definition: WarpXWrappers.cpp:375
void warpx_set_callback_py_afterstep(WARPX_CALLBACK_PY_FUNC_0)
Definition: WarpXWrappers.cpp:178
void warpx_ConvertLabParamsToBoost()
Definition: WarpXWrappers.cpp:212
int warpx_galerkin_interpolation()
Definition: WarpXWrappers.cpp:101
int warpx_finestLevel()
Definition: WarpXWrappers.cpp:465
void warpx_ComputeDt()
Definition: WarpXWrappers.cpp:397
void warpx_finalize()
Definition: WarpXWrappers.cpp:141
void warpx_SyncCurrent()
Definition: WarpXWrappers.cpp:422
bool warpx_use_fdtd_nci_corr()
Definition: WarpXWrappers.cpp:96
void warpx_set_callback_py_particleinjection(WARPX_CALLBACK_PY_FUNC_0)
Definition: WarpXWrappers.cpp:186
void warpx_set_callback_py_appliedfields(WARPX_CALLBACK_PY_FUNC_0)
Definition: WarpXWrappers.cpp:190
void warpx_EvolveE(amrex::Real dt)
Definition: WarpXWrappers.cpp:406
void amrex_finalize(int finalize_mpi)
Definition: WarpXWrappers.cpp:128
amrex::ParticleReal ** warpx_getParticleStructs(int speciesnumber, int lev, int *num_tiles, int **particles_per_tile)
Definition: WarpXWrappers.cpp:353
void warpx_set_callback_py_particlescraper(WARPX_CALLBACK_PY_FUNC_0)
Definition: WarpXWrappers.cpp:166
void warpx_FillBoundaryB()
Definition: WarpXWrappers.cpp:418
int warpx_getistep(int lev)
Definition: WarpXWrappers.cpp:435
int warpx_Real_size()
Definition: WarpXWrappers.cpp:80
amrex::Real warpx_gett_new(int lev)
Definition: WarpXWrappers.cpp:443
void warpx_set_callback_py_beforeEsolve(WARPX_CALLBACK_PY_FUNC_0)
Definition: WarpXWrappers.cpp:150
int warpx_nComps()
Definition: WarpXWrappers.cpp:106
void warpx_sett_new(int lev, amrex::Real time)
Definition: WarpXWrappers.cpp:447
amrex::Real warpx_stopTime()
Definition: WarpXWrappers.cpp:460
int warpx_SpaceDim()
Definition: WarpXWrappers.cpp:111