8 #ifndef WARPX_WRAPPERS_H_
9 #define WARPX_WRAPPERS_H_
13 #include <AMReX_Config.H>
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,
66 amrex::ParticleReal
const * attr_real,
90 const char* char_species_name,
int lev,
int* num_tiles,
91 int** particles_per_tile);
94 const char* char_species_name,
const char* char_comp_name,
int lev,
95 int* num_tiles,
int** particles_per_tile);
98 const char* char_species_name,
const char* char_comp_name);
101 const char* char_species_name,
const char* char_comp_name,
bool comm);
108 const char* species_name,
int boundary,
int lev,
109 int* num_tiles,
int** particles_per_tile);
112 const char* species_name,
int boundary,
int lev,
113 int* num_tiles,
int** particles_per_tile,
const char* comp_name);
116 const char* species_name,
int boundary,
int lev,
117 int* num_tiles,
int** particles_per_tile);
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);
225 amrex::Real**
warpx_getPhiFP (
int lev,
int *return_size,
int *ncomps,
int **ngrowvect,
int **shapes);
229 amrex::Real**
warpx_getFfieldCP (
int lev,
int *return_size,
int *ncomps,
int **ngrowvect,
int **shapes);
230 amrex::Real**
warpx_getFfieldFP (
int lev,
int *return_size,
int *ncomps,
int **ngrowvect,
int **shapes);
233 amrex::Real**
warpx_getGfieldCP (
int lev,
int *return_size,
int *ncomps,
int **ngrowvect,
int **shapes);
234 amrex::Real**
warpx_getGfieldFP (
int lev,
int *return_size,
int *ncomps,
int **ngrowvect,
int **shapes);
DtType
Definition: WarpXDtType.H:11
int warpx_ParticleReal_size()
Definition: WarpXWrappers.cpp:111
int * warpx_getF_nodal_flag()
Definition: WarpXWrappers.cpp:324
amrex::Real warpx_sumParticleCharge(const char *char_species_name, const bool local)
Definition: WarpXWrappers.cpp:560
amrex::Real ** warpx_getEfieldCP_PML(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)
Definition: WarpXWrappers.cpp:708
amrex::ParticleReal ** warpx_getParticleBoundaryBufferStructs(const char *species_name, int boundary, int lev, int *num_tiles, int **particles_per_tile)
Definition: WarpXWrappers.cpp:623
void warpx_CheckGriddingForRZSpectral()
Definition: WarpXWrappers.cpp:223
void warpx_ReadBCParams()
Definition: WarpXWrappers.cpp:218
amrex::Real warpx_getdt(int lev)
Definition: WarpXWrappers.cpp:739
void warpx_set_callback_py(const char *char_callback_name, WARPX_CALLBACK_PY_FUNC_0 callback)
Definition: WarpXWrappers.cpp:178
int * warpx_getGfieldFPLoVects_PML(int lev, int *return_size, int **ngrowvect)
int * warpx_getBx_nodal_flag()
Definition: WarpXWrappers.cpp:313
amrex::Real ** warpx_getChargeDensityCP(int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
int * warpx_getJy_nodal_flag()
Definition: WarpXWrappers.cpp:317
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:718
int * warpx_getBfieldLoVects(int lev, int direction, int *return_size, int **ngrowvect)
int * warpx_getJx_nodal_flag()
Definition: WarpXWrappers.cpp:316
int * warpx_get_face_areas_z_nodal_flag()
Definition: WarpXWrappers.cpp:331
void warpx_ConvertLabParamsToBoost()
Definition: WarpXWrappers.cpp:213
int * warpx_getRho_nodal_flag()
Definition: WarpXWrappers.cpp:322
int * warpx_get_edge_lengths_x_nodal_flag()
Definition: WarpXWrappers.cpp:326
void amrex_finalize(int finalize_mpi)
Definition: WarpXWrappers.cpp:160
int warpx_getistep(int lev)
Definition: WarpXWrappers.cpp:723
int * warpx_getAz_nodal_flag()
Definition: WarpXWrappers.cpp:321
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:106
void warpx_ComputeDt()
Definition: WarpXWrappers.cpp:679
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:328
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:696
int * warpx_getFaceAreasLoVects(int lev, int direction, int *return_size, int **ngrowvect)
void warpx_MoveWindow(int step, bool move_j)
Definition: WarpXWrappers.cpp:683
int * warpx_getEx_nodal_flag()
Definition: WarpXWrappers.cpp:310
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:533
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:314
void warpx_SyncRho()
Definition: WarpXWrappers.cpp:704
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:191
void warpx_clearParticleBoundaryBuffer()
Definition: WarpXWrappers.cpp:644
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:452
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:497
void warpx_setPotentialEB(const char *char_potential)
Definition: WarpXWrappers.cpp:766
int * warpx_getChargeDensityFPLoVects(int lev, int *return_size, int **ngrowvect)
int warpx_nSpecies()
Definition: WarpXWrappers.cpp:116
int * warpx_getGfieldCPLoVects_PML(int lev, int *return_size, int **ngrowvect)
int * warpx_getF_pml_nodal_flag()
Definition: WarpXWrappers.cpp:438
amrex::Real warpx_stopTime()
Definition: WarpXWrappers.cpp:748
int * warpx_getAy_nodal_flag()
Definition: WarpXWrappers.cpp:320
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:735
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:473
int * warpx_getBfieldCPLoVects(int lev, int direction, int *return_size, int **ngrowvect)
int * warpx_get_face_areas_x_nodal_flag()
Definition: WarpXWrappers.cpp:329
int * warpx_get_face_areas_y_nodal_flag()
Definition: WarpXWrappers.cpp:330
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:753
int warpx_SpaceDim()
Definition: WarpXWrappers.cpp:145
int * warpx_getEfieldLoVects(int lev, int direction, int *return_size, int **ngrowvect)
int * warpx_getJz_nodal_flag()
Definition: WarpXWrappers.cpp:318
int warpx_galerkin_interpolation()
Definition: WarpXWrappers.cpp:127
void amrex_init(int argc, char *argv[])
Definition: WarpXWrappers.cpp:150
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:688
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:649
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:185
int * warpx_getBz_nodal_flag()
Definition: WarpXWrappers.cpp:315
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:247
int * warpx_getBfieldFPLoVects_PML(int lev, int direction, int *return_size, int **ngrowvect)
int warpx_nCompsSpecies(const char *char_species_name)
Definition: WarpXWrappers.cpp:137
void warpx_convert_cpu_to_int(int *cpus, const WarpXParticleContainer::ParticleType *pstructs, int size)
Definition: WarpXWrappers.cpp:515
bool warpx_use_fdtd_nci_corr()
Definition: WarpXWrappers.cpp:122
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:547
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:173
void mypc_Redistribute()
Definition: WarpXWrappers.cpp:772
int * warpx_getEz_nodal_flag()
Definition: WarpXWrappers.cpp:312
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:325
int * warpx_getCurrentDensityCPLoVects_PML(int lev, int direction, int *return_size, int **ngrowvect)
int warpx_getMyProc()
Definition: WarpXWrappers.cpp:758
int warpx_maxStep()
Definition: WarpXWrappers.cpp:744
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:197
amrex::Real ** warpx_getChargeDensityFP(int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
void warpx_UpdateAuxilaryData()
Definition: WarpXWrappers.cpp:714
int * warpx_getEy_nodal_flag()
Definition: WarpXWrappers.cpp:311
void warpx_EvolveB(amrex::Real dt, DtType a_dt_type)
Definition: WarpXWrappers.cpp:692
int * warpx_getGfieldFPLoVects(int lev, int *return_size, int **ngrowvect)
int * warpx_getG_pml_nodal_flag()
Definition: WarpXWrappers.cpp:445
int warpx_nComps()
Definition: WarpXWrappers.cpp:132
int warpx_getNProcs()
Definition: WarpXWrappers.cpp:762
int ** warpx_getParticleBoundaryBufferScrapedSteps(const char *species_name, int boundary, int lev, int *num_tiles, int **particles_per_tile)
Definition: WarpXWrappers.cpp:575
amrex::Real warpx_getProbLo(int dir)
Definition: WarpXWrappers.cpp:228
int * warpx_getEdgeLengthsLoVects(int lev, int direction, int *return_size, int **ngrowvect)
void warpx_FillBoundaryB()
Definition: WarpXWrappers.cpp:700
amrex::Real warpx_getProbHi(int dir)
Definition: WarpXWrappers.cpp:235
amrex::Real ** warpx_getEfield(int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
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:731
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:155
void warpx_setistep(int lev, int ii)
Definition: WarpXWrappers.cpp:727
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:242
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:319
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:327
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:568
void warpx_init()
Definition: WarpXWrappers.cpp:165
amrex::Real ** warpx_getFfieldCP(int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes)
int * warpx_getPhi_nodal_flag()
Definition: WarpXWrappers.cpp:323
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:599
int * warpx_getEfieldCPLoVects(int lev, int direction, int *return_size, int **ngrowvect)
T_ParticleType ParticleType
direction
Definition: AnyFFT.H:75
ii
Definition: check_interp_points_and_weights.py:148
int size
Definition: plot_parallel.py:246
int dt
Definition: stencil.py:440