Block-Structured AMR Software Framework
amrex::ParticleBufferMap Class Reference

#include <AMReX_ParticleBufferMap.H>

Public Member Functions

 ParticleBufferMap ()=default
 
 ParticleBufferMap (const ParGDBBase *a_gdb)
 
void define (const ParGDBBase *a_gdb)
 
bool isValid (const ParGDBBase *a_gdb) const
 
AMREX_FORCE_INLINE int numLevels () const
 
AMREX_FORCE_INLINE int numBuckets () const
 
AMREX_FORCE_INLINE int bucketToGrid (int bid) const
 
AMREX_FORCE_INLINE int bucketToLevel (int bid) const
 
AMREX_FORCE_INLINE int bucketToProc (int bid) const
 
AMREX_FORCE_INLINE int gridAndLevToBucket (int gid, int lev) const
 
AMREX_FORCE_INLINE int firstBucketOnProc (int pid) const
 
AMREX_FORCE_INLINE int numBoxesOnProc (int pid) const
 
AMREX_FORCE_INLINE Vector< intallBucketsOnProc (int pid) const
 
AMREX_FORCE_INLINE int procID (int gid, int lev) const
 
GetPID getPIDFunctor () const noexcept
 
GetBucket getBucketFunctor () const noexcept
 
GetBucket getHostBucketFunctor () const noexcept
 

Private Attributes

bool m_defined {false}
 
Vector< BoxArraym_ba
 
Vector< DistributionMappingm_dm
 
Vector< intm_bucket_to_gid
 
Vector< intm_bucket_to_lev
 
Vector< intm_bucket_to_pid
 
Vector< intm_lev_gid_to_bucket
 
Vector< intm_lev_offsets
 
Vector< intm_proc_box_counts
 
Vector< intm_proc_box_offsets
 
Gpu::DeviceVector< intd_bucket_to_pid
 
Gpu::DeviceVector< intd_lev_gid_to_bucket
 
Gpu::DeviceVector< intd_lev_offsets
 

Constructor & Destructor Documentation

◆ ParticleBufferMap() [1/2]

amrex::ParticleBufferMap::ParticleBufferMap ( )
default

◆ ParticleBufferMap() [2/2]

ParticleBufferMap::ParticleBufferMap ( const ParGDBBase a_gdb)

Member Function Documentation

◆ allBucketsOnProc()

AMREX_FORCE_INLINE Vector<int> amrex::ParticleBufferMap::allBucketsOnProc ( int  pid) const
inline

◆ bucketToGrid()

AMREX_FORCE_INLINE int amrex::ParticleBufferMap::bucketToGrid ( int  bid) const
inline

◆ bucketToLevel()

AMREX_FORCE_INLINE int amrex::ParticleBufferMap::bucketToLevel ( int  bid) const
inline

◆ bucketToProc()

AMREX_FORCE_INLINE int amrex::ParticleBufferMap::bucketToProc ( int  bid) const
inline

◆ define()

void ParticleBufferMap::define ( const ParGDBBase a_gdb)

◆ firstBucketOnProc()

AMREX_FORCE_INLINE int amrex::ParticleBufferMap::firstBucketOnProc ( int  pid) const
inline

◆ getBucketFunctor()

GetBucket amrex::ParticleBufferMap::getBucketFunctor ( ) const
inlinenoexcept

◆ getHostBucketFunctor()

GetBucket amrex::ParticleBufferMap::getHostBucketFunctor ( ) const
inlinenoexcept

◆ getPIDFunctor()

GetPID amrex::ParticleBufferMap::getPIDFunctor ( ) const
inlinenoexcept

◆ gridAndLevToBucket()

AMREX_FORCE_INLINE int amrex::ParticleBufferMap::gridAndLevToBucket ( int  gid,
int  lev 
) const
inline

◆ isValid()

bool ParticleBufferMap::isValid ( const ParGDBBase a_gdb) const

◆ numBoxesOnProc()

AMREX_FORCE_INLINE int amrex::ParticleBufferMap::numBoxesOnProc ( int  pid) const
inline

◆ numBuckets()

AMREX_FORCE_INLINE int amrex::ParticleBufferMap::numBuckets ( ) const
inline

◆ numLevels()

AMREX_FORCE_INLINE int amrex::ParticleBufferMap::numLevels ( ) const
inline

◆ procID()

AMREX_FORCE_INLINE int amrex::ParticleBufferMap::procID ( int  gid,
int  lev 
) const
inline

Member Data Documentation

◆ d_bucket_to_pid

Gpu::DeviceVector<int> amrex::ParticleBufferMap::d_bucket_to_pid
private

◆ d_lev_gid_to_bucket

Gpu::DeviceVector<int> amrex::ParticleBufferMap::d_lev_gid_to_bucket
private

◆ d_lev_offsets

Gpu::DeviceVector<int> amrex::ParticleBufferMap::d_lev_offsets
private

◆ m_ba

Vector<BoxArray> amrex::ParticleBufferMap::m_ba
private

◆ m_bucket_to_gid

Vector<int> amrex::ParticleBufferMap::m_bucket_to_gid
private

◆ m_bucket_to_lev

Vector<int> amrex::ParticleBufferMap::m_bucket_to_lev
private

◆ m_bucket_to_pid

Vector<int> amrex::ParticleBufferMap::m_bucket_to_pid
private

◆ m_defined

bool amrex::ParticleBufferMap::m_defined {false}
private

◆ m_dm

Vector<DistributionMapping> amrex::ParticleBufferMap::m_dm
private

◆ m_lev_gid_to_bucket

Vector<int> amrex::ParticleBufferMap::m_lev_gid_to_bucket
private

◆ m_lev_offsets

Vector<int> amrex::ParticleBufferMap::m_lev_offsets
private

◆ m_proc_box_counts

Vector<int> amrex::ParticleBufferMap::m_proc_box_counts
private

◆ m_proc_box_offsets

Vector<int> amrex::ParticleBufferMap::m_proc_box_offsets
private

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