11 #ifndef _EBAMRDATAOPS_H_ 12 #define _EBAMRDATAOPS_H_ 24 #include "NamespaceHeader.H" 26 #define EBAMRDATAOPS_INTERIORREGVOFS 0x1 27 #define EBAMRDATAOPS_BOUNDARYREGVOFS 0x2 28 #define EBAMRDATAOPS_INTERIORIRREGVOFS 0x4 29 #define EBAMRDATAOPS_BOUNDARYIRREGVOFS 0x8 31 #define EBAMRDATAOPS_ALLVOFS (EBAMRDATAOPS_INTERIORREGVOFS | \ 32 EBAMRDATAOPS_BOUNDARYREGVOFS | \ 33 EBAMRDATAOPS_INTERIORIRREGVOFS | \ 34 EBAMRDATAOPS_BOUNDARYIRREGVOFS ) 36 #define EBAMRDATAOPS_REGULARVOFS (EBAMRDATAOPS_INTERIORREGVOFS | \ 37 EBAMRDATAOPS_BOUNDARYREGVOFS ) 39 #define EBAMRDATAOPS_IRREGULARVOFS (EBAMRDATAOPS_INTERIORIRREGVOFS | \ 40 EBAMRDATAOPS_BOUNDARYIRREGVOFS ) 42 #define EBAMRDATAOPS_BOUNDARYVOFS (EBAMRDATAOPS_BOUNDARYREGVOFS | \ 43 EBAMRDATAOPS_IRREGULARVOFS ) 73 bool a_kappaAlreadyMultipliedIn =
false);
93 bool a_kappaAlreadyMultipliedIn =
false);
161 const int& a_fineLevel);
171 const int& a_fineLevel);
184 const int& a_refRatio);
213 const int& a_refRatioCoar);
311 const int& a_refRatio);
364 const Real& a_value);
369 const Real& a_value);
376 const Real& a_value);
383 const Real& a_value);
397 const int& a_numLevels);
404 const int& a_numLevels);
413 const int& a_numLevels);
422 const int& a_numLevels);
427 const Real& a_scale) ;
432 const Real& a_scale) ;
448 const Real& a_value);
464 const Real& a_value);
518 const Real& a_scale);
526 const Real& a_scale);
533 const Real& a_scale);
562 static void axby(Vector<LevelData<EBCellFAB>* >& a_lhs,
563 const Vector<LevelData<EBCellFAB>* >& a_x,
564 const Vector<LevelData<EBCellFAB>* >& a_y,
567 const int& a_lhsComp,
583 const Real& a_constant);
649 const Real& a_scale);
698 const Real& a_maxVal,
699 const Real& a_minVal,
727 const string& a_name,
730 const Real& a_shift = 0.0);
739 const Real& a_shift = 0.0);
746 const string& a_name);
764 bool a_mutiplyByKappa);
773 bool a_mutiplyByKappa);
778 #include "NamespaceFooter.H" static void averageDown(Vector< LevelData< EBCellFAB > * > &a_data, const Vector< EBISLayout > &a_ebisl, const Vector< DisjointBoxLayout > &a_dbl, const Vector< ProblemDomain > &a_domain, const Vector< int > &a_refRatio)
static bool checkNANINF(const Vector< LevelData< EBCellFAB > * > &a_data, const IntVect &a_iv1=IntVect::Zero, const IntVect &a_iv2=IntVect::Zero, const Real &a_shift=0.0)
static void kappaWeight(Vector< LevelData< EBCellFAB > * > &a_data)
static Real kappaNorm(Real &a_volume, const Vector< LevelData< EBCellFAB > * > &a_data, int a_which, const Vector< ProblemDomain > &a_domain, int a_p=2)
A reference-counting handle class.
Definition: RefCountedPtr.H:173
static void coarsenDown(Vector< LevelData< EBCellFAB > * > &a_data, const Vector< EBLevelGrid > &a_eblg, const Vector< int > &a_refRatio)
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
static void sum(Vector< LevelData< EBCellFAB > * > &a_result, const Vector< LevelData< EBCellFAB > * > &a_in1, const Vector< LevelData< EBCellFAB > * > &a_in2)
static void exchangeAll(Vector< LevelData< EBCellFAB > * > &a_phi)
static void kappaScale(Vector< LevelData< EBCellFAB > * > &a_data, const Real &a_scale)
one dimensional dynamic array
Definition: Vector.H:53
static void setMaxMin(Vector< LevelData< EBCellFAB > * > &a_data, const Real &a_maxVal, const Real &a_minVal, const int &a_comp)
static void setCoveredVal(Vector< LevelData< EBCellFAB > * > &a_data, const Real &a_value)
static void deleteAMRData(Vector< LevelData< EBCellFAB > * > &a_amrData)
static void divideVectorByScalar(Vector< LevelData< EBCellFAB > * > &a_vectorOut, const Vector< LevelData< EBCellFAB > * > &a_vectorIn, const Vector< LevelData< EBCellFAB > * > &a_scalar)
static void getMaxMin(Real &a_maxVal, Real &a_minVal, const Vector< LevelData< EBCellFAB > * > &a_data, const int &a_comp, Vector< int > a_refRat=Vector< int >())
static void setCoveredAMRVal(Vector< LevelData< EBCellFAB > * > &a_data, const Vector< EBISLayout > &a_ebisl, const Vector< int > &a_refRat, const Real &a_value)
static void exchangeCorners(Vector< LevelData< EBCellFAB > * > &a_data, const ProblemDomain &a_domain)
static void checkThisData(const Vector< LevelData< EBCellFAB > * > &a_data, const string &a_name, const IntVect &a_iv1=IntVect::Zero, const IntVect &a_iv2=IntVect::Zero, const Real &a_shift=0.0)
static Real subtractOffMean(Vector< LevelData< EBCellFAB > * > &a_data, const Vector< EBLevelGrid > &a_eblg, const Vector< int > &a_refRat)
static void incr(Vector< LevelData< EBCellFAB > * > &a_lhs, const Vector< LevelData< EBCellFAB > * > &a_rhs, const Real &a_scale)
EBAMRDataOps()
Definition: EBAMRDataOps.H:51
static void quadCFInterpAll(Vector< LevelData< EBCellFAB > * > &a_data, const Vector< DisjointBoxLayout > &a_dbl, const Vector< EBISLayout > &a_ebisl, const Vector< ProblemDomain > &a_domain, const Vector< int > &a_refRatio)
Structure for passing component ranges in code.
Definition: Interval.H:23
static void setVal(Vector< LevelData< EBCellFAB > * > &a_result, const Real &a_value)
Sets every element in the AMR hierarchy of cell data a_result to the value a_value.
static void pwlFillPatchOne(LevelData< EBCellFAB > &a_dataFine, LevelData< EBCellFAB > &a_dataCoar, const DisjointBoxLayout &a_dblFine, const DisjointBoxLayout &a_dblCoar, const EBISLayout &a_ebislFine, const EBISLayout &a_ebislCoar, const ProblemDomain &a_domainCoar, const int &a_refRatioCoar)
static Real kappaDotProduct(Real &a_volume, const Vector< LevelData< EBCellFAB > * > &a_data1, const Vector< LevelData< EBCellFAB > * > &a_data2, int a_which, const Vector< ProblemDomain > &a_domain)
double Real
Definition: REAL.H:33
A BoxLayout that has a concept of disjointedness.
Definition: DisjointBoxLayout.H:30
static void defineAMRData(Vector< LevelData< EBCellFAB > * > &a_amrData, const Vector< EBLevelGrid > &a_eblg, const IntVect &a_ghosts, const int &a_nComp, const int &a_numLevels)
Defines every LevelData<EBCellFAB> object in the given AMR hierarchy using the given parameters...
static void exchangeComp(Vector< LevelData< EBCellFAB > * > &a_data, const int &a_comp)
static void getErrorFromCoarseAndFine(Vector< LevelData< EBCellFAB > * > &a_errorCoar, const Vector< LevelData< EBCellFAB > * > &a_solnCoar, const Vector< DisjointBoxLayout > &a_gridsCoar, const Vector< EBISLayout > &a_ebislCoar, const ProblemDomain &a_level0DomainCoar, const Vector< LevelData< EBCellFAB > * > &a_solnFine, const Vector< DisjointBoxLayout > &a_gridsFine, const Vector< EBISLayout > &a_ebislFine, const ProblemDomain &a_level0DomainFine, const Vector< int > &a_refRat, bool a_kappaAlreadyMultipliedIn=false)
static const IntVect Zero
Definition: IntVect.H:654
Definition: EBAMRDataOps.H:48
static Real noKappaDotProduct(Real &a_volume, const Vector< LevelData< EBCellFAB > * > &a_data1, const Vector< LevelData< EBCellFAB > * > &a_data2, int a_which, const Vector< ProblemDomain > &a_domain)
static void axby(Vector< LevelData< EBCellFAB > * > &a_lhs, const Vector< LevelData< EBCellFAB > * > &a_x, const Vector< LevelData< EBCellFAB > * > &a_y, const Real &a, const Real &b)
static void assign(Vector< LevelData< EBCellFAB > * > &a_lhs, const Vector< LevelData< EBCellFAB > * > &a_rhs)
static void addConstant(Vector< LevelData< EBCellFAB > * > &a_data, const Real &a_constant)
Adds the constant a_constant to every element in the hierarchy a_data.
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
static void product(Vector< LevelData< EBCellFAB > * > &a_result, const Vector< LevelData< EBCellFAB > * > &a_in1, const Vector< LevelData< EBCellFAB > * > &a_in2)
static void pwlFillPatchAll(Vector< LevelData< EBCellFAB > * > &a_data, const Vector< EBLevelGrid > &a_eblg, const Vector< int > &a_refRatio)
static void averageCellToFaces(Vector< LevelData< EBFluxFAB > * > &a_dataFlux, const Vector< LevelData< EBCellFAB > * > &a_dataCell, const Vector< EBLevelGrid > &a_eblg, const Vector< int > &a_refRatio, const int &a_comp)
~EBAMRDataOps()
Definition: EBAMRDataOps.H:95
static void quadCFInterpOne(Vector< LevelData< EBCellFAB > * > &a_data, const Vector< EBLevelGrid > &a_eblg, const Vector< int > &a_refRatio, const int &a_fineLevel)
Definition: EBISLayout.H:39
static int countVoF(const Vector< DisjointBoxLayout > &a_dbl, const Vector< EBISLayout > &a_ebisl, const Vector< ProblemDomain > &a_domain)
static void averageCellToFacesMAC(Vector< LevelData< EBFluxFAB > * > &a_dataFlux, const Vector< LevelData< EBCellFAB > * > &a_dataCell, const Vector< EBLevelGrid > &a_eblg, const Vector< int > &a_refRatio)
static void scale(Vector< LevelData< EBFluxFAB > * > &a_lhs, const Real &a_scale)
Scales the AMR hierarchy of flux data a_lhs by the factor a_scale.
static void divide(Vector< LevelData< EBCellFAB > * > &a_result, const Vector< LevelData< EBCellFAB > * > &a_in1, const Vector< LevelData< EBCellFAB > * > &a_in2)
static void setToZero(Vector< LevelData< EBCellFAB > * > &a_result)
Sets every element in the AMR hierarchy of cell data a_result to zero.
static Real noKappaNorm(Real &a_volume, const Vector< LevelData< EBCellFAB > * > &a_data, int a_which, const Vector< ProblemDomain > &a_domain, int a_p=2)