11 #ifndef _EBLEVELDATAOPS_H_ 12 #define _EBLEVELDATAOPS_H_ 23 #include "NamespaceHeader.H" 25 #define EBLEVELDATAOPS_INTERIORREGVOFS 0x1 26 #define EBLEVELDATAOPS_BOUNDARYREGVOFS 0x2 27 #define EBLEVELDATAOPS_INTERIORIRREGVOFS 0x4 28 #define EBLEVELDATAOPS_BOUNDARYIRREGVOFS 0x8 30 #define EBLEVELDATAOPS_ALLVOFS (EBLEVELDATAOPS_INTERIORREGVOFS | \ 31 EBLEVELDATAOPS_BOUNDARYREGVOFS | \ 32 EBLEVELDATAOPS_INTERIORIRREGVOFS | \ 33 EBLEVELDATAOPS_BOUNDARYIRREGVOFS ) 35 #define EBLEVELDATAOPS_REGULARVOFS (EBLEVELDATAOPS_INTERIORREGVOFS | \ 36 EBLEVELDATAOPS_BOUNDARYREGVOFS ) 38 #define EBLEVELDATAOPS_IRREGULARVOFS (EBLEVELDATAOPS_INTERIORIRREGVOFS | \ 39 EBLEVELDATAOPS_BOUNDARYIRREGVOFS ) 41 #define EBLEVELDATAOPS_BOUNDARYVOFS (EBLEVELDATAOPS_BOUNDARYREGVOFS | \ 42 EBLEVELDATAOPS_IRREGULARVOFS ) 72 int isrc,
int idst,
int inco,
73 bool a_interpolateToCentroid);
84 const Box & ccFluxBox,
87 int isrc,
int idst,
int inco);
99 int isrc,
int idst,
int inco,
100 bool a_interpolateToCentroid);
199 const Real& a_value);
207 const Real& a_shift = 0.0);
216 const bool& a_doAbs=
false);
221 const Real& a_value);
229 const Real& a_value);
236 const Real& a_value);
244 const Real& a_value);
298 const Real& a_scale) ;
308 const Real& a_scale) ;
323 const Real& a_value);
336 const Real& a_value);
373 const Real& a_scale);
380 const Real& a_scale);
401 const int& a_lhsComp,
419 const Real& a_constant);
426 const Real& a_exponent,
516 const Real& a_scale);
672 const int& a_ghostFlux,
675 const int& a_cellComp,
676 const int& a_faceComp);
698 bool a_mutiplyByKappa);
702 #include "NamespaceFooter.H" static bool checkNANINF(const LevelData< EBCellFAB > &a_data, const IntVect &a_iv1=IntVect::Zero, const IntVect &a_iv2=IntVect::Zero, const Real &a_shift=0.0)
static void copyToMultiVofsFromRegFAB(LevelData< EBCellFAB > &a_data, const DisjointBoxLayout &a_dbl, const EBISLayout &a_ebisl)
static void averageCellToFaces(LevelData< EBFluxFAB > &a_fluxData, const LevelData< EBCellFAB > &a_cellData, const DisjointBoxLayout &a_grids, const EBISLayout &a_ebisl, const ProblemDomain &a_domain, const int &a_comp)
static void averageMultiVofsToRegFAB(LevelData< EBCellFAB > &a_data, const DisjointBoxLayout &a_dbl, const EBISLayout &a_ebisl)
static Vector< Real > vectorSumKappaPow(Real &a_volume, const EBCellFAB &a_data, const Box &curBox, int a_which, const ProblemDomain &a_domain, int a_p)
An irregular domain on an integer lattice.
Definition: IntVectSet.H:44
static Real sumNoKappa(Real &a_volume, const EBCellFAB &a_data, const Box &a_region, int a_which, const ProblemDomain &a_domain)
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:130
Definition: EBIndexSpace.H:260
static void averageCellToFace(EBFaceFAB &a_fluxData, const EBCellFAB &a_cellData, const Box &a_grid, const EBISBox &a_ebisl, const ProblemDomain &a_domain, int isrc, int idst, int inco, bool a_interpolateToCentroid)
static void kappaWeight(LevelData< EBCellFAB > &a_data)
static Real kappaDotProduct(Real &a_volume, const LevelData< EBCellFAB > &a_data1, const LevelData< EBCellFAB > &a_data2, int a_which, const ProblemDomain &a_domain)
static void incr(LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_rhs, const Real &a_scale)
static void defineLevelData(LevelData< EBCellFAB > &a_levelData, const EBISLayout &a_ebisl, const DisjointBoxLayout &a_dbl, const IntVect &a_ghosts, const int &a_nComp)
static void kappaScale(LevelData< EBCellFAB > &a_data, const Real &a_scale)
static void divideVectorByScalar(LevelData< EBCellFAB > &a_vectorOut, const LevelData< EBCellFAB > &a_vectorIn, const LevelData< EBCellFAB > &a_scalar)
static void power(LevelData< EBCellFAB > &a_result, const Real &a_exponent, const int &a_comp)
static Real sumKappaDotProduct(Real &a_volume, const EBCellFAB &a_data1, const EBCellFAB &a_data2, const Box &a_region, int a_which, const ProblemDomain &a_domain)
static void faceCenteredAverageCellsToFaces(EBFaceFAB &a_faceData, const EBCellFAB &a_cellData, const Box &ccFluxBox, const EBISBox &a_ebisBox, const ProblemDomain &a_domain, int isrc, int idst, int inco)
static int parallelSum(const int &a_value)
Definition: EBFaceFAB.H:28
Geometric description within a box.
Definition: EBGraph.H:432
static void scale(LevelData< EBFluxFAB > &a_lhs, const Real &a_scale)
static void addConstant(LevelData< EBCellFAB > &a_data, const Real &a_constant)
static Real sumNoKappaDotProduct(Real &a_volume, const EBCellFAB &a_data1, const EBCellFAB &a_data2, const Box &a_region, int a_which, const ProblemDomain &a_domain)
static void averageCellToFacesMAC(LevelData< EBFluxFAB > &a_fluxData, const LevelData< EBCellFAB > &a_cellData, const DisjointBoxLayout &a_grids, const EBISLayout &a_ebisl, const ProblemDomain &a_domain)
static Real sumKappa(Real &a_volume, const EBCellFAB &a_data, const Box &a_region, int a_which, const ProblemDomain &a_domain)
static Real noKappaDotProduct(Real &a_volume, const LevelData< EBCellFAB > &a_data1, const LevelData< EBCellFAB > &a_data2, int a_which, const ProblemDomain &a_domain)
static void areaFracScalingWeight(LevelData< EBCellFAB > &a_data)
static Real sumKappaDotProductAllCells(Real &a_volume, const EBCellFAB &a_data1, const EBCellFAB &a_data2, const Box &a_region, int a_which, const ProblemDomain &a_domain)
static void exchangeComp(LevelData< EBCellFAB > &a_data, const int &a_comp)
static void sum(LevelData< EBCellFAB > &a_result, const LevelData< EBCellFAB > &a_in1, const LevelData< EBCellFAB > &a_in2)
Structure for passing component ranges in code.
Definition: Interval.H:23
static Real noKappaNorm(Real &a_volume, const LevelData< EBCellFAB > &a_data, int a_which, const ProblemDomain &a_domain, int a_p=2)
Definition: EBCellFAB.H:29
static void setToZero(LevelData< EBCellFAB > &a_result)
static Real sumNoKappaPow(Real &a_volume, const EBCellFAB &a_data, const Box &a_region, int a_which, const ProblemDomain &a_domain, int a_p)
double Real
Definition: REAL.H:33
static void clone(LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_rhs)
A BoxLayout that has a concept of disjointedness.
Definition: DisjointBoxLayout.H:31
static void getMaxMin(Real &a_maxVal, Real &a_minVal, const LevelData< EBCellFAB > &a_data, const int &a_comp, const bool &a_doAbs=false)
static void setCoveredVal(LevelData< EBCellFAB > &a_lData, const Real &a_value)
static void gatherBroadCast(Real &a_accum, Real &a_volume, const int &a_p)
static const IntVect Zero
Definition: IntVect.H:627
static void exchangeAll(LevelData< EBCellFAB > &a_phi)
static void exchangeCorners(LevelData< EBCellFAB > &a_data, const ProblemDomain &a_domain)
static Real kappaSumLevel(Real &a_volume, const LevelData< EBCellFAB > &a_data, int a_which, const ProblemDomain &a_domain)
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:465
static void pruneCoveredBoxes(Vector< Box > &a_boxes, const ProblemDomain &a_domain, const EBIndexSpace *a_ebisPtr)
EBLevelDataOps()
Definition: EBLevelDataOps.H:52
~EBLevelDataOps()
Definition: EBLevelDataOps.H:56
static void product(LevelData< EBCellFAB > &a_result, const LevelData< EBCellFAB > &a_in1, const LevelData< EBCellFAB > &a_in2)
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
static Real kappaNorm(Real &a_volume, const LevelData< EBCellFAB > &a_data, int a_which, const ProblemDomain &a_domain, int a_p=2)
static int parallelMin(const int &a_value)
static void axby(LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_x, const LevelData< EBCellFAB > &a_y, const Real &a, const Real &b)
Definition: EBISLayout.H:39
static Vector< Real > vectorKappaNorm(Real &a_volume, const LevelData< EBCellFAB > &a_data, int a_which, const ProblemDomain &a_domain, int a_p=2)
Definition: EBLevelDataOps.H:49
static void assign(LevelData< EBCellFAB > &a_to, const LevelData< EBCellFAB > &a_from, const Interval &a_toInterva, const Interval &a_fromInterval)
static void setVal(LevelData< EBCellFAB > &a_result, const Real &a_value)
static Real noKappaSumLevel(Real &a_volume, const LevelData< EBCellFAB > &a_data, int a_which, const ProblemDomain &a_domain)
static Real sumKappaPow(Real &a_volume, const EBCellFAB &a_data, const Box &a_region, int a_which, const ProblemDomain &a_domain, int a_p)
static void setIrregVal(LevelData< EBCellFAB > &a_data, const DisjointBoxLayout &a_dbl, const EBISLayout &a_ebisl, const Real &a_value)
static int parallelMax(const int &a_value)
static void divide(LevelData< EBCellFAB > &a_result, const LevelData< EBCellFAB > &a_in1, const LevelData< EBCellFAB > &a_in2)
static void invert(LevelData< EBCellFAB > &a_result, const LevelData< EBCellFAB > &a_in1)