|
| WarpXParticleContainer (amrex::AmrCore *amr_core, int ispecies) |
|
| ~WarpXParticleContainer () override=default |
|
| WarpXParticleContainer (const WarpXParticleContainer &)=delete |
|
WarpXParticleContainer & | operator= (const WarpXParticleContainer &)=delete |
|
| WarpXParticleContainer (WarpXParticleContainer &&)=default |
|
WarpXParticleContainer & | operator= (WarpXParticleContainer &&)=default |
|
virtual void | InitData ()=0 |
|
virtual void | InitIonizationModule () |
|
virtual PlasmaInjector * | GetPlasmaInjector (const int) |
|
virtual void | Evolve (int lev, const amrex::MultiFab &Ex, const amrex::MultiFab &Ey, const amrex::MultiFab &Ez, const amrex::MultiFab &Bx, const amrex::MultiFab &By, const amrex::MultiFab &Bz, amrex::MultiFab &jx, amrex::MultiFab &jy, amrex::MultiFab &jz, amrex::MultiFab *cjx, amrex::MultiFab *cjy, amrex::MultiFab *cjz, amrex::MultiFab *rho, amrex::MultiFab *crho, const amrex::MultiFab *cEx, const amrex::MultiFab *cEy, const amrex::MultiFab *cEz, const amrex::MultiFab *cBx, const amrex::MultiFab *cBy, const amrex::MultiFab *cBz, amrex::Real t, amrex::Real dt, DtType a_dt_type=DtType::Full, bool skip_deposition=false, PushType push_type=PushType::Explicit)=0 |
|
virtual void | PostRestart ()=0 |
|
void | AllocData () |
|
virtual void | DefaultInitializeRuntimeAttributes (typename ContainerLike< amrex::PinnedArenaAllocator >::ParticleTileType &pinned_tile, int n_external_attr_real, int n_external_attr_int)=0 |
| Virtual method to initialize runtime attributes. Must be overriden by each derived class. More...
|
|
void | PushX (amrex::Real dt) |
|
void | PushX (int lev, amrex::Real dt) |
|
virtual void | PushP (int lev, amrex::Real dt, const amrex::MultiFab &Ex, const amrex::MultiFab &Ey, const amrex::MultiFab &Ez, const amrex::MultiFab &Bx, const amrex::MultiFab &By, const amrex::MultiFab &Bz)=0 |
|
void | DepositCurrent (amrex::Vector< std::array< std::unique_ptr< amrex::MultiFab >, 3 > > &J, amrex::Real dt, amrex::Real relative_time) |
| Deposit current density. More...
|
|
void | DepositCharge (amrex::Vector< std::unique_ptr< amrex::MultiFab > > &rho, bool local=false, bool reset=false, bool apply_boundary_and_scale_volume=false, bool interpolate_across_levels=true, int icomp=0) |
| Deposit charge density. More...
|
|
void | DepositCharge (std::unique_ptr< amrex::MultiFab > &rho, int lev, bool local=false, bool reset=false, bool apply_boundary_and_scale_volume=false, int icomp=0) |
|
std::unique_ptr< amrex::MultiFab > | GetChargeDensity (int lev, bool local=false) |
|
virtual void | DepositCharge (WarpXParIter &pti, RealVector const &wp, const int *ion_lev, amrex::MultiFab *rho, int icomp, long offset, long np_to_deposit, int thread_num, int lev, int depos_lev) |
|
virtual void | DepositCurrent (WarpXParIter &pti, RealVector const &wp, RealVector const &uxp, RealVector const &uyp, RealVector const &uzp, int const *ion_lev, amrex::MultiFab *jx, amrex::MultiFab *jy, amrex::MultiFab *jz, long offset, long np_to_deposit, int thread_num, int lev, int depos_lev, amrex::Real dt, amrex::Real relative_time, PushType push_type) |
|
virtual void | ContinuousInjection (const amrex::RealBox &) |
|
virtual void | UpdateAntennaPosition (const amrex::Real) |
| Update antenna position for continuous injection of lasers in a boosted frame. Empty function for containers other than lasers. More...
|
|
bool | doContinuousInjection () const |
|
virtual void | ContinuousFluxInjection (amrex::Real, amrex::Real) |
|
int | getSpeciesId () const |
|
amrex::ParticleReal | sumParticleCharge (bool local=false) |
|
amrex::ParticleReal | sumParticleWeight (bool local=false) |
|
std::array< amrex::ParticleReal, 3 > | meanParticleVelocity (bool local=false) |
|
amrex::ParticleReal | maxParticleVelocity (bool local=false) |
|
void | AddNParticles (int lev, long n, amrex::Vector< amrex::ParticleReal > const &x, amrex::Vector< amrex::ParticleReal > const &y, amrex::Vector< amrex::ParticleReal > const &z, amrex::Vector< amrex::ParticleReal > const &ux, amrex::Vector< amrex::ParticleReal > const &uy, amrex::Vector< amrex::ParticleReal > const &uz, int nattr_real, amrex::Vector< amrex::Vector< amrex::ParticleReal >> const &attr_real, int nattr_int, amrex::Vector< amrex::Vector< int >> const &attr_int, int uniqueparticles, amrex::Long id=-1) |
| Adds n particles to the simulation. More...
|
|
void | deleteInvalidParticles () |
|
virtual void | ReadHeader (std::istream &is)=0 |
|
virtual void | WriteHeader (std::ostream &os) const =0 |
|
void | ApplyBoundaryConditions () |
| Apply particle BC. More...
|
|
void | SetDoBackTransformedParticles (const bool do_back_transformed_particles) |
|
amrex::ParticleReal | getCharge () const |
|
amrex::ParticleReal | getMass () const |
|
int | DoFieldIonization () const |
|
virtual bool | has_quantum_sync () const |
|
virtual bool | has_breit_wheeler () const |
|
int | DoQED () const |
|
template<PhysicalSpecies PhysSpec> |
bool | AmIA () const noexcept |
|
std::string | getSpeciesTypeName () const |
| This function returns a string containing the name of the species type. More...
|
|
virtual void | resample (const int, bool) |
| Virtual method to resample the species. Overriden by PhysicalParticleContainer only. Empty body is here because making the method purely virtual would mean that we need to override the method for every derived class. Note that in practice this function is never called because resample() is only called for PhysicalParticleContainers. More...
|
|
void | defineAllParticleTiles () noexcept |
|
virtual std::vector< std::string > | getUserIntAttribs () const |
|
virtual std::vector< std::string > | getUserRealAttribs () const |
|
virtual amrex::Vector< amrex::Parser * > | getUserIntAttribParser () const |
|
virtual amrex::Vector< amrex::Parser * > | getUserRealAttribParser () const |
|
virtual BreitWheelerEngine * | get_breit_wheeler_engine_ptr () const |
|
virtual QuantumSynchrotronEngine * | get_quantum_sync_engine_ptr () const |
|
void | setDoNotPush (bool flag) |
|
TmpParticles | getTmpParticleData () const noexcept |
|
int | getIonizationInitialLevel () const noexcept |
|
Public Member Functions inherited from NamedComponentParticleContainer< amrex::DefaultAllocator > |
| NamedComponentParticleContainer () |
|
| NamedComponentParticleContainer (amrex::AmrParGDB *amr_pgdb) |
|
| NamedComponentParticleContainer (amrex::ParticleContainerPureSoA< PIdx::nattribs, 0, amrex::DefaultAllocator > &&pc, std::map< std::string, int > p_comps, std::map< std::string, int > p_icomps, std::map< std::string, int > p_rcomps, std::map< std::string, int > p_ricomps) |
|
| NamedComponentParticleContainer (const NamedComponentParticleContainer &)=delete |
|
| NamedComponentParticleContainer (NamedComponentParticleContainer &&) noexcept=default |
|
| ~NamedComponentParticleContainer () override=default |
|
NamedComponentParticleContainer & | operator= (const NamedComponentParticleContainer &)=delete |
|
NamedComponentParticleContainer & | operator= (NamedComponentParticleContainer &&) noexcept=default |
|
NamedComponentParticleContainer< NewAllocator > | make_alike () const |
|
void | AddRealComp (const std::string &name, bool comm=true) |
|
void | AddIntComp (const std::string &name, bool comm=true) |
|
void | defineAllParticleTiles () noexcept |
|
std::map< std::string, int > | getParticleComps () const noexcept |
|
std::map< std::string, int > | getParticleiComps () const noexcept |
|
std::map< std::string, int > | getParticleRuntimeComps () const noexcept |
|
std::map< std::string, int > | getParticleRuntimeiComps () const noexcept |
|
Public Member Functions inherited from amrex::ParticleContainer_impl< class, T_NArrayReal, T_NArrayInt, Allocator, class > |
| ParticleContainer_impl () |
|
| ParticleContainer_impl (ParGDBBase *gdb) |
|
| ParticleContainer_impl (const Geometry &geom, const DistributionMapping &dmap, const BoxArray &ba) |
|
| ParticleContainer_impl (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< int > &rr) |
|
| ParticleContainer_impl (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< IntVect > &rr) |
|
| ~ParticleContainer_impl () override=default |
|
| ParticleContainer_impl (const ParticleContainer_impl &)=delete |
|
ParticleContainer_impl & | operator= (const ParticleContainer_impl &)=delete |
|
| ParticleContainer_impl (ParticleContainer_impl &&) noexcept=default |
|
ParticleContainer_impl & | operator= (ParticleContainer_impl &&) noexcept=default |
|
void | Define (ParGDBBase *gdb) |
|
void | Define (const Geometry &geom, const DistributionMapping &dmap, const BoxArray &ba) |
|
void | Define (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< int > &rr) |
|
void | Define (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< IntVect > &rr) |
|
int | numLocalTilesAtLevel (int lev) const |
|
void | reserveData () override |
|
void | resizeData () override |
|
void | InitFromAsciiFile (const std::string &file, int extradata, const IntVect *Nrep=nullptr) |
|
void | InitFromBinaryFile (const std::string &file, int extradata) |
|
void | InitFromBinaryMetaFile (const std::string &file, int extradata) |
|
void | InitRandom (Long icount, ULong iseed, const ParticleInitData &pdata, bool serialize=false, RealBox bx=RealBox()) |
|
void | InitRandomPerBox (Long icount, ULong iseed, const ParticleInitData &pdata) |
|
void | InitOnePerCell (Real x_off, Real y_off, Real z_off, const ParticleInitData &pdata) |
|
void | InitNRandomPerCell (int n_per_cell, const ParticleInitData &pdata) |
|
void | Increment (MultiFab &mf, int level) |
|
Long | IncrementWithTotal (MultiFab &mf, int level, bool local=false) |
|
void | Redistribute (int lev_min=0, int lev_max=-1, int nGrow=0, int local=0, bool remove_negative=true) |
|
void | ReorderParticles (int lev, const MFIter &mfi, const index_type *permutations) |
|
void | SortParticlesForDeposition (IntVect idx_type) |
|
void | SortParticlesByCell () |
|
void | SortParticlesByBin (IntVect bin_size) |
|
bool | OK (int lev_min=0, int lev_max=-1, int nGrow=0) const |
|
std::array< Long, 3 > | ByteSpread () const |
|
std::array< Long, 3 > | PrintCapacity () const |
|
void | ShrinkToFit () |
|
Long | NumberOfParticlesAtLevel (int level, bool only_valid=true, bool only_local=false) const |
|
Vector< Long > | NumberOfParticlesInGrid (int level, bool only_valid=true, bool only_local=false) const |
|
Long | TotalNumberOfParticles (bool only_valid=true, bool only_local=false) const |
|
void | RemoveParticlesAtLevel (int level) |
|
void | RemoveParticlesNotAtFinestLevel () |
|
void | CreateVirtualParticles (int level, AoS &virts) const |
|
void | CreateGhostParticles (int level, int ngrow, AoS &ghosts) const |
|
void | AddParticlesAtLevel (AoS &particles, int level, int nGrow=0) |
|
void | CreateVirtualParticles (int level, ParticleTileType &virts) const |
|
void | CreateGhostParticles (int level, int ngrow, ParticleTileType &ghosts) const |
|
void | AddParticlesAtLevel (ParticleTileType &particles, int level, int nGrow=0) |
|
void | clearParticles () |
|
void | copyParticles (const PCType &other, bool local=false) |
|
void | addParticles (const PCType &other, bool local=false) |
|
void | copyParticles (const PCType &other, F &&f, bool local=false) |
|
void | addParticles (const PCType &other, F const &f, bool local=false) |
|
void | WriteParticleRealData (void *data, size_t size, std::ostream &os) const |
|
void | ReadParticleRealData (void *data, size_t size, std::istream &is) |
|
void | Checkpoint (const std::string &dir, const std::string &name, const Vector< std::string > &real_comp_names=Vector< std::string >(), const Vector< std::string > &int_comp_names=Vector< std::string >()) const |
|
void | Checkpoint (const std::string &dir, const std::string &name, bool is_checkpoint, const Vector< std::string > &real_comp_names=Vector< std::string >(), const Vector< std::string > &int_comp_names=Vector< std::string >()) const |
|
void | WriteBinaryParticleData (const std::string &dir, const std::string &name, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, const Vector< std::string > &real_comp_names, const Vector< std::string > &int_comp_names, F &&f, bool is_checkpoint=false) const |
|
void | CheckpointPre () |
|
void | CheckpointPost () |
|
void | Restart (const std::string &dir, const std::string &file) |
|
void | Restart (const std::string &dir, const std::string &file, bool is_checkpoint) |
|
void | WritePlotFile (const std::string &dir, const std::string &name) const |
|
void | WritePlotFile (const std::string &dir, const std::string &name, F &&f) const |
|
void | WritePlotFile (const std::string &dir, const std::string &name, const Vector< std::string > &real_comp_names, const Vector< std::string > &int_comp_names) const |
|
void | WritePlotFile (const std::string &dir, const std::string &name, const Vector< std::string > &real_comp_names, const Vector< std::string > &int_comp_names, F &&f) const |
|
void | WritePlotFile (const std::string &dir, const std::string &name, const Vector< std::string > &real_comp_names) const |
|
void | WritePlotFile (const std::string &dir, const std::string &name, const Vector< std::string > &real_comp_names, F &&f) const |
|
void | WritePlotFile (const std::string &dir, const std::string &name, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp) const |
|
void | WritePlotFile (const std::string &dir, const std::string &name, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, F &&f) const |
|
void | WritePlotFile (const std::string &dir, const std::string &name, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, const Vector< std::string > &real_comp_names, const Vector< std::string > &int_comp_names) const |
|
void | WritePlotFile (const std::string &dir, const std::string &name, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, const Vector< std::string > &real_comp_names, const Vector< std::string > &int_comp_names, F &&f) const |
|
void | WritePlotFilePre () |
|
void | WritePlotFilePost () |
|
void | WriteAsciiFile (const std::string &file) |
|
const Vector< ParticleLevel > & | GetParticles () const |
|
Vector< ParticleLevel > & | GetParticles () |
|
const ParticleLevel & | GetParticles (int lev) const |
|
ParticleLevel & | GetParticles (int lev) |
|
const ParticleTileType & | ParticlesAt (int lev, int grid, int tile) const |
|
ParticleTileType & | ParticlesAt (int lev, int grid, int tile) |
|
const ParticleTileType & | ParticlesAt (int lev, const Iterator &iter) const |
|
ParticleTileType & | ParticlesAt (int lev, const Iterator &iter) |
|
ParticleTileType & | DefineAndReturnParticleTile (int lev, int grid, int tile) |
|
ParticleTileType & | DefineAndReturnParticleTile (int lev, const Iterator &iter) |
|
void | AssignDensity (int rho_index, Vector< std::unique_ptr< MultiFab > > &mf_to_be_filled, int lev_min, int ncomp, int finest_level, int ngrow=2) const |
|
void | AssignCellDensitySingleLevel (int rho_index, MultiFab &mf, int level, int ncomp=1, int particle_lvl_offset=0) const |
|
IntVect | Index (const P &p, int lev) const |
|
ParticleLocData | Reset (ParticleType &prt, bool update, bool verbose=true, ParticleLocData pld=ParticleLocData()) const |
|
bool | PeriodicShift (P &p) const |
|
void | SetLevelDirectoriesCreated (bool tf) |
|
bool | GetLevelDirectoriesCreated () const |
|
void | SetUsePrePost (bool tf) const |
|
bool | GetUsePrePost () const |
|
int | GetMaxNextIDPrePost () const |
|
Long | GetNParticlesPrePost () const |
|
void | SetUseUnlink (bool tf) const |
|
bool | GetUseUnlink () const |
|
void | RedistributeCPU (int lev_min=0, int lev_max=-1, int nGrow=0, int local=0, bool remove_negative=true) |
|
void | RedistributeGPU (int lev_min=0, int lev_max=-1, int nGrow=0, int local=0, bool remove_negative=true) |
|
Long | superParticleSize () const |
|
void | AddRealComp (T communicate=true) |
|
void | AddIntComp (T communicate=true) |
|
int | NumRuntimeRealComps () const |
|
int | NumRuntimeIntComps () const |
|
int | NumRealComps () const |
|
int | NumIntComps () const |
|
void | ResizeRuntimeRealComp (int new_size, bool communicate) |
|
void | ResizeRuntimeIntComp (int new_size, bool communicate) |
|
ContainerLike< NewAllocator > | make_alike () const |
|
void | WriteParticles (int level, std::ofstream &ofs, int fnum, Vector< int > &which, Vector< int > &count, Vector< Long > &where, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, const Vector< std::map< std::pair< int, int >, IntVector >> &particle_io_flags, bool is_checkpoint) const |
|
IntVect | Index (const P &p, int lev) const |
|
bool | Where (const P &p, ParticleLocData &pld, int lev_min, int lev_max, int nGrow, int local_grid) const |
|
bool | EnforcePeriodicWhere (P &p, ParticleLocData &pld, int lev_min, int lev_max, int local_grid) const |
|
bool | PeriodicShift (P &p) const |
|
void | locateParticle (P &p, ParticleLocData &pld, int lev_min, int lev_max, int nGrow, int local_grid) const |
|
void | copyParticles (const PCType &other, bool local) |
|
void | addParticles (const PCType &other, bool local) |
|
void | copyParticles (const PCType &other, F &&f, bool local) |
|
void | addParticles (const PCType &other, F const &f, bool local) |
|
void | ReorderParticles (int lev, const MFIter &mfi, const index_type *permutations) |
|
void | WritePlotFile (const std::string &dir, const std::string &name, F &&f) const |
|
void | WritePlotFile (const std::string &dir, const std::string &name, const Vector< std::string > &real_comp_names, const Vector< std::string > &int_comp_names, F &&f) const |
|
void | WritePlotFile (const std::string &dir, const std::string &name, const Vector< std::string > &real_comp_names, F &&f) const |
|
void | WritePlotFile (const std::string &dir, const std::string &name, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, F &&f) const |
|
void | WritePlotFile (const std::string &dir, const std::string &name, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, const Vector< std::string > &real_comp_names, const Vector< std::string > &int_comp_names, F &&f) const |
|
void | WriteBinaryParticleData (const std::string &dir, const std::string &name, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, const Vector< std::string > &real_comp_names, const Vector< std::string > &int_comp_names, F &&f, bool is_checkpoint) const |
|
void | ReadParticles (int cnt, int grd, int lev, std::ifstream &ifs, int finest_level_in_file, bool convert_ids) |
|
Public Member Functions inherited from amrex::ParticleContainerBase |
| ParticleContainerBase ()=default |
|
| ParticleContainerBase (ParGDBBase *gdb) |
|
| ParticleContainerBase (const Geometry &geom, const DistributionMapping &dmap, const BoxArray &ba) |
|
| ParticleContainerBase (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< int > &rr) |
|
| ParticleContainerBase (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< IntVect > &rr) |
|
virtual | ~ParticleContainerBase ()=default |
|
| ParticleContainerBase (const ParticleContainerBase &)=delete |
|
ParticleContainerBase & | operator= (const ParticleContainerBase &)=delete |
|
| ParticleContainerBase (ParticleContainerBase &&)=default |
|
ParticleContainerBase & | operator= (ParticleContainerBase &&)=default |
|
void | Define (ParGDBBase *gdb) |
|
void | Define (const Geometry &geom, const DistributionMapping &dmap, const BoxArray &ba) |
|
void | Define (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< int > &rr) |
|
void | Define (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< IntVect > &rr) |
|
bool | isDefined () const |
|
void | RedefineDummyMF (int lev) |
|
MFIter | MakeMFIter (int lev, const MFItInfo &info) const |
|
MFIter | MakeMFIter (int lev) const |
|
MFIter | MakeMFIter (int lev, bool tile) const |
|
void | SetParGDB (const Geometry &geom, const DistributionMapping &dmap, const BoxArray &ba) |
|
void | SetParGDB (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< IntVect > &rr) |
|
void | SetParGDB (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< int > &rr) |
|
void | SetParticleBoxArray (int lev, BoxArray new_ba) |
|
void | SetParticleDistributionMap (int lev, DistributionMapping new_dmap) |
|
void | SetParticleGeometry (int lev, Geometry new_geom) |
|
const BoxArray & | ParticleBoxArray (int lev) const |
|
const DistributionMapping & | ParticleDistributionMap (int lev) const |
|
const Geometry & | Geom (int lev) const |
|
const Geometry & | ParticleGeom (int lev) const |
|
int | finestLevel () const |
|
int | maxLevel () const |
|
int | numLevels () const |
|
const ParGDBBase * | GetParGDB () const |
|
ParGDBBase * | GetParGDB () |
|
int | Verbose () const |
|
void | SetVerbose (int verbose) |
|
const ParticleBufferMap & | BufferMap () const |
|
Vector< int > | NeighborProcs (int ngrow) const |
|
bool | OnSameGrids (int level, const MF &mf) const |
|