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 ) 74 int isrc,
int idst,
int inco,
75 bool a_interpolateToCentroid);
85 int srccomp,
int dstcomp,
int numcomp);
94 const Box & ccFluxBox,
97 int isrc,
int idst,
int inco);
109 int isrc,
int idst,
int inco,
110 bool a_interpolateToCentroid);
117 const int& a_ghosts = 0);
127 static long long parallelSum(
const long long& a_value);
215 const Real& a_value);
223 const Real& a_shift = 0.0);
232 const bool& a_doAbs=
false);
240 const bool& a_doAbs=
false);
245 const Real& a_value);
253 const Real& a_value);
260 const Real& a_value);
268 const Real& a_value);
322 const Real& a_scale) ;
332 const Real& a_scale) ;
347 const Real& a_value);
353 const Real& a_value);
366 const Real& a_value);
403 const Real& a_scale);
410 const Real& a_scale);
449 const Real& a_constant);
456 const Real& a_exponent,
546 const Real& a_scale);
702 const int& a_ghostFlux,
705 const int& a_cellComp,
706 const int& a_faceComp);
728 bool a_mutiplyByKappa);
732 #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 checkData(const LevelData< EBCellFAB > &a_data, const string &label)
static void plus(LevelData< EBCellFAB > &a_dst, const LevelData< EBCellFAB > &a_src, int srccomp, int dstcomp, int numcomp)
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:141
Definition: EBIndexSpace.H:50
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)
static void pruneCoveredBoxes(Vector< Box > &a_boxes, const ProblemDomain &a_domain, const EBIndexSpace *a_ebisPtr, const int &a_ghosts=0)
Definition: EBFaceFAB.H:28
Geometric description within a box.
Definition: EBGraph.H:427
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:30
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:654
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
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 bool checkForBogusNumbers(const LevelData< EBFluxFAB > &a_data)
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)