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 
12 #include "Evolve/WarpXDtType.H"
13 #include <AMReX_Config.H>
14 #include <AMReX_REAL.H>
15 
16 #ifdef AMREX_USE_MPI
17 # include <mpi.h>
18 #endif
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
24  int warpx_Real_size();
26 
27  int warpx_nSpecies();
28 
30 
32 
33  int warpx_nComps();
34 
35  int warpx_nCompsSpecies(const char* char_species_name);
36 
37  int warpx_SpaceDim();
38 
39  void amrex_init (int argc, char* argv[]);
40 
41  void amrex_init_with_inited_mpi (int argc, char* argv[], MPI_Comm mpicomm);
42 
43  void amrex_finalize (int finalize_mpi);
44 
45  void warpx_init ();
46 
47  void warpx_finalize ();
48 
49  typedef void(*WARPX_CALLBACK_PY_FUNC_0)();
50 
51  void warpx_set_callback_py (const char* char_callback_name,
52  WARPX_CALLBACK_PY_FUNC_0 callback);
53  void warpx_clear_callback_py (const char* char_callback_name);
54 
55  void warpx_evolve (int numsteps); // -1 means the inputs parameter will be used.
56 
57  void warpx_addNParticles(const char* char_species_name,
58  int lenx,
59  amrex::ParticleReal const * x,
60  amrex::ParticleReal const * y,
61  amrex::ParticleReal const * z,
62  amrex::ParticleReal const * vx,
63  amrex::ParticleReal const * vy,
64  amrex::ParticleReal const * vz,
65  const int nattr_real,
66  amrex::ParticleReal const * attr_real,
67  const int nattr_int,
68  int const * attr_int,
69  int uniqueparticles);
70 
72 
73  void warpx_ReadBCParams();
74 
76 
77  amrex::Real warpx_getProbLo(int dir);
78 
79  amrex::Real warpx_getProbHi(int dir);
80 
81  amrex::Real warpx_getCellSize(int dir, int lev);
82 
83  long warpx_getNumParticles(const char* char_species_name, const bool local);
84 
85  void warpx_convert_id_to_long (amrex::Long* ids, const WarpXParticleContainer::ParticleType* pstructs, int size);
86 
87  void warpx_convert_cpu_to_int (int* cpus, const WarpXParticleContainer::ParticleType* pstructs, int size);
88 
89  amrex::ParticleReal** warpx_getParticleStructs(
90  const char* char_species_name, int lev, int* num_tiles,
91  int** particles_per_tile);
92 
93  amrex::ParticleReal** warpx_getParticleArrays(
94  const char* char_species_name, const char* char_comp_name, int lev,
95  int* num_tiles, int** particles_per_tile);
96 
98  const char* char_species_name, const char* char_comp_name);
99 
100  void warpx_addRealComp(
101  const char* char_species_name, const char* char_comp_name, bool comm);
102 
103  amrex::Real warpx_sumParticleCharge(const char* char_species_name, const bool local);
104 
105  int warpx_getParticleBoundaryBufferSize(const char* species_name, int boundary, bool local);
106 
108  const char* species_name, int boundary, int lev,
109  int* num_tiles, int** particles_per_tile);
110 
111  amrex::ParticleReal** warpx_getParticleBoundaryBuffer(
112  const char* species_name, int boundary, int lev,
113  int* num_tiles, int** particles_per_tile, const char* comp_name);
114 
115  amrex::ParticleReal** warpx_getParticleBoundaryBufferStructs(
116  const char* species_name, int boundary, int lev,
117  int* num_tiles, int** particles_per_tile);
118 
120 
129  void warpx_depositChargeDensity (const char* species_name, int lev);
130 
131  void warpx_ComputeDt ();
132  void warpx_MoveWindow (int step, bool move_j);
133 
134  void warpx_EvolveE (amrex::Real dt);
135  void warpx_EvolveB (amrex::Real dt, DtType a_dt_type);
136  void warpx_FillBoundaryE ();
137  void warpx_FillBoundaryB ();
138  void warpx_SyncRho ();
139  void warpx_SyncCurrent (
140  const amrex::Vector<std::array<std::unique_ptr<amrex::MultiFab>,3>>& J_fp,
141  const amrex::Vector<std::array<std::unique_ptr<amrex::MultiFab>,3>>& J_cp,
142  const amrex::Vector<std::array<std::unique_ptr<amrex::MultiFab>,3>>& J_buffer);
143  void warpx_UpdateAuxilaryData ();
144  void warpx_PushParticlesandDepose (amrex::Real cur_time);
145 
146  int warpx_getistep (int lev);
147  void warpx_setistep (int lev, int ii);
148  amrex::Real warpx_gett_new (int lev);
149  void warpx_sett_new (int lev, amrex::Real time);
150  amrex::Real warpx_getdt (int lev);
151 
152  int warpx_maxStep ();
153  amrex::Real warpx_stopTime ();
154 
155  int warpx_finestLevel ();
156 
157  int warpx_getMyProc ();
158  int warpx_getNProcs ();
159 
160  void warpx_setPotentialEB (const char * char_potential);
161 
162  void mypc_Redistribute ();
163 
164  amrex::Real** warpx_getEfield (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
165  amrex::Real** warpx_getEfieldCP (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
166  amrex::Real** warpx_getEfieldFP (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
167 
168  amrex::Real** warpx_getBfield (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
169  amrex::Real** warpx_getBfieldCP (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
170  amrex::Real** warpx_getBfieldFP (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
171 
172  amrex::Real** warpx_getCurrentDensity (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
173  amrex::Real** warpx_getCurrentDensityCP (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
174  amrex::Real** warpx_getCurrentDensityFP (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
175 
176  amrex::Real** warpx_getCurrentDensityFP_Ampere (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
177 
178  amrex::Real** warpx_getVectorPotentialFP (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
179 
180  int* warpx_getEfieldLoVects (int lev, int direction, int *return_size, int **ngrowvect);
181  int* warpx_getEfieldCPLoVects (int lev, int direction, int *return_size, int **ngrowvect);
182  int* warpx_getEfieldFPLoVects (int lev, int direction, int *return_size, int **ngrowvect);
183 
184  int* warpx_getBfieldLoVects (int lev, int direction, int *return_size, int **ngrowvect);
185  int* warpx_getBfieldCPLoVects (int lev, int direction, int *return_size, int **ngrowvect);
186  int* warpx_getBfieldFPLoVects (int lev, int direction, int *return_size, int **ngrowvect);
187 
188  int* warpx_getCurrentDensityLoVects (int lev, int direction, int *return_size, int **ngrowvect);
189  int* warpx_getCurrentDensityCPLoVects (int lev, int direction, int *return_size, int **ngrowvect);
190  int* warpx_getCurrentDensityFPLoVects (int lev, int direction, int *return_size, int **ngrowvect);
191 
192  int* warpx_getVectorPotentialFPLoVects (int lev, int direction, int *return_size, int **ngrowvect);
193 
194  amrex::Real** warpx_getEdgeLengths (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
195  int* warpx_getEdgeLengthsLoVects (int lev, int direction, int *return_size, int **ngrowvect);
196 
197  amrex::Real** warpx_getFaceAreas (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
198  int* warpx_getFaceAreasLoVects (int lev, int direction, int *return_size, int **ngrowvect);
199 
201  int* warpx_getEy_nodal_flag ();
202  int* warpx_getEz_nodal_flag ();
203  int* warpx_getBx_nodal_flag ();
204  int* warpx_getBy_nodal_flag ();
205  int* warpx_getBz_nodal_flag ();
206  int* warpx_getAx_nodal_flag ();
207  int* warpx_getAy_nodal_flag ();
208  int* warpx_getAz_nodal_flag ();
209  int* warpx_getJx_nodal_flag ();
210  int* warpx_getJy_nodal_flag ();
211  int* warpx_getJz_nodal_flag ();
212  int* warpx_getRho_nodal_flag ();
213  int* warpx_getPhi_nodal_flag ();
214  int* warpx_getF_nodal_flag ();
215  int* warpx_getG_nodal_flag ();
222 
223  amrex::Real** warpx_getChargeDensityCP (int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
224  amrex::Real** warpx_getChargeDensityFP (int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
225  int* warpx_getChargeDensityCPLoVects (int lev, int *return_size, int **ngrowvect);
226  int* warpx_getChargeDensityFPLoVects (int lev, int *return_size, int **ngrowvect);
227 
228  amrex::Real** warpx_getPhiFP (int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
229 
230  int* warpx_getPhiFPLoVects (int lev, int *return_size, int **ngrowvect);
231 
232  amrex::Real** warpx_getFfieldCP (int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
233  amrex::Real** warpx_getFfieldFP (int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
234  int* warpx_getFfieldCPLoVects (int lev, int *return_size, int **ngrowvect);
235  int* warpx_getFfieldFPLoVects (int lev, int *return_size, int **ngrowvect);
236  amrex::Real** warpx_getGfieldCP (int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
237  amrex::Real** warpx_getGfieldFP (int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
238  int* warpx_getGfieldCPLoVects (int lev, int *return_size, int **ngrowvect);
239  int* warpx_getGfieldFPLoVects (int lev, int *return_size, int **ngrowvect);
240 
241  amrex::Real** warpx_getEfieldCP_PML (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
242  amrex::Real** warpx_getEfieldFP_PML (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
243  amrex::Real** warpx_getBfieldCP_PML (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
244  amrex::Real** warpx_getBfieldFP_PML (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
245  amrex::Real** warpx_getCurrentDensityCP_PML (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
246  amrex::Real** warpx_getCurrentDensityFP_PML (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
247 
248  int* warpx_getEfieldCPLoVects_PML (int lev, int direction, int *return_size, int **ngrowvect);
249  int* warpx_getEfieldFPLoVects_PML (int lev, int direction, int *return_size, int **ngrowvect);
250  int* warpx_getBfieldCPLoVects_PML (int lev, int direction, int *return_size, int **ngrowvect);
251  int* warpx_getBfieldFPLoVects_PML (int lev, int direction, int *return_size, int **ngrowvect);
252  int* warpx_getCurrentDensityCPLoVects_PML (int lev, int direction, int *return_size, int **ngrowvect);
253  int* warpx_getCurrentDensityFPLoVects_PML (int lev, int direction, int *return_size, int **ngrowvect);
254 
255  amrex::Real** warpx_getFfieldCP_PML (int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
256  amrex::Real** warpx_getFfieldFP_PML (int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
257  int* warpx_getFfieldCPLoVects_PML (int lev, int *return_size, int **ngrowvect);
258  int* warpx_getFfieldFPLoVects_PML (int lev, int *return_size, int **ngrowvect);
259  amrex::Real** warpx_getGfieldCP_PML (int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
260  amrex::Real** warpx_getGfieldFP_PML (int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes);
261  int* warpx_getGfieldCPLoVects_PML (int lev, int *return_size, int **ngrowvect);
262  int* warpx_getGfieldFPLoVects_PML (int lev, int *return_size, int **ngrowvect);
263 
266 
267 #ifdef __cplusplus
268 }
269 #endif
270 
271 #endif
int MPI_Comm
DtType
Definition: WarpXDtType.H:11
int warpx_ParticleReal_size()
Definition: WarpXWrappers.cpp:112
int * warpx_getF_nodal_flag()
Definition: WarpXWrappers.cpp:327
amrex::Real warpx_sumParticleCharge(const char *char_species_name, const bool local)
Definition: WarpXWrappers.cpp:563
amrex::Real ** warpx_getEfieldCP_PML(int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
amrex::ParticleReal ** warpx_getParticleBoundaryBufferStructs(const char *species_name, int boundary, int lev, int *num_tiles, int **particles_per_tile)
Definition: WarpXWrappers.cpp:626
void warpx_CheckGriddingForRZSpectral()
Definition: WarpXWrappers.cpp:224
void warpx_ReadBCParams()
Definition: WarpXWrappers.cpp:219
amrex::Real warpx_getdt(int lev)
Definition: WarpXWrappers.cpp:743
void warpx_set_callback_py(const char *char_callback_name, WARPX_CALLBACK_PY_FUNC_0 callback)
Definition: WarpXWrappers.cpp:179
int * warpx_getGfieldFPLoVects_PML(int lev, int *return_size, int **ngrowvect)
int * warpx_getBx_nodal_flag()
Definition: WarpXWrappers.cpp:316
amrex::Real ** warpx_getChargeDensityCP(int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
int * warpx_getJy_nodal_flag()
Definition: WarpXWrappers.cpp:320
amrex::Real ** warpx_getBfield(int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
void warpx_PushParticlesandDepose(amrex::Real cur_time)
Definition: WarpXWrappers.cpp:722
int * warpx_getBfieldLoVects(int lev, int direction, int *return_size, int **ngrowvect)
int * warpx_getJx_nodal_flag()
Definition: WarpXWrappers.cpp:319
int * warpx_get_face_areas_z_nodal_flag()
Definition: WarpXWrappers.cpp:334
void warpx_ConvertLabParamsToBoost()
Definition: WarpXWrappers.cpp:214
int * warpx_getRho_nodal_flag()
Definition: WarpXWrappers.cpp:325
int * warpx_get_edge_lengths_x_nodal_flag()
Definition: WarpXWrappers.cpp:329
void amrex_finalize(int finalize_mpi)
Definition: WarpXWrappers.cpp:161
int warpx_getistep(int lev)
Definition: WarpXWrappers.cpp:727
int * warpx_getAz_nodal_flag()
Definition: WarpXWrappers.cpp:324
amrex::Real ** warpx_getFfieldFP_PML(int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
amrex::Real ** warpx_getVectorPotentialFP(int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
int warpx_Real_size()
Definition: WarpXWrappers.cpp:107
void warpx_ComputeDt()
Definition: WarpXWrappers.cpp:682
amrex::Real ** warpx_getBfieldFP(int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
int * warpx_get_edge_lengths_z_nodal_flag()
Definition: WarpXWrappers.cpp:331
int * warpx_getBfieldFPLoVects(int lev, int direction, int *return_size, int **ngrowvect)
int * warpx_getFfieldCPLoVects(int lev, int *return_size, int **ngrowvect)
void warpx_FillBoundaryE()
Definition: WarpXWrappers.cpp:699
int * warpx_getFaceAreasLoVects(int lev, int direction, int *return_size, int **ngrowvect)
void warpx_MoveWindow(int step, bool move_j)
Definition: WarpXWrappers.cpp:686
int * warpx_getEx_nodal_flag()
int * warpx_getCurrentDensityLoVects(int lev, int direction, int *return_size, int **ngrowvect)
int * warpx_getFfieldFPLoVects_PML(int lev, int *return_size, int **ngrowvect)
int warpx_getParticleCompIndex(const char *char_species_name, const char *char_comp_name)
Definition: WarpXWrappers.cpp:536
int * warpx_getCurrentDensityFPLoVects(int lev, int direction, int *return_size, int **ngrowvect)
amrex::Real ** warpx_getCurrentDensityCP(int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
int * warpx_getBy_nodal_flag()
Definition: WarpXWrappers.cpp:317
void warpx_SyncRho()
Definition: WarpXWrappers.cpp:707
amrex::Real ** warpx_getFaceAreas(int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
amrex::Real ** warpx_getCurrentDensityCP_PML(int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
void warpx_evolve(int numsteps)
Definition: WarpXWrappers.cpp:192
void warpx_clearParticleBoundaryBuffer()
Definition: WarpXWrappers.cpp:647
amrex::Real ** warpx_getFfieldCP_PML(int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
amrex::Real ** warpx_getEfieldCP(int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
int * warpx_getEfieldFPLoVects_PML(int lev, int direction, int *return_size, int **ngrowvect)
int * warpx_getChargeDensityCPLoVects(int lev, int *return_size, int **ngrowvect)
amrex::ParticleReal ** warpx_getParticleStructs(const char *char_species_name, int lev, int *num_tiles, int **particles_per_tile)
Definition: WarpXWrappers.cpp:455
amrex::Real ** warpx_getCurrentDensityFP_PML(int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
int * warpx_getPhiFPLoVects(int lev, int *return_size, int **ngrowvect)
void warpx_convert_id_to_long(amrex::Long *ids, const WarpXParticleContainer::ParticleType *pstructs, int size)
Definition: WarpXWrappers.cpp:500
void warpx_setPotentialEB(const char *char_potential)
Definition: WarpXWrappers.cpp:770
int * warpx_getChargeDensityFPLoVects(int lev, int *return_size, int **ngrowvect)
int warpx_nSpecies()
Definition: WarpXWrappers.cpp:117
int * warpx_getGfieldCPLoVects_PML(int lev, int *return_size, int **ngrowvect)
int * warpx_getF_pml_nodal_flag()
Definition: WarpXWrappers.cpp:441
amrex::Real warpx_stopTime()
Definition: WarpXWrappers.cpp:752
int * warpx_getAy_nodal_flag()
Definition: WarpXWrappers.cpp:323
int * warpx_getCurrentDensityFPLoVects_PML(int lev, int direction, int *return_size, int **ngrowvect)
void(* WARPX_CALLBACK_PY_FUNC_0)()
Definition: WarpXWrappers.H:49
void warpx_sett_new(int lev, amrex::Real time)
Definition: WarpXWrappers.cpp:739
amrex::ParticleReal ** warpx_getParticleArrays(const char *char_species_name, const char *char_comp_name, int lev, int *num_tiles, int **particles_per_tile)
Definition: WarpXWrappers.cpp:476
int * warpx_getBfieldCPLoVects(int lev, int direction, int *return_size, int **ngrowvect)
int * warpx_get_face_areas_x_nodal_flag()
Definition: WarpXWrappers.cpp:332
int * warpx_get_face_areas_y_nodal_flag()
Definition: WarpXWrappers.cpp:333
amrex::Real ** warpx_getGfieldFP_PML(int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
amrex::Real ** warpx_getBfieldCP_PML(int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
int * warpx_getFfieldCPLoVects_PML(int lev, int *return_size, int **ngrowvect)
int warpx_finestLevel()
Definition: WarpXWrappers.cpp:757
int warpx_SpaceDim()
Definition: WarpXWrappers.cpp:146
int * warpx_getEfieldLoVects(int lev, int direction, int *return_size, int **ngrowvect)
int * warpx_getJz_nodal_flag()
Definition: WarpXWrappers.cpp:321
int warpx_galerkin_interpolation()
Definition: WarpXWrappers.cpp:128
void amrex_init(int argc, char *argv[])
Definition: WarpXWrappers.cpp:151
amrex::Real ** warpx_getGfieldFP(int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
int * warpx_getGfieldCPLoVects(int lev, int *return_size, int **ngrowvect)
void warpx_EvolveE(amrex::Real dt)
Definition: WarpXWrappers.cpp:691
amrex::Real ** warpx_getBfieldCP(int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
void warpx_depositChargeDensity(const char *species_name, int lev)
This function is used to deposit a given species' charge density in the rho_fp multifab which can the...
Definition: WarpXWrappers.cpp:652
amrex::Real ** warpx_getFfieldFP(int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
void warpx_clear_callback_py(const char *char_callback_name)
Definition: WarpXWrappers.cpp:186
amrex::Real ** warpx_getCurrentDensityFP_Ampere(int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
int * warpx_getBz_nodal_flag()
Definition: WarpXWrappers.cpp:318
amrex::Real ** warpx_getCurrentDensityFP(int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
long warpx_getNumParticles(const char *char_species_name, const bool local)
Definition: WarpXWrappers.cpp:248
int * warpx_getBfieldFPLoVects_PML(int lev, int direction, int *return_size, int **ngrowvect)
int warpx_nCompsSpecies(const char *char_species_name)
Definition: WarpXWrappers.cpp:138
void warpx_convert_cpu_to_int(int *cpus, const WarpXParticleContainer::ParticleType *pstructs, int size)
Definition: WarpXWrappers.cpp:518
bool warpx_use_fdtd_nci_corr()
Definition: WarpXWrappers.cpp:123
int * warpx_getEfieldFPLoVects(int lev, int direction, int *return_size, int **ngrowvect)
void warpx_addRealComp(const char *char_species_name, const char *char_comp_name, bool comm)
Definition: WarpXWrappers.cpp:550
amrex::Real ** warpx_getEdgeLengths(int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
int * warpx_getVectorPotentialFPLoVects(int lev, int direction, int *return_size, int **ngrowvect)
void warpx_finalize()
Definition: WarpXWrappers.cpp:174
void mypc_Redistribute()
Definition: WarpXWrappers.cpp:776
int * warpx_getEz_nodal_flag()
Definition: WarpXWrappers.cpp:315
amrex::Real ** warpx_getEfieldFP_PML(int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
int * warpx_getEfieldCPLoVects_PML(int lev, int direction, int *return_size, int **ngrowvect)
amrex::Real ** warpx_getCurrentDensity(int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
int * warpx_getG_nodal_flag()
Definition: WarpXWrappers.cpp:328
int * warpx_getCurrentDensityCPLoVects_PML(int lev, int direction, int *return_size, int **ngrowvect)
int warpx_getMyProc()
Definition: WarpXWrappers.cpp:762
int warpx_maxStep()
Definition: WarpXWrappers.cpp:748
amrex::Real ** warpx_getEfieldFP(int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
void warpx_addNParticles(const char *char_species_name, 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, const int nattr_real, amrex::ParticleReal const *attr_real, const int nattr_int, int const *attr_int, int uniqueparticles)
Definition: WarpXWrappers.cpp:198
amrex::Real ** warpx_getChargeDensityFP(int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
void warpx_UpdateAuxilaryData()
Definition: WarpXWrappers.cpp:718
int * warpx_getEy_nodal_flag()
Definition: WarpXWrappers.cpp:314
void warpx_EvolveB(amrex::Real dt, DtType a_dt_type)
Definition: WarpXWrappers.cpp:695
int * warpx_getGfieldFPLoVects(int lev, int *return_size, int **ngrowvect)
int * warpx_getG_pml_nodal_flag()
Definition: WarpXWrappers.cpp:448
int warpx_nComps()
Definition: WarpXWrappers.cpp:133
int warpx_getNProcs()
Definition: WarpXWrappers.cpp:766
int ** warpx_getParticleBoundaryBufferScrapedSteps(const char *species_name, int boundary, int lev, int *num_tiles, int **particles_per_tile)
Definition: WarpXWrappers.cpp:578
amrex::Real warpx_getProbLo(int dir)
Definition: WarpXWrappers.cpp:229
int * warpx_getEdgeLengthsLoVects(int lev, int direction, int *return_size, int **ngrowvect)
void warpx_FillBoundaryB()
Definition: WarpXWrappers.cpp:703
amrex::Real warpx_getProbHi(int dir)
Definition: WarpXWrappers.cpp:236
amrex::Real ** warpx_getEfield(int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
void warpx_SyncCurrent(const amrex::Vector< std::array< std::unique_ptr< amrex::MultiFab >, 3 >> &J_fp, const amrex::Vector< std::array< std::unique_ptr< amrex::MultiFab >, 3 >> &J_cp, const amrex::Vector< std::array< std::unique_ptr< amrex::MultiFab >, 3 >> &J_buffer)
Definition: WarpXWrappers.cpp:711
amrex::Real ** warpx_getGfieldCP_PML(int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
amrex::Real warpx_gett_new(int lev)
Definition: WarpXWrappers.cpp:735
int * warpx_getBfieldCPLoVects_PML(int lev, int direction, int *return_size, int **ngrowvect)
void amrex_init_with_inited_mpi(int argc, char *argv[], MPI_Comm mpicomm)
Definition: WarpXWrappers.cpp:156
void warpx_setistep(int lev, int ii)
Definition: WarpXWrappers.cpp:731
amrex::Real ** warpx_getPhiFP(int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
amrex::Real warpx_getCellSize(int dir, int lev)
Definition: WarpXWrappers.cpp:243
amrex::Real ** warpx_getBfieldFP_PML(int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
int * warpx_getAx_nodal_flag()
Definition: WarpXWrappers.cpp:322
amrex::Real ** warpx_getGfieldCP(int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
int * warpx_get_edge_lengths_y_nodal_flag()
Definition: WarpXWrappers.cpp:330
int * warpx_getFfieldFPLoVects(int lev, int *return_size, int **ngrowvect)
int * warpx_getCurrentDensityCPLoVects(int lev, int direction, int *return_size, int **ngrowvect)
int warpx_getParticleBoundaryBufferSize(const char *species_name, int boundary, bool local)
Definition: WarpXWrappers.cpp:571
void warpx_init()
Definition: WarpXWrappers.cpp:166
amrex::Real ** warpx_getFfieldCP(int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
int * warpx_getPhi_nodal_flag()
Definition: WarpXWrappers.cpp:326
amrex::ParticleReal ** warpx_getParticleBoundaryBuffer(const char *species_name, int boundary, int lev, int *num_tiles, int **particles_per_tile, const char *comp_name)
Definition: WarpXWrappers.cpp:602
int * warpx_getEfieldCPLoVects(int lev, int direction, int *return_size, int **ngrowvect)
direction
Definition: AnyFFT.H:75
ii
Definition: check_interp_points_and_weights.py:148
int size
Definition: plot_parallel.py:246
float dt
Definition: stencil.py:440