#include <AMReX_ParticleContainerBase.H>
Public Member Functions | |
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 &&)=default | |
ParticleContainerBase & | operator= (ParticleContainerBase &&)=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 |
virtual void | reserveData () |
virtual void | resizeData () |
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) |
Set the particle Geometry, DistributionMapping, and BoxArray. If the container was previously set to to track the AMR hierarchy of an AmrCore or AmrLevel object, that correspondence will be broken here. This is the single-level version. More... | |
void | SetParGDB (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< IntVect > &rr) |
Set the particle Geometry, DistributionMapping, ref ratios, and BoxArray. If the container was previously set to to track the AMR hierarchy of an AmrCore or AmrLevel object, that correspondence will be broken here. This is the multi-level version. More... | |
void | SetParGDB (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< int > &rr) |
Set the particle Geometry, DistributionMapping, ref ratios, and BoxArray. If the container was previously set to to track the AMR hierarchy of an AmrCore or AmrLevel object, that correspondence will be broken here. This is the multi-level version. More... | |
void | SetParticleBoxArray (int lev, BoxArray new_ba) |
Set the particle BoxArray. If the container was previously set to to track the AMR hierarchy of an AmrCore or AmrLevel object, that correspondence will be broken here. More... | |
void | SetParticleDistributionMap (int lev, DistributionMapping new_dmap) |
Set the particle DistributionMapping. If the container was previously set to to track the AMR hierarchy of an AmrCore or AmrLevel object, that correspondence will be broken here. More... | |
void | SetParticleGeometry (int lev, Geometry new_geom) |
Set the particle Geometry. If the container was previously set to to track the AMR hierarchy of an AmrCore or AmrLevel object, that correspondence will be broken here. More... | |
const BoxArray & | ParticleBoxArray (int lev) const |
Get the BoxArray for a given level. More... | |
const DistributionMapping & | ParticleDistributionMap (int lev) const |
Get the DistributionMapping for a given level. More... | |
const Geometry & | Geom (int lev) const |
Get the Geometry for a given level. More... | |
const Geometry & | ParticleGeom (int lev) const |
Get the particle Geometry for a given level. More... | |
int | finestLevel () const |
the finest level actually defined for the ParticleContainer More... | |
int | maxLevel () const |
the finest allowed level in the ParticleContainer, whether it is defined or not. More... | |
int | numLevels () const |
the number of defined levels in the ParticleContainer More... | |
const ParGDBBase * | GetParGDB () const |
Get the ParGDB object used to define this container (const version) More... | |
ParGDBBase * | GetParGDB () |
Get the ParGDB object used to define this container. More... | |
int | Verbose () const |
void | SetVerbose (int verbose) |
int | stableRedistribute () const |
void | setStableRedistribute (int stable) |
const ParticleBufferMap & | BufferMap () const |
Vector< int > | NeighborProcs (int ngrow) const |
template<class MF > | |
bool | OnSameGrids (int level, const MF &mf) const |
Static Public Member Functions | |
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 | |
AmrParticleLocator< DenseBins< Box > > | m_particle_locator |
Static Public Attributes | |
static AMREX_EXPORT bool | do_tiling = false |
static AMREX_EXPORT IntVect | tile_size { AMREX_D_DECL(1024000,8,8) } |
static AMREX_EXPORT bool | memEfficientSort = true |
Protected Member Functions | |
void | BuildRedistributeMask (int lev, int nghost=1) const |
void | defineBufferMap () const |
Protected Attributes | |
int | m_verbose {0} |
int | m_stable_redistribute = 0 |
std::unique_ptr< ParGDB > | m_gdb_object = std::make_unique<ParGDB>() |
ParGDBBase * | m_gdb {nullptr} |
Vector< std::unique_ptr< MultiFab > > | m_dummy_mf |
std::unique_ptr< iMultiFab > | redistribute_mask_ptr |
int | redistribute_mask_nghost = std::numeric_limits<int>::min() |
amrex::Vector< int > | neighbor_procs |
ParticleBufferMap | m_buffer_map |
|
default |
|
inline |
|
inline |
|
inline |
|
inline |
|
virtualdefault |
|
delete |
|
default |
|
static |
|
static |
|
inline |
|
static |
|
static |
void ParticleContainerBase::Define | ( | const Geometry & | geom, |
const DistributionMapping & | dmap, | ||
const BoxArray & | ba | ||
) |
void ParticleContainerBase::Define | ( | const Vector< Geometry > & | geom, |
const Vector< DistributionMapping > & | dmap, | ||
const Vector< BoxArray > & | ba, | ||
const Vector< int > & | rr | ||
) |
void ParticleContainerBase::Define | ( | const Vector< Geometry > & | geom, |
const Vector< DistributionMapping > & | dmap, | ||
const Vector< BoxArray > & | ba, | ||
const Vector< IntVect > & | rr | ||
) |
|
inline |
|
protected |
|
inline |
the finest level actually defined for the ParticleContainer
Get the Geometry for a given level.
lev | The level. |
|
inline |
Get the ParGDB object used to define this container.
|
inline |
Get the ParGDB object used to define this container (const version)
|
inline |
|
inline |
the finest allowed level in the ParticleContainer, whether it is defined or not.
|
static |
|
static |
|
inline |
the number of defined levels in the ParticleContainer
|
inline |
|
delete |
|
default |
Get the BoxArray for a given level.
lev | The level. |
|
inline |
Get the DistributionMapping for a given level.
lev | The level. |
Get the particle Geometry for a given level.
lev | The level. |
|
static |
void ParticleContainerBase::RedefineDummyMF | ( | int | lev | ) |
|
virtual |
|
virtual |
void ParticleContainerBase::SetParGDB | ( | const Geometry & | geom, |
const DistributionMapping & | dmap, | ||
const BoxArray & | ba | ||
) |
Set the particle Geometry, DistributionMapping, and BoxArray. If the container was previously set to to track the AMR hierarchy of an AmrCore or AmrLevel object, that correspondence will be broken here. This is the single-level version.
geom | The new Geometry to use. |
dmap | The new DistributionMapping to use. |
ba | The new BoxArray to use. |
void ParticleContainerBase::SetParGDB | ( | const Vector< Geometry > & | geom, |
const Vector< DistributionMapping > & | dmap, | ||
const Vector< BoxArray > & | ba, | ||
const Vector< int > & | rr | ||
) |
Set the particle Geometry, DistributionMapping, ref ratios, and BoxArray. If the container was previously set to to track the AMR hierarchy of an AmrCore or AmrLevel object, that correspondence will be broken here. This is the multi-level version.
Like the above, except the refinement ratios are expressed as ints
geom | The new vector of Geometry objects to use. |
dmap | The new vector of DistributionMapping objects to use. |
ba | The new vector of BoxArray objects to use. |
rr | The new vector of refinement ratios to use. |
void ParticleContainerBase::SetParGDB | ( | const Vector< Geometry > & | geom, |
const Vector< DistributionMapping > & | dmap, | ||
const Vector< BoxArray > & | ba, | ||
const Vector< IntVect > & | rr | ||
) |
Set the particle Geometry, DistributionMapping, ref ratios, and BoxArray. If the container was previously set to to track the AMR hierarchy of an AmrCore or AmrLevel object, that correspondence will be broken here. This is the multi-level version.
geom | The new vector of Geometry objects to use. |
dmap | The new vector of DistributionMapping objects to use. |
ba | The new vector of BoxArray objects to use. |
rr | The new vector of refinement ratios to use. |
void ParticleContainerBase::SetParticleDistributionMap | ( | int | lev, |
DistributionMapping | new_dmap | ||
) |
Set the particle DistributionMapping. If the container was previously set to to track the AMR hierarchy of an AmrCore or AmrLevel object, that correspondence will be broken here.
lev | The level on which to set the dm. |
new_dmap | The new DistributionMapping to use. |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
|
mutableprotected |
|
protected |
|
protected |
|
mutable |
|
protected |
|
protected |
|
static |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
static |