Proto  3.2
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
Proto::MBLevelBoxData< T, C, MEM, CTR > Class Template Reference

Multiblock Level Box Data. More...

#include <Proto_MBLevelBoxData.H>

Inheritance diagram for Proto::MBLevelBoxData< T, C, MEM, CTR >:
Inheritance graph
[legend]

Public Types

typedef std::tuple< Point, BlockIndex, PointboundsKey_t
 

Public Member Functions

 MBLevelBoxData ()
 
 MBLevelBoxData (const MBDisjointBoxLayout &a_layout, const Array< Point, DIM+1 > &a_ghost, Point a_boundGhost=Point::Zeros())
 Main Constructor. More...
 
 MBLevelBoxData (const MBDisjointBoxLayout &a_layout, Point a_ghost, Point a_boundGhost=Point::Zeros())
 Simplified Constructor. More...
 
void define (const MBDisjointBoxLayout &a_layout, const Array< Point, DIM+1 > &a_ghost, Point a_boundGhost=Point::Zeros())
 Lazy Constructor. More...
 
void define (const MBDisjointBoxLayout &a_layout, Point a_ghost, Point a_boundGhost=Point::Zeros())
 Lazy Constructor. More...
 
template<typename Func , typename... Srcs>
void initialize (Func &a_func, Srcs &... a_srcs)
 Initialize FIXME (NOT CURRENTLY WORKING) More...
 
void setVal (T a_value)
 Constant Initialization. More...
 
void setBoundary (T a_val, int a_comp=-1)
 Initialize Boundary Ghost Cells. More...
 
void setRandom (T a_low, T a_high)
 Initialize with Random Noise. More...
 
template<typename Func , typename... Srcs>
void initConvolve (Func &a_func, Srcs &... a_srcs)
 FIXME (NOT CURRENTLY WORKING) More...
 
void exchange ()
 Exchange Ghost Data. More...
 
template<MemType DST_MEM>
void copyTo (MBLevelBoxData< T, C, DST_MEM, CTR > &a_rhs) const
 Parallel Data Copy. More...
 
template<MemType DST_MEM>
void copyToFull (MBLevelBoxData< T, C, DST_MEM, CTR > &a_rhs) const
 
Array< Point, DIM+1 > ghost () const
 Get Ghost Size Array. More...
 
BoxData< T, C, MEM > & operator[] (MBIndex a_index)
 Get Patch Reference. More...
 
const BoxData< T, C, MEM > & operator[] (MBIndex a_index) const
 Get Patch Reference (Const Overload) More...
 
void increment (const MBLevelBoxData< T, C, MEM, CTR > &a_data, T a_scale=1.0)
 Increment. More...
 
LevelBoxData< T, C, MEM, CTR > & getBlock (BlockIndex a_block)
 Get Block Data. More...
 
const LevelBoxData< T, C, MEM, CTR > & getBlock (BlockIndex a_block) const
 Get Block Data (Const Overload) More...
 
const MBDisjointBoxLayoutlayout () const
 Get Layout. More...
 
Box patchBox (const MBIndex &a_index) const
 Get Patch Box. More...
 
unsigned int patchSize (BlockIndex a_block) const
 Get Patch Size. More...
 
size_t linearSize (const MBIndex &a_index) const
 Linear Size of Patch. More...
 
size_t linearSize () const
 Linear Size. More...
 
void linearOut (void *a_buffer, const MBIndex &a_index, const Box &a_box) const
 Linear Out. More...
 
void linearOut (void *a_buffer, const MBIndex &a_index) const
 Linear Out. More...
 
void linearOut (void *a_buffer) const
 Linear Out. More...
 
void linearIn (void *a_buffer, const Box &a_box, const MBIndex &a_index)
 Linear In. More...
 
void linearIn (void *a_buffer, const MBIndex &a_index)
 Linear In. More...
 
void linearIn (void *a_buffer)
 Linear In. More...
 
size_t offset (unsigned int a_proc) const
 Linear Offset. More...
 
std::vector< MBBoundaryData< T, C, MEM > > & bounds (MBIndex a_index, Point a_dir)
 Get Boundary Buffers. More...
 
const std::vector< MBBoundaryData< T, C, MEM > > & bounds (MBIndex a_index, Point a_dir) const
 Get Boundary Buffers (Const Overload) More...
 
bool isBlockBoundary (MBIndex a_index, Point a_dir, BlockIndex a_adjBlock) const
 Detect Block Boundary. More...
 
MBBoundaryData< T, C, MEM > & bound (MBIndex a_index, Point a_dir, BlockIndex a_adjBlock)
 Get Block Boundary. More...
 
const MBBoundaryData< T, C, MEM > & bound (MBIndex a_index, Point a_dir, BlockIndex a_adjBlock) const
 Get Block Boundary (Const Overload) More...
 
bool compatible (const MBDisjointBoxLayout &a_layout) const
 Compatibility Check. More...
 
Var< T, C, MEM > operator[] (const MBDataPoint &a_point)
 Convert MBDataPoint to Var. More...
 
Var< T, C, MEM > operator[] (const MBDataPoint &a_point) const
 Convert MBDataPoint to Var (Const Overload) More...
 
std::vector< PointonDomainBoundary (const Point &a_point, const MBIndex &a_index) const
 Get BoxData containing the destination of the DataPoint. More...
 
template<Proto::Operation OP>
reduce (unsigned int c=0) const
 Reduction. More...
 
absMax (unsigned int c=0) const
 
max (unsigned int c=0) const
 
min (unsigned int c=0) const
 
sum (unsigned int c=0) const
 
void printBounds (const MBIndex &a_index, int a_prec=4)
 Print Boundary Buffer Data. More...
 
unsigned int numBlocks () const
 Get Number of Blocks. More...
 
MBIterator begin ()
 
MBIterator end ()
 
const MBIterator begin () const
 
const MBIterator end () const
 

Private Attributes

MBLevelExchangeCopier< T, C, MEM, CTR > m_exchangeCopier
 
Array< Point, DIM+1 > m_ghost
 
MBDisjointBoxLayout m_layout
 
std::vector< std::shared_ptr< LevelBoxData< T, C, MEM, CTR > > > m_data
 
std::map< boundsKey_t, std::vector< MBBoundaryData< T, C, MEM > > > m_bounds
 

Friends

template<typename _T , unsigned int _C, MemType _MEM, Centering _CTR>
class MBAMRData
 

Detailed Description

template<typename T, unsigned int C, MemType MEM, Centering CTR = PR_CELL>
class Proto::MBLevelBoxData< T, C, MEM, CTR >

Multiblock Level Box Data.

This class is the analog of LevelBoxData in the context of mapped multiblock applications. The most critical differences between this object and the single block version are the presence of additional data buffers allocated at block boundaries which are utilized for block boundary interpolation.

Member Typedef Documentation

◆ boundsKey_t

template<typename T, unsigned int C, MemType MEM, Centering CTR = PR_CELL>
typedef std::tuple<Point, BlockIndex, Point> Proto::MBLevelBoxData< T, C, MEM, CTR >::boundsKey_t

Constructor & Destructor Documentation

◆ MBLevelBoxData() [1/3]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
Proto::MBLevelBoxData< T, C, MEM, CTR >::MBLevelBoxData ( )
inline

◆ MBLevelBoxData() [2/3]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
Proto::MBLevelBoxData< T, C, MEM, CTR >::MBLevelBoxData ( const MBDisjointBoxLayout a_layout,
const Array< Point, DIM+1 > &  a_ghost,
Point  a_boundGhost = Point::Zeros() 
)
inline

Main Constructor.

Creates and allocates data for an MBLevelBoxData defined on a specified layout and allocating a specified number of ghost cells.

The ghost input has different semantics from the non- multiblock context. Here, ghost[0] refers to the number of ghost cells that each patch will allocate - this is the same as the ghost input used for LevelBoxData. The additional inputs ghost[n] for n > 0 define the size of the block boundary data buffers that will be allocated for a block boundary of codimension-n. For 4th order interpolation at block boundaries, it is recommended that ghost[n] for n>0 be greater than ghost[0] by at least 2 units in each direction. This recommendation holds even for cases where ghost[0] is equal to zero in one or more coordinate directions.

Parameters
a_layoutA mapped multiblock layout
a_ghostAn array of ghost sizes. See the description above.
a_boundGhostAdditional allocation for block boundary buffers. Use this if there is a need for block boundary buffers to overlap with the domain interior. This should remain defaulted unless you really know what you are doing.

◆ MBLevelBoxData() [3/3]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
Proto::MBLevelBoxData< T, C, MEM, CTR >::MBLevelBoxData ( const MBDisjointBoxLayout a_layout,
Point  a_ghost,
Point  a_boundGhost = Point::Zeros() 
)
inline

Simplified Constructor.

The ghost input for this constructor corresponds to ghost[0] in the general constructor. The boundary data buffers are constructed conservatively assuming 4th order block-boundary interpolation is desired.

Member Function Documentation

◆ define() [1/2]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
void Proto::MBLevelBoxData< T, C, MEM, CTR >::define ( const MBDisjointBoxLayout a_layout,
const Array< Point, DIM+1 > &  a_ghost,
Point  a_boundGhost = Point::Zeros() 
)
inline

Lazy Constructor.

◆ define() [2/2]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
void Proto::MBLevelBoxData< T, C, MEM, CTR >::define ( const MBDisjointBoxLayout a_layout,
Point  a_ghost,
Point  a_boundGhost = Point::Zeros() 
)
inline

Lazy Constructor.

◆ initialize()

template<typename T, unsigned int C, MemType MEM, Centering CTR = PR_CELL>
template<typename Func , typename... Srcs>
void Proto::MBLevelBoxData< T, C, MEM, CTR >::initialize ( Func &  a_func,
Srcs &...  a_srcs 
)
inline

Initialize FIXME (NOT CURRENTLY WORKING)

Initialize the data in this using forall-style syntax. Func should be a valid forall kernel with the following signature:

void foo(Point& p, Var<T,C,MEM>& d, unsigned int b, ...);

p: The point of evaluation d: A data point in this b: The block in which foo is being evaluated ...: Other arguments. These may be MBLevelBoxData, MBLevelMap, or any kind of POD If MBLevelMap is used as an input, the argument will be converted to an MBLevelBoxData containing the coordinate variables with the same centering as *this.

◆ setVal()

template<typename T, unsigned int C, MemType MEM, Centering CTR = PR_CELL>
void Proto::MBLevelBoxData< T, C, MEM, CTR >::setVal ( a_value)
inline

Constant Initialization.

◆ setBoundary()

template<typename T, unsigned int C, MemType MEM, Centering CTR>
void Proto::MBLevelBoxData< T, C, MEM, CTR >::setBoundary ( a_val,
int  a_comp = -1 
)
inline

Initialize Boundary Ghost Cells.

◆ setRandom()

template<typename T, unsigned int C, MemType MEM, Centering CTR>
void Proto::MBLevelBoxData< T, C, MEM, CTR >::setRandom ( a_low,
a_high 
)
inline

Initialize with Random Noise.

◆ initConvolve()

template<typename T, unsigned int C, MemType MEM, Centering CTR = PR_CELL>
template<typename Func , typename... Srcs>
void Proto::MBLevelBoxData< T, C, MEM, CTR >::initConvolve ( Func &  a_func,
Srcs &...  a_srcs 
)
inline

FIXME (NOT CURRENTLY WORKING)

◆ exchange()

template<typename T , unsigned int C, MemType MEM, Centering CTR>
void Proto::MBLevelBoxData< T, C, MEM, CTR >::exchange ( )
inline

Exchange Ghost Data.

Executes the parallel copy necessary to fill ghost regions.This includes exchanging data between patches inside of the same block as well as filling block boundary buffers. In order to fill ghost cells which lie on a block boundary, an MBInterpOp operation must be applied after this function is called.

◆ copyTo()

template<typename T, unsigned int C, MemType SRC_MEM, Centering CTR>
template<MemType DST_MEM>
void Proto::MBLevelBoxData< T, C, SRC_MEM, CTR >::copyTo ( MBLevelBoxData< T, C, DST_MEM, CTR > &  a_rhs) const
inline

Parallel Data Copy.

Executes a parallel copy between two compatible MBLevelBoxData. Only copies valid data; ghost data will need to be initialized afterwards by calling exchange(). TODO: exchange might actually be copied as well, but I need to test this -CLG

◆ copyToFull()

template<typename T, unsigned int C, MemType SRC_MEM, Centering CTR>
template<MemType DST_MEM>
void Proto::MBLevelBoxData< T, C, SRC_MEM, CTR >::copyToFull ( MBLevelBoxData< T, C, DST_MEM, CTR > &  a_rhs) const
inline

◆ ghost()

template<typename T , unsigned int C, MemType MEM, Centering CTR>
Array< Point, DIM+1 > Proto::MBLevelBoxData< T, C, MEM, CTR >::ghost ( ) const

Get Ghost Size Array.

◆ operator[]() [1/4]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
BoxData< T, C, MEM > & Proto::MBLevelBoxData< T, C, MEM, CTR >::operator[] ( MBIndex  a_index)
inline

Get Patch Reference.

◆ operator[]() [2/4]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
const BoxData< T, C, MEM > & Proto::MBLevelBoxData< T, C, MEM, CTR >::operator[] ( MBIndex  a_index) const
inline

Get Patch Reference (Const Overload)

◆ increment()

template<typename T, unsigned int C, MemType MEM, Centering CTR>
void Proto::MBLevelBoxData< T, C, MEM, CTR >::increment ( const MBLevelBoxData< T, C, MEM, CTR > &  a_data,
a_scale = 1.0 
)
inline

Increment.

◆ getBlock() [1/2]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
LevelBoxData< T, C, MEM, CTR > & Proto::MBLevelBoxData< T, C, MEM, CTR >::getBlock ( BlockIndex  a_block)
inline

Get Block Data.

Returns the normal LevelBoxData associated with a specified block

◆ getBlock() [2/2]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
const LevelBoxData< T, C, MEM, CTR > & Proto::MBLevelBoxData< T, C, MEM, CTR >::getBlock ( BlockIndex  a_block) const
inline

Get Block Data (Const Overload)

◆ layout()

template<typename T, unsigned int C, MemType MEM, Centering CTR = PR_CELL>
const MBDisjointBoxLayout& Proto::MBLevelBoxData< T, C, MEM, CTR >::layout ( ) const
inline

Get Layout.

◆ patchBox()

template<typename T , unsigned int C, MemType MEM, Centering CTR>
Box Proto::MBLevelBoxData< T, C, MEM, CTR >::patchBox ( const MBIndex a_index) const
inline

Get Patch Box.

multiblock analog of LevelBoxData::patchBox. Returns the Box which defines the domain of a specified patch index, correcting for centering

◆ patchSize()

template<typename T , unsigned int C, MemType MEM, Centering CTR>
unsigned int Proto::MBLevelBoxData< T, C, MEM, CTR >::patchSize ( BlockIndex  a_block) const
inline

Get Patch Size.

Multiblock analog of LevelBoxData::patchSize. Returns the number of data points in any patch within the specified block accounting for centering and ghost size.

◆ linearSize() [1/2]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
size_t Proto::MBLevelBoxData< T, C, MEM, CTR >::linearSize ( const MBIndex a_index) const
inline

Linear Size of Patch.

◆ linearSize() [2/2]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
size_t Proto::MBLevelBoxData< T, C, MEM, CTR >::linearSize ( ) const
inline

Linear Size.

◆ linearOut() [1/3]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
void Proto::MBLevelBoxData< T, C, MEM, CTR >::linearOut ( void *  a_buffer,
const MBIndex a_index,
const Box a_box 
) const
inline

Linear Out.

◆ linearOut() [2/3]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
void Proto::MBLevelBoxData< T, C, MEM, CTR >::linearOut ( void *  a_buffer,
const MBIndex a_index 
) const
inline

Linear Out.

◆ linearOut() [3/3]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
void Proto::MBLevelBoxData< T, C, MEM, CTR >::linearOut ( void *  a_buffer) const
inline

Linear Out.

◆ linearIn() [1/3]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
void Proto::MBLevelBoxData< T, C, MEM, CTR >::linearIn ( void *  a_buffer,
const Box a_box,
const MBIndex a_index 
)
inline

Linear In.

◆ linearIn() [2/3]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
void Proto::MBLevelBoxData< T, C, MEM, CTR >::linearIn ( void *  a_buffer,
const MBIndex a_index 
)
inline

Linear In.

◆ linearIn() [3/3]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
void Proto::MBLevelBoxData< T, C, MEM, CTR >::linearIn ( void *  a_buffer)
inline

Linear In.

◆ offset()

template<typename T , unsigned int C, MemType MEM, Centering CTR>
size_t Proto::MBLevelBoxData< T, C, MEM, CTR >::offset ( unsigned int  a_proc) const
inline

Linear Offset.

◆ bounds() [1/2]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
std::vector< MBBoundaryData< T, C, MEM > > & Proto::MBLevelBoxData< T, C, MEM, CTR >::bounds ( MBIndex  a_index,
Point  a_dir 
)
inline

Get Boundary Buffers.

Returns the block boundary buffers for the block boundary specified by an MBIndex and a direction in the coordinate system of the block specified by the MBIndex.

This function is mostly used for debugging and is not recommended for public use.

◆ bounds() [2/2]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
const std::vector< MBBoundaryData< T, C, MEM > > & Proto::MBLevelBoxData< T, C, MEM, CTR >::bounds ( MBIndex  a_index,
Point  a_dir 
) const
inline

Get Boundary Buffers (Const Overload)

◆ isBlockBoundary()

template<typename T , unsigned int C, MemType MEM, Centering CTR>
bool Proto::MBLevelBoxData< T, C, MEM, CTR >::isBlockBoundary ( MBIndex  a_index,
Point  a_dir,
BlockIndex  a_adjBlock 
) const
inline

Detect Block Boundary.

Determine if a specified index and direction correspond to a block boundary with a specified block index

◆ bound() [1/2]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
MBBoundaryData< T, C, MEM > & Proto::MBLevelBoxData< T, C, MEM, CTR >::bound ( MBIndex  a_index,
Point  a_dir,
BlockIndex  a_adjBlock 
)
inline

Get Block Boundary.

Retrieve the block boundary buffer associated with the specified block boundary information. This function yields an error if isBlockBoundary is false for these inputs.

◆ bound() [2/2]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
const MBBoundaryData< T, C, MEM > & Proto::MBLevelBoxData< T, C, MEM, CTR >::bound ( MBIndex  a_index,
Point  a_dir,
BlockIndex  a_adjBlock 
) const
inline

Get Block Boundary (Const Overload)

◆ compatible()

template<typename T , unsigned int C, MemType MEM, Centering CTR>
bool Proto::MBLevelBoxData< T, C, MEM, CTR >::compatible ( const MBDisjointBoxLayout a_layout) const
inline

Compatibility Check.

This is the same as this->layout().compatible(a_layout)

◆ operator[]() [3/4]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
Var< T, C, MEM > Proto::MBLevelBoxData< T, C, MEM, CTR >::operator[] ( const MBDataPoint a_point)
inline

Convert MBDataPoint to Var.

Used by interpolation API. Not recommended for public use.

◆ operator[]() [4/4]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
Var< T, C, MEM > Proto::MBLevelBoxData< T, C, MEM, CTR >::operator[] ( const MBDataPoint a_point) const
inline

Convert MBDataPoint to Var (Const Overload)

Used by interpolation API. Not recommended for public use.

◆ onDomainBoundary()

template<typename T , unsigned int C, MemType MEM, Centering CTR>
std::vector< Point > Proto::MBLevelBoxData< T, C, MEM, CTR >::onDomainBoundary ( const Point a_point,
const MBIndex a_index 
) const
inline

Get BoxData containing the destination of the DataPoint.

For points inside of block boundaries, this is the localData variable of the appropriate MBBoundaryData. Otherwise, this is simply the patch associated with the index of the DataPoint Get BoxData containing the source of the DataPoint For points inside of block boundaries, this is the adjData variable of the appropriate MBBoundaryData. Otherwise, this is simply the patch associated with the index of the DataPoint Domain Boundary Check Determines which domain boundaries - if any - a specified Point in a specified patch resides on. The output is a vector of directions which correspond to the domain boundaries the specified point abuts. If the specified point is not adjacent to a domain boundary, an empty vector is returned.

◆ reduce()

template<typename T , unsigned int C, MemType MEM, Centering CTR>
template<Proto::Operation OP>
T Proto::MBLevelBoxData< T, C, MEM, CTR >::reduce ( unsigned int  c = 0) const
inline

◆ absMax()

template<typename T , unsigned int C, MemType MEM, Centering CTR>
T Proto::MBLevelBoxData< T, C, MEM, CTR >::absMax ( unsigned int  c = 0) const
inline

◆ max()

template<typename T , unsigned int C, MemType MEM, Centering CTR>
T Proto::MBLevelBoxData< T, C, MEM, CTR >::max ( unsigned int  c = 0) const
inline

◆ min()

template<typename T , unsigned int C, MemType MEM, Centering CTR>
T Proto::MBLevelBoxData< T, C, MEM, CTR >::min ( unsigned int  c = 0) const
inline

◆ sum()

template<typename T , unsigned int C, MemType MEM, Centering CTR>
T Proto::MBLevelBoxData< T, C, MEM, CTR >::sum ( unsigned int  c = 0) const
inline

◆ printBounds()

template<typename T , unsigned int C, MemType MEM, Centering CTR>
void Proto::MBLevelBoxData< T, C, MEM, CTR >::printBounds ( const MBIndex a_index,
int  a_prec = 4 
)
inline

Print Boundary Buffer Data.

Prints the contents of the boundary buffers associated with a specified index.

◆ numBlocks()

template<typename T, unsigned int C, MemType MEM, Centering CTR = PR_CELL>
unsigned int Proto::MBLevelBoxData< T, C, MEM, CTR >::numBlocks ( ) const
inline

Get Number of Blocks.

◆ begin() [1/2]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
MBIterator Proto::MBLevelBoxData< T, C, MEM, CTR >::begin ( )
inline

◆ end() [1/2]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
MBIterator Proto::MBLevelBoxData< T, C, MEM, CTR >::end ( )
inline

◆ begin() [2/2]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
const MBIterator Proto::MBLevelBoxData< T, C, MEM, CTR >::begin ( ) const
inline

◆ end() [2/2]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
const MBIterator Proto::MBLevelBoxData< T, C, MEM, CTR >::end ( ) const
inline

Friends And Related Function Documentation

◆ MBAMRData

template<typename T, unsigned int C, MemType MEM, Centering CTR = PR_CELL>
template<typename _T , unsigned int _C, MemType _MEM, Centering _CTR>
friend class MBAMRData
friend

Member Data Documentation

◆ m_exchangeCopier

template<typename T, unsigned int C, MemType MEM, Centering CTR = PR_CELL>
MBLevelExchangeCopier<T, C, MEM, CTR> Proto::MBLevelBoxData< T, C, MEM, CTR >::m_exchangeCopier
private

◆ m_ghost

template<typename T, unsigned int C, MemType MEM, Centering CTR = PR_CELL>
Array<Point, DIM+1> Proto::MBLevelBoxData< T, C, MEM, CTR >::m_ghost
private

◆ m_layout

template<typename T, unsigned int C, MemType MEM, Centering CTR = PR_CELL>
MBDisjointBoxLayout Proto::MBLevelBoxData< T, C, MEM, CTR >::m_layout
private

◆ m_data

template<typename T, unsigned int C, MemType MEM, Centering CTR = PR_CELL>
std::vector<std::shared_ptr<LevelBoxData<T, C, MEM, CTR> > > Proto::MBLevelBoxData< T, C, MEM, CTR >::m_data
private

◆ m_bounds

template<typename T, unsigned int C, MemType MEM, Centering CTR = PR_CELL>
std::map<boundsKey_t, std::vector<MBBoundaryData<T, C, MEM> > > Proto::MBLevelBoxData< T, C, MEM, CTR >::m_bounds
mutableprivate

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