|
| | PhotonParticleContainer (amrex::AmrCore *amr_core, int ispecies, const std::string &name) |
| | ~PhotonParticleContainer () override=default |
| | PhotonParticleContainer (PhotonParticleContainer const &)=delete |
| PhotonParticleContainer & | operator= (PhotonParticleContainer const &)=delete |
| | PhotonParticleContainer (PhotonParticleContainer &&)=default |
| PhotonParticleContainer & | operator= (PhotonParticleContainer &&)=default |
| void | InitData () override |
| void | Evolve (ablastr::fields::MultiFabRegister &fields, int lev, const std::string ¤t_fp_string, amrex::Real t, amrex::Real dt, SubcyclingHalf subcycling_half=SubcyclingHalf::None, bool skip_deposition=false, PositionPushType position_push_type=PositionPushType::Full, MomentumPushType momentum_push_type=MomentumPushType::Full, ImplicitOptions const *implicit_options=nullptr) override |
| | Pure virtual function to advance particles (typically by one time step).
|
| void | PushPX (WarpXParIter &pti, amrex::FArrayBox const *exfab, amrex::FArrayBox const *eyfab, amrex::FArrayBox const *ezfab, amrex::FArrayBox const *bxfab, amrex::FArrayBox const *byfab, amrex::FArrayBox const *bzfab, amrex::IntVect ngEB, int, long offset, long np_to_push, int lev, int gather_lev, amrex::Real dt, ScaleFields scaleFields, SubcyclingHalf subcycling_half, PositionPushType position_push_type=PositionPushType::Full, MomentumPushType momentum_push_type=MomentumPushType::Full) override |
| | Gather fields and push particles in one fused kernel.
|
| void | FinishImplicitParticleUpdate (ablastr::fields::MultiFabRegister &fields, int lev, amrex::Real t, amrex::Real dt) override |
| | Advances photon position at the end of an implicit time step.
|
| void | PushP (int, amrex::Real, const amrex::MultiFab &, const amrex::MultiFab &, const amrex::MultiFab &, const amrex::MultiFab &, const amrex::MultiFab &, const amrex::MultiFab &, MomentumPushType) override |
| void | DepositCharge (WarpXParIter &, RealVector const &, const int *const, amrex::MultiFab *, int, const long, const long, int, int, int) override |
| void | DepositCurrent (WarpXParIter &, RealVector const &, RealVector const &, RealVector const &, RealVector const &, int const *const, amrex::MultiFab *const, amrex::MultiFab *const, amrex::MultiFab *const, long const, long const, int const, int const, int const, amrex::Real const, amrex::Real const, PushType) override |
| void | DepositMassMatrices (ablastr::fields::MultiFabRegister &, int, amrex::Real) override |
| | No-op override: photons are massless and carry no charge, so they do not contribute to the implicit-solver mass matrices (S_xx, S_xy, ..., S_zz) that weighted, charged particles deposit onto the grid.
|
| Public Member Functions inherited from PhysicalParticleContainer |
| | PhysicalParticleContainer (amrex::AmrCore *amr_core, int ispecies, const std::string &name) |
| | PhysicalParticleContainer (amrex::AmrCore *amr_core) |
| void | BackwardCompatibility () |
| | ~PhysicalParticleContainer () override=default |
| | PhysicalParticleContainer (PhysicalParticleContainer const &)=delete |
| PhysicalParticleContainer & | operator= (PhysicalParticleContainer const &)=delete |
| | PhysicalParticleContainer (PhysicalParticleContainer &&)=default |
| PhysicalParticleContainer & | operator= (PhysicalParticleContainer &&)=default |
| void | AllocData () override |
| void | InitData () override |
| void | ReadHeader (std::istream &is) override |
| void | WriteHeader (std::ostream &os) const override |
| void | InitIonizationModule () override |
| PlasmaInjector * | GetPlasmaInjector (int i) override |
| void | Evolve (ablastr::fields::MultiFabRegister &fields, int lev, const std::string ¤t_fp_string, amrex::Real t, amrex::Real dt, SubcyclingHalf subcycling_half=SubcyclingHalf::None, bool skip_deposition=false, PositionPushType position_push_type=PositionPushType::Full, MomentumPushType momentum_push_type=MomentumPushType::Full, ImplicitOptions const *implicit_options=nullptr) override |
| | Evolve is the central function in PhysicalParticleContainer that advances plasma particles for a time dt (typically one timestep).
|
| void | DepositMassMatrices (ablastr::fields::MultiFabRegister &fields, int lev, amrex::Real dt) override |
| | Deposit mass matrices.
|
| void | FindSuborbitParticles (WarpXParIter &pti, long offset, long np_to_push, long &num_unconverged_particles, amrex::Gpu::DeviceVector< long > &unconverged_indices, amrex::Gpu::DeviceVector< amrex::ParticleReal > &saved_weights) |
| void | SetupSuborbitParticles (WarpXParIter &pti, long offset, long np_to_push, long num_unconverged_particles, amrex::Gpu::DeviceVector< long > &unconverged_indices, amrex::Gpu::DeviceVector< amrex::ParticleReal > &saved_weights) |
| void | ImplicitPushXP (WarpXParIter &pti, amrex::FArrayBox const *exfab, amrex::FArrayBox const *eyfab, amrex::FArrayBox const *ezfab, amrex::FArrayBox const *bxfab, amrex::FArrayBox const *byfab, amrex::FArrayBox const *bzfab, ImplicitOptions const *implicit_options, amrex::IntVect const &ngEB, long offset, long np_to_push, int lev, int gather_lev, amrex::Real dt, long &num_unconverged_particles, amrex::Gpu::DeviceVector< long > &unconverged_indices, amrex::Gpu::DeviceVector< amrex::ParticleReal > &saved_weights) |
| void | ImplicitPushXPSubOrbits (WarpXParIter &pti, ablastr::fields::MultiFabRegister &fields, amrex::FArrayBox const *exfab, amrex::FArrayBox const *eyfab, amrex::FArrayBox const *ezfab, amrex::FArrayBox const *bxfab, amrex::FArrayBox const *byfab, amrex::FArrayBox const *bzfab, ImplicitOptions const *implicit_options, amrex::IntVect ngEB, amrex::MultiFab *jx, amrex::MultiFab *jy, amrex::MultiFab *jz, long offset, int lev, int gather_lev, amrex::Real dt, bool skip_deposition, long num_unconverged_particles, amrex::Gpu::DeviceVector< long > &unconverged_indices, amrex::Gpu::DeviceVector< amrex::ParticleReal > &saved_weights) |
| 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, MomentumPushType momentum_push_type) override |
| void | PartitionParticlesInBuffers (long &nfine_current, long &nfine_gather, long np, WarpXParIter &pti, int lev, int n_field_gather_buffer, int n_current_deposition_buffer, amrex::iMultiFab const *current_masks, amrex::iMultiFab const *gather_masks) |
| | Determine which particles deposit/gather in the buffer, and and reorder the particle arrays accordingly.
|
| void | PostRestart () final |
| void | SplitParticles (int lev) |
| IonizationFilterFunc | getIonizationFunc (const WarpXParIter &pti, int lev, amrex::IntVect ngEB, const amrex::FArrayBox &Ex, const amrex::FArrayBox &Ey, const amrex::FArrayBox &Ez, const amrex::FArrayBox &Bx, const amrex::FArrayBox &By, const amrex::FArrayBox &Bz) |
| virtual void | AddParticles (int lev) |
| void | AddPlasma (PlasmaInjector &plasma_injector, int lev, amrex::RealBox part_realbox=amrex::RealBox()) |
| void | AddPlasmaFlux (PlasmaInjector const &plasma_injector, amrex::Real dt) |
| void | MapParticletoBoostedFrame (amrex::ParticleReal &x, amrex::ParticleReal &y, amrex::ParticleReal &z, amrex::ParticleReal &ux, amrex::ParticleReal &uy, amrex::ParticleReal &uz, amrex::Real t_lab=0.) const |
| void | AddGaussianBeam (PlasmaInjector const &plasma_injector) |
| void | AddPlasmaFromFile (PlasmaInjector &plasma_injector, amrex::ParticleReal q_tot, amrex::ParticleReal z_shift) |
| void | CheckAndAddParticle (amrex::ParticleReal x, amrex::ParticleReal y, amrex::ParticleReal z, amrex::ParticleReal ux, amrex::ParticleReal uy, amrex::ParticleReal uz, amrex::ParticleReal weight, amrex::Gpu::HostVector< amrex::ParticleReal > &particle_x, amrex::Gpu::HostVector< amrex::ParticleReal > &particle_y, amrex::Gpu::HostVector< amrex::ParticleReal > &particle_z, amrex::Gpu::HostVector< amrex::ParticleReal > &particle_ux, amrex::Gpu::HostVector< amrex::ParticleReal > &particle_uy, amrex::Gpu::HostVector< amrex::ParticleReal > &particle_uz, amrex::Gpu::HostVector< amrex::ParticleReal > &particle_w, amrex::Real t_lab=0.) const |
| void | DefaultInitializeRuntimeAttributes (typename ContainerLike< amrex::PolymorphicArenaAllocator >::ParticleTileType &pinned_tile, int n_external_attr_real, int n_external_attr_int) final |
| | Default initialize runtime attributes in a tile. This routine does not initialize the first n_external_attr_real real attributes and the first n_external_attr_int integer attributes, which have been in principle externally set elsewhere.
|
| void | applyNCIFilter (int lev, const amrex::Box &box, amrex::FArrayBox &filtered_Ex, amrex::FArrayBox &filtered_Ey, amrex::FArrayBox &filtered_Ez, amrex::FArrayBox &filtered_Bx, amrex::FArrayBox &filtered_By, amrex::FArrayBox &filtered_Bz, const amrex::FArrayBox &Ex, const amrex::FArrayBox &Ey, const amrex::FArrayBox &Ez, const amrex::FArrayBox &Bx, const amrex::FArrayBox &By, const amrex::FArrayBox &Bz, amrex::FArrayBox const *&ex_ptr, amrex::FArrayBox const *&ey_ptr, amrex::FArrayBox const *&ez_ptr, amrex::FArrayBox const *&bx_ptr, amrex::FArrayBox const *&by_ptr, amrex::FArrayBox const *&bz_ptr) |
| | Apply NCI Godfrey filter to all components of E and B before gather.
|
| void | resample (const amrex::Vector< amrex::Geometry > &geom, int timestep, bool verbose=true) final |
| | This function determines if resampling should be done for the current species, and if so, performs the resampling.
|
| bool | has_quantum_sync () const override |
| bool | has_breit_wheeler () const override |
| void | set_breit_wheeler_engine_ptr (const std::shared_ptr< BreitWheelerEngine > &ptr) override |
| void | set_quantum_sync_engine_ptr (const std::shared_ptr< QuantumSynchrotronEngine > &ptr) override |
| BreitWheelerEngine * | get_breit_wheeler_engine_ptr () const override |
| QuantumSynchrotronEngine * | get_quantum_sync_engine_ptr () const override |
| PhotonEmissionFilterFunc | getPhotonEmissionFilterFunc () |
| PairGenerationFilterFunc | getPairGenerationFilterFunc () |
| bool | has_virtual_photons () const override |
| bool | has_virtual_photons_beam_size_effect () const override |
| int | getVirtualPhotonSpeciesIndex () const override |
| std::vector< std::string > | getUserIntAttribs () const override |
| std::vector< std::string > | getUserRealAttribs () const override |
| amrex::Vector< amrex::Parser * > | getUserIntAttribParser () const override |
| amrex::Vector< amrex::Parser * > | getUserRealAttribParser () const override |
| bool | getTemperatureDepositionFlag () const noexcept override |
| void | AccumulateVelocitiesAndComputeTemperature (ablastr::fields::MultiLevelVectorField const &T_vf, amrex::Real relative_time) override |
| | Accumulate velocity moments for matched temperature deposition using particle shapes.
|
| void | DepositTemperature (WarpXParIter &pti, RealVector const &wp, RealVector const &uxp, RealVector const &uyp, RealVector const &uzp, amrex::MultiFab *Tx, amrex::MultiFab *Ty, amrex::MultiFab *Tz, long offset, long np_to_deposit, int thread_num, int lev, int depos_lev, amrex::Real relative_time, PushType push_type, warpx::particles::deposition::TemperatureDepositionType type, warpx::particles::deposition::TemperatureDepositionPass pass) override |
| Public Member Functions inherited from WarpXParticleContainer |
| | WarpXParticleContainer (amrex::AmrCore *amr_core, int ispecies, const std::string &name) |
| | ~WarpXParticleContainer () override=default |
| | WarpXParticleContainer (const WarpXParticleContainer &)=delete |
| WarpXParticleContainer & | operator= (const WarpXParticleContainer &)=delete |
| | WarpXParticleContainer (WarpXParticleContainer &&)=default |
| WarpXParticleContainer & | operator= (WarpXParticleContainer &&)=default |
| virtual void | DefaultInitializeRuntimeAttributes (typename ContainerLike< amrex::PolymorphicArenaAllocator >::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.
|
| void | PushX (amrex::Real dt) |
| void | PushX (int lev, amrex::Real dt) |
| void | DepositCurrent (ablastr::fields::MultiLevelVectorField const &J, amrex::Real dt, amrex::Real relative_time) |
| | Deposit current density.
|
| void | DepositCurrent (const std::string &mf_name, int lev, amrex::Real dt, amrex::Real relative_time) |
| | Deposit current density, sum guard values, and apply boundary conditions.
|
| void | DepositCharge (const ablastr::fields::MultiLevelScalarField &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.
|
| void | DepositCharge (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) |
| void | DepositTotalNGPTemperature (int lev) |
| void | CalculateNuei (amrex::MultiFab &species_nuei, WarpXParticleContainer const &electron_species, int lev) |
| std::unique_ptr< amrex::MultiFab > | GetDebyeLength (int lev) |
| void | DepositNumberDensity (amrex::MultiFab *number_density, int lev) |
| std::unique_ptr< amrex::MultiFab > | GetNumberDensity (int lev) |
| std::unique_ptr< amrex::MultiFab > | GetPlasmaFrequency (int lev) |
| void | DepositMassMatrices (WarpXParIter &pti, const RealVector &wp, const RealVector &uxp, const RealVector &uyp, const RealVector &uzp, amrex::MultiFab *Sxx, amrex::MultiFab *Sxy, amrex::MultiFab *Sxz, amrex::MultiFab *Syx, amrex::MultiFab *Syy, amrex::MultiFab *Syz, amrex::MultiFab *Szx, amrex::MultiFab *Szy, amrex::MultiFab *Szz, const amrex::FArrayBox *bxfab, const amrex::FArrayBox *byfab, const amrex::FArrayBox *bzfab, long offset, long np_to_deposit, int thread_num, int lev, int depos_lev, amrex::Real dt) |
| 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.
|
| bool | doContinuousInjection () const |
| int | getSpeciesId () const |
| std::pair< amrex::ParticleReal, amrex::ParticleReal > | sumParticleWeightAndEnergy (bool local=false) const |
| amrex::ParticleReal | sumParticleCharge (bool local=false) const |
| amrex::ParticleReal | sumParticleWeight (bool local=false) const |
| amrex::ParticleReal | sumParticleEnergy (bool local=false) const |
| std::array< amrex::ParticleReal, 3 > | meanParticleVelocity (bool local=false) |
| amrex::ParticleReal | maxParticleVelocity (bool local=false) |
| void | TransformMomentumToCurvilinear (bool forward) |
| | Map the momentum of the particles to and from the curvilinear frame. This is equivalent to mapping to the X-axis, i.e. theta = 0 cylinderical and theta = phi = 0 for spherical. This mapping is used for binary collisions to put the colliding particles in a spatially local frame.
|
| 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.
|
| void | deleteInvalidParticles () |
| void | ApplyBoundaryConditions () |
| | Apply particle BC.
|
| void | SetDoBackTransformedParticles (const bool do_back_transformed_particles) |
| bool | GetDoBackTransformedParticles () const |
| amrex::ParticleReal | getCharge () const |
| amrex::ParticleReal | getMass () const |
| int | DoFieldIonization () 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.
|
| void | defineAllParticleTiles () noexcept |
| void | setDoNotPush (bool flag) |
| void | setDoNotGather (int flag) |
| void | setDoNotDeposit (int flag) |
| bool | HasiAttrib (const std::string &name) |
| std::string const & | getName () |
| int | getIonizationInitialLevel () const noexcept |
| Public Member Functions inherited from amrex::ParticleContainer_impl< SoAParticle< T_NArrayReal, T_NArrayInt >, T_NArrayReal, T_NArrayInt, Allocator, CellAssignor > |
| | 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 |
| void | CapacityOfParticlesInGrid (LayoutData< I > &mem, int lev) 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 | Checkpoint (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 | 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 const &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 const &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 const &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 const &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 const &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 const &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 |
| Long | 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 | Redistribute_impl (int lev_min=0, int lev_max=-1, int nGrow=0, int local=0, bool remove_negative=true) |
| void | ReserveForRedistribute (ParticleCopyPlan const &plan) |
| Long | superParticleSize () const |
| void | AddRealComp (std::string const &name, int communicate=1) |
| void | AddRealComp (int communicate=1) |
| void | AddIntComp (std::string const &name, int communicate=1) |
| void | AddIntComp (int communicate=1) |
| 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 >, FlagsVector > > &particle_io_flags, bool is_checkpoint) const |
| void | SetSoACompileTimeNames (std::vector< std::string > const &rdata_name, std::vector< std::string > const &idata_name) |
| std::vector< std::string > | GetRealSoANames () const |
| std::vector< std::string > | GetIntSoANames () const |
| bool | HasRealComp (std::string const &name) |
| bool | HasIntComp (std::string const &name) |
| int | GetRealCompIndex (std::string const &name) |
| int | GetIntCompIndex (std::string const &name) |
| 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 &&) noexcept=default |
| ParticleContainerBase & | operator= (ParticleContainerBase &&) 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) |
| 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) |
| int | stableRedistribute () const |
| void | setStableRedistribute (int stable) |
| const ParticleBufferMap & | BufferMap () const |
| void | ensureParticleHandshakeWindow () const |
| Long * | particleHandshakeBuffer () const |
| MPI_Win | particleHandshakeWindow () const |
| Vector< int > | NeighborProcs (int ngrow) const |
| bool | OnSameGrids (int level, const MF &mf) const |
| Arena * | arena () const |
| void | SetArena (Arena *a) |
|
| Public Types inherited from WarpXParticleContainer |
| using | Base = amrex::ParticleContainerPureSoA<PIdx::nattribs, 0, amrex::PolymorphicArenaAllocator> |
| using | DiagnosticParticleData = amrex::StructOfArrays<DiagIdx::nattribs, 0> |
| using | DiagnosticParticles = amrex::Vector<std::map<std::pair<int, int>, DiagnosticParticleData> > |
| Public Types inherited from amrex::ParticleContainer_impl< SoAParticle< T_NArrayReal, T_NArrayInt >, T_NArrayReal, T_NArrayInt, Allocator, CellAssignor > |
| typedef T_ParticleType | ParticleType |
| typedef typename ParticleType::ConstType | ConstParticleType |
| typedef T_CellAssignor | CellAssignor |
| typedef Allocator< T > | AllocatorType |
| typedef Particle< NStructReal+NArrayReal, NStructInt+NArrayInt > | SuperParticleType |
| typedef typename Particle< NStructReal, NStructInt >::RealType | RealType |
| typedef ParticleContainer_impl< ParticleType, NArrayReal, NArrayInt, Allocator, CellAssignor > | ParticleContainerType |
| typedef std::conditional_t< is_rtsoa_pc, ParticleTileRT< typename ParticleType::RealType, typename ParticleType::IntType >, ParticleTile< ParticleType, NArrayReal, NArrayInt, Allocator > > | ParticleTileType |
| typedef ParticleInitType< NStructReal, NStructInt, NArrayReal, NArrayInt > | ParticleInitData |
| typedef std::map< std::pair< int, int >, ParticleTileType > | ParticleLevel |
| typedef typename ParticleTileType::ParticleTileDataType | PTDType |
| typedef typename ParticleTileType::ConstParticleTileDataType | ConstPTDType |
| typedef typename ParticleTileType::AoS | AoS |
| typedef typename ParticleTileType::SoA | SoA |
| typedef typename SoA::RealVector | RealVector |
| typedef typename SoA::IntVector | IntVector |
| typedef typename AoS::ParticleVector | ParticleVector |
| typedef Gpu::DeviceVector< char > | CharVector |
| typedef ParIter_impl< ParticleType, NArrayReal, NArrayInt, Allocator, CellAssignor > | ParIterType |
| typedef ParConstIter_impl< ParticleType, NArrayReal, NArrayInt, Allocator, CellAssignor > | ParConstIterType |
| typedef amrex::ParticleContainer_impl< ParticleType, NArrayReal, NArrayInt, NewAllocator > | ContainerLike |
| typedef PODVector< int, Allocator< int > > | FlagsVector |
| Static Public Member Functions inherited from WarpXParticleContainer |
| static void | ReadParameters () |
| static void | BackwardCompatibility () |
| Static Public Member Functions inherited from amrex::ParticleContainerBase |
| static const std::string & | CheckpointVersion () |
| static const std::string & | PlotfileVersion () |
| static const std::string & | DataPrefix () |
| static int | MaxReaders () |
| static Long | MaxParticlesPerRead () |
| static const std::string & | AggregationType () |
| static int | AggregationBuffer () |
| Public Attributes inherited from WarpXParticleContainer |
| friend | MultiParticleContainer |
| bool | do_splitting = false |
| int | do_not_deposit = 0 |
| bool | initialize_self_fields = false |
| amrex::Real | self_fields_required_precision = amrex::Real(1.e-11) |
| amrex::Real | self_fields_absolute_tolerance = amrex::Real(0.0) |
| int | self_fields_max_iters = 200 |
| int | self_fields_verbosity = 2 |
| amrex::Vector< amrex::ParticleReal > | m_B_external_particle |
| amrex::Vector< amrex::ParticleReal > | m_E_external_particle |
| amrex::Real | m_current_injection_position = 0. |
| | Current injection position.
|
| int | split_type = 0 |
| Public Attributes inherited from amrex::ParticleContainer_impl< SoAParticle< T_NArrayReal, T_NArrayInt >, T_NArrayReal, T_NArrayInt, Allocator, CellAssignor > |
| RealDescriptor | ParticleRealDescriptor |
| Vector< int > | h_redistribute_real_comp |
| Vector< int > | h_redistribute_int_comp |
| bool | levelDirectoriesCreated |
| bool | usePrePost |
| bool | doUnlink |
| Long | maxnextidPrePost |
| int | nOutFilesPrePost |
| Long | nparticlesPrePost |
| Vector< Long > | nParticlesAtLevelPrePost |
| Vector< Vector< int > > | whichPrePost |
| Vector< Vector< int > > | countPrePost |
| Vector< Vector< Long > > | wherePrePost |
| std::string | HdrFileNamePrePost |
| Vector< std::string > | filePrefixPrePost |
| Public Attributes inherited from amrex::ParticleContainerBase |
| AmrParticleLocator< DenseBins< Box > > | m_particle_locator |
| Static Public Attributes inherited from amrex::ParticleContainer_impl< SoAParticle< T_NArrayReal, T_NArrayInt >, T_NArrayReal, T_NArrayInt, Allocator, CellAssignor > |
| static constexpr int | NStructReal |
| static constexpr int | NStructInt |
| static constexpr int | NArrayReal |
| static constexpr int | NArrayInt |
| static constexpr bool | is_rtsoa_pc |
| static constexpr bool | has_polymorphic_allocator |
| Static Public Attributes inherited from amrex::ParticleContainerBase |
| static bool | do_tiling |
| static IntVect | tile_size |
| static bool | memEfficientSort |
| static bool | use_comms_arena |
| Protected Member Functions inherited from PhysicalParticleContainer |
| bool | findRefinedInjectionBox (amrex::Box &fine_injection_box, amrex::IntVect &rrfac) |
| void | ContinuousInjection (const amrex::RealBox &injection_box) override |
| void | ContinuousFluxInjection (amrex::Real t, amrex::Real dt) override |
| Protected Member Functions inherited from amrex::ParticleContainer_impl< SoAParticle< T_NArrayReal, T_NArrayInt >, T_NArrayReal, T_NArrayInt, Allocator, CellAssignor > |
| bool | Where (const P &prt, ParticleLocData &pld, int lev_min=0, int lev_max=-1, int nGrow=0, int local_grid=-1) const |
| bool | EnforcePeriodicWhere (P &prt, ParticleLocData &pld, int lev_min=0, int lev_max=-1, int local_grid=-1) const |
| void | ReadParticles (int cnt, int grd, int lev, std::ifstream &ifs, int finest_level_in_file, bool convert_ids) |
| void | SetParticleSize () |
| Protected Member Functions inherited from amrex::ParticleContainerBase |
| void | BuildRedistributeMask (int lev, int nghost=1) const |
| void | defineBufferMap () const |
| Protected Attributes inherited from PhysicalParticleContainer |
| std::vector< std::unique_ptr< PlasmaInjector > > | plasma_injectors |
| bool | boost_adjust_transverse_positions = false |
| bool | do_backward_propagation = false |
| bool | m_random_theta = true |
| bool | impose_t_lab_from_file = false |
| Resampling | m_resampler |
| bool | do_classical_radiation_reaction = false |
| bool | m_save_previous_position = false |
| bool | m_do_temperature_deposition = false |
| std::unique_ptr< warpx::particles::deposition::VarianceAccumulationBuffer > | local_temperature_arrays |
| bool | m_do_qed_quantum_sync = false |
| bool | m_do_qed_breit_wheeler = false |
| std::shared_ptr< QuantumSynchrotronEngine > | m_shr_p_qs_engine |
| std::shared_ptr< BreitWheelerEngine > | m_shr_p_bw_engine |
| bool | m_do_qed_virtual_photons = false |
| bool | m_qed_virtual_photons_do_beam_size_effect = false |
| std::vector< std::string > | m_user_int_attribs |
| std::vector< std::string > | m_user_real_attribs |
| amrex::Vector< std::unique_ptr< amrex::Parser > > | m_user_int_attrib_parser |
| amrex::Vector< std::unique_ptr< amrex::Parser > > | m_user_real_attrib_parser |
| Protected Attributes inherited from WarpXParticleContainer |
| int | species_id |
| std::string | species_name |
| amrex::ParticleReal | m_charge |
| amrex::ParticleReal | m_mass |
| PhysicalSpecies | physical_species = PhysicalSpecies::unspecified |
| ParticleBoundaries | m_boundary_conditions |
| bool | m_crop_on_PEC_boundary = false |
| bool | m_deposit_on_main_grid = false |
| | instead of depositing (current, charge) on the finest patch level, deposit to the coarsest grid
|
| bool | m_gather_from_main_grid = false |
| | instead of gathering fields from the finest patch level, gather from the coarsest
|
| bool | do_not_push = false |
| int | do_not_gather = 0 |
| int | do_continuous_injection = 0 |
| int | do_field_ionization = 0 |
| int | do_adk_correction = 0 |
| int | ionization_product |
| std::string | ionization_product_name |
| int | ion_atomic_number |
| int | ionization_initial_level = 0 |
| amrex::Gpu::DeviceVector< amrex::Real > | ionization_energies |
| amrex::Gpu::DeviceVector< amrex::Real > | adk_power |
| amrex::Gpu::DeviceVector< amrex::Real > | adk_prefactor |
| amrex::Gpu::DeviceVector< amrex::Real > | adk_exp_prefactor |
| amrex::Gpu::DeviceVector< amrex::Real > | adk_correction_factors |
| std::string | physical_element |
| int | do_resampling = 0 |
| bool | m_do_back_transformed_particles = false |
| int | m_qed_breit_wheeler_ele_product |
| std::string | m_qed_breit_wheeler_ele_product_name |
| int | m_qed_breit_wheeler_pos_product |
| std::string | m_qed_breit_wheeler_pos_product_name |
| int | m_qed_quantum_sync_phot_product |
| std::string | m_qed_quantum_sync_phot_product_name |
| int | m_qed_virtual_photon_species |
| std::string | m_qed_virtual_photon_species_name |
| amrex::Real | m_qed_virtual_photon_min_energy |
| amrex::Vector< amrex::FArrayBox > | local_rho |
| amrex::Vector< amrex::FArrayBox > | local_jx |
| amrex::Vector< amrex::FArrayBox > | local_jy |
| amrex::Vector< amrex::FArrayBox > | local_jz |
| amrex::Vector< amrex::FArrayBox > | local_Sxx |
| amrex::Vector< amrex::FArrayBox > | local_Sxy |
| amrex::Vector< amrex::FArrayBox > | local_Sxz |
| amrex::Vector< amrex::FArrayBox > | local_Syx |
| amrex::Vector< amrex::FArrayBox > | local_Syy |
| amrex::Vector< amrex::FArrayBox > | local_Syz |
| amrex::Vector< amrex::FArrayBox > | local_Szx |
| amrex::Vector< amrex::FArrayBox > | local_Szy |
| amrex::Vector< amrex::FArrayBox > | local_Szz |
| Protected Attributes inherited from amrex::ParticleContainer_impl< SoAParticle< T_NArrayReal, T_NArrayInt >, T_NArrayReal, T_NArrayInt, Allocator, CellAssignor > |
| DenseBins< typename ParticleTileType::ParticleTileDataType > | m_bins |
| Protected Attributes inherited from amrex::ParticleContainerBase |
| int | m_verbose |
| int | m_stable_redistribute |
| std::unique_ptr< ParGDB > | m_gdb_object |
| ParGDBBase * | m_gdb |
| Vector< std::unique_ptr< MultiFab > > | m_dummy_mf |
| Arena * | m_arena |
| std::unique_ptr< iMultiFab > | redistribute_mask_ptr |
| int | redistribute_mask_nghost |
| amrex::Vector< int > | neighbor_procs |
| ParticleBufferMap | m_buffer_map |
| std::unique_ptr< ParticleHandshakeWindow > | m_particle_handshake_window |