Chombo + EB + MF  3.2
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
WrappedGShop Class Reference

#include <WrappedGShop.H>

Inheritance diagram for WrappedGShop:
Inheritance graph
[legend]

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 BaseIFgetBaseIFPtr () 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< WGSRefinementCriterionm_refCrit
 
Real m_threshold
 
RealVect m_origin
 
int m_order
 
int m_degreeP
 
int m_minNumberRefines
 
int m_maxNumberRefines
 
ProblemDomain m_domain
 
RefCountedPtr< BaseIFm_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)
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ WrappedGShop() [1/3]

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.

◆ ~WrappedGShop()

WrappedGShop::~WrappedGShop ( )
inline

◆ WrappedGShop() [2/3]

WrappedGShop::WrappedGShop ( )
inlineprivate

References MayDay::Abort().

◆ WrappedGShop() [3/3]

WrappedGShop::WrappedGShop ( const WrappedGShop a_workshopin)
inlineprivate

References MayDay::Abort().

Member Function Documentation

◆ checkNodeMoments()

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.

◆ getBaseIFPtr()

virtual const BaseIF* WrappedGShop::getBaseIFPtr ( ) const
inlinevirtual

◆ generatesHigherOrderMoments()

virtual bool WrappedGShop::generatesHigherOrderMoments ( ) const
inlinevirtual

this does return higher order moments.

Reimplemented from GeometryService.

◆ isRegular()

virtual bool WrappedGShop::isRegular ( const Box a_region,
const ProblemDomain a_domain,
const RealVect a_origin,
const Real a_dx 
) const
virtual

Return true if every cell in region is regular at the refinement described by dx.

Implements GeometryService.

◆ isCovered()

virtual bool WrappedGShop::isCovered ( const Box a_region,
const ProblemDomain a_domain,
const RealVect a_origin,
const Real a_dx 
) const
virtual

Return true if every cell in region is covered at the refinement described by dx.

Implements GeometryService.

◆ isIrregular()

virtual bool WrappedGShop::isIrregular ( const Box a_region,
const ProblemDomain a_domain,
const RealVect a_origin,
const Real a_dx 
) const
virtual

Reimplemented from GeometryService.

◆ canGenerateMultiCells()

virtual bool WrappedGShop::canGenerateMultiCells ( ) const
inlinevirtual

Reimplemented from GeometryService.

◆ onBoxBoundary()

bool WrappedGShop::onBoxBoundary ( const IntVect a_iv,
const Box a_box,
const int &  a_dir,
const Side::LoHiSide a_sd 
) const

◆ fillGraph()

virtual void WrappedGShop::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

Define the internals of the input ebisRegion.

Implements GeometryService.

◆ computeVoFInternals()

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

◆ needToRefine()

bool WrappedGShop::needToRefine ( IrregNode a_node,
const Real a_dx,
const int &  a_numRefSoFar 
) const

◆ agglomerateMoments()

void WrappedGShop::agglomerateMoments ( IrregNode a_node,
const Vector< IrregNode > &  a_refNodes,
const Box a_refBox,
const Real a_fineDx,
const Real a_coarDx 
) const

◆ convert2RelativeCoord() [1/2]

RealVect WrappedGShop::convert2RelativeCoord ( const RealVect a_rVect) const

◆ convert2RelativeCoord() [2/2]

RealVect WrappedGShop::convert2RelativeCoord ( const IndexTM< Real, SpaceDim > &  a_rVect) const

◆ fillNewNode()

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

◆ setRefinementCriterion()

void WrappedGShop::setRefinementCriterion ( const RefCountedPtr< WGSRefinementCriterion > &  a_refCrit)
inline

◆ fixRegularCellsNextToCovered()

void WrappedGShop::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
private

◆ getFullNodeWithCoveredFace()

void WrappedGShop::getFullNodeWithCoveredFace ( IrregNode a_newNode,
const BaseFab< int > &  a_regIrregCovered,
const IntVect a_iv,
const Real a_dx,
const Box a_domain 
) const
private

◆ isRegularEveryPoint()

bool WrappedGShop::isRegularEveryPoint ( const Box a_region,
const ProblemDomain a_domain,
const RealVect a_origin,
const Real a_dx 
) const
private

Return true if every cell in region is regular at the refinement described by dx.

◆ isCoveredEveryPoint()

bool WrappedGShop::isCoveredEveryPoint ( const Box a_region,
const ProblemDomain a_domain,
const RealVect a_origin,
const Real a_dx 
) const
private

Return true if every cell in region is covered at the refinement described by dx.

◆ fillArc()

void WrappedGShop::fillArc ( Vector< int >  a_arc[SpaceDim],
CutCellMoments< SpaceDim > &  a_cutCellMoments,
const int &  a_hilo,
const IntVectSet a_ivsIrreg,
const IntVect a_curriv 
) const
private

◆ operator=()

void WrappedGShop::operator= ( const WrappedGShop a_workshopin)
inlineprivate

References MayDay::Abort().

Member Data Documentation

◆ m_phase

int WrappedGShop::m_phase

◆ m_refCrit

RefCountedPtr<WGSRefinementCriterion> WrappedGShop::m_refCrit
private

◆ m_threshold

Real WrappedGShop::m_threshold
private

◆ m_origin

RealVect WrappedGShop::m_origin
private

◆ m_order

int WrappedGShop::m_order
private

◆ m_degreeP

int WrappedGShop::m_degreeP
private

◆ m_minNumberRefines

int WrappedGShop::m_minNumberRefines
private

◆ m_maxNumberRefines

int WrappedGShop::m_maxNumberRefines
private

◆ m_domain

ProblemDomain WrappedGShop::m_domain
private

◆ m_baseIF

RefCountedPtr<BaseIF> WrappedGShop::m_baseIF
private

◆ s_relativeTol

Real WrappedGShop::s_relativeTol
staticprivate

The documentation for this class was generated from the following file: