13 #ifndef _GEOMETRYSHOP_H_ 14 #define _GEOMETRYSHOP_H_ 27 #include "NamespaceHeader.H" 45 Real a_thrshdVoF = 1.0e-16);
60 const Real& a_dx)
const;
70 const Real& a_dx)
const;
76 const Real& a_dx)
const ;
81 const Real& a_dx)
const ;
95 const Box& a_validRegion,
96 const Box& a_ghostRegion,
133 const Box & a_validRegion,
136 const Real & a_dx)
const;
149 const int& a_maxGridSize,
150 const int& a_maxIrregGridSize );
178 const Real& a_dx)
const;
188 const Real& a_dx)
const;
195 const Real& a_originVal)
const ;
200 bool& a_faceDontKnow,
201 const int a_hiLoFace,
202 const int a_faceNormal,
212 bool& a_faceDontKnow,
223 Real& a_signLo)
const;
227 const int& a_range)
const;
249 MayDay::Abort(
"GeometryShop disallows the assignment operator");
253 #include "NamespaceFooter.H" bool isRegular(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
GeometryShop()
Definition: GeometryShop.H:239
An irregular domain on an integer lattice.
Definition: IntVectSet.H:44
Real m_threshold
Definition: GeometryShop.H:157
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
static bool s_verbose
Definition: GeometryShop.H:166
int m_verbosity
Definition: GeometryShop.H:156
one dimensional dynamic array
Definition: Vector.H:53
const STLIF * m_stlIF
Definition: GeometryShop.H:163
RealVect m_vectDx
Definition: GeometryShop.H:160
virtual bool isIrregular(const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const
Definition: GeometryShop.H:35
bool m_STLBoxSet
Definition: GeometryShop.H:164
virtual void makeGrids(const ProblemDomain &a_domain, DisjointBoxLayout &a_grids, const int &a_maxGridSize, const int &a_maxIrregGridSize)
Real Min(const Real x, const Real y) const
bool isCovered(const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const
BaseIF * m_implicitFunction
Definition: GeometryShop.H:162
const int SpaceDim
Definition: SPACE.H:38
InOut
Definition: GeometryService.H:41
void operator=(const GeometryShop &a_workshopin)
Definition: GeometryShop.H:247
int m_phase
Definition: GeometryShop.H:152
void edgeType(bool &a_regular, bool &a_covered, bool &a_dontKnow, Real &a_signHi, Real &a_signLo) const
void edgeData3D(edgeMo a_edges[4], bool &a_faceCovered, bool &a_faceRegular, bool &a_faceDontKnow, const int a_hiLoFace, const int a_faceNormal, const Real &a_dx, const RealVect &a_vectDx, const IntVect &a_coord, const ProblemDomain &a_domain, const RealVect &a_origin) const
bool isCoveredEveryPoint(const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const
void fixRegularCellsNextToCovered(Vector< IrregNode > &a_nodes, BaseFab< int > &a_regIrregCovered, const Box &a_validRegion, const ProblemDomain &a_domain, const IntVect &a_iv, const Real &a_dx) const
double Real
Definition: REAL.H:33
Definition: IrregNode.H:33
Definition: GeometryService.H:37
Real PrismoidalAreaCalc(RealVect &a_xVec, RealVect &a_yVec) const
void edgeData2D(edgeMo a_edges[4], bool &a_faceCovered, bool &a_faceRegular, bool &a_faceDontKnow, const Real &a_dx, const RealVect &a_vectDx, const IntVect &a_coord, const ProblemDomain &a_domain, const RealVect &a_origin) const
A BoxLayout that has a concept of disjointedness.
Definition: DisjointBoxLayout.H:30
Real m_thrshdVoF
Definition: GeometryShop.H:158
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:465
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
Definition: DataIndex.H:112
GeometryShop(const GeometryShop &a_workshopin)
Definition: GeometryShop.H:243
bool twoEdgeIntersections(edgeMo a_edges[4]) const
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
virtual bool canGenerateMultiCells() const
Definition: GeometryShop.H:84
bool isRegularEveryPoint(const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const
void getFullNodeWithCoveredFace(IrregNode &a_newNode, const BaseFab< int > &a_regIrregCovered, const IntVect &a_iv, const ProblemDomain &a_domain) const
Volume of Fluid Index.
Definition: VolIndex.H:31
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 m_numCellsClipped
Definition: GeometryShop.H:155
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
static void Abort(const char *const a_msg=m_nullString)
Print out message to cerr and exit via abort() (if serial) or MPI_Abort() (if parallel).
Real BrentRootFinder(const RealVect &a_x1, const RealVect &a_x2, const int &a_range) 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 BaseFab< int > &a_regIrregCovered, 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