#include <source/mathops/array/ArrayDataMiscellaneousOpsReal.h>
Inheritance diagram for SAMRAI::math::ArrayDataMiscellaneousOpsReal< DIM, TYPE >:
Public Member Functions | |
ArrayDataMiscellaneousOpsReal () | |
~ArrayDataMiscellaneousOpsReal () | |
int | computeConstrProdPosWithControlVolume (const pdat::ArrayData< DIM, TYPE > &data1, const pdat::ArrayData< DIM, TYPE > &data2, const pdat::ArrayData< DIM, double > &cvol, const hier::Box< DIM > &box) const |
int | computeConstrProdPos (const pdat::ArrayData< DIM, TYPE > &data1, const pdat::ArrayData< DIM, TYPE > &data2, const hier::Box< DIM > &box) const |
void | compareToScalarWithControlVolume (pdat::ArrayData< DIM, TYPE > &dst, const pdat::ArrayData< DIM, TYPE > &src, const TYPE &alpha, const pdat::ArrayData< DIM, double > &cvol, const hier::Box< DIM > &box) const |
void | compareToScalar (pdat::ArrayData< DIM, TYPE > &dst, const pdat::ArrayData< DIM, TYPE > &src, const TYPE &alpha, const hier::Box< DIM > &box) const |
int | testReciprocalWithControlVolume (pdat::ArrayData< DIM, TYPE > &dst, const pdat::ArrayData< DIM, TYPE > &src, const pdat::ArrayData< DIM, double > &cvol, const hier::Box< DIM > &box) const |
int | testReciprocal (pdat::ArrayData< DIM, TYPE > &dst, const pdat::ArrayData< DIM, TYPE > &src, const hier::Box< DIM > &box) const |
TYPE | maxPointwiseDivide (const pdat::ArrayData< DIM, TYPE > &numer, const pdat::ArrayData< DIM, TYPE > &denom, const hier::Box< DIM > &box) const |
Compute max of "conditional" quotients of two arrays. | |
TYPE | minPointwiseDivide (const pdat::ArrayData< DIM, TYPE > &numer, const pdat::ArrayData< DIM, TYPE > &denom, const hier::Box< DIM > &box) const |
Compute min of quotients of two arrays. |
Since these operations are used only by the vector kernels for the KINSOL and CVODE solver packages at this time, they are intended to be instantiated for the standard built-in types double and float (since those solvers only treat double and float data). To extend this class to other data types or to include other operations, the member functions must be specialized or the * new operations must be added.
SAMRAI::math::ArrayDataMiscellaneousOpsReal< DIM, TYPE >::ArrayDataMiscellaneousOpsReal | ( | ) |
Empty constructor and destructor.
SAMRAI::math::ArrayDataMiscellaneousOpsReal< DIM, TYPE >::~ArrayDataMiscellaneousOpsReal | ( | ) |
int SAMRAI::math::ArrayDataMiscellaneousOpsReal< DIM, TYPE >::computeConstrProdPosWithControlVolume | ( | const pdat::ArrayData< DIM, TYPE > & | data1, | |
const pdat::ArrayData< DIM, TYPE > & | data2, | |||
const pdat::ArrayData< DIM, double > & | cvol, | |||
const hier::Box< DIM > & | box | |||
) | const |
Return 1 if and , for any in the index region, where . Otherwise return 0.
int SAMRAI::math::ArrayDataMiscellaneousOpsReal< DIM, TYPE >::computeConstrProdPos | ( | const pdat::ArrayData< DIM, TYPE > & | data1, | |
const pdat::ArrayData< DIM, TYPE > & | data2, | |||
const hier::Box< DIM > & | box | |||
) | const |
Return 1 if and , for any in the index region. Otherwise return 0.
void SAMRAI::math::ArrayDataMiscellaneousOpsReal< DIM, TYPE >::compareToScalarWithControlVolume | ( | pdat::ArrayData< DIM, TYPE > & | dst, | |
const pdat::ArrayData< DIM, TYPE > & | src, | |||
const TYPE & | alpha, | |||
const pdat::ArrayData< DIM, double > & | cvol, | |||
const hier::Box< DIM > & | box | |||
) | const |
Wherever in the index region, set if , and otherwise.
void SAMRAI::math::ArrayDataMiscellaneousOpsReal< DIM, TYPE >::compareToScalar | ( | pdat::ArrayData< DIM, TYPE > & | dst, | |
const pdat::ArrayData< DIM, TYPE > & | src, | |||
const TYPE & | alpha, | |||
const hier::Box< DIM > & | box | |||
) | const |
Set if , and otherwise.
int SAMRAI::math::ArrayDataMiscellaneousOpsReal< DIM, TYPE >::testReciprocalWithControlVolume | ( | pdat::ArrayData< DIM, TYPE > & | dst, | |
const pdat::ArrayData< DIM, TYPE > & | src, | |||
const pdat::ArrayData< DIM, double > & | cvol, | |||
const hier::Box< DIM > & | box | |||
) | const |
Wherever in the index region, set if , and otherwise. If anywhere, 0 is the return value. Otherwise 1 is returned.
int SAMRAI::math::ArrayDataMiscellaneousOpsReal< DIM, TYPE >::testReciprocal | ( | pdat::ArrayData< DIM, TYPE > & | dst, | |
const pdat::ArrayData< DIM, TYPE > & | src, | |||
const hier::Box< DIM > & | box | |||
) | const |
Set if , and otherwise. If anywhere, 0 is the return value. Otherwise 1 is returned.
TYPE SAMRAI::math::ArrayDataMiscellaneousOpsReal< DIM, TYPE >::maxPointwiseDivide | ( | const pdat::ArrayData< DIM, TYPE > & | numer, | |
const pdat::ArrayData< DIM, TYPE > & | denom, | |||
const hier::Box< DIM > & | box | |||
) | const |
Compute max of "conditional" quotients of two arrays.
Return the maximum of pointwise "conditional" quotients of the numerator and denominator.
The "conditional" quotient is defined as |numerator/denominator| where the denominator is nonzero. Otherwise, it is defined as |numerator|.
Note: This method is currently intended to support the PETSc-2.1.6 vector wrapper only. Please do not use it!
TYPE SAMRAI::math::ArrayDataMiscellaneousOpsReal< DIM, TYPE >::minPointwiseDivide | ( | const pdat::ArrayData< DIM, TYPE > & | numer, | |
const pdat::ArrayData< DIM, TYPE > & | denom, | |||
const hier::Box< DIM > & | box | |||
) | const |
Compute min of quotients of two arrays.
Return the minimum of pointwise quotients of the numerator and denominator.
The quotient is defined as (numerator/denominator) where the denominator is nonzero. When the denominator is zero, the entry is skipped. If the denominator is always zero, the value of tbox::IEEE::getDBL_MAX() is returned (see SAMRAI::tbox::IEEE).
Note: This method is currently intended to support the SUNDIALS vector wrapper only. Please do not use it!