1#ifndef AMREX_PARTICLEBUFFERMAP_H_
2#define AMREX_PARTICLEBUFFERMAP_H_
3#include <AMReX_Config.H>
28 int operator() (
const int lev,
const int gid)
const noexcept
40 const int* lev_offsets_ptr)
46 int operator() (
const int lev,
const int gid)
const noexcept
54 bool m_defined{
false};
85 return static_cast<int>(m_lev_offsets.
size()-1);
92 return static_cast<int>(m_bucket_to_gid.
size());
99 return m_bucket_to_gid[bid];
106 return m_bucket_to_lev[bid];
113 return m_bucket_to_pid[bid];
120 return m_lev_gid_to_bucket[m_lev_offsets[lev] + gid];
127 return m_proc_box_offsets[pid];
134 return m_proc_box_counts[pid];
153 return m_dm[lev][gid];
#define AMREX_ASSERT(EX)
Definition AMReX_BLassert.H:38
#define AMREX_FORCE_INLINE
Definition AMReX_Extension.H:119
#define AMREX_GPU_HOST_DEVICE
Definition AMReX_GpuQualifiers.H:20
Dynamically allocated vector for trivially copyable data.
Definition AMReX_PODVector.H:308
T * data() noexcept
Definition AMReX_PODVector.H:666
Definition AMReX_ParGDB.H:13
Definition AMReX_ParticleBufferMap.H:53
bool isValid(const ParGDBBase *a_gdb) const
Definition AMReX_ParticleBufferMap.cpp:115
int bucketToProc(int bid) const
Definition AMReX_ParticleBufferMap.H:110
GetPID getPIDFunctor() const noexcept
Definition AMReX_ParticleBufferMap.H:156
int firstBucketOnProc(int pid) const
Definition AMReX_ParticleBufferMap.H:124
void define(const ParGDBBase *a_gdb)
Definition AMReX_ParticleBufferMap.cpp:10
int bucketToLevel(int bid) const
Definition AMReX_ParticleBufferMap.H:103
int bucketToGrid(int bid) const
Definition AMReX_ParticleBufferMap.H:96
Vector< int > allBucketsOnProc(int pid) const
Definition AMReX_ParticleBufferMap.H:138
int numBuckets() const
Definition AMReX_ParticleBufferMap.H:89
int numBoxesOnProc(int pid) const
Definition AMReX_ParticleBufferMap.H:131
int procID(int gid, int lev) const
Definition AMReX_ParticleBufferMap.H:150
int numLevels() const
Definition AMReX_ParticleBufferMap.H:82
GetBucket getBucketFunctor() const noexcept
Definition AMReX_ParticleBufferMap.H:157
ParticleBufferMap()=default
GetBucket getHostBucketFunctor() const noexcept
Definition AMReX_ParticleBufferMap.H:158
int gridAndLevToBucket(int gid, int lev) const
Definition AMReX_ParticleBufferMap.H:117
This class is a thin wrapper around std::vector. Unlike vector, Vector::operator[] provides bound che...
Definition AMReX_Vector.H:28
Long size() const noexcept
Definition AMReX_Vector.H:53
Definition AMReX_Amr.cpp:49
Definition AMReX_ParticleBufferMap.H:35
GetBucket(const int *lev_gid_to_bucket_ptr, const int *lev_offsets_ptr)
Definition AMReX_ParticleBufferMap.H:39
const int * m_lev_offsets
Definition AMReX_ParticleBufferMap.H:37
const int * m_lev_gid_to_bucket
Definition AMReX_ParticleBufferMap.H:36
__host__ __device__ int operator()(const int lev, const int gid) const noexcept
Definition AMReX_ParticleBufferMap.H:46
Definition AMReX_ParticleBufferMap.H:14
const int * m_bucket_to_pid
Definition AMReX_ParticleBufferMap.H:15
__host__ __device__ int operator()(const int lev, const int gid) const noexcept
Definition AMReX_ParticleBufferMap.H:28
const int * m_lev_offsets
Definition AMReX_ParticleBufferMap.H:17
GetPID(const Gpu::DeviceVector< int > &bucket_to_pid, const Gpu::DeviceVector< int > &lev_gid_to_bucket, const Gpu::DeviceVector< int > &lev_offsets)
Definition AMReX_ParticleBufferMap.H:19
const int * m_lev_gid_to_bucket
Definition AMReX_ParticleBufferMap.H:16