33 #include "NamespaceHeader.H"
90 long long numFaces(
const Box& a_box,
int a_dir)
const ;
204 const Box& a_validRegion,
211 const Box& a_validRegion,
242 void copy(
const Box& a_regionFrom,
244 const Box& a_regionto,
283 const Box& a_coarRegion);
346 const EBGraph& a_ghostGraph)
const;
594 const Box& a_validRegion,
623 void copy(
const Box& a_regionFrom,
625 const Box& a_regionto,
646 const Box& a_coarRegion);
658 const EBGraph& a_coarGhostGraph,
743 const EBGraph& a_ghostGraph)
const;
748 long long numFaces(
const Box& a_box,
int a_dir)
const ;
785 const char*
name(
const EBGraph& a_dummySpecializationArg);
802 const Box& a_validRegion,
810 const Box& a_regionTo,
836 if (&a_ebiin !=
this)
961 const Box& a_coarRegion)
1019 #include "NamespaceFooter.H"
TAG
Definition: EBGraph.H:55
BaseFab< char > m_mask
Definition: EBGraph.H:401
const BaseFab< char > & getMask(int &a_regIrregCovered) const
void dataTypes(Vector< hid_t > &a_types, const EBGraph &a_dummySpecializationArg)
int size(const Box &R, const Interval &comps) const
Box m_region
box over which this graph is defined
Definition: EBGraph.H:365
void setDomain(const ProblemDomain &a_domain)
An irregular domain on an integer lattice.
Definition: IntVectSet.H:44
void define(const Box &box)
static IntVect s_ivDebug
Definition: EBGraph.H:47
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
ProblemDomain m_domain
computational domain at this level of refinement
Definition: EBGraph.H:368
Definition: EBIndexSpace.H:50
bool isAllRegular() const
const ProblemDomain & getDomain() const
Definition: EBGraph.H:939
Definition: EBGraph.H:438
static Box s_doDebug
Definition: EBGraph.H:48
Definition: FaceIndex.H:28
const Box & getRegion() const
Definition: EBGraph.H:829
EBGraph & operator=(const EBGraph &ebiin)
Definition: EBGraph.H:834
int size(const Box &R, const Interval &comps) const
void coarsenVoFs(const EBGraphImplem &a_fineGraph, const Box &a_coarRegion)
void setToAllRegular()
Definition: EBGraph.H:949
bool isCovered(const Box &a_box) const
void linearIn(void *buf, const Box &R, const Interval &comps)
bool isAllCovered() const
Definition: EBGraph.H:869
Iterator over faces within an IntVectSet and an Ebgraph.
Definition: FaceIterator.H:67
IntVectSet * m_irregIVS
Definition: EBGraph.H:393
Definition: EBISLevel.H:84
void fixFineToCoarse(EBGraphImplem &a_fineEBIS) const
Vector< Vector< VolIndex > > getVoFSets(const Box &a_region) const
bool m_isDomainSet
Definition: EBGraph.H:390
Vector< FaceIndex > getMultiValuedFaces(const int &a_idir, const Box &a_box, const EBGraph &a_ebgraph) const
bool isIrregular(const IntVect &a_iv) const
Definition: EBGraph.H:874
void write(const EBGraph &item, Vector< void * > &a_allocatedBuffers, const Box &box, const Interval &comps)
Vector< VolIndex > refine(const VolIndex &a_coarVoF) const
Definition: EBGraph.H:908
Definition: EBGraph.H:439
void define(const Box &box)
void buildGraph(const BaseFab< int > &a_regIrregCovered, const Vector< IrregNode > &a_irregGraph, const Box &a_validRegion, const ProblemDomain &a_domain)
Definition: EBGraph.H:800
void read(EBGraph &item, Vector< void * > &a_allocatedBuffers, const Box &box, const Interval &comps)
void setToAllCovered()
Definition: EBGraph.H:954
Vector< Vector< VolIndex > > getVoFSets(const Box &a_region) const
Vector< FaceIndex > getAllFaces(const IntVect &a_iv, const int &a_idir, const Side::LoHiSide &a_sd) const
Definition: EBGraph.H:979
Geometric description within a box.
Definition: EBGraph.H:427
void addEmptyIrregularVoFs(const IntVectSet &a_vofsToChange)
void fillCellTypeMask(BaseFab< char > &a_mask) const
const ProblemDomain & getDomain() const
IntVectSet getMultiCells(const Box &a_subbox) const
Definition: EBGraph.H:844
Geometric description within a box.
Definition: EBGraph.H:44
Vector< FaceIndex > getMultiValuedFaces(const int &a_idir, const Box &a_box) const
Definition: EBInterface.H:45
long long numFaces(const Box &a_box, int a_dir) const
void linearIn(void *buf, const Box &R, const Interval &comps)
EBGraphImplem(const EBGraphImplem &ebiin)
Definition: EBGraph.H:410
bool isRegular(const Box &a_box) const
bool m_isDefined
Definition: EBGraph.H:387
bool isIrregular(const IntVect &a_iv) const
FaceIndex coarsen(const FaceIndex &a_coarFace) const
void dataSize(const EBGraph &item, Vector< int > &a_sizes, const Box &box, const Interval &comps)
bool isCovered(const Box &a_box) const
Definition: EBGraph.H:889
void linearOut(void *buf, const Box &R, const Interval &comps) const
static bool s_verbose
Definition: EBGraph.H:398
Structure for passing component ranges in code.
Definition: Interval.H:23
const char * name(const EBGraph &a_dummySpecializationArg)
bool operator<(const EBGraph &a_ebiin) const
pointer comparison
Definition: EBGraph.H:934
static void checkGraph(const BaseFab< int > &a_regIrregCovered, const Vector< IrregNode > &a_irregGraph, const Box &a_validRegion, const ProblemDomain &a_domain)
check if a box worth of graph is self consistent
const FaceIterator & FaceIteratorCache(const Box &a_region, int a_direction, FaceStop::WhichFaces a_loc, const EBGraph &parent) const
IntVectSet getIrregCells(const Box &a_subbox) const
Definition: EBGraph.H:849
void fillCellTypeMask(BaseFab< char > &a_mask) const
bool isAllCovered() const
IntVectSet getIrregCells(const Box &a_subbox) const
void addFullIrregularVoFs(const IntVectSet &a_vofsToChange, const EBGraph &a_ghostGraph)
const FaceIterator & FaceIteratorCache(const IntVectSet &ivs, int a_direction, FaceStop::WhichFaces a_loc) const
Definition: EBGraph.H:1008
LoHiSide
Definition: LoHiSide.H:27
Vector< VolIndex > getVoFs(const IntVect &a_iv) const
Definition: EBGraph.H:854
bool hasIrregular() const
const Box & getRegion() const
bool isConnected(const VolIndex &a_vof1, const VolIndex &a_vof2) const
Definition: EBGraph.H:823
static void Error(const char *const a_msg=m_nullString, int m_exitCode=CH_DEFAULT_ERROR_CODE)
Print out message to cerr and exit with the specified exit code.
Vector< VolIndex > getVoFs(const IntVect &a_iv) const
bool hasIrregular() const
void getRegNextToMultiValued(IntVectSet &a_vofsToChange, const EBGraph &a_ghostGraph) const
void getRegNextToMultiValued(IntVectSet &a_vofsToChange, const EBGraph &a_ghostGraph) const
long long numVoFs(const IntVect &a_iv) const
Definition: EBGraph.H:989
Vector< FaceIndex > getIrregFaces(const Box &a_box, int a_dir) const
void coarsenFaces(const EBGraph &a_coarGhostGraph, const EBGraph &a_fineEBIS)
Definition: EBGraph.H:967
void copy(const Box &a_regionFrom, const Interval &Cd, const Box &a_regionto, const EBGraphImplem &a_source, const Interval &Cs)
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:465
Vector< FaceIndex > getIrregFaces(const Box &a_box, int a_dir) const
RefCountedPtr< EBGraphImplem > m_implem
Definition: EBGraph.H:761
BaseFab< GraphNode > m_graph
Definition: EBGraph.H:384
static int preAllocatable()
Definition: EBGraph.H:267
void fillMask(BaseFab< char > &a_mask) const
FaceIndex coarsen(const FaceIndex &a_coarFace) const
Definition: EBGraph.H:919
Iterator for all vofs within an IntVectSet and an Ebgraph.
Definition: VoFIterator.H:27
const BaseFab< char > & getMask(int &a_regIrregCovered) const
Definition: EBGraph.H:794
bool isAllRegular() const
Definition: EBGraph.H:864
bool isMultiValued(const IntVect &a_iv) const
Definition: EBGraph.H:884
void fillMask(BaseFab< char > &a_mask) const
bool m_isMaskBuilt
Definition: EBGraph.H:402
Vector< FaceIndex > getFaces(const VolIndex &a_vof, const int &a_idir, const Side::LoHiSide &a_sd) const
Definition: EBGraph.H:900
IntVectSet * m_multiIVS
Definition: EBGraph.H:396
TAG m_tag
Definition: EBGraph.H:375
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
void setDomain(const ProblemDomain &a_domain)
Definition: EBGraph.H:944
long long numVoFs(const IntVect &a_iv) const
bool isConnected(const VolIndex &a_vof1, const VolIndex &a_vof2) const
Definition: EBGraph.H:437
Volume of Fluid Index.
Definition: VolIndex.H:31
bool operator==(const EBGraph &a_ebiin)
pointer comparison
Definition: EBGraph.H:929
IntVectSet getMultiCells(const Box &a_subbox) const
bool isMultiValued(const IntVect &a_iv) const
TAG
Definition: EBGraph.H:435
void copy(const Box &a_regionFrom, const Interval &Cd, const Box &a_regionto, const EBGraph &a_source, const Interval &Cs)
Definition: EBGraph.H:808
static int preAllocatable()
Definition: EBGraph.H:729
const VoFIterator & VoFIteratorCache(const IntVectSet &ivs) const
Definition: EBGraph.H:1014
void fixFineToCoarse(EBGraph &a_fineEBIS) const
Definition: EBGraph.H:973
void linearOut(void *buf, const Box &R, const Interval &comps) const
void addEmptyIrregularVoFs(const IntVectSet &a_vofsToChange)
bool isDefined() const
Definition: EBGraph.H:818
Vector< VolIndex > refine(const VolIndex &a_coarVoF) const
void coarsenFaces(const EBGraphImplem &a_coarGhostGraph, const EBGraphImplem &a_fineEBIS)
long long numFaces(const Box &a_box, int a_dir) const
void buildGraph(const BaseFab< int > &a_regIrregCovered, const Vector< IrregNode > &a_irregGraph, const Box &a_validRegion, const ProblemDomain &a_domain)
void coarsenVoFs(const EBGraph &a_fineGraph, const Box &a_coarRegion)
Definition: EBGraph.H:960
Vector< FaceIndex > getFaces(const VolIndex &a_vof, const int &a_idir, const Side::LoHiSide &a_sd) const
WhichFaces
Definition: FaceIterator.H:45
Vector< FaceIndex > getAllFaces(const IntVect &a_iv, const int &a_idir, const Side::LoHiSide &a_sd) const
void operator=(const EBGraphImplem &ebiin)
Definition: EBGraph.H:406
const VoFIterator & VoFIteratorCache(const IntVectSet &ivs, const EBGraph &parent) const
bool isRegular(const Box &a_box) const
Definition: EBGraph.H:894
void addFullIrregularVoFs(const IntVectSet &a_vofsToChange, const EBGraph &a_ghostGraph)