WarpX
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Friends | 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, const amrex::MultiFab &Ex_avg, const amrex::MultiFab &Ey_avg, const amrex::MultiFab &Ez_avg, const amrex::MultiFab &Bx_avg, const amrex::MultiFab &By_avg, const amrex::MultiFab &Bz_avg, 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)=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 DepositCharge (amrex::Vector< std::unique_ptr< amrex::MultiFab > > &rho, bool local=false, bool reset=false, bool do_rz_volume_scaling=false)
 
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 &wp, RealVector &uxp, RealVector &uyp, RealVector &uzp, const int *const ion_lev, amrex::MultiFab *jx, amrex::MultiFab *jy, amrex::MultiFab *jz, const long offset, const long np_to_depose, int thread_num, int lev, int depos_lev, amrex::Real dt)
 
virtual void ContinuousInjection (const amrex::RealBox &)
 
virtual void UpdateContinuousInjectionPosition (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)
 
virtual void WriteHeader (std::ostream &os) const
 
virtual void ConvertUnits (ConvertDirection)
 
void ApplyBoundaryConditions (ParticleBC boundary_conditions)
 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
 
int DoQED () const
 
virtual bool has_quantum_sync () const
 
virtual bool has_breit_wheeler () 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...
 

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 = 1.e-11
 
int split_type = 0
 
bool m_do_random_filter = false
 
bool m_do_uniform_filter = false
 
bool m_do_parser_filter = false
 
amrex::Real m_random_fraction = 1.0
 
int m_uniform_stride = 1
 
std::unique_ptr< ParserWrapper< 7 > > m_particle_filter_parser
 

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 >)
 
void defineAllParticleTiles () noexcept
 

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
 
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
 
bool m_do_qed = 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
 
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
 

Friends

class WarpXOpenPMDPlot
 

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 
)

nattr is unused below: false sense of safety

◆ 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 ( ParticleBC  boundary_conditions)

Apply particle BC.

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

◆ BackwardCompatibility()

static void WarpXParticleContainer::BackwardCompatibility ( )
static

◆ ContinuousInjection()

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

◆ ConvertUnits()

virtual void WarpXParticleContainer::ConvertUnits ( ConvertDirection  )
inlinevirtual

Reimplemented in PhysicalParticleContainer.

◆ defineAllParticleTiles()

void WarpXParticleContainer::defineAllParticleTiles ( )
protectednoexcept

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,
bool  local = false,
bool  reset = false,
bool  do_rz_volume_scaling = false 
)

◆ 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

◆ DepositCurrent()

void WarpXParticleContainer::DepositCurrent ( WarpXParIter pti,
RealVector &  wp,
RealVector &  uxp,
RealVector &  uyp,
RealVector &  uzp,
const int *const  ion_lev,
amrex::MultiFab *  jx,
amrex::MultiFab *  jy,
amrex::MultiFab *  jz,
const long  offset,
const long  np_to_depose,
int  thread_num,
int  lev,
int  depos_lev,
amrex::Real  dt 
)
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,
const amrex::MultiFab &  Ex_avg,
const amrex::MultiFab &  Ey_avg,
const amrex::MultiFab &  Ez_avg,
const amrex::MultiFab &  Bx_avg,
const amrex::MultiFab &  By_avg,
const amrex::MultiFab &  Bz_avg,
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 
)
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()

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

Reimplemented in RigidInjectedParticleContainer.

◆ 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()

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

Reimplemented in RigidInjectedParticleContainer.

Friends And Related Function Documentation

◆ WarpXOpenPMDPlot

friend class WarpXOpenPMDPlot
friend

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_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_do_parser_filter

bool WarpXParticleContainer::m_do_parser_filter = false

◆ m_do_qed

bool WarpXParticleContainer::m_do_qed = false
protected

◆ m_do_random_filter

bool WarpXParticleContainer::m_do_random_filter = false

◆ m_do_uniform_filter

bool WarpXParticleContainer::m_do_uniform_filter = false

◆ 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_particle_filter_parser

std::unique_ptr<ParserWrapper<7> > WarpXParticleContainer::m_particle_filter_parser

◆ 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_random_fraction

amrex::Real WarpXParticleContainer::m_random_fraction = 1.0

◆ m_uniform_stride

int WarpXParticleContainer::m_uniform_stride = 1

◆ 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_required_precision

amrex::Real WarpXParticleContainer::self_fields_required_precision = 1.e-11

◆ 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: