Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM > Class Template Reference

#include <source/mathops/edge/HierarchyEdgeDataOpsInteger.h>

Inheritance diagram for SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >:

Inheritance graph
[legend]
List of all members.

Public Member Functions

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

Detailed Description

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

Class HierarchyEdgeDataOpsInteger<DIM> provides a collection of operations that manipulate integer edge-centered patch data components over multiple levels in an AMR hierarchy. It is derived from the abstract base class HierarchyDataOpsInteger<DIM> which defines the interface to similar operations for edge-centered, edge-centered, edge-centered patch data objects where the data is of type integer. The operations include basic arithmetic and some ordering operations. On each patch, the operations are performed by the PatchEdgeDataOpsInteger<DIM> data member.

The patch hierarchy and set of levels within that hierarcy over which the operations will be performed are set in the constructor. However, note that the constructor accepts default arguments for the coarsest and finest level numbers. If the level numbers are not specified when calling the constructor the levels which exist in the hierarchy will be assumed in all operations. The hierarchy and levels may be changed at any time using the proper member functions.

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, a similar set of operations for real (double and float) and complex edge-centered data is provided in the classes HierarchyEdgeDataOpsReal<DIM> and HierarchyEdgeDataOpsComplex<DIM>, respectively.

See also:
math::PatchEdgeDataOpsInteger


Constructor & Destructor Documentation

template<int DIM>
SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::HierarchyEdgeDataOpsInteger tbox::Pointer< hier::PatchHierarchy< DIM > >  hierarchy,
const int  coarsest_level = -1,
const int  finest_level = -1
 

The constructor for the HierarchyEdgeDataOpsInteger<DIM> class sets the default patch hierarchy and coarsest and finest patch levels in that hierarchy over which operations will be performed. The hierarchy and operations may be reset using the member fuctions setPatchHierarchy() and resetLevels() below. If no level number arguments are given here, the levels over which the operations will be performed are those already existing in the hierarchy. If the hierarchy level configuration changes, the operations must be explicitly reset by calling the resetLevels() function.

template<int DIM>
SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::~HierarchyEdgeDataOpsInteger  )  [virtual]
 

Virtual destructor for the HierarchyEdgeDataOpsInteger<DIM> class.


Member Function Documentation

template<int DIM>
void SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::setPatchHierarchy tbox::Pointer< hier::PatchHierarchy< DIM > >  hierarchy  )  [virtual]
 

Reset patch hierarchy over which operations occur.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
void SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::resetLevels const int  coarsest_level,
const int  finest_level
[virtual]
 

Reset range of patch levels over which operations occur. Levels must exist in hierarchy or an assertion will result.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
const tbox::Pointer< hier::PatchHierarchy< DIM > > SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::getPatchHierarchy  )  const [virtual]
 

Return const pointer to patch hierarchy associated with operations.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
int SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::numberOfEntries const int  data_id,
const bool  interior_only = true
const [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 in a unique way which avoids multiple counting of redundant values (recall the definition of node points on a patch interior). If the boolean argument is false, all elements will be counted (including ghost values) over all patches.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
void SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::copyData const int  dst_id,
const int  src_id,
const bool  interior_only = true
const [virtual]
 

Copy source data to destination data.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
void SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::swapData const int  data1_id,
const int  data2_id
const [virtual]
 

Swap data pointers (i.e., storage) between two data components.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
void SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::printData const int  data_id,
ostream &  s,
const bool  interior_only = true
const [virtual]
 

Print data over multiple levels to specified output stream.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
void SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::setToScalar const int  data_id,
const int &  alpha,
const bool  interior_only = true
const [virtual]
 

Set data component to given scalar.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
void SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::scale const int  dst_id,
const int &  alpha,
const int  src_id,
const bool  interior_only = true
const [virtual]
 

Set destination to source multiplied by given scalar, pointwise.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
void SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::addScalar const int  dst_id,
const int  src_id,
const int &  alpha,
const bool  interior_only = true
const [virtual]
 

Add scalar to each entry in source data and set destination to result.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
void SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::add const int  dst_id,
const int  src1_id,
const int  src2_id,
const bool  interior_only = true
const [virtual]
 

Set destination to sum of two source components, pointwise.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
void SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::subtract const int  dst_id,
const int  src1_id,
const int  src2_id,
const bool  interior_only = true
const [virtual]
 

Subtract second source component from first source component pointwise and set destination data component to result.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
void SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::multiply const int  dst_id,
const int  src1_id,
const int  src2_id,
const bool  interior_only = true
const [virtual]
 

Set destination component to product of two source components, pointwise.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
void SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::divide const int  dst_id,
const int  src1_id,
const int  src2_id,
const bool  interior_only = true
const [virtual]
 

Divide first data component by second source component pointwise and set destination data component to result.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
void SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::reciprocal const int  dst_id,
const int  src_id,
const bool  interior_only = true
const [virtual]
 

Set each entry of destination component to reciprocal of corresponding source data component entry.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
void SAMRAI::math::HierarchyEdgeDataOpsInteger< 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 [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.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
void SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::axpy const int  dst_id,
const int &  alpha,
const int  src1_id,
const int  src2_id,
const bool  interior_only = true
const [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.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
void SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::axmy const int  dst_id,
const int &  alpha,
const int  src1_id,
const int  src2_id,
const bool  interior_only = true
const [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.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
void SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::abs const int  dst_id,
const int  src_id,
const bool  interior_only = true
const [virtual]
 

Set destination data to absolute value of source data, pointwise.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
int SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::min const int  data_id,
const bool  interior_only = true
const [virtual]
 

Return minimum data value over all patches in the collection of levels.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
int SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::max const int  data_id,
const bool  interior_only = true
const [virtual]
 

Return maximum data value over all patches in the collection of levels.

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.

template<int DIM>
void SAMRAI::math::HierarchyEdgeDataOpsInteger< DIM >::setRandomValues const int  data_id,
const int &  width,
const int &  low,
const bool  interior_only = true
const [virtual]
 

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

Implements SAMRAI::math::HierarchyDataOpsInteger< DIM >.


The documentation for this class was generated from the following files:
Generated on Fri Dec 2 11:25:04 2005 for SAMRAI by  doxygen 1.4.2