Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
amrex::ParConstIter_impl< T_ParticleType, NArrayReal, NArrayInt, Allocator, T_CellAssignor > Class Template Reference

#include <AMReX_ParIter.H>

Inheritance diagram for amrex::ParConstIter_impl< T_ParticleType, NArrayReal, NArrayInt, Allocator, T_CellAssignor >:
amrex::ParIterBase_impl< true, T_ParticleType, 0, 0, DefaultAllocator, DefaultAssignor > amrex::MFIter

Public Types

using ParticleType = T_ParticleType
using CellAssignor = T_CellAssignor
using ContainerType = ParticleContainer_impl<ParticleType, NArrayReal, NArrayInt, Allocator, CellAssignor>
using ParticleTileType = typename ContainerType::ParticleTileType
using AoS = typename ContainerType::AoS
using SoA = typename ContainerType::SoA
using RealVector = typename SoA::RealVector
using IntVector = typename SoA::IntVector
Public Types inherited from amrex::ParIterBase_impl< true, T_ParticleType, 0, 0, DefaultAllocator, DefaultAssignor >
using ContainerType
using ParticleTileType
using AoS
using SoA
using ParticleType
using RealVector
using IntVector
using ParticleVector
Public Types inherited from amrex::MFIter
enum  Flags { Tiling = 0x01 , AllBoxes = 0x02 , NoTeamBarrier = 0x04 }
 Flags that specify tiling modes. All these flags are off by default. More...

Public Member Functions

 ParConstIter_impl (ContainerType const &pc, int level)
 ParConstIter_impl (ContainerType const &pc, int level, MFItInfo &info)
Public Member Functions inherited from amrex::ParIterBase_impl< true, T_ParticleType, 0, 0, DefaultAllocator, DefaultAssignor >
 ParIterBase_impl (ContainerRef pc, int level)
void operator++ ()
ParticleTileRef GetParticleTile () const
AoSRef GetArrayOfStructs () const
SoARef GetStructOfArrays () const
auto numParticles () const
auto numRealParticles () const
auto numNeighborParticles () const
Long capacity () const
int GetLevel () const
std::pair< int, int > GetPairIndex () const
const Geometry & Geom (int lev) const
Public Member Functions inherited from amrex::MFIter
 MFIter (const FabArrayBase &fabarray, unsigned char flags_=0)
 The default constructor does not enable tiling (flags_ is set to 0 by default). However, the tiling mode can be enabled by explicitly turning the tiling flag on (i.e. flags_ = Tiling). The tile size in this case is defined by FabArrayBase::mfiter_tile_size.
 MFIter (const FabArrayBase &fabarray, bool do_tiling)
 Enable tiling with the default tile size, which is defined by FabArrayBase::mfiter_tile_size.
 MFIter (const FabArrayBase &fabarray, const IntVect &tilesize, unsigned char flags_=0)
 Enable tiling with explicit tile size and flags (See type Flags for more information).
 MFIter (const BoxArray &ba, const DistributionMapping &dm, unsigned char flags_=0)
 MFIter (const BoxArray &ba, const DistributionMapping &dm, bool do_tiling)
 MFIter (const BoxArray &ba, const DistributionMapping &dm, const IntVect &tilesize, unsigned char flags_=0)
 MFIter (const FabArrayBase &fabarray, const MFItInfo &info)
 MFIter (const BoxArray &ba, const DistributionMapping &dm, const MFItInfo &info)
 MFIter (MFIter &&rhs)=default
 MFIter (MFIter const &)=delete
MFIter & operator= (MFIter const &)=delete
MFIter & operator= (MFIter &&)=delete
 ~MFIter ()
Box tilebox () const noexcept
 Return the tile Box at the current index.
Box tilebox (const IntVect &nodal) const noexcept
 Return the tilebox with provided nodal flag.
Box tilebox (const IntVect &nodal, const IntVect &ngrow) const noexcept
 Return the tilebox with provided nodal flag and grown cells.
Box nodaltilebox (int dir=-1) const noexcept
 Return the dir-nodal (or all nodal if dir<0) tile Box at the current index. The Box is cell-centered in the other directions regardless of the FabArray's index type, like grownnodaltilebox.
Box growntilebox (int ng=-1000000) const noexcept
 Return the tile box at the current index grown to include ghost cells.
Box growntilebox (const IntVect &ng) const noexcept
Box grownnodaltilebox (int dir=-1, int ng=-1000000) const noexcept
 Return the dir-nodal (or all nodal if dir<0) box grown to include ghost cells.
Box grownnodaltilebox (int dir, const IntVect &ng) const noexcept
Box validbox () const noexcept
 Return the valid Box in which the current tile resides.
Box fabbox () const noexcept
 Return the Box of the FAB at which we currently point.
void operator++ () noexcept
 Increment iterator to the next tile we own.
bool isValid () const noexcept
 Is the iterator valid i.e. is it associated with a FAB?
int index () const noexcept
 The index into the underlying BoxArray of the current FAB.
int length () const noexcept
 The number of indices.
int LocalTileIndex () const noexcept
 The current local tile index in the current grid;.
int numLocalTiles () const noexcept
 The the number of tiles in the current grid;.
int LocalIndex () const noexcept
 Return local index into the vector of fab pointers, m_fabs_v When AllBoxes is on, local_index_map is a nullptr and local index is current index.
const FabArrayBase & theFabArrayBase () const noexcept
 Constant reference to FabArray over which we're iterating.
int tileIndex () const noexcept
const DistributionMapping & DistributionMap () const noexcept
void Finalize ()

Additional Inherited Members

Static Public Member Functions inherited from amrex::MFIter
static int allowMultipleMFIters (int allow)
static int currentDepth ()
Static Public Attributes inherited from amrex::ParIterBase_impl< true, T_ParticleType, 0, 0, DefaultAllocator, DefaultAssignor >
static constexpr int NStructReal
static constexpr int NStructInt
Protected Member Functions inherited from amrex::MFIter
void Initialize ()
Protected Attributes inherited from amrex::ParIterBase_impl< true, T_ParticleType, 0, 0, DefaultAllocator, DefaultAssignor >
int m_level
ParticleTilePtr m_particle_current_tile
ContainerPtr m_pc
Protected Attributes inherited from amrex::MFIter
std::unique_ptr< FabArrayBase > m_fa
 This must be the first member!
const FabArrayBase * fabArray
IntVect tile_size
unsigned char flags
int currentIndex
int beginIndex
int endIndex
int streams
IndexType typ
bool dynamic
bool finalized = false
DeviceSync device_sync
DeviceSync device_sync_pre {true}
DeviceSync device_sync_post {true}
const Vector< int > * index_map
const Vector< int > * local_index_map
const Vector< Box > * tile_array
const Vector< int > * local_tile_index_map
const Vector< int > * num_local_tiles
Static Protected Attributes inherited from amrex::MFIter
static int nextDynamicIndex = std::numeric_limits<int>::min()
static int depth = 0
static int allow_multiple_mfiters = 0

Member Typedef Documentation

◆ AoS

template<typename T_ParticleType, int NArrayReal = 0, int NArrayInt = 0, template< class > class Allocator = DefaultAllocator, class T_CellAssignor = DefaultAssignor>
using amrex::ParConstIter_impl< T_ParticleType, NArrayReal, NArrayInt, Allocator, T_CellAssignor >::AoS = typename ContainerType::AoS

◆ CellAssignor

template<typename T_ParticleType, int NArrayReal = 0, int NArrayInt = 0, template< class > class Allocator = DefaultAllocator, class T_CellAssignor = DefaultAssignor>
using amrex::ParConstIter_impl< T_ParticleType, NArrayReal, NArrayInt, Allocator, T_CellAssignor >::CellAssignor = T_CellAssignor

◆ ContainerType

template<typename T_ParticleType, int NArrayReal = 0, int NArrayInt = 0, template< class > class Allocator = DefaultAllocator, class T_CellAssignor = DefaultAssignor>
using amrex::ParConstIter_impl< T_ParticleType, NArrayReal, NArrayInt, Allocator, T_CellAssignor >::ContainerType = ParticleContainer_impl<ParticleType, NArrayReal, NArrayInt, Allocator, CellAssignor>

◆ IntVector

template<typename T_ParticleType, int NArrayReal = 0, int NArrayInt = 0, template< class > class Allocator = DefaultAllocator, class T_CellAssignor = DefaultAssignor>
using amrex::ParConstIter_impl< T_ParticleType, NArrayReal, NArrayInt, Allocator, T_CellAssignor >::IntVector = typename SoA::IntVector

◆ ParticleTileType

template<typename T_ParticleType, int NArrayReal = 0, int NArrayInt = 0, template< class > class Allocator = DefaultAllocator, class T_CellAssignor = DefaultAssignor>
using amrex::ParConstIter_impl< T_ParticleType, NArrayReal, NArrayInt, Allocator, T_CellAssignor >::ParticleTileType = typename ContainerType::ParticleTileType

◆ ParticleType

template<typename T_ParticleType, int NArrayReal = 0, int NArrayInt = 0, template< class > class Allocator = DefaultAllocator, class T_CellAssignor = DefaultAssignor>
using amrex::ParConstIter_impl< T_ParticleType, NArrayReal, NArrayInt, Allocator, T_CellAssignor >::ParticleType = T_ParticleType

◆ RealVector

template<typename T_ParticleType, int NArrayReal = 0, int NArrayInt = 0, template< class > class Allocator = DefaultAllocator, class T_CellAssignor = DefaultAssignor>
using amrex::ParConstIter_impl< T_ParticleType, NArrayReal, NArrayInt, Allocator, T_CellAssignor >::RealVector = typename SoA::RealVector

◆ SoA

template<typename T_ParticleType, int NArrayReal = 0, int NArrayInt = 0, template< class > class Allocator = DefaultAllocator, class T_CellAssignor = DefaultAssignor>
using amrex::ParConstIter_impl< T_ParticleType, NArrayReal, NArrayInt, Allocator, T_CellAssignor >::SoA = typename ContainerType::SoA

Constructor & Destructor Documentation

◆ ParConstIter_impl() [1/2]

template<typename T_ParticleType, int NArrayReal = 0, int NArrayInt = 0, template< class > class Allocator = DefaultAllocator, class T_CellAssignor = DefaultAssignor>
amrex::ParConstIter_impl< T_ParticleType, NArrayReal, NArrayInt, Allocator, T_CellAssignor >::ParConstIter_impl ( ContainerType const & pc,
int level )
inline

◆ ParConstIter_impl() [2/2]

template<typename T_ParticleType, int NArrayReal = 0, int NArrayInt = 0, template< class > class Allocator = DefaultAllocator, class T_CellAssignor = DefaultAssignor>
amrex::ParConstIter_impl< T_ParticleType, NArrayReal, NArrayInt, Allocator, T_CellAssignor >::ParConstIter_impl ( ContainerType const & pc,
int level,
MFItInfo & info )
inline

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