|
| | PatchCellDataNormOpsComplex () |
| |
| virtual | ~PatchCellDataNormOpsComplex () |
| |
| int | numberOfEntries (const tbox::Pointer< pdat::CellData< DIM, dcomplex > > &data, const hier::Box< DIM > &box) const |
| |
| double | sumControlVolumes (const tbox::Pointer< pdat::CellData< DIM, dcomplex > > &data, const tbox::Pointer< pdat::CellData< DIM, double > > &cvol, const hier::Box< DIM > &box) const |
| |
| void | abs (tbox::Pointer< pdat::CellData< DIM, double > > &dst, const tbox::Pointer< pdat::CellData< DIM, dcomplex > > &src, const hier::Box< DIM > &box) const |
| |
| double | L1Norm (const tbox::Pointer< pdat::CellData< DIM, dcomplex > > &data, const hier::Box< DIM > &box, const tbox::Pointer< pdat::CellData< DIM, double > > cvol=NULL) const |
| |
| double | L2Norm (const tbox::Pointer< pdat::CellData< DIM, dcomplex > > &data, const hier::Box< DIM > &box, const tbox::Pointer< pdat::CellData< DIM, double > > cvol=NULL) const |
| |
| double | weightedL2Norm (const tbox::Pointer< pdat::CellData< DIM, dcomplex > > &data, const tbox::Pointer< pdat::CellData< DIM, dcomplex > > &weight, const hier::Box< DIM > &box, const tbox::Pointer< pdat::CellData< DIM, double > > cvol=NULL) const |
| |
| double | RMSNorm (const tbox::Pointer< pdat::CellData< DIM, dcomplex > > &data, const hier::Box< DIM > &box, const tbox::Pointer< pdat::CellData< DIM, double > > cvol=NULL) const |
| |
| double | weightedRMSNorm (const tbox::Pointer< pdat::CellData< DIM, dcomplex > > &data, const tbox::Pointer< pdat::CellData< DIM, dcomplex > > &weight, const hier::Box< DIM > &box, const tbox::Pointer< pdat::CellData< DIM, double > > cvol=NULL) const |
| |
| double | maxNorm (const tbox::Pointer< pdat::CellData< DIM, dcomplex > > &data, const hier::Box< DIM > &box, const tbox::Pointer< pdat::CellData< DIM, double > > cvol=NULL) const |
| |
| dcomplex | dot (const tbox::Pointer< pdat::CellData< DIM, dcomplex > > &data1, const tbox::Pointer< pdat::CellData< DIM, dcomplex > > &data2, const hier::Box< DIM > &box, const tbox::Pointer< pdat::CellData< DIM, double > > cvol=NULL) const |
| |
| dcomplex | integral (const tbox::Pointer< pdat::CellData< DIM, dcomplex > > &data, const hier::Box< DIM > &box, const tbox::Pointer< pdat::CellData< DIM, double > > vol) const |
| |
template<int DIM>
class SAMRAI::math::PatchCellDataNormOpsComplex< DIM >
Class PatchCellDataNormOpsComplex<DIM> provides a collection of common norm operations that may be applied to complex cell-centered patch data.
The primary intent of this class is to define part of the interface for the PatchCellDataOpsComplex<DIM> class which provides access to operations that may be used to manipulate complex cell-centered patch data. 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. Also, each operation allows an additional cell-centered patch data object to be used to represent a control volume that weights the contribution of each data entry in the given norm calculation. Note that the control volume patch data must be of type double and have cell-centered geometry (i.e., the same as the data itself). The use of control volumes is important when these operations are used in vector kernels where the data resides over multiple levels of spatial resolution in an AMR hierarchy. If the control volume is not given in the function call, it will be ignored in the calculation. Also, note that the depth of the control volume patch data object must be either 1 or be equal to the depth of the other data objects.
Note that a similar set of norm operations is implemented for real patch data (double and float) in the class PatchCellDataNormOpsReal<DIM>.
- See also
- math::ArrayDataNormOpsComplex