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

SAMRAI::math::PatchCellDataBasicOps< DIM, TYPE > Class Template Reference

#include <source/mathops/cell/PatchCellDataBasicOps.h>

Inheritance diagram for SAMRAI::math::PatchCellDataBasicOps< DIM, TYPE >:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 PatchCellDataBasicOps ()
virtual ~PatchCellDataBasicOps ()
void scale (tbox::Pointer< pdat::CellData< DIM, TYPE > > &dst, const TYPE &alpha, const tbox::Pointer< pdat::CellData< DIM, TYPE > > &src, const hier::Box< DIM > &box) const
void addScalar (tbox::Pointer< pdat::CellData< DIM, TYPE > > &dst, const tbox::Pointer< pdat::CellData< DIM, TYPE > > &src, const TYPE &alpha, const hier::Box< DIM > &box) const
void add (tbox::Pointer< pdat::CellData< DIM, TYPE > > &dst, const tbox::Pointer< pdat::CellData< DIM, TYPE > > &src1, const tbox::Pointer< pdat::CellData< DIM, TYPE > > &src2, const hier::Box< DIM > &box) const
void subtract (tbox::Pointer< pdat::CellData< DIM, TYPE > > &dst, const tbox::Pointer< pdat::CellData< DIM, TYPE > > &src1, const tbox::Pointer< pdat::CellData< DIM, TYPE > > &src2, const hier::Box< DIM > &box) const
void multiply (tbox::Pointer< pdat::CellData< DIM, TYPE > > &dst, const tbox::Pointer< pdat::CellData< DIM, TYPE > > &src1, const tbox::Pointer< pdat::CellData< DIM, TYPE > > &src2, const hier::Box< DIM > &box) const
void divide (tbox::Pointer< pdat::CellData< DIM, TYPE > > &dst, const tbox::Pointer< pdat::CellData< DIM, TYPE > > &src1, const tbox::Pointer< pdat::CellData< DIM, TYPE > > &src2, const hier::Box< DIM > &box) const
void reciprocal (tbox::Pointer< pdat::CellData< DIM, TYPE > > &dst, const tbox::Pointer< pdat::CellData< DIM, TYPE > > &src, const hier::Box< DIM > &box) const
void linearSum (tbox::Pointer< pdat::CellData< DIM, TYPE > > &dst, const TYPE &alpha, const tbox::Pointer< pdat::CellData< DIM, TYPE > > &src1, const TYPE &beta, const tbox::Pointer< pdat::CellData< DIM, TYPE > > &src2, const hier::Box< DIM > &box) const
void axpy (tbox::Pointer< pdat::CellData< DIM, TYPE > > &dst, const TYPE &alpha, const tbox::Pointer< pdat::CellData< DIM, TYPE > > &src1, const tbox::Pointer< pdat::CellData< DIM, TYPE > > &src2, const hier::Box< DIM > &box) const
void axmy (tbox::Pointer< pdat::CellData< DIM, TYPE > > &dst, const TYPE &alpha, const tbox::Pointer< pdat::CellData< DIM, TYPE > > &src1, const tbox::Pointer< pdat::CellData< DIM, TYPE > > &src2, const hier::Box< DIM > &box) const
TYPE min (const tbox::Pointer< pdat::CellData< DIM, TYPE > > &data, const hier::Box< DIM > &box) const
TYPE max (const tbox::Pointer< pdat::CellData< DIM, TYPE > > &data, const hier::Box< DIM > &box) const
void setRandomValues (tbox::Pointer< pdat::CellData< DIM, TYPE > > &dst, const TYPE &width, const TYPE &low, const hier::Box< DIM > &box) const

Detailed Description

template<int DIM, class TYPE>
class SAMRAI::math::PatchCellDataBasicOps< DIM, TYPE >

Class PatchCellDataBasicOps<DIM> provides access to a collection of basic numerical operations that may be applied to numerical cell- centered patch data. These operations include simple arithmetic operations as well as min and max, etc. The primary intent of this class is to provide the interface to these standard operations for an PatchCellDataOpsi<DIM> object which provides access to a complete set of operations that may be used to manipulate cell-centered patch data objects. Each member function accepts a box argument indicating the region of index space on which the operation should be performed. The operation will be performed on the intersection of this box and those boxes corresponding to the patch data objects involved.

These operations typically apply only to the numerical standard built-in types, such as double, float, and int, and the complex type (which may or may not be a built-in type depending on the C++ compiler). Thus, this templated class should only be used to instantiate objects with those types as the template parameter. None of the operations are implemented for any other type.

See also:
math::ArrayDataBasicOps


Constructor & Destructor Documentation

template<int DIM, class TYPE>
SAMRAI::math::PatchCellDataBasicOps< DIM, TYPE >::PatchCellDataBasicOps  ) 
 

Empty constructor and destructor.

template<int DIM, class TYPE>
SAMRAI::math::PatchCellDataBasicOps< DIM, TYPE >::~PatchCellDataBasicOps  )  [virtual]
 


Member Function Documentation

template<int DIM, class TYPE>
void SAMRAI::math::PatchCellDataBasicOps< DIM, TYPE >::scale tbox::Pointer< pdat::CellData< DIM, TYPE > > &  dst,
const TYPE &  alpha,
const tbox::Pointer< pdat::CellData< DIM, TYPE > > &  src,
const hier::Box< DIM > &  box
const
 

Set dst = alpha * src, elementwise.

template<int DIM, class TYPE>
void SAMRAI::math::PatchCellDataBasicOps< DIM, TYPE >::addScalar tbox::Pointer< pdat::CellData< DIM, TYPE > > &  dst,
const tbox::Pointer< pdat::CellData< DIM, TYPE > > &  src,
const TYPE &  alpha,
const hier::Box< DIM > &  box
const
 

Set dst = src + alpha, elementwise.

template<int DIM, class TYPE>
void SAMRAI::math::PatchCellDataBasicOps< DIM, TYPE >::add tbox::Pointer< pdat::CellData< DIM, TYPE > > &  dst,
const tbox::Pointer< pdat::CellData< DIM, TYPE > > &  src1,
const tbox::Pointer< pdat::CellData< DIM, TYPE > > &  src2,
const hier::Box< DIM > &  box
const
 

Set dst = src1 + src2, elementwise.

template<int DIM, class TYPE>
void SAMRAI::math::PatchCellDataBasicOps< DIM, TYPE >::subtract tbox::Pointer< pdat::CellData< DIM, TYPE > > &  dst,
const tbox::Pointer< pdat::CellData< DIM, TYPE > > &  src1,
const tbox::Pointer< pdat::CellData< DIM, TYPE > > &  src2,
const hier::Box< DIM > &  box
const
 

Set dst = src1 - src2, elementwise.

template<int DIM, class TYPE>
void SAMRAI::math::PatchCellDataBasicOps< DIM, TYPE >::multiply tbox::Pointer< pdat::CellData< DIM, TYPE > > &  dst,
const tbox::Pointer< pdat::CellData< DIM, TYPE > > &  src1,
const tbox::Pointer< pdat::CellData< DIM, TYPE > > &  src2,
const hier::Box< DIM > &  box
const
 

Set dst = src1 * src2, elementwise.

template<int DIM, class TYPE>
void SAMRAI::math::PatchCellDataBasicOps< DIM, TYPE >::divide tbox::Pointer< pdat::CellData< DIM, TYPE > > &  dst,
const tbox::Pointer< pdat::CellData< DIM, TYPE > > &  src1,
const tbox::Pointer< pdat::CellData< DIM, TYPE > > &  src2,
const hier::Box< DIM > &  box
const
 

Set dst = src1 / src2, elementwise. No check for division by zero.

template<int DIM, class TYPE>
void SAMRAI::math::PatchCellDataBasicOps< DIM, TYPE >::reciprocal tbox::Pointer< pdat::CellData< DIM, TYPE > > &  dst,
const tbox::Pointer< pdat::CellData< DIM, TYPE > > &  src,
const hier::Box< DIM > &  box
const
 

Set dst = 1 / src, elementwise. No check for division by zero.

template<int DIM, class TYPE>
void SAMRAI::math::PatchCellDataBasicOps< DIM, TYPE >::linearSum tbox::Pointer< pdat::CellData< DIM, TYPE > > &  dst,
const TYPE &  alpha,
const tbox::Pointer< pdat::CellData< DIM, TYPE > > &  src1,
const TYPE &  beta,
const tbox::Pointer< pdat::CellData< DIM, TYPE > > &  src2,
const hier::Box< DIM > &  box
const
 

Set dst = alpha * src1 + beta * src2, elementwise.

template<int DIM, class TYPE>
void SAMRAI::math::PatchCellDataBasicOps< DIM, TYPE >::axpy tbox::Pointer< pdat::CellData< DIM, TYPE > > &  dst,
const TYPE &  alpha,
const tbox::Pointer< pdat::CellData< DIM, TYPE > > &  src1,
const tbox::Pointer< pdat::CellData< DIM, TYPE > > &  src2,
const hier::Box< DIM > &  box
const
 

Set dst = alpha * src1 + src2, elementwise.

template<int DIM, class TYPE>
void SAMRAI::math::PatchCellDataBasicOps< DIM, TYPE >::axmy tbox::Pointer< pdat::CellData< DIM, TYPE > > &  dst,
const TYPE &  alpha,
const tbox::Pointer< pdat::CellData< DIM, TYPE > > &  src1,
const tbox::Pointer< pdat::CellData< DIM, TYPE > > &  src2,
const hier::Box< DIM > &  box
const
 

Set dst = alpha * src1 - src2, elementwise.

template<int DIM, class TYPE>
TYPE SAMRAI::math::PatchCellDataBasicOps< DIM, TYPE >::min const tbox::Pointer< pdat::CellData< DIM, TYPE > > &  data,
const hier::Box< DIM > &  box
const
 

Return the minimum patch data component entry When the data is complex, the result is the data element with the smallest norm.

template<int DIM, class TYPE>
TYPE SAMRAI::math::PatchCellDataBasicOps< DIM, TYPE >::max const tbox::Pointer< pdat::CellData< DIM, TYPE > > &  data,
const hier::Box< DIM > &  box
const
 

Return the maximum patch data component entry When the data is complex, the result is the data element with the largest norm.

template<int DIM, class TYPE>
void SAMRAI::math::PatchCellDataBasicOps< DIM, TYPE >::setRandomValues tbox::Pointer< pdat::CellData< DIM, TYPE > > &  dst,
const TYPE &  width,
const TYPE &  low,
const hier::Box< DIM > &  box
const
 

Set patch data to random values. See the operations in the ArrayDataBasicOps<DIM> class for details on the generation of the random values for each data type.


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