Chombo + EB
3.0
|
#include <NewGeometryShop.H>
Public Member Functions | |
NewGeometryShop (const BaseIF &a_baseIF, const RealVect &a_origin, const RealVect &a_vectDx, const ProblemDomain &a_domain, const int &a_order=GEOMETRY_ORDER, const int &a_degreeP=GEOMETRY_DEGREEP, const bool &a_useConstraints=GEOMETRY_CONSTRAINTS) | |
~NewGeometryShop () | |
bool | isRegular (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const |
bool | isCovered (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const |
virtual bool | isIrregular (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const |
virtual bool | canGenerateMultiCells () const |
virtual void | fillGraph (BaseFab< int > &a_regIrregCovered, Vector< IrregNode > &a_nodes, const Box &a_validRegion, const Box &a_ghostRegion, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const |
void | computeVoFInternals (Real &a_volFrac, Vector< int > a_loArc[SpaceDim], Vector< int > a_hiArc[SpaceDim], Vector< Real > a_loAreaFrac[SpaceDim], Vector< Real > a_hiAreaFrac[SpaceDim], Real &a_bndryArea, RealVect &a_normal, RealVect &a_volCentroid, RealVect &a_bndryCentroid, Vector< RealVect > a_loFaceCentroid[SpaceDim], Vector< RealVect > a_hiFaceCentroid[SpaceDim], const IntVectSet &a_ivsIrreg, const VolIndex &a_vof, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx, const RealVect &a_vectDx, const IntVect &a_iv) const |
void | settCurrIv (const IntVect &a_iv) const |
void | fillResiduals (int &a_degreeP) const |
Real | fillVolFrac () const |
void | fillArc (Vector< int > a_arc[SpaceDim], const int &a_hilo, const IntVectSet &a_ivsIrreg) const |
void | fillLoArc (Vector< int > a_loArc[SpaceDim], const IntVectSet &a_ivsIrreg) const |
void | fillHiArc (Vector< int > a_hiArc[SpaceDim], const IntVectSet &a_ivsIrreg) const |
void | fillAreaFrac (Vector< Real > a_AreaFrac[SpaceDim], const int &a_hilo) const |
void | fillLoAreaFrac (Vector< Real > a_loAreaFrac[SpaceDim]) const |
void | fillHiAreaFrac (Vector< Real > a_hiAreaFrac[SpaceDim]) const |
Real | fillBndryArea () const |
RealVect | fillNormal () const |
RealVect | fillvolCentroid () const |
RealVect | fillBndryCentroid () const |
void | fillFaceCentroid (Vector< RealVect >a_loFaceCentroid[SpaceDim], const int &a_hilo) const |
void | fillLoFaceCentroid (Vector< RealVect >a_LOFaceCentroid[SpaceDim]) const |
void | fillHiFaceCentroid (Vector< RealVect >a_hiFaceCentroid[SpaceDim]) const |
void | clipComputedVal (Real &a_volFrac, Vector< Real > a_loAreaFrac[SpaceDim], Vector< Real > a_hiAreaFrac[SpaceDim], Real &a_bndryArea, RealVect &a_volCentroid, RealVect &a_bndryCentroid, Vector< RealVect > a_loFaceCentroid[SpaceDim], Vector< RealVect > a_hiFaceCentroid[SpaceDim], const IntVect &a_iv) const |
RealVect | convertIndexTM2RealVect (const IndexTM< Real, SpaceDim > &a_indexTm) const |
IndexTM< Real, SpaceDim > | convertRealVect2IndexTM (const RealVect &a_realVect) const |
IntVect | convertIndexTM2IntVect (const IndexTM< int, SpaceDim > &a_indexTm) const |
IndexTM< int, SpaceDim > | convertIntVect2IndexTM (const IntVect &a_intVect) const |
RealVect | convert2RelativeCoord (const RealVect &a_rVect) const |
RealVect | convert2RelativeCoord (const IndexTM< Real, SpaceDim > &a_rVect) const |
void | outputResidual (int &type, int &a_degreeP) const |
void | outputGradNormal () const |
Public Member Functions inherited from GeometryService | |
GeometryService () | |
virtual | ~GeometryService () |
virtual void | fillGraph (BaseFab< int > &a_regIrregCovered, Vector< IrregNode > &a_nodes, const Box &a_validRegion, const Box &a_ghostRegion, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx, const DataIndex &a_di) const |
virtual InOut | InsideOutside (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const |
virtual InOut | InsideOutside (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx, const DataIndex &a_di) const |
virtual void | postMakeBoxLayout (const DisjointBoxLayout &a_dbl, const RealVect &a_dx) |
virtual void | makeGrids (const ProblemDomain &a_domain, DisjointBoxLayout &a_grids, const int &a_maxGridSize, const int &a_maxIrregGridSize) |
Public Attributes | |
int | m_phase |
Private Member Functions | |
bool | isRegularEveryPoint (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const |
bool | isCoveredEveryPoint (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const |
virtual bool | isIrregularEveryPoint (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx, const Real &a_originVal) const |
int | getNumCellsClipped () |
NewGeometryShop () | |
NewGeometryShop (const NewGeometryShop &a_workshopin) | |
void | operator= (const NewGeometryShop &a_workshopin) |
Private Attributes | |
int | m_numCellsClipped |
Real | m_threshold |
RealVect | m_origin |
RealVect | m_vectDx |
RvgDim | m_dxVect |
int | m_order |
int | m_degreeP |
bool | m_useConstraints |
Real | m_volScaleFactor |
Real | m_bndryAreaScaleFactor |
FArrayBox | m_residuals |
FArrayBox | m_gradNormal |
IntVect | m_currIv |
ProblemDomain | m_domain |
const BaseIF * | m_baseIF |
CutCellMoments< GLOBALDIM > | m_cutCellMoments |
Static Private Attributes | |
static bool | s_verbose |
Additional Inherited Members | |
Public Types inherited from GeometryService | |
enum | InOut { Regular, Covered, Irregular } |
Static Public Member Functions inherited from GeometryService | |
static bool | intersection (const RealVect &a_lo1, const RealVect &a_hi1, const RealVect &a_lo2, const RealVect &a_hi2) |
handy functions to do rectangle intersections in real space More... | |
static bool | intersection (const Box &a_region, const RealVect &a_origin, const Real &a_dx, const RealVect &a_lower, const RealVect &a_upper) |
This is the base class for the workshop algorithm. It forms the interface between the shallow water workshop classes and the geometryservice class. If globalDim < 3, then this code will break
NewGeometryShop::NewGeometryShop | ( | const BaseIF & | a_baseIF, |
const RealVect & | a_origin, | ||
const RealVect & | a_vectDx, | ||
const ProblemDomain & | a_domain, | ||
const int & | a_order = GEOMETRY_ORDER , |
||
const int & | a_degreeP = GEOMETRY_DEGREEP , |
||
const bool & | a_useConstraints = GEOMETRY_CONSTRAINTS |
||
) |
Define the workshop using the local geometry description
NewGeometryShop::~NewGeometryShop | ( | ) |
|
inlineprivate |
References MayDay::Abort().
|
inlineprivate |
References MayDay::Abort().
|
virtual |
Return true if every cell in region is regular at the refinement described by dx.
Implements GeometryService.
|
virtual |
Return true if every cell in region is covered at the refinement described by dx.
Implements GeometryService.
|
virtual |
Reimplemented from GeometryService.
|
inlinevirtual |
Reimplemented from GeometryService.
References clipComputedVal(), computeVoFInternals(), convert2RelativeCoord(), convertIndexTM2IntVect(), convertIndexTM2RealVect(), convertIntVect2IndexTM(), convertRealVect2IndexTM(), fillArc(), fillAreaFrac(), fillBndryArea(), fillBndryCentroid(), fillFaceCentroid(), fillGraph(), fillHiArc(), fillHiAreaFrac(), fillHiFaceCentroid(), fillLoArc(), fillLoAreaFrac(), fillLoFaceCentroid(), fillNormal(), fillResiduals(), fillvolCentroid(), fillVolFrac(), settCurrIv(), and SpaceDim.
|
virtual |
Define the internals of the input ebisRegion.
Implements GeometryService.
Referenced by canGenerateMultiCells().
void NewGeometryShop::computeVoFInternals | ( | Real & | a_volFrac, |
Vector< int > | a_loArc[SpaceDim], | ||
Vector< int > | a_hiArc[SpaceDim], | ||
Vector< Real > | a_loAreaFrac[SpaceDim], | ||
Vector< Real > | a_hiAreaFrac[SpaceDim], | ||
Real & | a_bndryArea, | ||
RealVect & | a_normal, | ||
RealVect & | a_volCentroid, | ||
RealVect & | a_bndryCentroid, | ||
Vector< RealVect > | a_loFaceCentroid[SpaceDim], | ||
Vector< RealVect > | a_hiFaceCentroid[SpaceDim], | ||
const IntVectSet & | a_ivsIrreg, | ||
const VolIndex & | a_vof, | ||
const ProblemDomain & | a_domain, | ||
const RealVect & | a_origin, | ||
const Real & | a_dx, | ||
const RealVect & | a_vectDx, | ||
const IntVect & | a_iv | ||
) | const |
Referenced by canGenerateMultiCells().
void NewGeometryShop::settCurrIv | ( | const IntVect & | a_iv | ) | const |
Referenced by canGenerateMultiCells().
void NewGeometryShop::fillResiduals | ( | int & | a_degreeP | ) | const |
Referenced by canGenerateMultiCells().
Real NewGeometryShop::fillVolFrac | ( | ) | const |
Referenced by canGenerateMultiCells().
void NewGeometryShop::fillArc | ( | Vector< int > | a_arc[SpaceDim], |
const int & | a_hilo, | ||
const IntVectSet & | a_ivsIrreg | ||
) | const |
Referenced by canGenerateMultiCells().
void NewGeometryShop::fillLoArc | ( | Vector< int > | a_loArc[SpaceDim], |
const IntVectSet & | a_ivsIrreg | ||
) | const |
Referenced by canGenerateMultiCells().
void NewGeometryShop::fillHiArc | ( | Vector< int > | a_hiArc[SpaceDim], |
const IntVectSet & | a_ivsIrreg | ||
) | const |
Referenced by canGenerateMultiCells().
void NewGeometryShop::fillAreaFrac | ( | Vector< Real > | a_AreaFrac[SpaceDim], |
const int & | a_hilo | ||
) | const |
Referenced by canGenerateMultiCells().
Referenced by canGenerateMultiCells().
Referenced by canGenerateMultiCells().
Real NewGeometryShop::fillBndryArea | ( | ) | const |
Referenced by canGenerateMultiCells().
RealVect NewGeometryShop::fillNormal | ( | ) | const |
Referenced by canGenerateMultiCells().
RealVect NewGeometryShop::fillvolCentroid | ( | ) | const |
Referenced by canGenerateMultiCells().
RealVect NewGeometryShop::fillBndryCentroid | ( | ) | const |
Referenced by canGenerateMultiCells().
void NewGeometryShop::fillFaceCentroid | ( | Vector< RealVect > | a_loFaceCentroid[SpaceDim], |
const int & | a_hilo | ||
) | const |
Referenced by canGenerateMultiCells().
Referenced by canGenerateMultiCells().
Referenced by canGenerateMultiCells().
void NewGeometryShop::clipComputedVal | ( | Real & | a_volFrac, |
Vector< Real > | a_loAreaFrac[SpaceDim], | ||
Vector< Real > | a_hiAreaFrac[SpaceDim], | ||
Real & | a_bndryArea, | ||
RealVect & | a_volCentroid, | ||
RealVect & | a_bndryCentroid, | ||
Vector< RealVect > | a_loFaceCentroid[SpaceDim], | ||
Vector< RealVect > | a_hiFaceCentroid[SpaceDim], | ||
const IntVect & | a_iv | ||
) | const |
Referenced by canGenerateMultiCells().
RealVect NewGeometryShop::convertIndexTM2RealVect | ( | const IndexTM< Real, SpaceDim > & | a_indexTm | ) | const |
Referenced by canGenerateMultiCells().
IndexTM<Real,SpaceDim> NewGeometryShop::convertRealVect2IndexTM | ( | const RealVect & | a_realVect | ) | const |
Referenced by canGenerateMultiCells().
Referenced by canGenerateMultiCells().
Referenced by canGenerateMultiCells().
Referenced by canGenerateMultiCells().
void NewGeometryShop::outputResidual | ( | int & | type, |
int & | a_degreeP | ||
) | const |
void NewGeometryShop::outputGradNormal | ( | ) | const |
|
private |
Return true if every cell in region is regular at the refinement described by dx.
|
private |
Return true if every cell in region is covered at the refinement described by dx.
|
privatevirtual |
|
private |
|
inlineprivate |
References MayDay::Abort().
int NewGeometryShop::m_phase |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
private |
|
private |
|
private |
|
staticprivate |