Chombo + EB  3.0
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
NewGeometryShop Class Reference

#include <NewGeometryShop.H>

Inheritance diagram for NewGeometryShop:
Inheritance graph
[legend]

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, SpaceDimconvertRealVect2IndexTM (const RealVect &a_realVect) const
 
IntVect convertIndexTM2IntVect (const IndexTM< int, SpaceDim > &a_indexTm) const
 
IndexTM< int, SpaceDimconvertIntVect2IndexTM (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 BaseIFm_baseIF
 
CutCellMoments< GLOBALDIMm_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)
 

Detailed Description

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

Constructor & Destructor Documentation

◆ NewGeometryShop() [1/3]

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::~NewGeometryShop ( )

◆ NewGeometryShop() [2/3]

NewGeometryShop::NewGeometryShop ( )
inlineprivate

References MayDay::Abort().

◆ NewGeometryShop() [3/3]

NewGeometryShop::NewGeometryShop ( const NewGeometryShop a_workshopin)
inlineprivate

References MayDay::Abort().

Member Function Documentation

◆ isRegular()

bool NewGeometryShop::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()

bool NewGeometryShop::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 NewGeometryShop::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 NewGeometryShop::canGenerateMultiCells ( ) const
inlinevirtual

◆ fillGraph()

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

Define the internals of the input ebisRegion.

Implements GeometryService.

Referenced by canGenerateMultiCells().

◆ computeVoFInternals()

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().

◆ settCurrIv()

void NewGeometryShop::settCurrIv ( const IntVect a_iv) const

Referenced by canGenerateMultiCells().

◆ fillResiduals()

void NewGeometryShop::fillResiduals ( int &  a_degreeP) const

Referenced by canGenerateMultiCells().

◆ fillVolFrac()

Real NewGeometryShop::fillVolFrac ( ) const

Referenced by canGenerateMultiCells().

◆ fillArc()

void NewGeometryShop::fillArc ( Vector< int >  a_arc[SpaceDim],
const int &  a_hilo,
const IntVectSet a_ivsIrreg 
) const

Referenced by canGenerateMultiCells().

◆ fillLoArc()

void NewGeometryShop::fillLoArc ( Vector< int >  a_loArc[SpaceDim],
const IntVectSet a_ivsIrreg 
) const

Referenced by canGenerateMultiCells().

◆ fillHiArc()

void NewGeometryShop::fillHiArc ( Vector< int >  a_hiArc[SpaceDim],
const IntVectSet a_ivsIrreg 
) const

Referenced by canGenerateMultiCells().

◆ fillAreaFrac()

void NewGeometryShop::fillAreaFrac ( Vector< Real a_AreaFrac[SpaceDim],
const int &  a_hilo 
) const

Referenced by canGenerateMultiCells().

◆ fillLoAreaFrac()

void NewGeometryShop::fillLoAreaFrac ( Vector< Real a_loAreaFrac[SpaceDim]) const

Referenced by canGenerateMultiCells().

◆ fillHiAreaFrac()

void NewGeometryShop::fillHiAreaFrac ( Vector< Real a_hiAreaFrac[SpaceDim]) const

Referenced by canGenerateMultiCells().

◆ fillBndryArea()

Real NewGeometryShop::fillBndryArea ( ) const

Referenced by canGenerateMultiCells().

◆ fillNormal()

RealVect NewGeometryShop::fillNormal ( ) const

Referenced by canGenerateMultiCells().

◆ fillvolCentroid()

RealVect NewGeometryShop::fillvolCentroid ( ) const

Referenced by canGenerateMultiCells().

◆ fillBndryCentroid()

RealVect NewGeometryShop::fillBndryCentroid ( ) const

Referenced by canGenerateMultiCells().

◆ fillFaceCentroid()

void NewGeometryShop::fillFaceCentroid ( Vector< RealVect a_loFaceCentroid[SpaceDim],
const int &  a_hilo 
) const

Referenced by canGenerateMultiCells().

◆ fillLoFaceCentroid()

void NewGeometryShop::fillLoFaceCentroid ( Vector< RealVect a_LOFaceCentroid[SpaceDim]) const

Referenced by canGenerateMultiCells().

◆ fillHiFaceCentroid()

void NewGeometryShop::fillHiFaceCentroid ( Vector< RealVect a_hiFaceCentroid[SpaceDim]) const

Referenced by canGenerateMultiCells().

◆ clipComputedVal()

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().

◆ convertIndexTM2RealVect()

RealVect NewGeometryShop::convertIndexTM2RealVect ( const IndexTM< Real, SpaceDim > &  a_indexTm) const

Referenced by canGenerateMultiCells().

◆ convertRealVect2IndexTM()

IndexTM<Real,SpaceDim> NewGeometryShop::convertRealVect2IndexTM ( const RealVect a_realVect) const

Referenced by canGenerateMultiCells().

◆ convertIndexTM2IntVect()

IntVect NewGeometryShop::convertIndexTM2IntVect ( const IndexTM< int, SpaceDim > &  a_indexTm) const

Referenced by canGenerateMultiCells().

◆ convertIntVect2IndexTM()

IndexTM<int,SpaceDim> NewGeometryShop::convertIntVect2IndexTM ( const IntVect a_intVect) const

Referenced by canGenerateMultiCells().

◆ convert2RelativeCoord() [1/2]

RealVect NewGeometryShop::convert2RelativeCoord ( const RealVect a_rVect) const

Referenced by canGenerateMultiCells().

◆ convert2RelativeCoord() [2/2]

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

◆ outputResidual()

void NewGeometryShop::outputResidual ( int &  type,
int &  a_degreeP 
) const

◆ outputGradNormal()

void NewGeometryShop::outputGradNormal ( ) const

◆ isRegularEveryPoint()

bool NewGeometryShop::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 NewGeometryShop::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.

◆ isIrregularEveryPoint()

virtual bool NewGeometryShop::isIrregularEveryPoint ( const Box a_region,
const ProblemDomain a_domain,
const RealVect a_origin,
const Real a_dx,
const Real a_originVal 
) const
privatevirtual

◆ getNumCellsClipped()

int NewGeometryShop::getNumCellsClipped ( )
private

◆ operator=()

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

References MayDay::Abort().

Member Data Documentation

◆ m_phase

int NewGeometryShop::m_phase

◆ m_numCellsClipped

int NewGeometryShop::m_numCellsClipped
private

◆ m_threshold

Real NewGeometryShop::m_threshold
private

◆ m_origin

RealVect NewGeometryShop::m_origin
private

◆ m_vectDx

RealVect NewGeometryShop::m_vectDx
private

◆ m_dxVect

RvgDim NewGeometryShop::m_dxVect
private

◆ m_order

int NewGeometryShop::m_order
private

◆ m_degreeP

int NewGeometryShop::m_degreeP
private

◆ m_useConstraints

bool NewGeometryShop::m_useConstraints
private

◆ m_volScaleFactor

Real NewGeometryShop::m_volScaleFactor
private

◆ m_bndryAreaScaleFactor

Real NewGeometryShop::m_bndryAreaScaleFactor
private

◆ m_residuals

FArrayBox NewGeometryShop::m_residuals
mutableprivate

◆ m_gradNormal

FArrayBox NewGeometryShop::m_gradNormal
mutableprivate

◆ m_currIv

IntVect NewGeometryShop::m_currIv
mutableprivate

◆ m_domain

ProblemDomain NewGeometryShop::m_domain
private

◆ m_baseIF

const BaseIF* NewGeometryShop::m_baseIF
private

◆ m_cutCellMoments

CutCellMoments<GLOBALDIM> NewGeometryShop::m_cutCellMoments
private

◆ s_verbose

bool NewGeometryShop::s_verbose
staticprivate

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