27 #include "NamespaceHeader.H"
73 const int& a_redistRad);
123 int a_noExtrapThisDir,
129 static int orderScript(
int icomp,
int inorm,
int ncomp);
140 const Box& a_coarseDom,
142 fstream* a_fout = NULL,
144 string a_prefix =
string()) ;
157 const Box& a_coarseDom,
159 fstream* a_fout = NULL,
161 string prefix =
string());
175 const int& a_normtype);
184 const Box& a_coarseDom,
185 const string & a_prefix,
213 const Real& a_dxfine,
214 const Real& a_dxcoar,
230 int a_noExtrapThisDirection = -1,
247 int a_noExtrapThisDirection = -1,
255 getDir1Dir2(
int& a_dir1,
int& a_dir2,
const int& a_dir);
295 bool& a_layoutChanged,
392 const Real& a_dropOrderValue = 0.);
451 const int& a_nMaxDir,
567 bool a_doSymmetric =
false);
666 const int & a_faceDir);
730 const int& a_redistRad);
738 const int& a_redistRad);
825 bool a_verbose =
false);
918 const Box& a_region);
1015 const Box& a_layout,
1048 const int& a_redistRad);
1056 const int& a_redistRad);
1069 const int& a_radius);
1093 int refinement_ratio);
1097 int refinement_ratio);
1100 int refinement_ratio);
1103 int refinement_ratio);
1105 int refinement_ratio);
1115 #include "NamespaceFooter.H"
static void defineFluxInterpolant(LevelData< BaseIFFAB< Real > > &a_fluxInterpolant, LayoutData< IntVectSet > &a_irregSetsGrown, const DisjointBoxLayout &a_dbl, const EBISLayout &a_ebisl, const ProblemDomain &a_domain, const int &a_ncomp, const int &a_faceDir)
static void computeGradFluxStencil(VoFStencil &a_thisStencil, const FaceIndex &a_thisFace, const EBISBox &a_ebisBox, const ProblemDomain &a_domain, const int &a_dir)
static void computeUnweightedSum(Real &a_norm, Real &a_volume, const EBCellFAB &a_src, const Box &a_region, const EBISBox &a_ebisBox, const RealVect &a_dx, const IntVectSet &a_ivsExclude, const int &a_comp, EBNormType::NormMode=EBNormType::OverBoth)
static RealVect getVofLocation(const VolIndex &a_vof, const RealVect &a_dx, const RealVect &a_probLo)
gets the location in real space of a cell center
IntVect ebcoarsen(const IntVect &b, int refinement_ratio)
Definition: Stencils.H:194
static int getSecondDerivStencil(VoFStencil &a_sten, const VolIndex &a_vof, const EBISBox &a_ebisBox, const int &a_idir, const Real &a_dx, IntVectSet *a_cfivsPtr=NULL, int ivar=0)
static Real extrapFaceVelToOutflow(const FaceIndex &a_bndryFace, const Side::LoHiSide &a_side, const int &a_idir, const EBGraph &a_ebGraph, const EBFaceFAB &a_faceData, const int &a_comp)
static VolIndex s_vofMax
Definition: EBArith.H:1086
static void monotonePathVoFToCellMultiVoFs(Vector< VolIndex > &a_vofsInCell, const Vector< VolIndex > &a_vofsInPath, const IntVect &a_cell2, const EBISBox &a_ebisBox)
static void getVoFsDir(bool &a_hasClose, VolIndex &a_closeVoF, bool &a_hasFar, VolIndex &a_farVoF, const EBISBox &a_ebisBox, const VolIndex &a_vof, int a_idir, Side::LoHiSide a_sd, IntVectSet *a_cfivsPtr)
An irregular domain on an integer lattice.
Definition: IntVectSet.H:44
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
static Real irregNorm(const LevelData< BaseIVFAB< Real > > &a_dataOne, const DisjointBoxLayout &a_layout, const EBISLayout &a_ebisl, const int &a_comp, const int &a_p)
static void compareError(Vector< Real > &a_orders, const LevelData< EBCellFAB > &a_errorFine, const LevelData< EBCellFAB > &a_errorCoar, const DisjointBoxLayout &a_gridsFine, const DisjointBoxLayout &a_gridsCoar, const EBISLayout &a_ebislFine, const EBISLayout &a_ebislCoar, const Box &a_coarseDom, int a_testverbosity, fstream *a_fout=NULL, Vector< string > a_names=Vector< string >(), string a_prefix=string())
static void getAllVoFsWithinRadiusExcludingStartVoF(Vector< VolIndex > &a_vofList, Vector< IntVect > &a_dist, const VolIndex &a_vof, const EBISBox &a_ebisBox, const int &a_redistRad)
static void timeInterpolate(LevelData< EBCellFAB > &a_U, const LevelData< EBCellFAB > &a_UOld, const LevelData< EBCellFAB > &a_UNew, const DisjointBoxLayout &a_grids, const Real &a_time, const Real &a_told, const Real &a_tnew)
static void getInterpStencil2D(FaceStencil &a_sten, const FaceIndex &a_face, const IntVectSet &a_coarseFineIVS, const EBISBox &a_ebisBox, const ProblemDomain &a_domainBox)
static void defineCFIVS(LayoutData< IntVectSet > &a_cfivs, const DisjointBoxLayout &a_grids, const ProblemDomain &a_probDom)
static void getDir1Dir2(int &a_dir1, int &a_dir2, const int &a_dir)
static void interpolateCFH(EBCellFAB &a_phi, const int &a_idir, const Side::LoHiSide &a_hiorlo, const EBISBox &a_ebisBox, const Real &a_dxfine, const Real &a_dxcoar, const IntVectSet &a_interpIVS)
A not-necessarily-disjoint collective of boxes.
Definition: BoxLayout.H:145
static void computeCoveredFaces(Vector< VolIndex > &a_coveredFace, IntVectSet &a_coveredSets, IntVectSet &a_irregIVS, const int &a_idir, const Side::LoHiSide &a_sd, const EBISBox &a_ebisBox, const Box &a_region)
Definition: FaceIndex.H:28
static void loHi(Box &a_loBox, int &a_hasLo, Box &a_hiBox, int &a_hasHi, const ProblemDomain &a_eblg, const Box &a_inBox, const int &a_dir)
static int get1stOrderExtrapolationStencil(VoFStencil &a_stencil, const RealVect &a_dist, const RealVect &a_dx, const VolIndex &a_startVoF, const EBISBox &a_ebisBox, int a_noExtrapThisDirection=-1, IntVectSet *a_cfivsPtr=NULL, int ivar=0)
static void getMultiColors(Vector< IntVect > &a_colors)
static int getFirstOrderExtrapolationStencil(VoFStencil &a_stencil, const RealVect &a_dist, const RealVect &a_dx, const VolIndex &a_startVoF, const EBISBox &a_ebisBox, int a_noExtrapThisDir, IntVectSet *a_cfivsPtr, int ivar)
Definition: EBFaceFAB.H:28
static void shrinkIVS(IntVectSet &a_ivs, const int &a_numShrink)
static RealVect getIVLocation(const IntVect &a_iv, const RealVect &a_dx, const RealVect &a_probLo)
gets the location in real space of a cell center
static Real interpolateVel(const EBFaceFAB &a_vel, const EBISBox &a_ebisBox, const FaceIndex &a_face)
Geometric description within a box.
Definition: EBGraph.H:427
static RealVect getVofLocation(const VolIndex &a_vof, const Real &a_dx, const RealVect &a_probLo)
I have misspelled this one time too many.
Definition: EBArith.H:641
static void getKVolRZNoDx(Real &a_kvol, Real &a_cellVolDx3, const EBISBox &a_ebisBox, const VolIndex &a_vof)
get volume of a vof in rz coords
static const RealVect Unit
Definition: RealVect.H:427
VoF-centered stencil.
Definition: Stencils.H:60
static void getAllVoFsWithinRadius(Vector< VolIndex > &a_vofList, Vector< IntVect > &a_dist, const VolIndex &a_vof, const EBISBox &a_ebisBox, const int &a_redistRad)
static void calculateWeightingMatrixRed(RealVect x0, Vector< RealVect > &xp, IntVect dimm, Vector< RealVect > &weightMatrix, bool &deadRed)
static void setMinVolumeFraction(Real a_minVolFrac)
Definition: EBArith.H:1080
static int getFirstDerivStencil(VoFStencil &a_sten, const VolIndex &a_vof, const EBISBox &a_ebisBox, const int &a_idir, const Real &a_dx, IntVectSet *a_cfivsPtr=NULL, int ivar=0)
static bool monotonePathVoFToCellVoF(VolIndex &a_vof2, const VolIndex &a_vof1, const IntVect &a_cell2, const EBISBox &a_ebisBox)
static void sumBndryArea(Real &a_area, const BoxLayout &a_region, const EBISLayout &a_ebisl)
A EBFaceFAB-like container for edge-centered fluxes.
Definition: EBFluxFAB.H:25
static void volWeightedSum(Real &a_norm, Real &a_volume, const EBCellFAB &a_src, const Box &a_region, const EBISBox &a_ebisBox, const RealVect &a_dx, const IntVectSet &a_ivsExclude, const int &a_comp, const int &a_p, EBNormType::NormMode=EBNormType::OverBoth)
static void calculateWeightingMatrix(RealVect x0, Vector< RealVect > &xp, Vector< RealVect > &weightMatrix, bool &detZero)
static void getLeastSquaresGradStenAllVoFsRad(VoFStencil &a_stencil, Real &a_weight, const RealVect &a_normal, const RealVect &a_centroid, const VolIndex &a_vof, const EBISBox &a_ebisBox, const RealVect &a_dx, const ProblemDomain &a_domain, int a_ivar, int a_rad)
Definition: EBCellFAB.H:29
static VolIndex & getVoFMax()
Definition: EBArith.H:1071
static void getLeastSquaresGradStenAllQuad(VoFStencil &a_stencil, Real &a_weight, const RealVect &a_normal, const RealVect &a_centroid, const VolIndex &a_vof, const EBISBox &a_ebisBox, const RealVect &a_dx, const ProblemDomain &a_domain, int a_ivar, bool a_doSymmetric=false)
double Real
Definition: REAL.H:33
static Real dotProduct(const BoxLayoutData< EBCellFAB > &a_dataOne, const BoxLayoutData< EBCellFAB > &a_dataTwo, const BoxLayout &a_layout, const EBISLayout &a_ebisl, const int &a_comp)
static void getCompVolRZ(Real &a_compVol, const EBISBox &a_ebisBox, const Real &a_dx, const VolIndex &a_vof, bool a_verbose=false)
static Real getDiagWeight(VoFStencil &a_vofStencil, const VolIndex &a_vof, int a_var=0)
static int getMixedDerivStencil(VoFStencil &a_sten, const VolIndex &a_vof, const EBISBox &a_ebisBox, const int &a_dir1, const int &a_dir2, const Real &a_dx1, const Real &a_dx2, IntVectSet *a_cfivsPtr=NULL, int ivar=0)
static Real & getValMax()
Definition: EBArith.H:1075
A BoxLayout that has a concept of disjointedness.
Definition: DisjointBoxLayout.H:30
static void getLeastSquaresGradStenAllVoFs(VoFStencil &a_stencil, Real &a_weight, const RealVect &a_normal, const RealVect &a_centroid, const VolIndex &a_vof, const EBISBox &a_ebisBox, const RealVect &a_dx, const ProblemDomain &a_domain, int a_ivar)
LoHiSide
Definition: LoHiSide.H:27
static Real getFaceVelForDivFreeCell(const FaceIndex &a_face, const VolIndex &a_vof, const int &a_idir, const Side::LoHiSide &a_side, const EBFluxFAB &a_vel, const RealVect &a_dx, const EBISBox &a_ebisBox)
static void getKVolRZ(Real &a_kvol, Real &a_cellVol, const EBISBox &a_ebisBox, const Real &a_dx, const VolIndex &a_vof)
get volume of a vof in rz coords
static RealVect getDomainNormal(int a_idir, Side::LoHiSide a_side)
gets the normal of a domain face
static RealVect getFaceLocation(const FaceIndex &a_face, const RealVect &a_dx, const RealVect &a_probLo)
gets the location in real space of a face center
static Real extrapFaceValueToDomain(const FaceIndex &a_bndryFace, const Side::LoHiSide &a_side, const int &a_idir, const EBGraph &a_ebGraph, const EBFaceFAB &a_faceData, const int &a_comp, const Real &a_dropOrderValue=0.)
static Real getJohanVoFWeight(const VolIndex &a_whichVoF, const RealVect &a_intersectLoc, const IntVect &a_intersectIV, const int &a_nMaxDir, const RealVect &a_dx)
static int getExtrapolationStencil(VoFStencil &a_stencil, const RealVect &a_dist, const RealVect &a_dx, const VolIndex &a_startVoF, const EBISBox &a_ebisBox, int a_noExtrapThisDirection=-1, IntVectSet *a_cfivsPtr=NULL, int ivar=0)
static int getFirstDerivStencilWidthOne(VoFStencil &a_sten, const VolIndex &a_vof, const EBISBox &a_ebisBox, const int &a_idir, const Real &a_dx, IntVectSet *a_cfivsPtr, int ivar)
static void getAllVoFsInMonotonePath(Vector< VolIndex > &a_vofList, const VolIndex &a_vof, const EBISBox &a_ebisBox, const int &a_redistRad)
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:469
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
static Real s_minVolFrac
Definition: EBArith.H:1088
static void getInterpStencil3D(FaceStencil &a_sten, const FaceIndex &a_face, const IntVectSet &a_coarseFineIVS, const EBISBox &a_ebisBox, const ProblemDomain &a_domainBox)
Definition: BaseIFFAB.H:34
static bool isVoFHere(VolIndex &a_vof, const Vector< VolIndex > &a_vofsStencil, const IntVect &a_cell)
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
static void loHiCenter(Box &a_loBox, int &a_hasLo, Box &a_hiBox, int &a_hasHi, Box &a_centerBox, const ProblemDomain &a_eblg, const Box &a_inBox, const int &a_dir, IntVectSet *a_cfivsPtr=NULL)
Volume of Fluid Index.
Definition: VolIndex.H:31
static void computeSum(Real &a_norm, Real &a_volume, const EBCellFAB &a_src, const Box &a_region, const EBISBox &a_ebisBox, const RealVect &a_dx, const IntVectSet &a_ivsExclude, const int &a_comp, EBNormType::NormMode=EBNormType::OverBoth)
static void johanStencil(bool &a_dropOrder, Vector< VoFStencil > &a_pointStencils, Vector< Real > &a_distanceAlongLine, const RealVect &a_normal, const RealVect &a_bndryCentroid, const VolIndex &a_vof, const EBISBox &a_ebisBox, const RealVect &a_dx, const IntVectSet &a_cfivs, int a_ivar=0)
version which uses incoming normal, boundary centroid
static RealVect getVoFLocation(const VolIndex &a_vof, const Real &a_dx, const RealVect &a_probLo)
I have misspelled this one time too many.
Definition: EBArith.H:631
static Real norm(const BoxLayoutData< EBCellFAB > &a_dataOne, const BoxLayout &a_layout, const EBISLayout &a_ebisl, const int &comp, const int &p, EBNormType::NormMode=EBNormType::OverBoth)
Definition: EBISLayout.H:39
static Real deInterpolateVel(const Real &a_centroidVel, const EBFaceFAB &a_vel, const EBISBox &a_ebisBox, const FaceIndex &a_face)
static bool getAdjacentFace(FaceIndex &a_adjacentFace, const FaceIndex &a_face, const EBISBox &a_ebisBox, const ProblemDomain &a_domain, const int &a_idir, const Side::LoHiSide &a_side)
static int orderScript(int icomp, int inorm, int ncomp)
static bool getCoarserLayouts(DisjointBoxLayout &a_dblCoar, ProblemDomain &a_domainCoar, const DisjointBoxLayout &a_dblFine, const ProblemDomain &a_domainFine, int a_refToCoar, int a_maxBoxSize, bool &a_layoutChanged, int a_testRef=2)
Box ebrefine(const Box &b, int refinement_ratio)
static void convertToITM(IndexTM< Real, SpaceDim > &a_diffrv, const RealVect &a_rv)
static void getLeastSquaresGradSten(VoFStencil &a_stencil, Real &a_weight, const VolIndex &a_vof, const EBISBox &a_ebisBox, const RealVect &a_dx, const ProblemDomain &a_domain, int a_ivar=0)
standard interface
static Real extrapFaceGradToOutflow(const FaceIndex &a_bndryFace, const Side::LoHiSide &a_side, const int &a_idir, const EBGraph &a_ebGraph, const EBFaceFAB &a_faceData, const int &a_comp)
static void interpolateFluxToCentroids(LevelData< EBFluxFAB > &a_centroidFlux, const LevelData< EBFluxFAB > &a_faceCentFlux, const DisjointBoxLayout &a_grids, const EBISLayout &a_ebisl, const ProblemDomain &a_domain)
NormMode
Definition: EBArith.H:50
static RealVect getVoFLocation(const VolIndex &a_vof, const RealVect &a_dx, const RealVect &a_probLo)
I have misspelled this one time too many.
Definition: EBArith.H:623
static void dataRayCast(bool &a_dropOrder, Vector< VoFStencil > &a_pointStencils, Vector< Real > &a_distanceAlongLine, const RealVect &a_normal, const RealVect &a_bndryCentroid, const VolIndex &a_vof, const EBISBox &a_ebisBox, const RealVect &a_dx, const IntVectSet &a_cfivs, int a_ivar, int a_numPoints)
get stencils for points along a line (generalized johansen stencil)
static void computeInterpStencil(FaceStencil &a_thisStencil, const FaceIndex &a_thisFace, const EBISBox &a_ebisBox, const ProblemDomain &a_domain, const int &a_dir)
static FaceStencil getInterpStencil(const FaceIndex &a_face, const IntVectSet &a_coarseFineIVS, const EBISBox &a_ebisBox, const ProblemDomain &a_domainBox)
static Real s_valMax
Definition: EBArith.H:1087
static RealVect getFaceLocation(const FaceIndex &a_face, const Real &a_dx, const RealVect &a_probLo)
gets the location in real space of a face center
Definition: EBArith.H:597
static void compareIrregError(Vector< Real > &a_orders, const LevelData< BaseIVFAB< Real > > &a_errorFine, const LevelData< BaseIVFAB< Real > > &a_errorCoar, const DisjointBoxLayout &a_gridsFine, const DisjointBoxLayout &a_gridsCoar, const EBISLayout &a_ebislFine, const EBISLayout &a_ebislCoar, const Box &a_coarseDom, const string &a_prefix, Vector< string > a_names)
static void meanOverHierarchy(Real &a_mean, const Vector< LevelData< EBCellFAB > * > &a_divu, const Vector< DisjointBoxLayout > &a_grids, const Vector< EBISLayout > &a_ebisl, const Vector< int > &a_refRat, const ProblemDomain &a_domainCoarsest, const RealVect &a_dxCoarsest, const int &a_comp, int pval=-1)