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

Level Box Data. More...

#include <Proto_HDF5.H>

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

Public Member Functions

 LevelBoxData ()
 
 LevelBoxData (const DisjointBoxLayout &a_layout, const Point &a_ghostRegionSizes)
 
template<unsigned int DST_DATA_COMPONENTS>
 LevelBoxData (const LevelBoxData< T, DST_DATA_COMPONENTS, MEM, CTR > &a_srcData, unsigned int a_firstComponent)
 
void define (const DisjointBoxLayout &a_layout, const Point &a_ghostRegionSizes)
 
unsigned int numBoxes () const
 
void setToZero (int a_comp=-1)
 
void setVal (T a_value, int a_comp=-1)
 
void setRandom (T a_low, T a_high)
 
void setDomainBoundary (T a_value, int a_comp=-1)
 
void iota (Array< T, DIM > a_dx, Array< T, DIM > a_offset=Array< T, DIM >::Zeros())
 
template<typename Func , typename... Srcs>
void initialize (Func &a_func, Srcs &... a_srcs)
 Function Initialization. More...
 
void exchange ()
 Exchange. More...
 
template<template< typename, unsigned int, MemType, Centering > class E_COPIER, typename... Args>
void defineExchange (Args... a_args)
 
template<MemType DST_MEM>
void copyTo (LevelBoxData< T, C, DST_MEM, CTR > &a_dest) const
 Copy To. More...
 
template<MemType DST_MEM>
void copyToSimple (LevelBoxData< T, C, DST_MEM, CTR > &a_dest) const
 
void coarsenTo (LevelBoxData &a_dest, Point a_refRatio) const
 Copy With Coarsen. More...
 
unsigned int offset (int a_proc) const
 Linear Offset. More...
 
unsigned int offset () const
 
unsigned int patchSize () const
 Patch Size. More...
 
Box patchBox (const DataIndex< BoxPartition > &a_index) const
 Patch Box. More...
 
void linearIn (void *a_buffer, const Box &a_box, const DataIndex< BoxPartition > &a_index)
 Linear In (Patch, Box) More...
 
void linearOut (void *a_buffer, const Box &a_box, const DataIndex< BoxPartition > &a_index) const
 Linear Out (Patch, Box) More...
 
size_t linearSize (const Box &a_box, const DataIndex< BoxPartition > &a_index) const
 Serial Size (Patch, Box) More...
 
void linearIn (void *a_buffer, const DataIndex< BoxPartition > &a_index)
 Linear In (Patch) More...
 
void linearOut (void *a_buffer, const DataIndex< BoxPartition > &a_index) const
 Linear Out (Patch) More...
 
size_t linearSize (const DataIndex< BoxPartition > &a_index) const
 Size (Patch) More...
 
void linearIn (void *a_buffer)
 Linear In (All Local Data) More...
 
void linearOut (void *a_buffer) const
 Linear Out (All Local Data) More...
 
size_t linearSize () const
 Size (All Local Data) More...
 
DisjointBoxLayout layout () const
 Get Box Layout. More...
 
Point ghost () const
 Get Ghost Size. More...
 
void increment (LevelBoxData< T, C, MEM, CTR > &a_data, T a_scale=1.0)
 Increment. More...
 
void operator*= (T a_scale)
 Multiply By Scalar. More...
 
void operator+= (T a_scale)
 Add a Constant. More...
 
template<Proto::Operation OP>
double reduce (unsigned int a_comp=0) const
 Reduction. More...
 
double absMax (unsigned int a_comp=0) const
 Maximum Absolute Value. More...
 
double sum (unsigned int a_comp=0) const
 Sum. More...
 
double max (unsigned int a_comp=0) const
 Max. More...
 
double min (unsigned int a_comp=0) const
 Min. More...
 
double integrate (double a_dx, unsigned int a_comp=0) const
 Integral. More...
 
double integrate (Array< double, DIM > a_dx, unsigned int a_comp=0) const
 Integral (Anisotropic) More...
 
double integrateAbs (double a_dx, unsigned int a_comp=0) const
 Integral of Absolute Value. More...
 
double integrateAbs (Array< double, DIM > a_dx, unsigned int a_comp=0) const
 Integral of Absolute Value (Anisotropic) More...
 
template<typename _T , unsigned int _C, MemType _MEM, Centering _CTR>
bool compatible (const LevelBoxData< _T, _C, _MEM, _CTR > &a_data) const
 Query Layout Compatibility. More...
 
bool compatible (const DisjointBoxLayout &a_layout) const
 Query Layout Compatibility. More...
 
bool compatible (const DataIterator< BoxPartition > &a_iter) const
 Query Layout Compatibility. More...
 
bool compatible (const DataIndex< BoxPartition > &a_index) const
 Query Layout Compatibility. More...
 
BoxData< T, C, MEM > & operator[] (const DataIndex< BoxPartition > &a_index)
 Get Patch. More...
 
const BoxData< T, C, MEM > & operator[] (const DataIndex< BoxPartition > &a_index) const
 Get Const Patch. More...
 
BoxData< T, C, MEM > & operator() (const DataIndex< BoxPartition > &a_index, unsigned int a_dir=0)
 Get Patch (Face / Edge Centering) More...
 
const BoxData< T, C, MEM > & operator() (const DataIndex< BoxPartition > &a_index, unsigned int a_dir=0) const
 Get Const Patch (Face / Edge Centering) More...
 
DataIterator< BoxPartitionbegin () const
 Get Iterator. More...
 
DataIterator< BoxPartitionend () const
 
DataIterator< BoxPartitiondataIterator () const
 deprecated but useful More...
 

Public Attributes

int s_verbosity = 0
 For debugging purposes. More...
 

Private Member Functions

LevelBoxData< T, C, MEM, CTR > & operator= (const LevelBoxData< T, C, MEM, CTR > &a_rhs)
 
 LevelBoxData (const LevelBoxData< T, C, MEM, CTR > &a_rhs)
 

Private Attributes

std::vector< std::vector< shared_ptr< BoxData< T, C, MEM > > > > m_data
 
Point m_ghost
 
DisjointBoxLayout m_layout
 
bool m_isDefined
 
std::shared_ptr< LevelExchangeCopier< T, C, MEM, CTR > > m_exchangeCopier
 

Detailed Description

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

Level Box Data.

A distributed data holder implementing the abstraction of a union of logically rectangular patches.

Constructor & Destructor Documentation

◆ LevelBoxData() [1/4]

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

◆ LevelBoxData() [2/4]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
Proto::LevelBoxData< T, C, MEM, CTR >::LevelBoxData ( const DisjointBoxLayout a_layout,
const Point a_ghostRegionSizes 
)
inline

◆ LevelBoxData() [3/4]

template<typename T, unsigned int C, MemType MEM, Centering CTR>
template<unsigned int CC>
Proto::LevelBoxData< T, C, MEM, CTR >::LevelBoxData ( const LevelBoxData< T, CC, MEM, CTR > &  a_srcData,
unsigned int  a_firstComponent 
)
inline

◆ LevelBoxData() [4/4]

template<typename T, unsigned int C = 1, MemType MEM = MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
Proto::LevelBoxData< T, C, MEM, CTR >::LevelBoxData ( const LevelBoxData< T, C, MEM, CTR > &  a_rhs)
private

Member Function Documentation

◆ define()

template<typename T , unsigned int C, MemType MEM, Centering CTR>
void Proto::LevelBoxData< T, C, MEM, CTR >::define ( const DisjointBoxLayout a_layout,
const Point a_ghostRegionSizes 
)
inline

◆ numBoxes()

template<typename T, unsigned int C = 1, MemType MEM = MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
unsigned int Proto::LevelBoxData< T, C, MEM, CTR >::numBoxes ( ) const
inline

◆ setToZero()

template<typename T, unsigned int C = 1, MemType MEM = MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
void Proto::LevelBoxData< T, C, MEM, CTR >::setToZero ( int  a_comp = -1)
inline

◆ setVal()

template<typename T, unsigned int C = 1, MemType MEM = MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
void Proto::LevelBoxData< T, C, MEM, CTR >::setVal ( a_value,
int  a_comp = -1 
)
inline

◆ setRandom()

template<typename T, unsigned int C = 1, MemType MEM = MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
void Proto::LevelBoxData< T, C, MEM, CTR >::setRandom ( a_low,
a_high 
)
inline

Set data to random noise between two values

◆ setDomainBoundary()

template<typename T, unsigned int C = 1, MemType MEM = MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
void Proto::LevelBoxData< T, C, MEM, CTR >::setDomainBoundary ( a_value,
int  a_comp = -1 
)
inline

Periodic boundaries are not considered domain boundaries

◆ iota()

template<typename T, unsigned int C, MemType MEM, Centering CTR>
void Proto::LevelBoxData< T, C, MEM, CTR >::iota ( Array< T, DIM >  a_dx,
Array< T, DIM >  a_offset = Array<T,DIM>::Zeros() 
)
inline

◆ initialize()

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

Function Initialization.

Initializes *this using a function with a signature similar to that used by Proto::forallInPlace_p.

Func signature: void a_func(Point& a_point, Var<T, C, MEM>& a_thisData, ... )

Like Proto::forall and its variants, this function can accept additional data holders (e.g. other LevelBoxData instances) so long as all inputs are compatible in the sense of LevelBoxData::compatible(...).

◆ exchange()

template<typename T, unsigned int C = 1, MemType MEM = MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
void Proto::LevelBoxData< T, C, MEM, CTR >::exchange ( )
inline

Exchange.

Copies data from the valid regions of *this into ghost regions. When MPI is enabled, this function also takes care of any necessary communication between patches on different processes.

◆ defineExchange()

template<typename T , unsigned int C, MemType MEM, Centering CTR>
template<template< typename, unsigned int, MemType, Centering > class E_COPIER, typename... Args>
void Proto::LevelBoxData< T, C, MEM, CTR >::defineExchange ( Args...  a_args)
inline

◆ copyTo()

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

Copy To.

Copies data from the valid regions of this into the valid regions of another LevelBoxData. This function copies both valid data and ghost regions if applicable. If a_dest has a larger ghost region then *this, the user is expected to call exchange to correctly fill the extra ghost cells.

Parameters
a_destThe destination to which data in *this will be copied.

◆ copyToSimple()

template<typename T, unsigned int C, MemType SRC_MEM, Centering CTR>
template<MemType DST_MEM>
void Proto::LevelBoxData< T, C, SRC_MEM, CTR >::copyToSimple ( LevelBoxData< T, C, DST_MEM, CTR > &  a_dest) const
inline

◆ coarsenTo()

template<typename T , unsigned int C, MemType MEM, Centering CTR>
void Proto::LevelBoxData< T, C, MEM, CTR >::coarsenTo ( LevelBoxData< T, C, MEM, CTR > &  a_dest,
Point  a_refRatio 
) const
inline

Copy With Coarsen.

Coarsen's the data in *this by applying a geometric average before copying into the destination.

◆ offset() [1/2]

template<typename T, unsigned int C = 1, MemType MEM = MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
unsigned int Proto::LevelBoxData< T, C, MEM, CTR >::offset ( int  a_proc) const
inline

Linear Offset.

Returns the serial index of the first data element of this stored on this a_proc.

◆ offset() [2/2]

template<typename T, unsigned int C = 1, MemType MEM = MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
unsigned int Proto::LevelBoxData< T, C, MEM, CTR >::offset ( ) const
inline

◆ patchSize()

template<typename T, unsigned int C = 1, MemType MEM = MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
unsigned int Proto::LevelBoxData< T, C, MEM, CTR >::patchSize ( ) const
inline

Patch Size.

Computes the size (in data cells) of a single patch in *this. The output accounts for both ghost cells and centering.

◆ patchBox()

template<typename T, unsigned int C = 1, MemType MEM = MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
Box Proto::LevelBoxData< T, C, MEM, CTR >::patchBox ( const DataIndex< BoxPartition > &  a_index) const
inline

Patch Box.

Returns the Box corresponding to the valid cells of the data at a given index. This box does not include ghost cells, but does account for centering. For cell centered data, this is the same as layout()[a_index], but will in general be different for other types of centering.

◆ linearIn() [1/3]

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

Linear In (Patch, Box)

Reads data from a serial buffer, populating the patch associated with a_index within the subset specified by a_box.

Parameters
a_bufferThe read buffer
a_boxA box defining the subset to read into
a_indexThe index defining the patch to read into

◆ linearOut() [1/3]

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

Linear Out (Patch, Box)

Writes data to a serial buffer, from the patch associated with a_index within the subset specified by a_box.

Parameters
a_bufferThe write buffer
a_boxA box defining the subset to write from
a_indexThe index defining the patch to write from

◆ linearSize() [1/3]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
size_t Proto::LevelBoxData< T, C, MEM, CTR >::linearSize ( const Box a_box,
const DataIndex< BoxPartition > &  a_index 
) const
inline

Serial Size (Patch, Box)

Computes the size in bytes of the serial data buffer needed to hold the patch associated with a_index within the subset specified by a_box.

Parameters
a_boxA box defining the subset of a patch
a_indexThe index defining the patch

◆ linearIn() [2/3]

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

Linear In (Patch)

Overload of LinearIn that always reads in a full patch

◆ linearOut() [2/3]

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

Linear Out (Patch)

Overload of LinearOut that always writes out a full patch

◆ linearSize() [2/3]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
size_t Proto::LevelBoxData< T, C, MEM, CTR >::linearSize ( const DataIndex< BoxPartition > &  a_index) const
inline

Size (Patch)

Overload of Size that always computes the size of a full patch

◆ linearIn() [3/3]

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

Linear In (All Local Data)

Overload of LinearIn that reads all local data

◆ linearOut() [3/3]

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

Linear Out (All Local Data)

Overload of LinearOut that writes out all local data

◆ linearSize() [3/3]

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

Size (All Local Data)

Overload of Size that computes the full local size of the data in *this

◆ layout()

template<typename T, unsigned int C = 1, MemType MEM = MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
DisjointBoxLayout Proto::LevelBoxData< T, C, MEM, CTR >::layout ( ) const
inline

Get Box Layout.

◆ ghost()

template<typename T, unsigned int C = 1, MemType MEM = MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
Point Proto::LevelBoxData< T, C, MEM, CTR >::ghost ( ) const
inline

Get Ghost Size.

◆ increment()

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

Increment.

Add a scaled multiple of another LevelBoxData.

Referenced by Proto::LevelBoxData< T, C, SRC_MEM, CTR >::ghost().

◆ operator*=()

template<typename T, unsigned int C, MemType MEM, Centering CTR>
void Proto::LevelBoxData< T, C, MEM, CTR >::operator*= ( a_scale)
inline

Multiply By Scalar.

Referenced by Proto::LevelBoxData< T, C, SRC_MEM, CTR >::ghost().

◆ operator+=()

template<typename T, unsigned int C, MemType MEM, Centering CTR>
void Proto::LevelBoxData< T, C, MEM, CTR >::operator+= ( a_scale)
inline

◆ reduce()

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

Reduction.

Computes a reduction for a component over all valid cells (ghost region is ignored)

Referenced by Proto::LevelBoxData< T, C, SRC_MEM, CTR >::ghost().

◆ absMax()

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

Maximum Absolute Value.

Computes the maximum absolute value for a component over all valid cells (ghost region is ignored)

Referenced by Proto::LevelBoxData< T, C, SRC_MEM, CTR >::ghost().

◆ sum()

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

Sum.

Computes the sum of a component over all valid cells (ghost region is ignored)

Referenced by Proto::LevelBoxData< T, C, SRC_MEM, CTR >::ghost().

◆ max()

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

Max.

Computes the max value of a component over all valid cells (ghost region is ignored)

Referenced by Proto::LevelBoxData< T, C, SRC_MEM, CTR >::ghost().

◆ min()

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

Min.

Computes the min value of a component over all valid cells (ghost region is ignored)

Referenced by Proto::LevelBoxData< T, C, SRC_MEM, CTR >::ghost().

◆ integrate() [1/2]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
double Proto::LevelBoxData< T, C, MEM, CTR >::integrate ( double  a_dx,
unsigned int  a_comp = 0 
) const
inline

Integral.

Compute the integral over this using an isotropic grid spacing.

Parameters
a_dxIsotropic grid spacing
a_compA component to integrate over

Referenced by Proto::LevelBoxData< T, C, SRC_MEM, CTR >::ghost().

◆ integrate() [2/2]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
double Proto::LevelBoxData< T, C, MEM, CTR >::integrate ( Array< double, DIM >  a_dx,
unsigned int  a_comp = 0 
) const
inline

Integral (Anisotropic)

Compute the integral over this using an isotropic grid spacing.

Parameters
a_dxIsotropic grid spacing
a_compA component to integrate over

◆ integrateAbs() [1/2]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
double Proto::LevelBoxData< T, C, MEM, CTR >::integrateAbs ( double  a_dx,
unsigned int  a_comp = 0 
) const
inline

Integral of Absolute Value.

Compute the integral of the absolute value over this using an isotropic grid spacing.

Parameters
a_dxIsotropic grid spacing
a_compA component to integrate over

Referenced by Proto::LevelBoxData< T, C, SRC_MEM, CTR >::ghost().

◆ integrateAbs() [2/2]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
double Proto::LevelBoxData< T, C, MEM, CTR >::integrateAbs ( Array< double, DIM >  a_dx,
unsigned int  a_comp = 0 
) const
inline

Integral of Absolute Value (Anisotropic)

Compute the integral of the absolute value over this using an isotropic grid spacing.

Parameters
a_dxIsotropic grid spacing
a_compA component to integrate over

◆ compatible() [1/4]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
template<typename _T , unsigned int _C, MemType _MEM, Centering _CTR>
bool Proto::LevelBoxData< T, C, MEM, CTR >::compatible ( const LevelBoxData< _T, _C, _MEM, _CTR > &  a_data) const
inline

Query Layout Compatibility.

Referenced by Proto::LevelBoxData< T, C, SRC_MEM, CTR >::ghost().

◆ compatible() [2/4]

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

Query Layout Compatibility.

◆ compatible() [3/4]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
bool Proto::LevelBoxData< T, C, MEM, CTR >::compatible ( const DataIterator< BoxPartition > &  a_iter) const
inline

Query Layout Compatibility.

◆ compatible() [4/4]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
bool Proto::LevelBoxData< T, C, MEM, CTR >::compatible ( const DataIndex< BoxPartition > &  a_index) const
inline

Query Layout Compatibility.

◆ operator[]() [1/2]

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

◆ operator[]() [2/2]

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

Get Const Patch.

◆ operator()() [1/2]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
BoxData< T, C, MEM > & Proto::LevelBoxData< T, C, MEM, CTR >::operator() ( const DataIndex< BoxPartition > &  a_index,
unsigned int  a_dir = 0 
)
inline

Get Patch (Face / Edge Centering)

Referenced by Proto::LevelBoxData< T, C, SRC_MEM, CTR >::ghost().

◆ operator()() [2/2]

template<typename T , unsigned int C, MemType MEM, Centering CTR>
const BoxData< T, C, MEM > & Proto::LevelBoxData< T, C, MEM, CTR >::operator() ( const DataIndex< BoxPartition > &  a_index,
unsigned int  a_dir = 0 
) const
inline

Get Const Patch (Face / Edge Centering)

◆ begin()

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

◆ end()

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

◆ dataIterator()

template<typename T, unsigned int C = 1, MemType MEM = MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
DataIterator<BoxPartition> Proto::LevelBoxData< T, C, MEM, CTR >::dataIterator ( ) const
inline

deprecated but useful

◆ operator=()

template<typename T, unsigned int C = 1, MemType MEM = MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
LevelBoxData<T, C, MEM, CTR>& Proto::LevelBoxData< T, C, MEM, CTR >::operator= ( const LevelBoxData< T, C, MEM, CTR > &  a_rhs)
private

Member Data Documentation

◆ s_verbosity

template<typename T, unsigned int C = 1, MemType MEM = MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
int Proto::LevelBoxData< T, C, MEM, CTR >::s_verbosity = 0

For debugging purposes.

◆ m_data

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

◆ m_ghost

template<typename T, unsigned int C = 1, MemType MEM = MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
Point Proto::LevelBoxData< T, C, MEM, CTR >::m_ghost
private

◆ m_layout

template<typename T, unsigned int C = 1, MemType MEM = MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
DisjointBoxLayout Proto::LevelBoxData< T, C, MEM, CTR >::m_layout
private

◆ m_isDefined

template<typename T, unsigned int C = 1, MemType MEM = MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
bool Proto::LevelBoxData< T, C, MEM, CTR >::m_isDefined
private

◆ m_exchangeCopier

template<typename T, unsigned int C = 1, MemType MEM = MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
std::shared_ptr<LevelExchangeCopier<T, C, MEM, CTR> > Proto::LevelBoxData< T, C, MEM, CTR >::m_exchangeCopier
private

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