#include <source/mathops/side/PatchSideDataNormOpsComplex.h>
Inheritance diagram for SAMRAI::math::PatchSideDataNormOpsComplex< DIM >:
Public Member Functions | |
PatchSideDataNormOpsComplex () | |
virtual | ~PatchSideDataNormOpsComplex () |
int | numberOfEntries (const tbox::Pointer< pdat::SideData< DIM, dcomplex > > &data, const hier::Box< DIM > &box) const |
double | sumControlVolumes (const tbox::Pointer< pdat::SideData< DIM, dcomplex > > &data, const tbox::Pointer< pdat::SideData< DIM, double > > &cvol, const hier::Box< DIM > &box) const |
void | abs (tbox::Pointer< pdat::SideData< DIM, double > > &dst, const tbox::Pointer< pdat::SideData< DIM, dcomplex > > &src, const hier::Box< DIM > &box) const |
double | L1Norm (const tbox::Pointer< pdat::SideData< DIM, dcomplex > > &data, const hier::Box< DIM > &box, const tbox::Pointer< pdat::SideData< DIM, double > > cvol=(0)) const |
double | L2Norm (const tbox::Pointer< pdat::SideData< DIM, dcomplex > > &data, const hier::Box< DIM > &box, const tbox::Pointer< pdat::SideData< DIM, double > > cvol=(0)) const |
double | weightedL2Norm (const tbox::Pointer< pdat::SideData< DIM, dcomplex > > &data, const tbox::Pointer< pdat::SideData< DIM, dcomplex > > &weight, const hier::Box< DIM > &box, const tbox::Pointer< pdat::SideData< DIM, double > > cvol=(0)) const |
double | RMSNorm (const tbox::Pointer< pdat::SideData< DIM, dcomplex > > &data, const hier::Box< DIM > &box, const tbox::Pointer< pdat::SideData< DIM, double > > cvol=(0)) const |
double | weightedRMSNorm (const tbox::Pointer< pdat::SideData< DIM, dcomplex > > &data, const tbox::Pointer< pdat::SideData< DIM, dcomplex > > &weight, const hier::Box< DIM > &box, const tbox::Pointer< pdat::SideData< DIM, double > > cvol=(0)) const |
double | maxNorm (const tbox::Pointer< pdat::SideData< DIM, dcomplex > > &data, const hier::Box< DIM > &box, const tbox::Pointer< pdat::SideData< DIM, double > > cvol=(0)) const |
dcomplex | dot (const tbox::Pointer< pdat::SideData< DIM, dcomplex > > &data1, const tbox::Pointer< pdat::SideData< DIM, dcomplex > > &data2, const hier::Box< DIM > &box, const tbox::Pointer< pdat::SideData< DIM, double > > cvol=(0)) const |
dcomplex | integral (const tbox::Pointer< pdat::SideData< DIM, dcomplex > > &data, const hier::Box< DIM > &box, const tbox::Pointer< pdat::SideData< DIM, double > > vol) const |
Note that a similar set of norm operations is implemented for real patch data (double and float) in the class PatchSideDataNormOpsReal<DIM>.
SAMRAI::math::PatchSideDataNormOpsComplex< DIM >::PatchSideDataNormOpsComplex | ( | ) |
Empty constructor and destructor.
SAMRAI::math::PatchSideDataNormOpsComplex< DIM >::~PatchSideDataNormOpsComplex | ( | ) | [virtual] |
int SAMRAI::math::PatchSideDataNormOpsComplex< DIM >::numberOfEntries | ( | const tbox::Pointer< pdat::SideData< DIM, dcomplex > > & | data, | |
const hier::Box< DIM > & | box | |||
) | const |
Return the number of data values for the side-centered data object in the given box. Note that it is assumed that the box refers to the cell-centered index space corresponding to the patch hierarchy.
double SAMRAI::math::PatchSideDataNormOpsComplex< DIM >::sumControlVolumes | ( | const tbox::Pointer< pdat::SideData< DIM, dcomplex > > & | data, | |
const tbox::Pointer< pdat::SideData< DIM, double > > & | cvol, | |||
const hier::Box< DIM > & | box | |||
) | const |
Return sum of control volume entries for the side-centered data object.
void SAMRAI::math::PatchSideDataNormOpsComplex< DIM >::abs | ( | tbox::Pointer< pdat::SideData< DIM, double > > & | dst, | |
const tbox::Pointer< pdat::SideData< DIM, dcomplex > > & | src, | |||
const hier::Box< DIM > & | box | |||
) | const |
Set destination component to norm of source component. That is, each destination entry is set to .
double SAMRAI::math::PatchSideDataNormOpsComplex< DIM >::L1Norm | ( | const tbox::Pointer< pdat::SideData< DIM, dcomplex > > & | data, | |
const hier::Box< DIM > & | box, | |||
const tbox::Pointer< pdat::SideData< DIM, double > > | cvol = (0) | |||
) | const |
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 NULL, the return value is .
double SAMRAI::math::PatchSideDataNormOpsComplex< DIM >::L2Norm | ( | const tbox::Pointer< pdat::SideData< DIM, dcomplex > > & | data, | |
const hier::Box< DIM > & | box, | |||
const tbox::Pointer< pdat::SideData< DIM, double > > | cvol = (0) | |||
) | const |
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 NULL, the return value is .
double SAMRAI::math::PatchSideDataNormOpsComplex< DIM >::weightedL2Norm | ( | const tbox::Pointer< pdat::SideData< DIM, dcomplex > > & | data, | |
const tbox::Pointer< pdat::SideData< DIM, dcomplex > > & | weight, | |||
const hier::Box< DIM > & | box, | |||
const tbox::Pointer< pdat::SideData< DIM, double > > | cvol = (0) | |||
) | const |
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 NULL, the return value is .
double SAMRAI::math::PatchSideDataNormOpsComplex< DIM >::RMSNorm | ( | const tbox::Pointer< pdat::SideData< DIM, dcomplex > > & | data, | |
const hier::Box< DIM > & | box, | |||
const tbox::Pointer< pdat::SideData< DIM, double > > | cvol = (0) | |||
) | const |
Return discrete root mean squared norm of the data. If the control volume is not NULL, 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.
double SAMRAI::math::PatchSideDataNormOpsComplex< DIM >::weightedRMSNorm | ( | const tbox::Pointer< pdat::SideData< DIM, dcomplex > > & | data, | |
const tbox::Pointer< pdat::SideData< DIM, dcomplex > > & | weight, | |||
const hier::Box< DIM > & | box, | |||
const tbox::Pointer< pdat::SideData< DIM, double > > | cvol = (0) | |||
) | const |
Return discrete weighted root mean squared norm of the data. If the control volume is not NULL, 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.
double SAMRAI::math::PatchSideDataNormOpsComplex< DIM >::maxNorm | ( | const tbox::Pointer< pdat::SideData< DIM, dcomplex > > & | data, | |
const hier::Box< DIM > & | box, | |||
const tbox::Pointer< pdat::SideData< DIM, double > > | cvol = (0) | |||
) | const |
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 NULL, it is ignored during the computation of the maximum.
dcomplex SAMRAI::math::PatchSideDataNormOpsComplex< DIM >::dot | ( | const tbox::Pointer< pdat::SideData< DIM, dcomplex > > & | data1, | |
const tbox::Pointer< pdat::SideData< DIM, dcomplex > > & | data2, | |||
const hier::Box< DIM > & | box, | |||
const tbox::Pointer< pdat::SideData< DIM, double > > | cvol = (0) | |||
) | const |
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 NULL, it is ignored during the summation.
dcomplex SAMRAI::math::PatchSideDataNormOpsComplex< DIM >::integral | ( | const tbox::Pointer< pdat::SideData< DIM, dcomplex > > & | data, | |
const hier::Box< DIM > & | box, | |||
const tbox::Pointer< pdat::SideData< DIM, double > > | vol | |||
) | const |
Return the integral of the function represented by the data array. The return value is the sum .