WarpX
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
WarpXParticleContainer Class Referenceabstract

#include <WarpXParticleContainer.H>

Inheritance diagram for WarpXParticleContainer:
LaserParticleContainer PhysicalParticleContainer PhotonParticleContainer RigidInjectedParticleContainer

Public Types

using DiagnosticParticleData = amrex::StructOfArrays< DiagIdx::nattribs, 0 >
 
using DiagnosticParticles = amrex::Vector< std::map< std::pair< int, int >, DiagnosticParticleData > >
 
using PairIndex = std::pair< int, int >
 
using TmpParticleTile = std::array< amrex::Gpu::DeviceVector< amrex::ParticleReal >, TmpIdx::nattribs >
 
using TmpParticles = amrex::Vector< std::map< PairIndex, TmpParticleTile > >
 

Public Member Functions

 WarpXParticleContainer (amrex::AmrCore *amr_core, int ispecies)
 
virtual ~WarpXParticleContainer ()
 
virtual void InitData ()=0
 
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)=0
 
virtual void PostRestart ()=0
 
virtual void GetParticleSlice (const int, const amrex::Real, const amrex::Real, const amrex::Real, const amrex::Real, const amrex::Real, DiagnosticParticles &)
 
void AllocData ()
 
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, const amrex::Real dt, const amrex::Real relative_t)
 Deposit current density. More...
 
void DepositCharge (amrex::Vector< std::unique_ptr< amrex::MultiFab > > &rho, const bool local=false, const bool reset=false, const bool do_rz_volume_scaling=false, const bool interpolate_across_levels=true, const int icomp=0)
 Deposit charge density. More...
 
std::unique_ptr< amrex::MultiFab > GetChargeDensity (int lev, bool local=false)
 
virtual void DepositCharge (WarpXParIter &pti, RealVector &wp, const int *const ion_lev, amrex::MultiFab *rho, int icomp, const long offset, const long np_to_depose, 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 *const ion_lev, amrex::MultiFab *const jx, amrex::MultiFab *const jy, amrex::MultiFab *const jz, long const offset, long const np_to_depose, int const thread_num, int const lev, int const depos_lev, amrex::Real const dt, amrex::Real const relative_time)
 
virtual void ContinuousInjection (const amrex::RealBox &)
 
virtual void UpdateContinuousInjectionPosition (amrex::Real)
 
virtual void ContinuousFluxInjection (amrex::Real)
 
amrex::Real sumParticleCharge (bool local=false)
 
std::array< amrex::Real, 3 > meanParticleVelocity (bool local=false)
 
amrex::Real maxParticleVelocity (bool local=false)
 
void AddNParticles (int lev, int n, const amrex::ParticleReal *x, const amrex::ParticleReal *y, const amrex::ParticleReal *z, const amrex::ParticleReal *vx, const amrex::ParticleReal *vy, const amrex::ParticleReal *vz, int nattr, const amrex::ParticleReal *attr, int uniqueparticles, amrex::Long id=-1)
 
virtual void ReadHeader (std::istream &is)=0
 
virtual void WriteHeader (std::ostream &os) const =0
 
virtual void ConvertUnits (ConvertDirection)
 
void ApplyBoundaryConditions ()
 Apply particle BC. More...
 
void AddRealComp (const std::string &name, bool comm=true)
 
void AddIntComp (const std::string &name, bool comm=true)
 
int doBackTransformedDiagnostics () const
 
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
 
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
 
amrex::Array< amrex::Real, 3 > get_v_galilean ()
 
virtual void resample (const int)
 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
 

Static Public Member Functions

static void ReadParameters ()
 
static void BackwardCompatibility ()
 

Public Attributes

friend MultiParticleContainer
 
bool do_splitting = false
 
bool initialize_self_fields = false
 
amrex::Real self_fields_required_precision
 
int self_fields_max_iters = 200
 
int self_fields_verbosity = 2
 
int split_type = 0
 

Protected Member Functions

virtual void set_breit_wheeler_engine_ptr (std::shared_ptr< BreitWheelerEngine >)
 
virtual void set_quantum_sync_engine_ptr (std::shared_ptr< QuantumSynchrotronEngine >)
 

Protected Attributes

amrex::Array< amrex::Real, 3 > m_v_galilean = {{0}}
 
std::map< std::string, int > particle_comps
 
std::map< std::string, int > particle_icomps
 
std::map< std::string, int > particle_runtime_comps
 
std::map< std::string, int > particle_runtime_icomps
 
int species_id
 
amrex::Real charge
 
amrex::Real mass
 
PhysicalSpecies physical_species
 
ParticleBoundaries m_boundary_conditions
 
bool m_deposit_on_main_grid = false
 instead of depositing (current, charge) on the finest patch level, deposit to the coarsest grid More...
 
bool m_gather_from_main_grid = false
 instead of gathering fields from the finest patch level, gather from the coarsest More...
 
int do_not_push = 0
 
int do_not_deposit = 0
 
int do_not_gather = 0
 
int do_continuous_injection = 0
 
int do_field_ionization = 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
 
std::string physical_element
 
int do_resampling = 0
 
int do_back_transformed_diagnostics = 1
 
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
 
amrex::Vector< amrex::FArrayBox > local_rho
 
amrex::Vector< amrex::FArrayBox > local_jx
 
amrex::Vector< amrex::FArrayBox > local_jy
 
amrex::Vector< amrex::FArrayBox > local_jz
 
TmpParticles tmp_particle_data
 

Private Member Functions

virtual void particlePostLocate (ParticleType &p, const amrex::ParticleLocData &pld, const int lev) override
 

Detailed Description

WarpXParticleContainer is the base polymorphic class from which all concrete particle container classes (that store a collection of particles) derive. Derived classes can be used for plasma particles, photon particles, or non-physical particles (e.g., for the laser antenna). It derives from amrex::ParticleContainer<0,0,PIdx::nattribs>, where the template arguments stand for the number of int and amrex::Real SoA and AoS data in amrex::Particle.

WarpXParticleContainer contains the main functions for initialization, interaction with the grid (field gather and current deposition) and particle push.

Note: many functions are pure virtual (meaning they MUST be defined in derived classes, e.g., Evolve) or actual functions (e.g. CurrentDeposition).

Member Typedef Documentation

◆ DiagnosticParticleData

◆ DiagnosticParticles

using WarpXParticleContainer::DiagnosticParticles = amrex::Vector<std::map<std::pair<int, int>, DiagnosticParticleData> >

◆ PairIndex

using WarpXParticleContainer::PairIndex = std::pair<int, int>

◆ TmpParticles

◆ TmpParticleTile

using WarpXParticleContainer::TmpParticleTile = std::array<amrex::Gpu::DeviceVector<amrex::ParticleReal>, TmpIdx::nattribs>

Constructor & Destructor Documentation

◆ WarpXParticleContainer()

WarpXParticleContainer::WarpXParticleContainer ( amrex::AmrCore *  amr_core,
int  ispecies 
)

◆ ~WarpXParticleContainer()

virtual WarpXParticleContainer::~WarpXParticleContainer ( )
inlinevirtual

Member Function Documentation

◆ AddIntComp()

void WarpXParticleContainer::AddIntComp ( const std::string &  name,
bool  comm = true 
)
inline

◆ AddNParticles()

void WarpXParticleContainer::AddNParticles ( int  lev,
int  n,
const amrex::ParticleReal *  x,
const amrex::ParticleReal *  y,
const amrex::ParticleReal *  z,
const amrex::ParticleReal *  vx,
const amrex::ParticleReal *  vy,
const amrex::ParticleReal *  vz,
int  nattr,
const amrex::ParticleReal *  attr,
int  uniqueparticles,
amrex::Long  id = -1 
)

◆ AddRealComp()

void WarpXParticleContainer::AddRealComp ( const std::string &  name,
bool  comm = true 
)
inline

◆ AllocData()

void WarpXParticleContainer::AllocData ( )

◆ AmIA()

template<PhysicalSpecies PhysSpec>
bool WarpXParticleContainer::AmIA ( ) const
inlinenoexcept

◆ ApplyBoundaryConditions()

void WarpXParticleContainer::ApplyBoundaryConditions ( )

Apply particle BC.

Parameters
[in]boundary_conditionsType of boundary conditions. For now, only absorbing or none are supported

◆ BackwardCompatibility()

static void WarpXParticleContainer::BackwardCompatibility ( )
static

◆ ContinuousFluxInjection()

virtual void WarpXParticleContainer::ContinuousFluxInjection ( amrex::Real  )
inlinevirtual

Reimplemented in PhysicalParticleContainer.

◆ ContinuousInjection()

virtual void WarpXParticleContainer::ContinuousInjection ( const amrex::RealBox &  )
inlinevirtual

◆ ConvertUnits()

virtual void WarpXParticleContainer::ConvertUnits ( ConvertDirection  )
inlinevirtual

Reimplemented in PhysicalParticleContainer.

◆ defineAllParticleTiles()

void WarpXParticleContainer::defineAllParticleTiles ( )
noexcept

When using runtime components, AMReX requires to touch all tiles in serial and create particles tiles with runtime components if they do not exist (or if they were defined by default, i.e., without runtime component).

◆ DepositCharge() [1/2]

void WarpXParticleContainer::DepositCharge ( amrex::Vector< std::unique_ptr< amrex::MultiFab > > &  rho,
const bool  local = false,
const bool  reset = false,
const bool  do_rz_volume_scaling = false,
const bool  interpolate_across_levels = true,
const int  icomp = 0 
)

Deposit charge density.

Parameters
[in,out]rhovector of charge densities (one pointer to MultiFab per mesh refinement level)
[in]localif false, exchange the data in the guard cells after the deposition
[in]resetif true, reset all values of rho to zero
[in]do_rz_volume_scalingwhether to scale the final density by some volume norm in RZ geometry
[in]interpolate_across_levelswhether to average down from the fine patch to the coarse patch
[in]icompcomponent of the MultiFab where rho is deposited (old, new)

◆ DepositCharge() [2/2]

void WarpXParticleContainer::DepositCharge ( WarpXParIter pti,
RealVector &  wp,
const int *const  ion_lev,
amrex::MultiFab *  rho,
int  icomp,
const long  offset,
const long  np_to_depose,
int  thread_num,
int  lev,
int  depos_lev 
)
virtual

Reimplemented in PhotonParticleContainer.

◆ DepositCurrent() [1/2]

void WarpXParticleContainer::DepositCurrent ( amrex::Vector< std::array< std::unique_ptr< amrex::MultiFab >, 3 > > &  J,
const amrex::Real  dt,
const amrex::Real  relative_t 
)

Deposit current density.

Parameters
[in,out]Jvector of current densities (one three-dimensional array of pointers to MultiFabs per mesh refinement level)
[in]dtTime step for particle level (is used when temporarily modifying the particle positions, either within the Esirkepov or when relative_t is different than 0
[in]relative_tTime at which to deposit J, relative to the time of the current positions of the particles (expressed as a fraction of dt). When different than 0, the particle position will be temporarily modified to match the time of the deposition.

◆ DepositCurrent() [2/2]

virtual void WarpXParticleContainer::DepositCurrent ( WarpXParIter pti,
RealVector const &  wp,
RealVector const &  uxp,
RealVector const &  uyp,
RealVector const &  uzp,
int const *const  ion_lev,
amrex::MultiFab *const  jx,
amrex::MultiFab *const  jy,
amrex::MultiFab *const  jz,
long const  offset,
long const  np_to_depose,
int const  thread_num,
int const  lev,
int const  depos_lev,
amrex::Real const  dt,
amrex::Real const  relative_time 
)
virtual

Reimplemented in PhotonParticleContainer.

◆ doBackTransformedDiagnostics()

int WarpXParticleContainer::doBackTransformedDiagnostics ( ) const
inline

◆ DoFieldIonization()

int WarpXParticleContainer::DoFieldIonization ( ) const
inline

◆ DoQED()

int WarpXParticleContainer::DoQED ( ) const
inline

◆ Evolve()

virtual void WarpXParticleContainer::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 
)
pure virtual

Evolve is the central WarpXParticleContainer function that advances particles for a time dt (typically one timestep). It is a pure virtual function for flexibility.

Implemented in PhysicalParticleContainer, RigidInjectedParticleContainer, LaserParticleContainer, and PhotonParticleContainer.

◆ get_v_galilean()

amrex::Array<amrex::Real,3> WarpXParticleContainer::get_v_galilean ( )
inline

◆ getCharge()

amrex::ParticleReal WarpXParticleContainer::getCharge ( ) const
inline

◆ GetChargeDensity()

std::unique_ptr< MultiFab > WarpXParticleContainer::GetChargeDensity ( int  lev,
bool  local = false 
)

◆ getMass()

amrex::ParticleReal WarpXParticleContainer::getMass ( ) const
inline

◆ getParticleComps()

std::map<std::string, int> WarpXParticleContainer::getParticleComps ( ) const
inlinenoexcept

◆ getParticleiComps()

std::map<std::string, int> WarpXParticleContainer::getParticleiComps ( ) const
inlinenoexcept

◆ getParticleRuntimeComps()

std::map<std::string, int> WarpXParticleContainer::getParticleRuntimeComps ( ) const
inlinenoexcept

◆ getParticleRuntimeiComps()

std::map<std::string, int> WarpXParticleContainer::getParticleRuntimeiComps ( ) const
inlinenoexcept

◆ GetParticleSlice()

virtual void WarpXParticleContainer::GetParticleSlice ( const int  ,
const amrex::Real  ,
const amrex::Real  ,
const amrex::Real  ,
const amrex::Real  ,
const amrex::Real  ,
DiagnosticParticles  
)
inlinevirtual

Reimplemented in PhysicalParticleContainer.

◆ has_breit_wheeler()

virtual bool WarpXParticleContainer::has_breit_wheeler ( ) const
inlinevirtual

Reimplemented in PhysicalParticleContainer.

◆ has_quantum_sync()

virtual bool WarpXParticleContainer::has_quantum_sync ( ) const
inlinevirtual

Reimplemented in PhysicalParticleContainer.

◆ InitData()

virtual void WarpXParticleContainer::InitData ( )
pure virtual

◆ maxParticleVelocity()

Real WarpXParticleContainer::maxParticleVelocity ( bool  local = false)

◆ meanParticleVelocity()

std::array< Real, 3 > WarpXParticleContainer::meanParticleVelocity ( bool  local = false)

◆ particlePostLocate()

void WarpXParticleContainer::particlePostLocate ( ParticleType &  p,
const amrex::ParticleLocData &  pld,
const int  lev 
)
overrideprivatevirtual

◆ PostRestart()

virtual void WarpXParticleContainer::PostRestart ( )
pure virtual

◆ PushP()

virtual void WarpXParticleContainer::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 
)
pure virtual

This pushes the particle momenta by dt.

Implemented in PhysicalParticleContainer, RigidInjectedParticleContainer, PhotonParticleContainer, and LaserParticleContainer.

◆ PushX() [1/2]

void WarpXParticleContainer::PushX ( amrex::Real  dt)

This pushes the particle positions by one half time step. It is used to desynchronize the particles after initializaton or when restarting from a checkpoint.

◆ PushX() [2/2]

void WarpXParticleContainer::PushX ( int  lev,
amrex::Real  dt 
)

◆ ReadHeader()

virtual void WarpXParticleContainer::ReadHeader ( std::istream &  is)
pure virtual

◆ ReadParameters()

void WarpXParticleContainer::ReadParameters ( )
static

◆ resample()

virtual void WarpXParticleContainer::resample ( const int  )
inlinevirtual

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.

Reimplemented in PhysicalParticleContainer.

◆ set_breit_wheeler_engine_ptr()

virtual void WarpXParticleContainer::set_breit_wheeler_engine_ptr ( std::shared_ptr< BreitWheelerEngine )
inlineprotectedvirtual

Reimplemented in PhysicalParticleContainer.

◆ set_quantum_sync_engine_ptr()

virtual void WarpXParticleContainer::set_quantum_sync_engine_ptr ( std::shared_ptr< QuantumSynchrotronEngine )
inlineprotectedvirtual

Reimplemented in PhysicalParticleContainer.

◆ sumParticleCharge()

Real WarpXParticleContainer::sumParticleCharge ( bool  local = false)

This returns the total charge for all the particles in this ParticleContainer. This is needed when solving Poisson's equation with periodic boundary conditions.

◆ UpdateContinuousInjectionPosition()

virtual void WarpXParticleContainer::UpdateContinuousInjectionPosition ( amrex::Real  )
inlinevirtual

Reimplemented in LaserParticleContainer.

◆ WriteHeader()

virtual void WarpXParticleContainer::WriteHeader ( std::ostream &  os) const
pure virtual

Member Data Documentation

◆ adk_exp_prefactor

amrex::Gpu::DeviceVector<amrex::Real> WarpXParticleContainer::adk_exp_prefactor
protected

◆ adk_power

amrex::Gpu::DeviceVector<amrex::Real> WarpXParticleContainer::adk_power
protected

◆ adk_prefactor

amrex::Gpu::DeviceVector<amrex::Real> WarpXParticleContainer::adk_prefactor
protected

◆ charge

amrex::Real WarpXParticleContainer::charge
protected

◆ do_back_transformed_diagnostics

int WarpXParticleContainer::do_back_transformed_diagnostics = 1
protected

◆ do_continuous_injection

int WarpXParticleContainer::do_continuous_injection = 0
protected

◆ do_field_ionization

int WarpXParticleContainer::do_field_ionization = 0
protected

◆ do_not_deposit

int WarpXParticleContainer::do_not_deposit = 0
protected

◆ do_not_gather

int WarpXParticleContainer::do_not_gather = 0
protected

◆ do_not_push

int WarpXParticleContainer::do_not_push = 0
protected

◆ do_resampling

int WarpXParticleContainer::do_resampling = 0
protected

◆ do_splitting

bool WarpXParticleContainer::do_splitting = false

◆ initialize_self_fields

bool WarpXParticleContainer::initialize_self_fields = false

◆ ion_atomic_number

int WarpXParticleContainer::ion_atomic_number
protected

◆ ionization_energies

amrex::Gpu::DeviceVector<amrex::Real> WarpXParticleContainer::ionization_energies
protected

◆ ionization_initial_level

int WarpXParticleContainer::ionization_initial_level = 0
protected

◆ ionization_product

int WarpXParticleContainer::ionization_product
protected

◆ ionization_product_name

std::string WarpXParticleContainer::ionization_product_name
protected

◆ local_jx

amrex::Vector<amrex::FArrayBox> WarpXParticleContainer::local_jx
protected

◆ local_jy

amrex::Vector<amrex::FArrayBox> WarpXParticleContainer::local_jy
protected

◆ local_jz

amrex::Vector<amrex::FArrayBox> WarpXParticleContainer::local_jz
protected

◆ local_rho

amrex::Vector<amrex::FArrayBox> WarpXParticleContainer::local_rho
protected

◆ m_boundary_conditions

ParticleBoundaries WarpXParticleContainer::m_boundary_conditions
protected

◆ m_deposit_on_main_grid

bool WarpXParticleContainer::m_deposit_on_main_grid = false
protected

instead of depositing (current, charge) on the finest patch level, deposit to the coarsest grid

◆ m_gather_from_main_grid

bool WarpXParticleContainer::m_gather_from_main_grid = false
protected

instead of gathering fields from the finest patch level, gather from the coarsest

◆ m_qed_breit_wheeler_ele_product

int WarpXParticleContainer::m_qed_breit_wheeler_ele_product
protected

◆ m_qed_breit_wheeler_ele_product_name

std::string WarpXParticleContainer::m_qed_breit_wheeler_ele_product_name
protected

◆ m_qed_breit_wheeler_pos_product

int WarpXParticleContainer::m_qed_breit_wheeler_pos_product
protected

◆ m_qed_breit_wheeler_pos_product_name

std::string WarpXParticleContainer::m_qed_breit_wheeler_pos_product_name
protected

◆ m_qed_quantum_sync_phot_product

int WarpXParticleContainer::m_qed_quantum_sync_phot_product
protected

◆ m_qed_quantum_sync_phot_product_name

std::string WarpXParticleContainer::m_qed_quantum_sync_phot_product_name
protected

◆ m_v_galilean

amrex::Array<amrex::Real,3> WarpXParticleContainer::m_v_galilean = {{0}}
protected

◆ mass

amrex::Real WarpXParticleContainer::mass
protected

◆ MultiParticleContainer

friend WarpXParticleContainer::MultiParticleContainer

◆ particle_comps

std::map<std::string, int> WarpXParticleContainer::particle_comps
protected

◆ particle_icomps

std::map<std::string, int> WarpXParticleContainer::particle_icomps
protected

◆ particle_runtime_comps

std::map<std::string, int> WarpXParticleContainer::particle_runtime_comps
protected

◆ particle_runtime_icomps

std::map<std::string, int> WarpXParticleContainer::particle_runtime_icomps
protected

◆ physical_element

std::string WarpXParticleContainer::physical_element
protected

◆ physical_species

PhysicalSpecies WarpXParticleContainer::physical_species
protected

◆ self_fields_max_iters

int WarpXParticleContainer::self_fields_max_iters = 200

◆ self_fields_required_precision

amrex::Real WarpXParticleContainer::self_fields_required_precision
Initial value:
=
amrex::Real(1.e-11)

◆ self_fields_verbosity

int WarpXParticleContainer::self_fields_verbosity = 2

◆ species_id

int WarpXParticleContainer::species_id
protected

◆ split_type

int WarpXParticleContainer::split_type = 0

◆ tmp_particle_data

TmpParticles WarpXParticleContainer::tmp_particle_data
protected

The documentation for this class was generated from the following files: