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,
711 bool operator==(
const EBGraph& a_ebiin);
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);
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->isMultiValued(a_iv);
891 return m_implem->isCovered(a_box);
896 return m_implem->isRegular(a_box);
904 return m_implem->getFaces(a_vof, a_idir, a_sd);
910 return m_implem->refine(a_coarVoF);
916 return m_implem->refine(a_coarFace, *a_fineGraph.
m_implem);
921 return m_implem->coarsen(a_fineFace);
926 return m_implem->coarsen(a_fineVoF);
931 return (m_implem == a_ebiin.
m_implem);
936 return (m_implem < a_ebiin.
m_implem);
941 return (m_implem->getDomain());
946 m_implem->setDomain(a_domain);
951 m_implem->setToAllRegular();
956 m_implem->setToAllCovered();
961 const Box& a_coarRegion)
963 m_implem->coarsenVoFs(*a_fineEBIS.
m_implem, a_coarRegion);
975 m_implem->fixFineToCoarse(*a_fineEBIS.
m_implem);
983 return m_implem->getAllFaces(a_iv, a_idir, a_sd);
991 return m_implem->numVoFs(a_iv);
997 return m_implem->numVoFs(a_box);
1004 return m_implem->FaceIteratorCache(a_region, a_direction, a_loc, *
this);
1011 return m_implem->FaceIteratorCache(a_region, a_direction, a_loc, *
this);
1016 return m_implem->VoFIteratorCache(ivs, *
this);
1019 #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
bool isMultiValued(const IntVect &a_iv) const
BaseFab< char > m_mask
Definition: EBGraph.H:401
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
Box m_region
box over which this graph is defined
Definition: EBGraph.H:365
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:908
static IntVect s_ivDebug
Definition: EBGraph.H:47
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
bool isAllRegular() const
Definition: EBGraph.H:864
ProblemDomain m_domain
computational domain at this level of refinement
Definition: EBGraph.H:368
Definition: EBIndexSpace.H:50
Definition: EBGraph.H:438
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:949
void linearIn(void *buf, const Box &R, const Interval &comps)
const VoFIterator & VoFIteratorCache(const IntVectSet &ivs) const
Definition: EBGraph.H:1014
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:393
Definition: EBISLevel.H:84
const ProblemDomain & getDomain() const
Definition: EBGraph.H:939
void fillCellTypeMask(BaseFab< char > &a_mask) const
bool isIrregular(const IntVect &a_iv) const
Definition: EBGraph.H:874
bool m_isDomainSet
Definition: EBGraph.H:390
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:954
FaceIndex coarsen(const FaceIndex &a_coarFace) const
Definition: EBGraph.H:919
long long numFaces(const Box &a_box, int a_dir) const
Geometric description within a box.
Definition: EBGraph.H:427
Geometric description within a box.
Definition: EBGraph.H:44
Definition: EBInterface.H:45
EBGraphImplem(const EBGraphImplem &ebiin)
Definition: EBGraph.H:410
Vector< VolIndex > refine(const VolIndex &a_coarVoF) const
bool m_isDefined
Definition: EBGraph.H:387
long long numVoFs(const IntVect &a_iv) const
Definition: EBGraph.H:989
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:398
Structure for passing component ranges in code.
Definition: Interval.H:23
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
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:900
bool operator<(const FaceIndex &f1, const FaceIndex &f2)
Definition: FaceIndex.H:212
Vector< Vector< VolIndex > > getVoFSets(const Box &a_region) const
bool isConnected(const VolIndex &a_vof1, const VolIndex &a_vof2) const
const BaseFab< char > & getMask(int &a_regIrregCovered) const
void addFullIrregularVoFs(const IntVectSet &a_vofsToChange, const EBGraph &a_ghostGraph)
bool isRegular(const Box &a_box) const
Definition: EBGraph.H:894
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:973
long long numVoFs(const IntVect &a_iv) const
bool isMultiValued(const IntVect &a_iv) const
Definition: EBGraph.H:884
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)
const Box & getRegion() const
IntVectSet getIrregCells(const Box &a_subbox) const
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:469
RefCountedPtr< EBGraphImplem > m_implem
Definition: EBGraph.H:761
void fixFineToCoarse(EBGraphImplem &a_fineEBIS) const
const FaceIterator & FaceIteratorCache(const IntVectSet &ivs, int a_direction, FaceStop::WhichFaces a_loc) const
Definition: EBGraph.H:1008
BaseFab< GraphNode > m_graph
Definition: EBGraph.H:384
static int preAllocatable()
Definition: EBGraph.H:267
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:402
bool operator<(const EBGraph &a_ebiin) const
pointer comparison
Definition: EBGraph.H:934
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
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:889
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:979
bool operator==(const EBGraph &a_ebiin)
pointer comparison
Definition: EBGraph.H:929
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
bool isAllRegular() const
Vector< FaceIndex > getMultiValuedFaces(const int &a_idir, const Box &a_box, const EBGraph &a_ebgraph) const
void addEmptyIrregularVoFs(const IntVectSet &a_vofsToChange)
void coarsenFaces(const EBGraphImplem &a_coarGhostGraph, const EBGraphImplem &a_fineEBIS)
const BaseFab< char > & getMask(int &a_regIrregCovered) const
Definition: EBGraph.H:794
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
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:406
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)