Chombo + EB  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 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)
 

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: