IBAMR  IBAMR version 0.19.
Static Public Member Functions | Private Member Functions | List of all members
SAMRAI::pdat::ArrayDataOperationUtilities< DIM, TYPE, OP > Class Template Reference

Struct ArrayDataOperationUtilities<DIM, TYPE, OP> provides generic looping operations for all array-based patch data types. The operations are templated on spatial dimension, data type, and the operation that will be performed on individual array elements in the innermost loop. More...

#include <ArrayDataOperationUtilities.h>

Static Public Member Functions

static void doArrayDataOperationOnBox (ArrayData< DIM, TYPE > &dst, const ArrayData< DIM, TYPE > &src, const hier::Box< DIM > &opbox, const hier::IntVector< DIM > &src_shift, int dst_start_depth, int src_start_depth, int num_depth, const OP &op)
 
static void doArrayDataBufferOperationOnBox (const ArrayData< DIM, TYPE > &arraydata, const TYPE *buffer, const hier::Box< DIM > &opbox, bool src_is_buffer, const OP &op)
 

Private Member Functions

 ArrayDataOperationUtilities ()
 
 ~ArrayDataOperationUtilities ()
 
 ArrayDataOperationUtilities (const ArrayDataOperationUtilities< DIM, TYPE, OP > &)
 
void operator= (const ArrayDataOperationUtilities< DIM, TYPE, OP > &)
 

Detailed Description

template<int DIM, class TYPE, class OP>
class SAMRAI::pdat::ArrayDataOperationUtilities< DIM, TYPE, OP >

See also
ArrayData

Constructor & Destructor Documentation

◆ ArrayDataOperationUtilities() [1/2]

template<int DIM, class TYPE , class OP >
SAMRAI::pdat::ArrayDataOperationUtilities< DIM, TYPE, OP >::ArrayDataOperationUtilities ( )
private

◆ ~ArrayDataOperationUtilities()

template<int DIM, class TYPE , class OP >
SAMRAI::pdat::ArrayDataOperationUtilities< DIM, TYPE, OP >::~ArrayDataOperationUtilities ( )
private

◆ ArrayDataOperationUtilities() [2/2]

template<int DIM, class TYPE , class OP >
SAMRAI::pdat::ArrayDataOperationUtilities< DIM, TYPE, OP >::ArrayDataOperationUtilities ( const ArrayDataOperationUtilities< DIM, TYPE, OP > &  )
private

Member Function Documentation

◆ doArrayDataOperationOnBox()

template<int DIM, class TYPE , class OP >
static void SAMRAI::pdat::ArrayDataOperationUtilities< DIM, TYPE, OP >::doArrayDataOperationOnBox ( ArrayData< DIM, TYPE > &  dst,
const ArrayData< DIM, TYPE > &  src,
const hier::Box< DIM > &  opbox,
const hier::IntVector< DIM > &  src_shift,
int  dst_start_depth,
int  src_start_depth,
int  num_depth,
const OP &  op 
)
static

Perform operation on a subset of data components of source and destination array data objects and put results in destination array data object.

Parameters
dstReference to destination array data object.
srcConst reference to source array data object.
opboxConst reference to Box indicating index space region of operation.
src_shiftConst reference to IntVector indicating shift required to put source index space region into destination index space region.
dst_start_depthInteger specifying starting depth component of operation in destination array.
src_start_depthInteger specifying starting depth component of operation in source array.
num_depthInteger number of depth components on which to perform operation.
opConst reference to object that performs operations on individual data array elements.

When assertion checking is active, assertion will result when any of the depth-related arguments are out-of-bounds for the given array data objects.

◆ doArrayDataBufferOperationOnBox()

template<int DIM, class TYPE , class OP >
static void SAMRAI::pdat::ArrayDataOperationUtilities< DIM, TYPE, OP >::doArrayDataBufferOperationOnBox ( const ArrayData< DIM, TYPE > &  arraydata,
const TYPE *  buffer,
const hier::Box< DIM > &  opbox,
bool  src_is_buffer,
const OP &  op 
)
static

Perform operation on all data components of array data object and corresponding buffer data, putting results in either the array data object or buffer.

Parameters
arraydataConst reference to array data object.
bufferConst pointer to first element in buffer.
opboxConst reference to Box indicating operation region in index space of array data object.
src_is_bufferBoolean value indicating whether buffer is source data for operation; if true results will be placed in array data object, otherwise results will go in buffer.
opConst reference to object that performs operations on individual data array elements.

When assertion checking is active, assertion will result when buffer pointer is null or operation box is not the same as the array data box.

◆ operator=()

template<int DIM, class TYPE , class OP >
void SAMRAI::pdat::ArrayDataOperationUtilities< DIM, TYPE, OP >::operator= ( const ArrayDataOperationUtilities< DIM, TYPE, OP > &  )
private

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