#include <EBArith.H>
Static Public Member Functions | |
static void | convertToITM (IndexTM< Real, SpaceDim > &a_diffrv, const RealVect &a_rv) |
static void | convertToITM (IndexTM< int, SpaceDim > &a_diffrv, const IntVect &a_rv) |
static void | convertToITM (IndexTM< Real, SpaceDim-1 > &a_diffrv, const RealVect &a_rv, const int &a_ignoreIndex) |
static void | convertToITM (IndexTM< int, SpaceDim-1 > &a_diffrv, const IntVect &a_rv, const int &a_ignoreIndex) |
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 | 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) |
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) |
static int | orderScript (int icomp, int inorm, int ncomp) |
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, Vector< string > a_names, string a_prefix) |
static void | compareError (Vector< Real > &a_orders, const Vector< LevelData< EBCellFAB > * > &a_errorFine, const Vector< LevelData< EBCellFAB > * > &a_errorCoar, const Vector< DisjointBoxLayout > &a_gridsFine, const Vector< DisjointBoxLayout > &a_gridsCoar, const Vector< EBISLayout > &a_ebislFine, const Vector< EBISLayout > &a_ebislCoar, const Vector< int > &a_refRat, const Box &a_coarseDom, int a_testverbosity, fstream *a_fout=NULL, Vector< string > names=Vector< string >(), string prefix=string()) |
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 | irregNorm (Real &a_ebIrregNorm, const BaseIVFAB< Real > &a_ebiError, const IntVectSet &a_ivsIrreg, const EBISBox &a_ebisBox, const int &a_comp, const int &a_normtype) |
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 | shrinkIVS (IntVectSet &a_ivs, const int &a_numShrink) |
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 Real | getDiagWeight (VoFStencil &a_vofStencil, const VolIndex &a_vof, int a_var=0) |
static void | getMultiColors (Vector< IntVect > &a_colors) |
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) |
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 | 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 | getDir1Dir2 (int &a_dir1, int &a_dir2, const int &a_dir) |
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) |
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 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) |
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 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 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 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) |
static void | defineCFIVS (LayoutData< IntVectSet > &a_cfivs, const DisjointBoxLayout &a_grids, const ProblemDomain &a_probDom) |
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 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 | 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 Real | interpolateVel (const EBFaceFAB &a_vel, const EBISBox &a_ebisBox, const FaceIndex &a_face) |
static Real | deInterpolateVel (const Real &a_centroidVel, const EBFaceFAB &a_vel, const EBISBox &a_ebisBox, const FaceIndex &a_face) |
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 | 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) |
static Real | getJohanVoFWeight (const VolIndex &a_whichVoF, const RealVect &a_intersectLoc, const IntVect &a_intersectIV, const int &a_nMaxDir, const RealVect &a_dx) |
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 void | johanStencil (bool &a_dropOrder, Vector< VoFStencil > &a_pointStencils, Vector< Real > &a_distanceAlongLine, const VolIndex &a_vof, const EBISBox &a_ebisBox, const RealVect &a_dx, const IntVectSet &a_cfivs, int a_ivar=0) |
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 void | getLeastSquaresGradSten (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=0) |
version which uses incoming normal, boundary centroid | |
static void | getLeastSquaresGradSten (VoFStencil &a_stencil, Real &a_weight, const RealVect &a_normal, const RealVect &a_centroid, const IntVect &a_quadrant, const VolIndex &a_vof, const EBISBox &a_ebisBox, const RealVect &a_dx, const ProblemDomain &a_domain, int a_ivar=0) |
version which uses incoming normal, boundary centroid | |
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) |
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) |
static void | calculateWeightingMatrix (RealVect x0, Vector< RealVect > &xp, Vector< RealVect > &weightMatrix, bool &detZero) |
static void | calculateWeightingMatrixRed (RealVect x0, Vector< RealVect > &xp, IntVect dimm, Vector< RealVect > &weightMatrix, bool &deadRed) |
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 RealVect | getFaceLocation (const FaceIndex &a_face, const Real &a_dx, const RealVect &a_probLo) |
gets the location in real space of a face center | |
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 RealVect | getVofLocation (const VolIndex &a_vof, const RealVect &a_dx, const RealVect &a_probLo) |
gets the location in real space of a cell center | |
static RealVect | getVoFLocation (const VolIndex &a_vof, const RealVect &a_dx, const RealVect &a_probLo) |
I have misspelled this one time too many. | |
static RealVect | getVoFLocation (const VolIndex &a_vof, const Real &a_dx, const RealVect &a_probLo) |
I have misspelled this one time too many. | |
static RealVect | getVofLocation (const VolIndex &a_vof, const Real &a_dx, const RealVect &a_probLo) |
I have misspelled this one time too many. | |
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 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 | interpolateFluxToCentroids (LevelData< EBFluxFAB > &a_centroidFlux, const LevelData< EBFluxFAB > &a_faceCentFlux, const DisjointBoxLayout &a_grids, const EBISLayout &a_ebisl, const ProblemDomain &a_domain) |
static void | interpolateFluxToCentroids (EBFaceFAB &a_centroidFlux, const EBFaceFAB &a_faceCentFlux, const Box &a_box, const EBISBox &a_ebisBox, const ProblemDomain &a_domain, const int &a_idir) |
static FaceStencil | getInterpStencil (const FaceIndex &a_face, const IntVectSet &a_coarseFineIVS, const EBISBox &a_ebisBox, const ProblemDomain &a_domainBox) |
static void | getInterpStencil2D (FaceStencil &a_sten, const FaceIndex &a_face, const IntVectSet &a_coarseFineIVS, const EBISBox &a_ebisBox, const ProblemDomain &a_domainBox) |
static void | getInterpStencil3D (FaceStencil &a_sten, const FaceIndex &a_face, const IntVectSet &a_coarseFineIVS, const EBISBox &a_ebisBox, const ProblemDomain &a_domainBox) |
static bool | isVoFHere (VolIndex &a_vof, const Vector< VolIndex > &a_vofsStencil, const IntVect &a_cell) |
static bool | isVoFHere (VolIndex &a_vof, int &a_whichVoF, const Vector< VolIndex > &a_vofsStencil, const IntVect &a_cell) |
static void | getAllVoFsInMonotonePath (Vector< VolIndex > &a_vofList, const VolIndex &a_vof, const EBISBox &a_ebisBox, const int &a_redistRad) |
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 | 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 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 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 void | computeGradFluxStencil (VoFStencil &a_thisStencil, const FaceIndex &a_thisFace, const EBISBox &a_ebisBox, const ProblemDomain &a_domain, const int &a_dir) |
static void | computeInterpStencil (FaceStencil &a_thisStencil, const FaceIndex &a_thisFace, const EBISBox &a_ebisBox, const ProblemDomain &a_domain, const int &a_dir) |
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 | getCompVolRZ (Real &a_compVol, const EBISBox &a_ebisBox, const Real &a_dx, const VolIndex &a_vof, bool a_verbose=false) |
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 | 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 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) |
static Real | norm (const Vector< LevelData< EBCellFAB > * > &a_data, const Vector< DisjointBoxLayout > &a_layout, const Vector< EBISLayout > &a_ebisl, const Vector< int > &a_refRatio, const int &comp, const int &p, EBNormType::NormMode=EBNormType::OverBoth) |
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) |
static Real | norm (Real &volume, const BoxLayoutData< EBCellFAB > &a_dataOne, const BoxLayout &a_layout, const EBISLayout &a_ebisl, const int &comp, const int &p, EBNormType::NormMode=EBNormType::OverBoth) |
static Real | norm (const EBCellFAB &a_dataOne, const Box &a_grid, const EBISBox &a_ebisl, const int &a_comp, const int &a_p, EBNormType::NormMode=EBNormType::OverBoth) |
static Real | norm (Real &volume, const EBCellFAB &a_dataOne, const Box &a_grid, const EBISBox &a_ebisl, const int &a_comp, const int &a_p, EBNormType::NormMode=EBNormType::OverBoth) |
static void | volWeightedSum (Real &a_sum, Real &a_volume, const BoxLayoutData< EBCellFAB > &a_dataOne, const BoxLayout &a_layout, const EBISLayout &a_ebisl, const RealVect &a_dx, const IntVectSet &a_ivsExclude, const int &a_comp, const int &a_p, EBNormType::NormMode=EBNormType::OverBoth) |
static void | sumBndryArea (Real &a_area, const BoxLayout &a_region, const EBISLayout &a_ebisl) |
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 Real | dotProduct (const EBCellFAB &a_dataOne, const EBCellFAB &a_dataTwo, const Box &a_layout, const EBISBox &a_ebisBox, const int &a_comp) |
static void | monotonePathVoFToCellMultiVoFs (Vector< VolIndex > &a_vofsInCell, const Vector< VolIndex > &a_vofsInPath, const IntVect &a_cell2, const EBISBox &a_ebisBox) |
static bool | monotonePathVoFToCellVoF (VolIndex &a_vof2, const VolIndex &a_vof1, const IntVect &a_cell2, const EBISBox &a_ebisBox) |
static void | getAllVoFsWithinRadius (Vector< VolIndex > &a_vofList, const VolIndex &a_vof, const EBISBox &a_ebisBox, const int &a_redistRad) |
static void | getAllVoFsWithinRadius (Vector< VolIndex > &a_vofList, const IntVect &a_timesMoved, const VolIndex &a_vof, const EBISBox &a_ebisBox, const int &a_redistRad) |
static void | getAllVoFsInMonotonePath (Vector< VolIndex > &a_vofs, const IntVect &a_timesMoved, const IntVect &a_pathSign, const VolIndex &a_vof, const EBISBox &a_ebisBox, const int &a_radius) |
static VolIndex & | getVoFMax () |
static Real & | getValMax () |
static void | setMinVolumeFraction (Real a_minVolFrac) |
Static Private Attributes | |
static VolIndex | s_vofMax |
static Real | s_valMax |
static Real | s_minVolFrac |
static void EBArith::convertToITM | ( | IndexTM< Real, SpaceDim > & | a_diffrv, | |
const RealVect & | a_rv | |||
) | [static] |
static void EBArith::convertToITM | ( | IndexTM< int, SpaceDim > & | a_diffrv, | |
const IntVect & | a_rv | |||
) | [static] |
static void EBArith::convertToITM | ( | IndexTM< Real, SpaceDim-1 > & | a_diffrv, | |
const RealVect & | a_rv, | |||
const int & | a_ignoreIndex | |||
) | [static] |
static void EBArith::convertToITM | ( | IndexTM< int, SpaceDim-1 > & | a_diffrv, | |
const IntVect & | a_rv, | |||
const int & | a_ignoreIndex | |||
) | [static] |
static int EBArith::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] |
Gets the stencil to take the first derivative of cell centered data. no high order one sided stuff (to keep stencil close)
static void EBArith::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 | |||
) | [static] |
Least square sten using all cells in a monotone path of radius a_rad
static int EBArith::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 | |||
) | [static] |
static int EBArith::orderScript | ( | int | icomp, | |
int | inorm, | |||
int | ncomp | |||
) | [static] |
static void EBArith::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, | |||
Vector< string > | a_names, | |||
string | a_prefix | |||
) | [static] |
static void EBArith::compareError | ( | Vector< Real > & | a_orders, | |
const Vector< LevelData< EBCellFAB > * > & | a_errorFine, | |||
const Vector< LevelData< EBCellFAB > * > & | a_errorCoar, | |||
const Vector< DisjointBoxLayout > & | a_gridsFine, | |||
const Vector< DisjointBoxLayout > & | a_gridsCoar, | |||
const Vector< EBISLayout > & | a_ebislFine, | |||
const Vector< EBISLayout > & | a_ebislCoar, | |||
const Vector< int > & | a_refRat, | |||
const Box & | a_coarseDom, | |||
int | a_testverbosity, | |||
fstream * | a_fout = NULL , |
|||
Vector< string > | names = Vector< string >() , |
|||
string | prefix = string() | |||
) | [static] |
o
static Real EBArith::irregNorm | ( | const LevelData< BaseIVFAB< Real > > & | a_dataOne, | |
const DisjointBoxLayout & | a_layout, | |||
const EBISLayout & | a_ebisl, | |||
const int & | a_comp, | |||
const int & | a_p | |||
) | [static] |
static void EBArith::irregNorm | ( | Real & | a_ebIrregNorm, | |
const BaseIVFAB< Real > & | a_ebiError, | |||
const IntVectSet & | a_ivsIrreg, | |||
const EBISBox & | a_ebisBox, | |||
const int & | a_comp, | |||
const int & | a_normtype | |||
) | [static] |
static void EBArith::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] |
static void EBArith::shrinkIVS | ( | IntVectSet & | a_ivs, | |
const int & | a_numShrink | |||
) | [static] |
static void EBArith::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] |
static Real EBArith::getDiagWeight | ( | VoFStencil & | a_vofStencil, | |
const VolIndex & | a_vof, | |||
int | a_var = 0 | |||
) | [static] |
static void EBArith::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 | |||
) | [static] |
static int EBArith::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] |
returns the order of the extrapolation. the reason for the last argument is that you might not want the stencil to leak over in the noExtrap direction even though you have set a_dist to zero. This happens in CF interpolation where you have to really worry about stencil width.
static int EBArith::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] |
returns the order of the extrapolation. the reason for the last argument is that you might not want the stencil to leak over in the noExtrap direction even though you have set a_dist to zero. This happens in CF interpolation where you have to really worry about stencil width.
static void EBArith::getDir1Dir2 | ( | int & | a_dir1, | |
int & | a_dir2, | |||
const int & | a_dir | |||
) | [static] |
static void EBArith::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 | |||
) | [static] |
send null ivs if you do not want lohicenter to care about cfivs
static void EBArith::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] |
static bool EBArith::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 | |||
) | [static] |
testRef is the size of the coarsest domain allowed in multigrid. If testRef=2, then the coarsest domain in multigrid will be 2x2(x2)
static int EBArith::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] |
Gets the stencil to take the first derivative in the given direction of cell centered data. Returns the expected order of the derivative. When we need them, we prefer first derivataves to be second order if at all possible, so we take some pains to achieve that
static int EBArith::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] |
Gets the stencil to take the mixed (in the given directions) derivative of cell centered data. Returns the expected order of the derivative. When we need them, we usually only need second derivatives to O(h), so this just shifts stencil when it has to.
static int EBArith::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] |
Gets the stencil to take the second derivative in the given direction) of cell centered data. Returns the expected order of the derivative. When we need them, we usually only need second derivatives to O(h), so this just shifts stencil when it has to.
static void EBArith::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 | |||
) | [static] |
a function that could possibly take over the world.
static void EBArith::defineCFIVS | ( | LayoutData< IntVectSet > & | a_cfivs, | |
const DisjointBoxLayout & | a_grids, | |||
const ProblemDomain & | a_probDom | |||
) | [static] |
define an intvectset of ghost cells which live on the coarse fine interface. includes corner cells.
static Real EBArith::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] |
static Real EBArith::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] |
static Real EBArith::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] |
static Real EBArith::interpolateVel | ( | const EBFaceFAB & | a_vel, | |
const EBISBox & | a_ebisBox, | |||
const FaceIndex & | a_face | |||
) | [static] |
static Real EBArith::deInterpolateVel | ( | const Real & | a_centroidVel, | |
const EBFaceFAB & | a_vel, | |||
const EBISBox & | a_ebisBox, | |||
const FaceIndex & | a_face | |||
) | [static] |
static Real EBArith::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] |
static void EBArith::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 | |||
) | [static] |
evaluates integral(a_divu dV)/integral(dV) over a hierarchy. pval = -1--->assumes volfrac already multiplied in pval = -2--->multiply by volume fraction
static Real EBArith::getJohanVoFWeight | ( | const VolIndex & | a_whichVoF, | |
const RealVect & | a_intersectLoc, | |||
const IntVect & | a_intersectIV, | |||
const int & | a_nMaxDir, | |||
const RealVect & | a_dx | |||
) | [static] |
gets the weight of a vof to interpolate (linear in 2d, bilinear in 3d) to an interpolation point in the plane this is used to get one of the points along the johansen ray
static void EBArith::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 | |||
) | [static] |
version which uses incoming normal, boundary centroid
splitting up stuff this way to facillitate multifluid which can have multiple normals and boundary centroids per cell.
static void EBArith::johanStencil | ( | bool & | a_dropOrder, | |
Vector< VoFStencil > & | a_pointStencils, | |||
Vector< Real > & | a_distanceAlongLine, | |||
const VolIndex & | a_vof, | |||
const EBISBox & | a_ebisBox, | |||
const RealVect & | a_dx, | |||
const IntVectSet & | a_cfivs, | |||
int | a_ivar = 0 | |||
) | [static] |
Gets the stencils to get the data points along the Johansen ray. If a_dropOrder returns true then the stencil does not exist. Also returns the distances along the ray to each point.
static void EBArith::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 | |||
) | [static] |
standard interface
gets the normal and calls the other version
static void EBArith::getLeastSquaresGradSten | ( | 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 = 0 | |||
) | [static] |
version which uses incoming normal, boundary centroid
splitting up stuff this way to facillitate multifluid which can have multiple normals and boundary centroids per cell.
static void EBArith::getLeastSquaresGradSten | ( | VoFStencil & | a_stencil, | |
Real & | a_weight, | |||
const RealVect & | a_normal, | |||
const RealVect & | a_centroid, | |||
const IntVect & | a_quadrant, | |||
const VolIndex & | a_vof, | |||
const EBISBox & | a_ebisBox, | |||
const RealVect & | a_dx, | |||
const ProblemDomain & | a_domain, | |||
int | a_ivar = 0 | |||
) | [static] |
version which uses incoming normal, boundary centroid
splitting up stuff this way to facillitate multifluid which can have multiple normals and boundary centroids per cell.
static void EBArith::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 | |||
) | [static] |
version which uses incoming normal, boundary centroid, and all available VoFs. splitting up stuff this way to facillitate multifluid which can have multiple normals and boundary centroids per cell.
static void EBArith::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 | |||
) | [static] |
version which uses incoming normal, boundary centroid, and all quadrants. splitting up stuff this way to facillitate multifluid which can have multiple normals and boundary centroids per cell.
static void EBArith::calculateWeightingMatrix | ( | RealVect | x0, | |
Vector< RealVect > & | xp, | |||
Vector< RealVect > & | weightMatrix, | |||
bool & | detZero | |||
) | [static] |
split matrix computations for least squares into separate routine that is independent of stencil size, so that the code can be reused
static void EBArith::calculateWeightingMatrixRed | ( | RealVect | x0, | |
Vector< RealVect > & | xp, | |||
IntVect | dimm, | |||
Vector< RealVect > & | weightMatrix, | |||
bool & | deadRed | |||
) | [static] |
static RealVect EBArith::getDomainNormal | ( | int | a_idir, | |
Side::LoHiSide | a_side | |||
) | [static] |
gets the normal of a domain face
static void EBArith::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 | |||
) | [static] |
get stencils for points along a line (generalized johansen stencil)
static RealVect EBArith::getVofLocation | ( | const VolIndex & | a_vof, | |
const RealVect & | a_dx, | |||
const RealVect & | a_probLo | |||
) | [static] |
gets the location in real space of a cell center
Referenced by ViscousBaseEBBC::getBoundaryGrad(), getVofLocation(), getVoFLocation(), and BaseBCValue::value().
static RealVect EBArith::getVoFLocation | ( | const VolIndex & | a_vof, | |
const RealVect & | a_dx, | |||
const RealVect & | a_probLo | |||
) | [inline, static] |
I have misspelled this one time too many.
References getVofLocation().
Referenced by NeumannConductivityDomainBC::fillPhiGhost(), DirichletConductivityDomainBC::fillPhiGhost(), NeumannViscousTensorDomainBC::fillVelGhost(), MixedViscousTensorDomainBC::fillVelGhost(), and DirichletViscousTensorDomainBC::fillVelGhost().
static RealVect EBArith::getIVLocation | ( | const IntVect & | a_iv, | |
const RealVect & | a_dx, | |||
const RealVect & | a_probLo | |||
) | [static] |
gets the location in real space of a cell center
static void EBArith::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] |
A very easy to screw up piece of code that was in four places.
static void EBArith::interpolateFluxToCentroids | ( | LevelData< EBFluxFAB > & | a_centroidFlux, | |
const LevelData< EBFluxFAB > & | a_faceCentFlux, | |||
const DisjointBoxLayout & | a_grids, | |||
const EBISLayout & | a_ebisl, | |||
const ProblemDomain & | a_domain | |||
) | [static] |
static void EBArith::interpolateFluxToCentroids | ( | EBFaceFAB & | a_centroidFlux, | |
const EBFaceFAB & | a_faceCentFlux, | |||
const Box & | a_box, | |||
const EBISBox & | a_ebisBox, | |||
const ProblemDomain & | a_domain, | |||
const int & | a_idir | |||
) | [static] |
static FaceStencil EBArith::getInterpStencil | ( | const FaceIndex & | a_face, | |
const IntVectSet & | a_coarseFineIVS, | |||
const EBISBox & | a_ebisBox, | |||
const ProblemDomain & | a_domainBox | |||
) | [static] |
static void EBArith::getInterpStencil2D | ( | FaceStencil & | a_sten, | |
const FaceIndex & | a_face, | |||
const IntVectSet & | a_coarseFineIVS, | |||
const EBISBox & | a_ebisBox, | |||
const ProblemDomain & | a_domainBox | |||
) | [static] |
static void EBArith::getInterpStencil3D | ( | FaceStencil & | a_sten, | |
const FaceIndex & | a_face, | |||
const IntVectSet & | a_coarseFineIVS, | |||
const EBISBox & | a_ebisBox, | |||
const ProblemDomain & | a_domainBox | |||
) | [static] |
static bool EBArith::isVoFHere | ( | VolIndex & | a_vof, | |
const Vector< VolIndex > & | a_vofsStencil, | |||
const IntVect & | a_cell | |||
) | [static] |
Return true if there is unique vof associated with a_cell that lies in the a_vofsStencil. If so, a_vof = vof. Else return false.
static bool EBArith::isVoFHere | ( | VolIndex & | a_vof, | |
int & | a_whichVoF, | |||
const Vector< VolIndex > & | a_vofsStencil, | |||
const IntVect & | a_cell | |||
) | [static] |
static void EBArith::getAllVoFsInMonotonePath | ( | Vector< VolIndex > & | a_vofList, | |
const VolIndex & | a_vof, | |||
const EBISBox & | a_ebisBox, | |||
const int & | a_redistRad | |||
) | [static] |
Returns all vofs that can be reached from a_vof via a monotone path of length <= than radius
static void EBArith::getAllVoFsWithinRadius | ( | Vector< VolIndex > & | a_vofList, | |
Vector< IntVect > & | a_dist, | |||
const VolIndex & | a_vof, | |||
const EBISBox & | a_ebisBox, | |||
const int & | a_redistRad | |||
) | [static] |
static void EBArith::getKVolRZ | ( | Real & | a_kvol, | |
Real & | a_cellVol, | |||
const EBISBox & | a_ebisBox, | |||
const Real & | a_dx, | |||
const VolIndex & | a_vof | |||
) | [static] |
get volume of a vof in rz coords
static void EBArith::getKVolRZNoDx | ( | Real & | a_kvol, | |
Real & | a_cellVolDx3, | |||
const EBISBox & | a_ebisBox, | |||
const VolIndex & | a_vof | |||
) | [static] |
get volume of a vof in rz coords
static bool EBArith::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] |
Return true if there is a unique adjacent face in the given direction. False if either covered or multivalued.
static void EBArith::computeGradFluxStencil | ( | VoFStencil & | a_thisStencil, | |
const FaceIndex & | a_thisFace, | |||
const EBISBox & | a_ebisBox, | |||
const ProblemDomain & | a_domain, | |||
const int & | a_dir | |||
) | [static] |
compute a stencil for one of our fancy interpolated gradients.
static void EBArith::computeInterpStencil | ( | FaceStencil & | a_thisStencil, | |
const FaceIndex & | a_thisFace, | |||
const EBISBox & | a_ebisBox, | |||
const ProblemDomain & | a_domain, | |||
const int & | a_dir | |||
) | [static] |
compute a stencil for one of our fancy interpolated fluxes.
static void EBArith::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] |
return lp-norm of component comp of a_src, weighted by local volume fraction. not normalized by number of points or anything like that. if p==0, volume returned is one and norm returned is Max(abs(a_src)) over uncovered regions. otherwise, returns sum(volfrac*a_src(iv,comp)**p) of component comp of a_src weighted by local volume fraction and also returns volume of uncovered regions. Only uncovered regions count here.
static void EBArith::getCompVolRZ | ( | Real & | a_compVol, | |
const EBISBox & | a_ebisBox, | |||
const Real & | a_dx, | |||
const VolIndex & | a_vof, | |||
bool | a_verbose = false | |||
) | [static] |
static void EBArith::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] |
return volume-weighted sum of component comp of a_src, weighted by local volume fraction. and norm returned is Max(abs(a_src)) over uncovered regions. otherwise, returns sum(volfrac*a_src(iv,comp)**p) of component comp of a_src weighted by local volume fraction and also returns volume of uncovered regions. Only uncovered regions count here.
static void EBArith::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] |
return volume-weighted sum of component comp of a_src, weighted by local volume fraction. and norm returned is Max(abs(a_src)) over uncovered regions. otherwise, returns sum(volfrac*a_src(iv,comp)**p) of component comp of a_src weighted by local volume fraction and also returns volume of uncovered regions. Only uncovered regions count here.
static Real EBArith::norm | ( | const BoxLayoutData< EBCellFAB > & | a_dataOne, | |
const BoxLayout & | a_layout, | |||
const EBISLayout & | a_ebisl, | |||
const int & | comp, | |||
const int & | p, | |||
EBNormType::NormMode | = EBNormType::OverBoth | |||
) | [static] |
return l-p norm of a_src. if p==0, v norm returned is Max(abs(a_src)) over uncovered regions. otherwise, returns 1/vol(sum(volfrac*a_src(iv,comp)**p)^(1/p)) of component comp of a_src weighted by local volume fraction and also returns volume of uncovered regions. Only uncovered regions count here. The data must have the same layout as a_layout with the possible exception of ghost cells.
int pmode = -2; //norm = (1/v)(sum(phi dv)) ---no absolute values and multiply kappa as you go int pmode = -1; //norm = (1/v)(sum(phi dv)) ---no absolute values and assume kappa already multiplied in
static Real EBArith::norm | ( | const Vector< LevelData< EBCellFAB > * > & | a_data, | |
const Vector< DisjointBoxLayout > & | a_layout, | |||
const Vector< EBISLayout > & | a_ebisl, | |||
const Vector< int > & | a_refRatio, | |||
const int & | comp, | |||
const int & | p, | |||
EBNormType::NormMode | = EBNormType::OverBoth | |||
) | [static] |
static void EBArith::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 | |||
) | [static] |
static Real EBArith::norm | ( | Real & | volume, | |
const BoxLayoutData< EBCellFAB > & | a_dataOne, | |||
const BoxLayout & | a_layout, | |||
const EBISLayout & | a_ebisl, | |||
const int & | comp, | |||
const int & | p, | |||
EBNormType::NormMode | = EBNormType::OverBoth | |||
) | [static] |
static Real EBArith::norm | ( | const EBCellFAB & | a_dataOne, | |
const Box & | a_grid, | |||
const EBISBox & | a_ebisl, | |||
const int & | a_comp, | |||
const int & | a_p, | |||
EBNormType::NormMode | = EBNormType::OverBoth | |||
) | [static] |
return l-p norm of a_src. if p==0, v norm returned is Max(abs(a_src)) over uncovered regions. otherwise, returns 1/vol(sum(volfrac*a_src(iv,comp)**p)^(1/p)) of component comp of a_src weighted by local volume fraction and also returns volume of uncovered regions. Only uncovered regions count here. The data must have the same layout as a_layout with the possible exception of ghost cells.
static Real EBArith::norm | ( | Real & | volume, | |
const EBCellFAB & | a_dataOne, | |||
const Box & | a_grid, | |||
const EBISBox & | a_ebisl, | |||
const int & | a_comp, | |||
const int & | a_p, | |||
EBNormType::NormMode | = EBNormType::OverBoth | |||
) | [static] |
static void EBArith::volWeightedSum | ( | Real & | a_sum, | |
Real & | a_volume, | |||
const BoxLayoutData< EBCellFAB > & | a_dataOne, | |||
const BoxLayout & | a_layout, | |||
const EBISLayout & | a_ebisl, | |||
const RealVect & | a_dx, | |||
const IntVectSet & | a_ivsExclude, | |||
const int & | a_comp, | |||
const int & | a_p, | |||
EBNormType::NormMode | = EBNormType::OverBoth | |||
) | [static] |
return l-p norm of a_src. if p==0, v norm returned is Max(abs(a_src)) over uncovered regions. otherwise, returns sum(volfrac*a_src(iv,comp)**p) of component comp of a_src weighted by local volume fraction and also returns volume of uncovered regions. Only uncovered regions count here. The data must have the same layout as a_layout with the possible exception of ghost cells.
static void EBArith::sumBndryArea | ( | Real & | a_area, | |
const BoxLayout & | a_region, | |||
const EBISLayout & | a_ebisl | |||
) | [static] |
return the sum of all irregular boundary areas
static Real EBArith::dotProduct | ( | const BoxLayoutData< EBCellFAB > & | a_dataOne, | |
const BoxLayoutData< EBCellFAB > & | a_dataTwo, | |||
const BoxLayout & | a_layout, | |||
const EBISLayout & | a_ebisl, | |||
const int & | a_comp | |||
) | [static] |
return the dotproduct of two leveldatas of ebfabs, Only uncovered regions count here.
static Real EBArith::dotProduct | ( | const EBCellFAB & | a_dataOne, | |
const EBCellFAB & | a_dataTwo, | |||
const Box & | a_layout, | |||
const EBISBox & | a_ebisBox, | |||
const int & | a_comp | |||
) | [static] |
return the dotproduct of two ebfabs, Only uncovered regions count here.
static void EBArith::monotonePathVoFToCellMultiVoFs | ( | Vector< VolIndex > & | a_vofsInCell, | |
const Vector< VolIndex > & | a_vofsInPath, | |||
const IntVect & | a_cell2, | |||
const EBISBox & | a_ebisBox | |||
) | [static] |
Given a VoF, a_vof1, and a cell, a_cell2, determine if there is a vector of VoFs in a_cell2 that connects to a_vof1 via a monotone path. A vector of VolIndices is returned, even if empty.
static bool EBArith::monotonePathVoFToCellVoF | ( | VolIndex & | a_vof2, | |
const VolIndex & | a_vof1, | |||
const IntVect & | a_cell2, | |||
const EBISBox & | a_ebisBox | |||
) | [static] |
Given a VoF, a_vof1, and a cell, a_cell2, determine if there is a single VoF in a_cell2 that connects to a_vof1 via a monotone path. If there is one such VoF then TRUE is returned (and the VolIndex is returned, a_vof2). If there is no such VoF or if there are more than one such VoF then FALSE is returned (and a_vof2 is unchanged).
static void EBArith::getAllVoFsWithinRadius | ( | Vector< VolIndex > & | a_vofList, | |
const VolIndex & | a_vof, | |||
const EBISBox & | a_ebisBox, | |||
const int & | a_redistRad | |||
) | [static] |
static void EBArith::getAllVoFsWithinRadius | ( | Vector< VolIndex > & | a_vofList, | |
const IntVect & | a_timesMoved, | |||
const VolIndex & | a_vof, | |||
const EBISBox & | a_ebisBox, | |||
const int & | a_redistRad | |||
) | [static] |
static void EBArith::getAllVoFsInMonotonePath | ( | Vector< VolIndex > & | a_vofs, | |
const IntVect & | a_timesMoved, | |||
const IntVect & | a_pathSign, | |||
const VolIndex & | a_vof, | |||
const EBISBox & | a_ebisBox, | |||
const int & | a_radius | |||
) | [static] |
Returns all vofs that can be reached from a_vof via a monotone path of length <= than radius
static void EBArith::setMinVolumeFraction | ( | Real | a_minVolFrac | ) | [inline, static] |
References s_minVolFrac.
VolIndex EBArith::s_vofMax [static, private] |
Referenced by getVoFMax().
Real EBArith::s_valMax [static, private] |
Referenced by getValMax().
Real EBArith::s_minVolFrac [static, private] |
Referenced by setMinVolumeFraction().