WarpX
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
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)
 
void gatherParticlesFromEmbeddedBoundaries (MultiParticleContainer &mypc, const amrex::Vector< const amrex::MultiFab * > &distance_to_eb)
 
void redistribute ()
 
void clearParticles ()
 
void clearParticles (int i)
 
void printNumParticles () const
 
int getNumParticlesInContainer (const std::string &species_name, int boundary, bool local)
 
PinnedMemoryParticleContainergetParticleBuffer (const std::string &species_name, int boundary)
 
PinnedMemoryParticleContainergetParticleBufferPointer (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< PinnedMemoryParticleContainer > > m_particle_containers
 
std::vector< std::vector< int > > m_do_boundary_buffer
 
std::vector< intm_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 NamedComponentParticleContainer

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)

◆ gatherParticlesFromEmbeddedBoundaries()

void ParticleBoundaryBuffer::gatherParticlesFromEmbeddedBoundaries ( MultiParticleContainer mypc,
const amrex::Vector< const amrex::MultiFab * > &  distance_to_eb 
)

◆ getNumParticlesInContainer()

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

◆ getParticleBuffer()

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

◆ getParticleBufferPointer()

PinnedMemoryParticleContainer * 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

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