IBAMR  IBAMR version 0.19.
Public Member Functions | Private Member Functions | List of all members
SAMRAI::math::HierarchyDataOpsInteger< DIM > Class Template Referenceabstract

#include <HierarchyDataOpsInteger.h>

Inheritance diagram for SAMRAI::math::HierarchyDataOpsInteger< DIM >:
Inheritance graph
[legend]

Public Member Functions

 HierarchyDataOpsInteger ()
 
virtual ~HierarchyDataOpsInteger ()
 
virtual void setPatchHierarchy (tbox::Pointer< hier::PatchHierarchy< DIM > > hierarchy)=0
 
virtual void resetLevels (const int coarsest_level, const int finest_level)=0
 
virtual const tbox::Pointer< hier::PatchHierarchy< DIM > > getPatchHierarchy () const =0
 
virtual int numberOfEntries (const int data_id, const bool interior_only=true) const =0
 
virtual void copyData (const int dst_id, const int src_id, const bool interior_only=true) const =0
 
virtual void swapData (const int data1_id, const int data2_id) const =0
 
virtual void printData (const int data_id, std::ostream &s, const bool interior_only=true) const =0
 
virtual void setToScalar (const int data_id, const int &alpha, const bool interior_only=true) const =0
 
virtual void scale (const int dst_id, const int &alpha, const int src_id, const bool interior_only=true) const =0
 
virtual void addScalar (const int dst_id, const int src_id, const int &alpha, const bool interior_only=true) const =0
 
virtual void add (const int dst_id, const int src1_id, const int src2_id, const bool interior_only=true) const =0
 
virtual void subtract (const int dst_id, const int src1_id, const int src2_id, const bool interior_only=true) const =0
 
virtual void multiply (const int dst_id, const int src1_id, const int src2_id, const bool interior_only=true) const =0
 
virtual void divide (const int dst_id, const int src1_id, const int src2_id, const bool interior_only=true) const =0
 
virtual void reciprocal (const int dst_id, const int src_id, const bool interior_only=true) const =0
 
virtual void linearSum (const int dst_id, const int &alpha, const int src1_id, const int &beta, const int src2_id, const bool interior_only=true) const =0
 
virtual void axpy (const int dst_id, const int &alpha, const int src1_id, const int src2_id, const bool interior_only=true) const =0
 
virtual void axmy (const int dst_id, const int &alpha, const int src1_id, const int src2_id, const bool interior_only=true) const =0
 
virtual void abs (const int dst_id, const int src_id, const bool interior_only=true) const =0
 
virtual int min (const int data_id, const bool interior_only=true) const =0
 
virtual int max (const int data_id, const bool interior_only=true) const =0
 
virtual void setRandomValues (const int data_id, const int &width, const int &low, const bool interior_only=true) const =0
 

Private Member Functions

 HierarchyDataOpsInteger (const HierarchyDataOpsInteger< DIM > &)
 
void operator= (const HierarchyDataOpsInteger< DIM > &)
 

Detailed Description

template<int DIM>
class SAMRAI::math::HierarchyDataOpsInteger< DIM >

Class HierarchyDataOpsInteger<DIM> defines the interface to a collection of operations that may be used to manipulate integer numerical patch data components over multiple levels in an AMR hierarchy. It serves as a base class for subclasses which implement the operations for cell-centered, face-centered, or node-centered data types. The patch hierarchy and set of levels within that hierarcy over which the operations will be performed are set in the constructor of the subclass. However, these data members may be changed at any time via the virtual access functions setPatchHierarchy() and resetLevels() below. The operations include basic arithmetic and some ordering operations.

Note that, when it makes sense, an operation accept a boolean argument which indicates whether the operation should be performed on all of the data or just those data elements corresponding to the patch interiors.
If no boolean argument is provided, the default behavior is to treat only the patch interiors. Also, interfaces for similar sets of operations for real (double and float) and complex hierarchy data are defined in the classes HierarchyDataOpsReal<DIM> and HierarchyDataOpsComplex<DIM>, respectively.

Constructor & Destructor Documentation

◆ HierarchyDataOpsInteger() [1/2]

The constructor for the HierarchyDataOpsInteger<DIM> class.

◆ ~HierarchyDataOpsInteger()

template<int DIM>
virtual SAMRAI::math::HierarchyDataOpsInteger< DIM >::~HierarchyDataOpsInteger ( )
virtual

Virtual destructor for the HierarchyDataOpsInteger<DIM> class.

◆ HierarchyDataOpsInteger() [2/2]

template<int DIM>
SAMRAI::math::HierarchyDataOpsInteger< DIM >::HierarchyDataOpsInteger ( const HierarchyDataOpsInteger< DIM > &  )
private

Member Function Documentation

◆ setPatchHierarchy()

template<int DIM>
virtual void SAMRAI::math::HierarchyDataOpsInteger< DIM >::setPatchHierarchy ( tbox::Pointer< hier::PatchHierarchy< DIM > >  hierarchy)
pure virtual

◆ resetLevels()

template<int DIM>
virtual void SAMRAI::math::HierarchyDataOpsInteger< DIM >::resetLevels ( const int  coarsest_level,
const int  finest_level 
)
pure virtual

◆ getPatchHierarchy()

template<int DIM>
virtual const tbox::Pointer< hier::PatchHierarchy<DIM> > SAMRAI::math::HierarchyDataOpsInteger< DIM >::getPatchHierarchy ( ) const
pure virtual

◆ numberOfEntries()

template<int DIM>
virtual int SAMRAI::math::HierarchyDataOpsInteger< DIM >::numberOfEntries ( const int  data_id,
const bool  interior_only = true 
) const
pure virtual

Return the total number of data values for the component on the set of hierarchy levels. If the boolean argument is true, the number of elements will be summed over patch interiors. If the boolean argument is false, all elements will be counted (including ghost values) over all patches.

Implemented in SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >, SAMRAI::math::HierarchyFaceDataOpsInteger< DIM >, SAMRAI::math::HierarchySideDataOpsInteger< DIM >, SAMRAI::math::HierarchyCellDataOpsInteger< DIM >, and SAMRAI::math::HierarchyNodeDataOpsInteger< DIM >.

◆ copyData()

template<int DIM>
virtual void SAMRAI::math::HierarchyDataOpsInteger< DIM >::copyData ( const int  dst_id,
const int  src_id,
const bool  interior_only = true 
) const
pure virtual

◆ swapData()

template<int DIM>
virtual void SAMRAI::math::HierarchyDataOpsInteger< DIM >::swapData ( const int  data1_id,
const int  data2_id 
) const
pure virtual

◆ printData()

template<int DIM>
virtual void SAMRAI::math::HierarchyDataOpsInteger< DIM >::printData ( const int  data_id,
std::ostream &  s,
const bool  interior_only = true 
) const
pure virtual

◆ setToScalar()

template<int DIM>
virtual void SAMRAI::math::HierarchyDataOpsInteger< DIM >::setToScalar ( const int  data_id,
const int alpha,
const bool  interior_only = true 
) const
pure virtual

◆ scale()

template<int DIM>
virtual void SAMRAI::math::HierarchyDataOpsInteger< DIM >::scale ( const int  dst_id,
const int alpha,
const int  src_id,
const bool  interior_only = true 
) const
pure virtual

◆ addScalar()

template<int DIM>
virtual void SAMRAI::math::HierarchyDataOpsInteger< DIM >::addScalar ( const int  dst_id,
const int  src_id,
const int alpha,
const bool  interior_only = true 
) const
pure virtual

◆ add()

template<int DIM>
virtual void SAMRAI::math::HierarchyDataOpsInteger< DIM >::add ( const int  dst_id,
const int  src1_id,
const int  src2_id,
const bool  interior_only = true 
) const
pure virtual

◆ subtract()

template<int DIM>
virtual void SAMRAI::math::HierarchyDataOpsInteger< DIM >::subtract ( const int  dst_id,
const int  src1_id,
const int  src2_id,
const bool  interior_only = true 
) const
pure virtual

◆ multiply()

template<int DIM>
virtual void SAMRAI::math::HierarchyDataOpsInteger< DIM >::multiply ( const int  dst_id,
const int  src1_id,
const int  src2_id,
const bool  interior_only = true 
) const
pure virtual

◆ divide()

template<int DIM>
virtual void SAMRAI::math::HierarchyDataOpsInteger< DIM >::divide ( const int  dst_id,
const int  src1_id,
const int  src2_id,
const bool  interior_only = true 
) const
pure virtual

◆ reciprocal()

template<int DIM>
virtual void SAMRAI::math::HierarchyDataOpsInteger< DIM >::reciprocal ( const int  dst_id,
const int  src_id,
const bool  interior_only = true 
) const
pure virtual

◆ linearSum()

template<int DIM>
virtual void SAMRAI::math::HierarchyDataOpsInteger< DIM >::linearSum ( const int  dst_id,
const int alpha,
const int  src1_id,
const int beta,
const int  src2_id,
const bool  interior_only = true 
) const
pure virtual

Set \(d = \alpha s_1 + \beta s_2\), where \(d\) is the destination patch data component and \(s_1, s_2\) are the first and second source components, respectively. Here \(\alpha, \beta\) are scalar values.

Implemented in SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >, SAMRAI::math::HierarchyFaceDataOpsInteger< DIM >, SAMRAI::math::HierarchySideDataOpsInteger< DIM >, SAMRAI::math::HierarchyCellDataOpsInteger< DIM >, and SAMRAI::math::HierarchyNodeDataOpsInteger< DIM >.

◆ axpy()

template<int DIM>
virtual void SAMRAI::math::HierarchyDataOpsInteger< DIM >::axpy ( const int  dst_id,
const int alpha,
const int  src1_id,
const int  src2_id,
const bool  interior_only = true 
) const
pure virtual

Set \(d = \alpha s_1 + s_2\), where \(d\) is the destination patch data component and \(s_1, s_2\) are the first and second source components, respectively. Here \(\alpha\) is a scalar.

Implemented in SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >, SAMRAI::math::HierarchyFaceDataOpsInteger< DIM >, SAMRAI::math::HierarchySideDataOpsInteger< DIM >, SAMRAI::math::HierarchyCellDataOpsInteger< DIM >, and SAMRAI::math::HierarchyNodeDataOpsInteger< DIM >.

◆ axmy()

template<int DIM>
virtual void SAMRAI::math::HierarchyDataOpsInteger< DIM >::axmy ( const int  dst_id,
const int alpha,
const int  src1_id,
const int  src2_id,
const bool  interior_only = true 
) const
pure virtual

Set \(d = \alpha s_1 - s_2\), where \(d\) is the destination patch data component and \(s_1, s_2\) are the first and second source components, respectively. Here \(\alpha\) is a scalar.

Implemented in SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >, SAMRAI::math::HierarchyFaceDataOpsInteger< DIM >, SAMRAI::math::HierarchySideDataOpsInteger< DIM >, SAMRAI::math::HierarchyCellDataOpsInteger< DIM >, and SAMRAI::math::HierarchyNodeDataOpsInteger< DIM >.

◆ abs()

template<int DIM>
virtual void SAMRAI::math::HierarchyDataOpsInteger< DIM >::abs ( const int  dst_id,
const int  src_id,
const bool  interior_only = true 
) const
pure virtual

◆ min()

template<int DIM>
virtual int SAMRAI::math::HierarchyDataOpsInteger< DIM >::min ( const int  data_id,
const bool  interior_only = true 
) const
pure virtual

◆ max()

template<int DIM>
virtual int SAMRAI::math::HierarchyDataOpsInteger< DIM >::max ( const int  data_id,
const bool  interior_only = true 
) const
pure virtual

◆ setRandomValues()

template<int DIM>
virtual void SAMRAI::math::HierarchyDataOpsInteger< DIM >::setRandomValues ( const int  data_id,
const int width,
const int low,
const bool  interior_only = true 
) const
pure virtual

Set data entries to random values. See the operations in the array data operation classes for each data type for details on the generation of the random values.

Implemented in SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >, SAMRAI::math::HierarchyFaceDataOpsInteger< DIM >, SAMRAI::math::HierarchySideDataOpsInteger< DIM >, SAMRAI::math::HierarchyCellDataOpsInteger< DIM >, and SAMRAI::math::HierarchyNodeDataOpsInteger< DIM >.

◆ operator=()

template<int DIM>
void SAMRAI::math::HierarchyDataOpsInteger< DIM >::operator= ( const HierarchyDataOpsInteger< DIM > &  )
private

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