#include <source/mathops/hierarchy/HierarchyDataOpsComplex.h>
Inheritance diagram for SAMRAI::math::HierarchyDataOpsComplex< DIM >:
Public Member Functions | |
HierarchyDataOpsComplex () | |
virtual | ~HierarchyDataOpsComplex () |
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 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 dcomplex &alpha, const bool interior_only=true) const =0 |
virtual void | scale (const int dst_id, const dcomplex &alpha, const int src_id, const bool interior_only=true) const =0 |
virtual void | addScalar (const int dst_id, const int src_id, const dcomplex &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 dcomplex &alpha, const int src1_id, const dcomplex &beta, const int src2_id, const bool interior_only=true) const =0 |
virtual void | axpy (const int dst_id, const dcomplex &alpha, const int src1_id, const int src2_id, const bool interior_only=true) const =0 |
virtual void | axmy (const int dst_id, const dcomplex &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 void | setRandomValues (const int data_id, const dcomplex &width, const dcomplex &low, const bool interior_only=true) const =0 |
virtual int | numberOfEntries (const int data_id, const bool interior_only=true) const =0 |
virtual double | sumControlVolumes (const int data_id, const int vol_id) const =0 |
virtual double | L1Norm (const int data_id, const int vol_id=-1) const=0 |
virtual double | L2Norm (const int data_id, const int vol_id=-1) const=0 |
virtual double | weightedL2Norm (const int data_id, const int weight_id, const int vol_id=-1) const =0 |
virtual double | RMSNorm (const int data_id, const int vol_id=-1) const=0 |
virtual double | weightedRMSNorm (const int data_id, const int weight_id, const int vol_id=-1) const =0 |
virtual double | maxNorm (const int data_id, const int vol_id=-1) const=0 |
virtual dcomplex | dot (const int data1_id, const int data2_id, const int vol_id=-1) const =0 |
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 integer hierarchy data are defined in the classes HierarchyDataOpsReal<DIM> and HierarchyDataOpsInteger<DIM>, respectively.
SAMRAI::math::HierarchyDataOpsComplex< DIM >::HierarchyDataOpsComplex | ( | ) |
The constructor for the HierarchyDataOpsComplex<DIM> class.
SAMRAI::math::HierarchyDataOpsComplex< DIM >::~HierarchyDataOpsComplex | ( | ) | [virtual] |
Virtual destructor for the HierarchyDataOpsComplex<DIM> class.
virtual void SAMRAI::math::HierarchyDataOpsComplex< DIM >::setPatchHierarchy | ( | tbox::Pointer< hier::PatchHierarchy< DIM > > | hierarchy | ) | [pure virtual] |
Reset patch hierarchy over which operations occur.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual void SAMRAI::math::HierarchyDataOpsComplex< DIM >::resetLevels | ( | const int | coarsest_level, | |
const int | finest_level | |||
) | [pure virtual] |
Reset range of patch levels over which operations occur. Typically, levels must exist in hierarchy or an assertion will result.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual const tbox::Pointer< hier::PatchHierarchy<DIM> > SAMRAI::math::HierarchyDataOpsComplex< DIM >::getPatchHierarchy | ( | ) | const [pure virtual] |
Return const pointer to patch hierarchy associated with operations.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual void SAMRAI::math::HierarchyDataOpsComplex< DIM >::copyData | ( | const int | dst_id, | |
const int | src_id, | |||
const bool | interior_only = true | |||
) | const [pure virtual] |
Copy source data to destination data.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual void SAMRAI::math::HierarchyDataOpsComplex< DIM >::swapData | ( | const int | data1_id, | |
const int | data2_id | |||
) | const [pure virtual] |
Swap data pointers (i.e., storage) between two data components.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual void SAMRAI::math::HierarchyDataOpsComplex< DIM >::printData | ( | const int | data_id, | |
std::ostream & | s, | |||
const bool | interior_only = true | |||
) | const [pure virtual] |
Print data over multiple levels to specified output stream.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual void SAMRAI::math::HierarchyDataOpsComplex< DIM >::setToScalar | ( | const int | data_id, | |
const dcomplex & | alpha, | |||
const bool | interior_only = true | |||
) | const [pure virtual] |
Set data component to given scalar.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual void SAMRAI::math::HierarchyDataOpsComplex< DIM >::scale | ( | const int | dst_id, | |
const dcomplex & | alpha, | |||
const int | src_id, | |||
const bool | interior_only = true | |||
) | const [pure virtual] |
Set destination to source multiplied by given scalar, pointwise.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual void SAMRAI::math::HierarchyDataOpsComplex< DIM >::addScalar | ( | const int | dst_id, | |
const int | src_id, | |||
const dcomplex & | alpha, | |||
const bool | interior_only = true | |||
) | const [pure virtual] |
Add scalar to each entry in source data and set destination to result.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual void SAMRAI::math::HierarchyDataOpsComplex< DIM >::add | ( | const int | dst_id, | |
const int | src1_id, | |||
const int | src2_id, | |||
const bool | interior_only = true | |||
) | const [pure virtual] |
Set destination to sum of two source components, pointwise.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual void SAMRAI::math::HierarchyDataOpsComplex< DIM >::subtract | ( | const int | dst_id, | |
const int | src1_id, | |||
const int | src2_id, | |||
const bool | interior_only = true | |||
) | const [pure virtual] |
Subtract second source component from first source component pointwise and set destination data component to result.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual void SAMRAI::math::HierarchyDataOpsComplex< DIM >::multiply | ( | const int | dst_id, | |
const int | src1_id, | |||
const int | src2_id, | |||
const bool | interior_only = true | |||
) | const [pure virtual] |
Set destination component to product of two source components, pointwise.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual void SAMRAI::math::HierarchyDataOpsComplex< DIM >::divide | ( | const int | dst_id, | |
const int | src1_id, | |||
const int | src2_id, | |||
const bool | interior_only = true | |||
) | const [pure virtual] |
Divide first data component by second source component pointwise and set destination data component to result.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual void SAMRAI::math::HierarchyDataOpsComplex< DIM >::reciprocal | ( | const int | dst_id, | |
const int | src_id, | |||
const bool | interior_only = true | |||
) | const [pure virtual] |
Set each entry of destination component to reciprocal of corresponding source data component entry.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual void SAMRAI::math::HierarchyDataOpsComplex< DIM >::linearSum | ( | const int | dst_id, | |
const dcomplex & | alpha, | |||
const int | src1_id, | |||
const dcomplex & | beta, | |||
const int | src2_id, | |||
const bool | interior_only = true | |||
) | const [pure virtual] |
Set , where is the destination patch data component and are the first and second source components, respectively. Here are scalar values.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual void SAMRAI::math::HierarchyDataOpsComplex< DIM >::axpy | ( | const int | dst_id, | |
const dcomplex & | alpha, | |||
const int | src1_id, | |||
const int | src2_id, | |||
const bool | interior_only = true | |||
) | const [pure virtual] |
Set , where is the destination patch data component and are the first and second source components, respectively. Here is a scalar.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual void SAMRAI::math::HierarchyDataOpsComplex< DIM >::axmy | ( | const int | dst_id, | |
const dcomplex & | alpha, | |||
const int | src1_id, | |||
const int | src2_id, | |||
const bool | interior_only = true | |||
) | const [pure virtual] |
Set , where is the destination patch data component and are the first and second source components, respectively. Here is a scalar.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual void SAMRAI::math::HierarchyDataOpsComplex< DIM >::abs | ( | const int | dst_id, | |
const int | src_id, | |||
const bool | interior_only = true | |||
) | const [pure virtual] |
Set destination data to absolute value of source data, pointwise.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual void SAMRAI::math::HierarchyDataOpsComplex< DIM >::setRandomValues | ( | const int | data_id, | |
const dcomplex & | width, | |||
const dcomplex & | 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::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual int SAMRAI::math::HierarchyDataOpsComplex< 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::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual double SAMRAI::math::HierarchyDataOpsComplex< DIM >::sumControlVolumes | ( | const int | data_id, | |
const int | vol_id | |||
) | const [pure virtual] |
Return sum of the control volumes associated with the data component. Note that if the ontrol volumes are set propery, this is equivalent to integrating a data component containing all ones over the collection of hierarchy levels.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual double SAMRAI::math::HierarchyDataOpsComplex< DIM >::L1Norm | ( | const int | data_id, | |
const int | vol_id = -1 | |||
) | const [pure virtual] |
Return discrete -norm of the data using the control volume to weight the contribution of each data entry to the sum. That is, the return value is the sum . If the control volume is undefined (vol_id < 0), the return value is .
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual double SAMRAI::math::HierarchyDataOpsComplex< DIM >::L2Norm | ( | const int | data_id, | |
const int | vol_id = -1 | |||
) | const [pure virtual] |
Return discrete -norm of the data using the control volume to weight the contribution of each data entry to the sum. That is, the return value is the sum . If the control volume is undefined (vol_id < 0), the return value is .
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual double SAMRAI::math::HierarchyDataOpsComplex< DIM >::weightedL2Norm | ( | const int | data_id, | |
const int | weight_id, | |||
const int | vol_id = -1 | |||
) | const [pure virtual] |
Return discrete weighted -norm of the data using the control volume to weight the contribution of the data and weight entries to the sum. That is, the return value is the sum . If the control volume is undefined (vol_id < 0), the return value is .
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual double SAMRAI::math::HierarchyDataOpsComplex< DIM >::RMSNorm | ( | const int | data_id, | |
const int | vol_id = -1 | |||
) | const [pure virtual] |
Return discrete root mean squared norm of the data. If the control volume is specified (vol_id >= 0), the return value is the -norm divided by the square root of the sum of the control volumes. Otherwise, the return value is the -norm divided by the square root of the number of data entries.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual double SAMRAI::math::HierarchyDataOpsComplex< DIM >::weightedRMSNorm | ( | const int | data_id, | |
const int | weight_id, | |||
const int | vol_id = -1 | |||
) | const [pure virtual] |
Return discrete weighted root mean squared norm of the data. If the control volume is specified (vol_id >= 0), the return value is the weighted -norm divided by the square root of the sum of the control volumes. Otherwise, the return value is the weighted -norm divided by the square root of the number of data entries.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual double SAMRAI::math::HierarchyDataOpsComplex< DIM >::maxNorm | ( | const int | data_id, | |
const int | vol_id = -1 | |||
) | const [pure virtual] |
Return the -norm of the data using the control volume to weight the contribution of each data entry to the maximum. That is, the return value is , where the max is over the data elements where . If the control volume is undefined (vol_id < 0), it is ignored during the computation of the maximum.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.
virtual dcomplex SAMRAI::math::HierarchyDataOpsComplex< DIM >::dot | ( | const int | data1_id, | |
const int | data2_id, | |||
const int | vol_id = -1 | |||
) | const [pure virtual] |
Return the dot product of the two data arrays using the control volume to weight the contribution of each product to the sum. That is, the return value is the sum . If the control volume is undefined (vol_id < 0), it is ignored during the summation.
Implemented in SAMRAI::math::HierarchyCellDataOpsComplex< DIM >, SAMRAI::math::HierarchyEdgeDataOpsComplex< DIM >, SAMRAI::math::HierarchyFaceDataOpsComplex< DIM >, SAMRAI::math::HierarchyNodeDataOpsComplex< DIM >, and SAMRAI::math::HierarchySideDataOpsComplex< DIM >.