24 #include "NamespaceHeader.H" 32 void linearIn(T& a_outputT,
const void*
const inBuf);
35 void linearOut(
void*
const a_outBuf,
const T& inputT);
88 for(
int idir = 0; idir <
SpaceDim; idir++)
106 for(
int idir = 0; idir <
SpaceDim; idir++)
224 define(a_box, a_comps);
234 void copy(
const Box& a_regionFrom,
236 const Box& a_regionto,
244 const Box& a_validBox,
249 void define(
const EBGraph& a_graph,
259 const Box& a_validRegion);
266 const Box& a_validRegion);
285 const Real& bndryArea(
const VolIndex& a_vof,
int face)
const;
295 int facePhase(
const VolIndex& a_vof,
int aface)
const ;
301 void setFacePhase(
const VolIndex& a_vof,
int face,
int phase);
307 int numFacePhase(
const VolIndex& a_vof)
const ;
309 void clearMultiBoundaries();
311 void setBoundaryPhase(
int phase);
315 int size(
const Box& R,
const Interval& comps)
const;
345 void addFullIrregularVoFs(
const IntVectSet& a_vofsToChange,
346 const EBGraph& a_newGhostGraph,
348 const EBGraph& a_oldGhostGraph);
351 void addEmptyIrregularVoFs(
const IntVectSet& a_vofsToChange,
354 static void setVerbose(
bool a_verbose);
356 static void setVerboseDebug(
bool a_verboseDebug);
383 return getFaceMoments(a_face);
404 irregFace(
const FaceIndex& a_face)
const;
407 irregVoF(
const VolIndex& a_vof)
const;
411 defineVoFData(
const EBGraph& a_graph,
const Box& a_region);
415 defineFaceData(
const EBGraph& a_graph,
const Box& a_region);
417 void setVolumeMomentsToZero(
const VolIndex& a_vof);
419 void setAreaMomentsToZero(
const FaceIndex& a_face);
421 void setCoveredAndRegular();
458 coarsenFaceCentroid(
RealVect& a_centroidCoar,
464 coarsenAreaFrac(
Real& a_areaFracCoar,
468 coarsenVolFracAndCentroid(
Real& a_volFracCoar,
476 coarsenBoundaryAreaAndNormal(
Real& a_bndryAreaCoar,
482 fineToCoarseTransform(
const RealVect& a_finePoint,
487 coarsenBndryCentroid(
RealVect& a_bndryCentroidCoar,
493 void fetch(std::list<const VolData*>& fineVols,
const Vector<VolIndex>& vofsFine)
const;
522 m_implem->define(a_box, a_comps);
543 const Box& a_regionto,
547 m_implem->copy(a_regionFrom, a_Cd, a_regionto, *a_source.
m_implem, a_Cs);
555 const Box& a_validBox,
559 m_implem->define(a_graph, a_irregData, a_validBox, a_dx, a_hasMoments);
560 computeNormalsAndBoundaryAreas(a_graph, a_validBox);
569 m_implem->define(a_graph, a_region, a_dx, a_hasMoments);
576 const Box& a_validRegion)
578 m_implem->coarsenVoFs(*a_fineEBData.
m_implem, a_fineGraph, a_coarGraph, a_validRegion);
585 const Box& a_validRegion)
587 m_implem->coarsenFaces(*a_fineEBData.
m_implem, a_fineGraph, a_coarGraph, a_validRegion);
597 return m_implem->getVolumeMoments(a_vof);
607 return m_implem->getEBMoments(a_vof);
617 return m_implem->getFaceMoments(a_face);
623 return getFaceMoments(a_face);
632 return m_implem->getEBNormalPartialDerivs(a_vof, a_normalComponent);
643 return m_implem->getEBNormalMoments(a_vof, a_normalComponent);
661 return m_implem->hasMoments();
669 const Real& bndryArea(
const VolIndex& a_vof,
int face)
const;
678 return m_implem->facePhase(a_vof, a_face);
684 return m_implem->faceIndex(a_vof, face);
690 m_implem->setFacePhase(a_vof, face, phase);
696 m_implem->setFaceIndex(a_vof, face, index);
701 return m_implem->numFacePhase(a_vof);
706 m_implem->clearMultiBoundaries();
710 m_implem->setBoundaryPhase(phase);
724 return ((&(*m_implem)) == (&(*a_ebiin.
m_implem)));
740 return (m_implem->size(R, comps));
746 m_implem->linearOut(buf, R, comps);
752 m_implem->linearIn(buf, R, comps);
762 m_implem->addFullIrregularVoFs(a_vofsToChange, a_newGraph, a_grownData, a_oldGraph);
771 m_implem->addEmptyIrregularVoFs(a_vofsToChange, a_newGraph);
777 computeNormalsAndBoundaryAreas(
const EBGraph& a_graph,
778 const Box& a_validRegion);
782 return m_implem->getVolData();
787 return m_implem->getVolData();
809 return m_implem->volFrac(a_vof);
814 return m_implem->bndryArea(a_vof, face);
818 return m_implem->bndryArea(a_vof);
823 return m_implem->normal(a_vof, face);
827 return m_implem->normal(a_vof);
832 return m_implem->centroid(a_vof);
837 return m_implem->bndryCentroid(a_vof, face);
841 return m_implem->bndryCentroid(a_vof);
846 return m_implem->centroid(a_face);
851 return m_implem->areaFrac(a_face);
855 #include "NamespaceFooter.H" void setToCovered()
Definition: EBData.H:177
EBData(const EBData &a_ebiin)
Definition: EBData.H:713
IndMomSpaceDim m_regularVolumeMoments
Definition: EBData.H:435
IndMomSDMinOne m_faceMoments
Definition: EBData.H:170
A reference-counting handle class.
Definition: RefCountedPtr.H:173
static bool s_verboseDebug
Definition: EBData.H:427
void setRegular(const Real a_dx)
set to a regular IndexTM
Definition: IndexedMomentsImplem.H:348
An irregular domain on an integer lattice.
Definition: IntVectSet.H:44
const RealVect & centroid(const FaceIndex &facein) const
Definition: EBData.H:844
void setFacePhase(const VolIndex &a_vof, int face, int phase)
used by multi-fluid code
Definition: EBData.H:688
EBDataImplem(const Box &a_box, int a_comps)
Definition: EBData.H:222
Definition: EBIndexSpace.H:50
void define(const Box &a_box, int a_comps)
Definition: EBData.H:520
void setToZero()
Definition: IndexedMoments.H:173
void linearOut(void *buf, const Box &R, const Interval &comps) const
Definition: EBData.H:744
bool hasMoments() const
return true if higher order moments are available
Definition: EBData.H:340
IndMomSDMinOne getAreaMoments(const FaceIndex &a_face) const
I am sick of guessing this name wrong.
Definition: EBData.H:381
static bool s_verbose
Definition: EBData.H:426
bool hasMoments() const
return true if higher order moments are available
Definition: EBData.H:659
Definition: FaceIndex.H:28
IndMomSDMinOne getFaceMoments(const FaceIndex &a_face) const
get the moment at the face associated with the monomial with the input exponents
Definition: EBData.H:615
RealVect m_normal
Definition: EBData.H:54
void setBoundaryPhase(int phase)
Definition: EBData.H:708
Definition: EBISLevel.H:84
EBData & operator=(const EBData &a_ebiin)
Definition: EBData.H:728
IntVect BASISV(int dir)
Definition: IntVect.H:1266
BaseIVFAB< VolData > & getVolData()
Definition: EBData.H:329
void copy(const Box &a_regionFrom, const Interval &a_Cd, const Box &a_regionto, const EBData &a_source, const Interval &a_Cs)
Definition: EBData.H:541
int facePhase(const VolIndex &a_vof, int a_face) const
used by multi-fluid code
Definition: EBData.H:676
const Real & bndryArea(const VolIndex &a_vof) const
Definition: EBData.H:816
static int preAllocatable()
Definition: EBData.H:324
IndMomSpaceDim getEBNormalPartialDerivs(const VolIndex &a_vof, int a_normalComponent) const
Definition: EBData.H:630
Geometric description within a box.
Definition: EBGraph.H:427
bool m_isFaceDataDefined
Definition: EBData.H:441
const int SpaceDim
Definition: SPACE.H:38
Vector< BoundaryData > m_phaseFaces
Definition: EBData.H:133
Definition: EBInterface.H:45
void resize(unsigned int isize)
Definition: Vector.H:346
EBData()
Definition: EBData.H:508
EBDataImplem(const EBDataImplem &ebiin)
Definition: EBData.H:454
const Real & volFrac(const VolIndex &a_vof) const
Definition: EBData.H:807
void linearIn(void *buf, const Box &R, const Interval &comps)
Definition: EBData.H:750
static const RealVect Zero
Definition: RealVect.H:421
IndMomSpaceDim getVolumeMoments(const VolIndex &a_vof) const
get the moment at the VoF associated with the monomial with the input exponents
Definition: EBData.H:595
int linearSize(const T &inputT)
Definition: SPMDI.H:21
BoundaryData(const Real &bndryArea, const RealVect &normal, const RealVect &bndryCentroid, int phase, const VolIndex &index)
Definition: EBData.H:42
Structure for passing component ranges in code.
Definition: Interval.H:23
void define(const EBGraph &a_graph, const Vector< IrregNode > &a_irregData, const Box &a_validBox, const Real &a_dx, bool a_hasMoments)
define the whole thing
Definition: EBData.H:553
IndMomSDMinOne getAreaMoments(const FaceIndex &a_face) const
I am sick of guessing this name wrong.
Definition: EBData.H:621
const RealVect & bndryCentroid(const VolIndex &a_vof) const
Definition: EBData.H:839
Real m_volFrac
Definition: EBData.H:129
void coarsenFaces(const EBData &a_fineEBData, const EBGraph &a_fineGraph, const EBGraph &a_coarGraph, const Box &a_validRegion)
Definition: EBData.H:582
void define(const Box &box, int comps)
Definition: EBData.H:213
IndMomSDMinOne m_regularAreaMoments
Definition: EBData.H:432
const Real & areaFrac(const FaceIndex &a_face1) const
Definition: EBData.H:849
double Real
Definition: REAL.H:33
BoundaryData m_averageFace
Definition: EBData.H:131
void setToZero()
Definition: EBData.H:82
RealVect m_bndryCentroid
Definition: EBData.H:55
void linearIn(T &a_outputT, const void *const inBuf)
Definition: SPMDI.H:27
IndMomSpaceDim m_EBNormalMoments[SpaceDim]
ebmoments with the the normal integrated in
Definition: EBData.H:79
RealVect m_volCentroid
Definition: EBData.H:130
int m_bndryPhase
Definition: EBData.H:56
static int preAllocatable()
Definition: EBData.H:791
BaseIVFAB< VolData > m_volData
Definition: EBData.H:429
const VolIndex & faceIndex(const VolIndex &a_vof, int face) const
used by multi-fluid code
Definition: EBData.H:682
void operator=(const EBDataImplem &ebiin)
Definition: EBData.H:451
void linearOut(void *const a_outBuf, const T &inputT)
Definition: SPMDI.H:33
int size(const Box &R, const Interval &comps) const
Definition: EBData.H:738
const RealVect & normal(const VolIndex &a_vof) const
Definition: EBData.H:825
IndMomSpaceDim m_normalPartialDeriv[SpaceDim]
the derivatives of the normal
Definition: EBData.H:72
EBData(const Box &a_box, int a_comps)
Definition: EBData.H:529
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:465
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
BaseIVFAB< VolData > & getVolData()
Definition: EBData.H:780
IndMomSpaceDim getEBMoments(const VolIndex &a_vof) const
get the normal the irregular face associated with the monomial with the input exponents ...
Definition: EBData.H:605
IndMomSpaceDim m_EBMoments
the moment at the irregular face associated with the monomial with the input exponents ...
Definition: EBData.H:65
bool m_hasMoments
Definition: EBData.H:447
void setToRegular(Real a_dx)
Definition: EBData.H:134
void setToCovered()
Definition: EBData.H:143
void define(const EBGraph &a_graph, const Box &a_region, const Real &a_dx, bool a_hasMoments)
Definition: EBData.H:564
const BaseIVFAB< VolData > & getVolData() const
Definition: EBData.H:785
BoundaryData & operator=(const BoundaryData &a_in)
Definition: EBData.H:96
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
void coarsenVoFs(const EBData &a_fineEBData, const EBGraph &a_fineGraph, const EBGraph &a_coarGraph, const Box &a_validRegion)
Definition: EBData.H:573
void addEmptyIrregularVoFs(const IntVectSet &a_vofsToChange, const EBGraph &a_newGraph)
multifluid angels dancing on the heads of pins.
Definition: EBData.H:768
~EBData()
Definition: EBData.H:513
RefCountedPtr< EBDataImplem > m_implem
Definition: EBData.H:800
void setToRegular(Real a_dx)
Definition: EBData.H:171
Volume of Fluid Index.
Definition: VolIndex.H:31
int numFacePhase(const VolIndex &a_vof) const
Definition: EBData.H:699
void clearMultiBoundaries()
Definition: EBData.H:704
bool m_isVoFDataDefined
Definition: EBData.H:444
Real m_areaFrac
Definition: EBData.H:168
RealVect m_faceCentroid
Definition: EBData.H:169
Real m_bndryArea
Definition: EBData.H:53
Real m_dx
Definition: EBData.H:450
IndMomSpaceDim getEBNormalMoments(const VolIndex &a_vof, int a_normalComponent) const
get the normal*moment at the irregular face associated with the monomial with the input exponents ...
Definition: EBData.H:641
void addFullIrregularVoFs(const IntVectSet &a_vofsToChange, const EBGraph &a_newGraph, const BaseIVFAB< VolData > &a_grownData, const EBGraph &a_oldGraph)
Definition: EBData.H:757
const BaseIVFAB< VolData > & getVolData() const
Definition: EBData.H:333
void setFaceIndex(const VolIndex &a_vof, int face, const VolIndex &index)
used by multi-fluid code
Definition: EBData.H:694
bool operator==(const EBData &a_ebiin)
Definition: EBData.H:722
IndMomSpaceDim m_volumeMoments
Definition: EBData.H:132
VolIndex m_volIndex
Definition: EBData.H:57