Chombo + EB
3.2
|
#include <WrappedGShop.H>
Public Member Functions | |
WrappedGShop (const RefCountedPtr< BaseIF > &a_baseIF, const RealVect &a_origin, const Real &a_dx, const ProblemDomain &a_domain, int minNumberRefines, int maxNumberRefines) | |
bool | checkNodeMoments (IrregNode &a_node, const Real &a_dx, const bool &a_bindMoments, const Real &a_tolerance) const |
virtual const BaseIF * | getBaseIFPtr () const |
~WrappedGShop () | |
virtual bool | generatesHigherOrderMoments () const |
this does return higher order moments. More... | |
virtual bool | isRegular (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const |
virtual 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 |
bool | onBoxBoundary (const IntVect &a_iv, const Box &a_box, const int &a_dir, const Side::LoHiSide &a_sd) 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 DataIndex &a_di) const |
void | computeVoFInternals (IrregNode &a_node, const IntVectSet &a_ivsIrreg, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx, const IntVect &a_iv) const |
bool | needToRefine (IrregNode &a_node, const Real &a_dx, const int &a_numRefSoFar) const |
void | agglomerateMoments (IrregNode &a_node, const Vector< IrregNode > &a_refNodes, const Box &a_refBox, const Real &a_fineDx, const Real &a_coarDx) const |
RealVect | convert2RelativeCoord (const RealVect &a_rVect) const |
RealVect | convert2RelativeCoord (const IndexTM< Real, SpaceDim > &a_rVect) const |
void | fillNewNode (IrregNode &a_node, const IntVectSet &a_ivsIrreg, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx, const IntVect &a_iv) const |
void | setRefinementCriterion (const RefCountedPtr< WGSRefinementCriterion > &a_refCrit) |
Public Member Functions inherited from GeometryService | |
GeometryService () | |
virtual | ~GeometryService () |
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 | |
void | fixRegularCellsNextToCovered (Vector< IrregNode > &a_nodes, BaseFab< int > &a_regIrregCovered, const Box &a_validRegion, const Box &a_domain, const IntVect &a_iv, const Real &a_dx) const |
void | getFullNodeWithCoveredFace (IrregNode &a_newNode, const BaseFab< int > &a_regIrregCovered, const IntVect &a_iv, const Real &a_dx, const Box &a_domain) const |
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 |
void | fillArc (Vector< int > a_arc[SpaceDim], CutCellMoments< SpaceDim > &a_cutCellMoments, const int &a_hilo, const IntVectSet &a_ivsIrreg, const IntVect &a_curriv) const |
WrappedGShop () | |
WrappedGShop (const WrappedGShop &a_workshopin) | |
void | operator= (const WrappedGShop &a_workshopin) |
Private Attributes | |
RefCountedPtr< WGSRefinementCriterion > | m_refCrit |
Real | m_threshold |
RealVect | m_origin |
int | m_order |
int | m_degreeP |
int | m_minNumberRefines |
int | m_maxNumberRefines |
ProblemDomain | m_domain |
RefCountedPtr< BaseIF > | m_baseIF |
Static Private Attributes | |
static Real | s_relativeTol |
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 a much simplified version of GeometryShop. Refinement has been taken out of the internals of computecutcellmoments and the constrained least squares stuff is gone alltogether. This is also done for isotropic dx and there is no more stuff about globaldim.
WrappedGShop::WrappedGShop | ( | const RefCountedPtr< BaseIF > & | a_baseIF, |
const RealVect & | a_origin, | ||
const Real & | a_dx, | ||
const ProblemDomain & | a_domain, | ||
int | minNumberRefines, | ||
int | maxNumberRefines | ||
) |
This class will refine a cell if it is between min and max refinements. If it violates bounds, that triggers refinement until max refinement.
|
inline |
|
inlineprivate |
References MayDay::Abort().
|
inlineprivate |
References MayDay::Abort().
bool WrappedGShop::checkNodeMoments | ( | IrregNode & | a_node, |
const Real & | a_dx, | ||
const bool & | a_bindMoments, | ||
const Real & | a_tolerance | ||
) | const |
This checks to see if moments are within sane bounds. If a_bindMoments = true, it enforces those bounds. Only returns true if the bounds are violated by the relative tolerance.
|
inlinevirtual |
|
inlinevirtual |
this does return higher order moments.
Reimplemented from GeometryService.
|
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.
bool WrappedGShop::onBoxBoundary | ( | const IntVect & | a_iv, |
const Box & | a_box, | ||
const int & | a_dir, | ||
const Side::LoHiSide & | a_sd | ||
) | const |
|
virtual |
Define the internals of the input ebisRegion.
Implements GeometryService.
void WrappedGShop::computeVoFInternals | ( | IrregNode & | a_node, |
const IntVectSet & | a_ivsIrreg, | ||
const ProblemDomain & | a_domain, | ||
const RealVect & | a_origin, | ||
const Real & | a_dx, | ||
const IntVect & | a_iv | ||
) | const |
bool WrappedGShop::needToRefine | ( | IrregNode & | a_node, |
const Real & | a_dx, | ||
const int & | a_numRefSoFar | ||
) | const |
void WrappedGShop::agglomerateMoments | ( | IrregNode & | a_node, |
const Vector< IrregNode > & | a_refNodes, | ||
const Box & | a_refBox, | ||
const Real & | a_fineDx, | ||
const Real & | a_coarDx | ||
) | const |
void WrappedGShop::fillNewNode | ( | IrregNode & | a_node, |
const IntVectSet & | a_ivsIrreg, | ||
const ProblemDomain & | a_domain, | ||
const RealVect & | a_origin, | ||
const Real & | a_dx, | ||
const IntVect & | a_iv | ||
) | const |
|
inline |
|
private |
|
private |
|
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.
|
private |
|
inlineprivate |
References MayDay::Abort().
int WrappedGShop::m_phase |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |