WarpX
Loading...
Searching...
No Matches
ParticleBoundaryBuffer Class Reference

#include <ParticleBoundaryBuffer.H>

Public Member Functions

 ParticleBoundaryBuffer ()
 
 ~ParticleBoundaryBuffer ()=default
 
 ParticleBoundaryBuffer (const ParticleBoundaryBuffer &)=delete
 
ParticleBoundaryBufferoperator= (const ParticleBoundaryBuffer &)=delete
 
 ParticleBoundaryBuffer (ParticleBoundaryBuffer &&)=default
 
ParticleBoundaryBufferoperator= (ParticleBoundaryBuffer &&)=default
 
int numSpecies () const
 
const std::vector< std::string > & getSpeciesNames () const
 
void gatherParticlesFromDomainBoundaries (MultiParticleContainer &mypc, amrex::Real cur_time)
 
void gatherParticlesFromEmbeddedBoundaries (MultiParticleContainer &mypc, ablastr::fields::MultiLevelScalarField const &distance_to_eb, amrex::Real cur_time)
 
void redistribute ()
 
void clearParticles ()
 
void clearParticles (int i)
 
void printNumParticles () const
 
int getNumParticlesInContainer (const std::string &species_name, int boundary, bool local)
 
WarpXParticleContainer::BasegetParticleBuffer (const std::string &species_name, int boundary)
 
WarpXParticleContainer::BasegetParticleBufferPointer (const std::string &species_name, int boundary)
 
bool isDefinedForAnySpecies (int const ibuffer)
 
std::string boundaryName (int const ibuffer)
 

Static Public Member Functions

static constexpr int numBoundaries ()
 

Private Attributes

std::vector< std::vector< WarpXParticleContainer::Base > > m_particle_containers
 
std::vector< std::vector< int > > m_do_boundary_buffer
 
std::vector< int > m_do_any_boundary
 
std::vector< std::string > m_boundary_names
 
std::vector< std::string > m_species_names
 

Detailed Description

This stores particles that have left / been absorbed by domain and embedded boundaries.

Constructor & Destructor Documentation

◆ ParticleBoundaryBuffer() [1/3]

ParticleBoundaryBuffer::ParticleBoundaryBuffer ( )

◆ ~ParticleBoundaryBuffer()

ParticleBoundaryBuffer::~ParticleBoundaryBuffer ( )
default

◆ ParticleBoundaryBuffer() [2/3]

ParticleBoundaryBuffer::ParticleBoundaryBuffer ( const ParticleBoundaryBuffer & )
delete

Copy constructor for ParticleBoundaryBuffer

◆ ParticleBoundaryBuffer() [3/3]

ParticleBoundaryBuffer::ParticleBoundaryBuffer ( ParticleBoundaryBuffer && )
default

Move constructor for ParticleBoundaryBuffer

Member Function Documentation

◆ boundaryName()

std::string ParticleBoundaryBuffer::boundaryName ( int const ibuffer)
inline

◆ clearParticles() [1/2]

void ParticleBoundaryBuffer::clearParticles ( )

◆ clearParticles() [2/2]

void ParticleBoundaryBuffer::clearParticles ( int i)

◆ gatherParticlesFromDomainBoundaries()

void ParticleBoundaryBuffer::gatherParticlesFromDomainBoundaries ( MultiParticleContainer & mypc,
amrex::Real cur_time )

◆ gatherParticlesFromEmbeddedBoundaries()

void ParticleBoundaryBuffer::gatherParticlesFromEmbeddedBoundaries ( MultiParticleContainer & mypc,
ablastr::fields::MultiLevelScalarField const & distance_to_eb,
amrex::Real cur_time )

◆ getNumParticlesInContainer()

int ParticleBoundaryBuffer::getNumParticlesInContainer ( const std::string & species_name,
int boundary,
bool local )

◆ getParticleBuffer()

WarpXParticleContainer::Base & ParticleBoundaryBuffer::getParticleBuffer ( const std::string & species_name,
int boundary )

◆ getParticleBufferPointer()

WarpXParticleContainer::Base * ParticleBoundaryBuffer::getParticleBufferPointer ( const std::string & species_name,
int boundary )

◆ getSpeciesNames()

const std::vector< std::string > & ParticleBoundaryBuffer::getSpeciesNames ( ) const

◆ isDefinedForAnySpecies()

bool ParticleBoundaryBuffer::isDefinedForAnySpecies ( int const ibuffer)
inline

◆ numBoundaries()

static constexpr int ParticleBoundaryBuffer::numBoundaries ( )
inlinestaticconstexpr

◆ numSpecies()

int ParticleBoundaryBuffer::numSpecies ( ) const
inline

◆ operator=() [1/2]

ParticleBoundaryBuffer & ParticleBoundaryBuffer::operator= ( const ParticleBoundaryBuffer & )
delete

Copy operator for ParticleBoundaryBuffer

◆ operator=() [2/2]

ParticleBoundaryBuffer & ParticleBoundaryBuffer::operator= ( ParticleBoundaryBuffer && )
default

Move operator for ParticleBoundaryBuffer

◆ printNumParticles()

void ParticleBoundaryBuffer::printNumParticles ( ) const

◆ redistribute()

void ParticleBoundaryBuffer::redistribute ( )

Member Data Documentation

◆ m_boundary_names

std::vector<std::string> ParticleBoundaryBuffer::m_boundary_names
private

◆ m_do_any_boundary

std::vector<int> ParticleBoundaryBuffer::m_do_any_boundary
private

◆ m_do_boundary_buffer

std::vector<std::vector<int> > ParticleBoundaryBuffer::m_do_boundary_buffer
private

◆ m_particle_containers

std::vector<std::vector<WarpXParticleContainer::Base> > ParticleBoundaryBuffer::m_particle_containers
private

◆ m_species_names

std::vector<std::string> ParticleBoundaryBuffer::m_species_names
mutableprivate

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