33 #include "NamespaceHeader.H" 207 const Box& a_validRegion,
214 const Box& a_validRegion,
245 void copy(
const Box& a_regionFrom,
247 const Box& a_regionto,
286 const Box& a_coarRegion);
352 const EBGraph& a_ghostGraph)
const;
593 const Box& a_validRegion,
622 void copy(
const Box& a_regionFrom,
624 const Box& a_regionto,
645 const Box& a_coarRegion);
657 const EBGraph& a_coarGhostGraph,
710 bool operator==(
const EBGraph& a_ebiin);
742 const EBGraph& a_ghostGraph)
const;
785 const char*
name(
const EBGraph& a_dummySpecializationArg);
796 return m_implem->getMask(a_regIrregCovered);
802 const Box& a_validRegion,
805 m_implem->buildGraph(a_regIrregCovered, a_irregGraph, a_validRegion, a_domain);
810 const Box& a_regionTo,
814 m_implem->copy(a_regionFrom, Cd, a_regionTo,
820 return m_implem->isDefined();
826 return m_implem->isConnected(a_vof1, a_vof2);
831 return m_implem->getRegion();
836 if (&a_ebiin !=
this)
846 return m_implem->getMultiCells(a_subbox);
851 return m_implem->getIrregCells(a_subbox);
856 return m_implem->getVoFs(a_iv);
861 return m_implem->isRegular(a_iv);
866 return m_implem->isAllRegular();
871 return m_implem->isAllCovered();
876 return m_implem->isIrregular(a_iv);
881 return m_implem->isCovered(a_iv);
886 return m_implem->isCovered(a_box);
891 return m_implem->isRegular(a_box);
899 return m_implem->getFaces(a_vof, a_idir, a_sd);
905 return m_implem->refine(a_coarVoF);
911 return m_implem->refine(a_coarFace, *a_fineGraph.
m_implem);
916 return m_implem->coarsen(a_fineFace);
921 return m_implem->coarsen(a_fineVoF);
926 return (m_implem == a_ebiin.
m_implem);
931 return (m_implem < a_ebiin.
m_implem);
936 return (m_implem->getDomain());
941 m_implem->setDomain(a_domain);
946 m_implem->setToAllRegular();
951 m_implem->setToAllCovered();
956 const Box& a_coarRegion)
958 m_implem->coarsenVoFs(*a_fineEBIS.
m_implem, a_coarRegion);
970 m_implem->fixFineToCoarse(*a_fineEBIS.
m_implem);
978 return m_implem->getAllFaces(a_iv, a_idir, a_sd);
986 return m_implem->numVoFs(a_iv);
993 return m_implem->FaceIteratorCache(a_region, a_direction, a_loc, *
this);
1000 return m_implem->FaceIteratorCache(a_region, a_direction, a_loc, *
this);
1005 return m_implem->VoFIteratorCache(ivs, *
this);
1008 #include "NamespaceFooter.H" Vector< VolIndex > getVoFs(const IntVect &a_iv) const
int size(const Box &R, const Interval &comps) const
TAG
Definition: EBGraph.H:55
Vector< FaceIndex > getIrregFaces(const Box &a_box, int a_dir) const
Vector< VolIndex > getVoFs(const IntVect &a_iv) const
Definition: EBGraph.H:854
void dataTypes(Vector< hid_t > &a_types, const EBGraph &a_dummySpecializationArg)
bool isConnected(const VolIndex &a_vof1, const VolIndex &a_vof2) const
Definition: EBGraph.H:823
int numVoFs(const IntVect &a_iv) const
Definition: EBGraph.H:984
Box m_region
box over which this graph is defined
Definition: EBGraph.H:371
void setDomain(const ProblemDomain &a_domain)
bool isAllCovered() const
An irregular domain on an integer lattice.
Definition: IntVectSet.H:44
Vector< VolIndex > refine(const VolIndex &a_coarVoF) const
Definition: EBGraph.H:903
static IntVect s_ivDebug
Definition: EBGraph.H:47
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:130
bool isAllRegular() const
Definition: EBGraph.H:864
ProblemDomain m_domain
computational domain at this level of refinement
Definition: EBGraph.H:374
Definition: EBIndexSpace.H:260
Definition: EBGraph.H:443
static Box s_doDebug
Definition: EBGraph.H:48
Definition: FaceIndex.H:28
EBGraph & operator=(const EBGraph &ebiin)
Definition: EBGraph.H:834
void coarsenVoFs(const EBGraphImplem &a_fineGraph, const Box &a_coarRegion)
void setToAllRegular()
Definition: EBGraph.H:944
void linearIn(void *buf, const Box &R, const Interval &comps)
const VoFIterator & VoFIteratorCache(const IntVectSet &ivs) const
Definition: EBGraph.H:1003
Iterator over faces within an IntVectSet and an Ebgraph.
Definition: FaceIterator.H:67
bool isAllCovered() const
Definition: EBGraph.H:869
IntVectSet * m_irregIVS
Definition: EBGraph.H:399
const ProblemDomain & getDomain() const
Definition: EBGraph.H:934
void fillCellTypeMask(BaseFab< char > &a_mask) const
bool isIrregular(const IntVect &a_iv) const
Definition: EBGraph.H:874
BaseFab< int > m_mask
Definition: EBGraph.H:407
bool m_isDomainSet
Definition: EBGraph.H:396
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 setToAllCovered()
Definition: EBGraph.H:949
FaceIndex coarsen(const FaceIndex &a_coarFace) const
Definition: EBGraph.H:914
Geometric description within a box.
Definition: EBGraph.H:432
Geometric description within a box.
Definition: EBGraph.H:44
Definition: EBInterface.H:45
EBGraphImplem(const EBGraphImplem &ebiin)
Definition: EBGraph.H:416
Vector< VolIndex > refine(const VolIndex &a_coarVoF) const
bool m_isDefined
Definition: EBGraph.H:393
int numFaces(const Box &a_box, int a_dir) const
void dataSize(const EBGraph &item, Vector< int > &a_sizes, const Box &box, const Interval &comps)
bool isDefined() const
Definition: EBGraph.H:818
static bool s_verbose
Definition: EBGraph.H:404
Structure for passing component ranges in code.
Definition: Interval.H:23
void fillIntMask(BaseFab< int > &a_mask) const
bool hasIrregular() const
const char * name(const EBGraph &a_dummySpecializationArg)
Vector< FaceIndex > getFaces(const VolIndex &a_vof, const int &a_idir, const Side::LoHiSide &a_sd) const
const BaseFab< int > & getMask(int &a_regIrregCovered) const
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
IntVectSet getMultiCells(const Box &a_subbox) const
Definition: EBGraph.H:844
FaceIndex coarsen(const FaceIndex &a_coarFace) const
Vector< FaceIndex > getFaces(const VolIndex &a_vof, const int &a_idir, const Side::LoHiSide &a_sd) const
Definition: EBGraph.H:895
bool operator<(const FaceIndex &f1, const FaceIndex &f2)
Definition: FaceIndex.H:204
Vector< Vector< VolIndex > > getVoFSets(const Box &a_region) const
bool isConnected(const VolIndex &a_vof1, const VolIndex &a_vof2) const
void addFullIrregularVoFs(const IntVectSet &a_vofsToChange, const EBGraph &a_ghostGraph)
bool isRegular(const Box &a_box) const
Definition: EBGraph.H:889
LoHiSide
Definition: LoHiSide.H:27
void fillMask(BaseFab< char > &a_mask) const
bool isRegular(const Box &a_box) const
bool isCovered(const Box &a_box) const
void getRegNextToMultiValued(IntVectSet &a_vofsToChange, const EBGraph &a_ghostGraph) const
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.
IntVectSet getMultiCells(const Box &a_subbox) const
void fixFineToCoarse(EBGraph &a_fineEBIS) const
Definition: EBGraph.H:968
void coarsenFaces(const EBGraph &a_coarGhostGraph, const EBGraph &a_fineEBIS)
Definition: EBGraph.H:962
void copy(const Box &a_regionFrom, const Interval &Cd, const Box &a_regionto, const EBGraphImplem &a_source, const Interval &Cs)
const Box & getRegion() const
IntVectSet getIrregCells(const Box &a_subbox) const
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:465
RefCountedPtr< EBGraphImplem > m_implem
Definition: EBGraph.H:762
void fixFineToCoarse(EBGraphImplem &a_fineEBIS) const
const FaceIterator & FaceIteratorCache(const IntVectSet &ivs, int a_direction, FaceStop::WhichFaces a_loc) const
Definition: EBGraph.H:997
BaseFab< GraphNode > m_graph
Definition: EBGraph.H:390
static int preAllocatable()
Definition: EBGraph.H:270
Iterator for all vofs within an IntVectSet and an Ebgraph.
Definition: VoFIterator.H:27
void linearOut(void *buf, const Box &R, const Interval &comps) const
bool m_isMaskBuilt
Definition: EBGraph.H:408
bool operator<(const EBGraph &a_ebiin) const
pointer comparison
Definition: EBGraph.H:929
IntVectSet * m_multiIVS
Definition: EBGraph.H:402
TAG m_tag
Definition: EBGraph.H:381
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
void setDomain(const ProblemDomain &a_domain)
Definition: EBGraph.H:939
bool isIrregular(const IntVect &a_iv) const
void read(EBGraph &item, Vector< void *> &a_allocatedBuffers, const Box &box, const Interval &comps)
bool isCovered(const Box &a_box) const
Definition: EBGraph.H:884
Volume of Fluid Index.
Definition: VolIndex.H:31
const VoFIterator & VoFIteratorCache(const IntVectSet &ivs, const EBGraph &parent) const
Vector< FaceIndex > getAllFaces(const IntVect &a_iv, const int &a_idir, const Side::LoHiSide &a_sd) const
Vector< FaceIndex > getAllFaces(const IntVect &a_iv, const int &a_idir, const Side::LoHiSide &a_sd) const
Definition: EBGraph.H:974
bool operator==(const EBGraph &a_ebiin)
pointer comparison
Definition: EBGraph.H:924
TAG
Definition: EBGraph.H:440
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:728
bool isAllRegular() const
Vector< FaceIndex > getMultiValuedFaces(const int &a_idir, const Box &a_box, const EBGraph &a_ebgraph) const
int numVoFs(const IntVect &a_iv) const
void addEmptyIrregularVoFs(const IntVectSet &a_vofsToChange)
const BaseFab< int > & getMask(int &a_regIrregCovered) const
Definition: EBGraph.H:794
void coarsenFaces(const EBGraphImplem &a_coarGhostGraph, const EBGraphImplem &a_fineEBIS)
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:955
const Box & getRegion() const
Definition: EBGraph.H:829
IntVectSet getIrregCells(const Box &a_subbox) const
Definition: EBGraph.H:849
WhichFaces
Definition: FaceIterator.H:45
void operator=(const EBGraphImplem &ebiin)
Definition: EBGraph.H:412
const FaceIterator & FaceIteratorCache(const Box &a_region, int a_direction, FaceStop::WhichFaces a_loc, const EBGraph &parent) const
const ProblemDomain & getDomain() const
void write(const EBGraph &item, Vector< void *> &a_allocatedBuffers, const Box &box, const Interval &comps)