35 #include "NamespaceHeader.H" 37 typedef std::map<DisjointBoxLayout, EBISLayout>
dmap;
88 void dumpDebug(
const string& a_string);
92 void fixFineToCoarse(
EBISLevel& a_fineEBIS);
96 long long numVoFsOnProc()
const;
98 Real totalVolFracOnProc()
const;
100 void levelStitch(
EBISLevel& a_otherPhase,
104 void reconcileIrreg(
EBISLevel & a_otherPhase);
106 void cellStitch(
EBData& a_ebdataCoarA,
114 const int& a_bphase);
127 const bool & a_fixRegularNextToMultiValued =
true);
139 const bool & a_fixRegularNextToMultiValued =
true);
141 void checkGraph()
const;
148 const int& a_levelNumber);
155 const int& a_levelNumber)
const;
170 const int& a_nghost)
const;
186 const Real& getDX()
const;
191 void fixRegularNextToMultiValued();
193 void clearMultiBoundaries();
194 void setBoundaryPhase(
int phase);
196 void getGraphSummary(
long long & a_irrVoFs,
198 long long & a_multiVoFs,
199 long long & a_zeroVoFs,
200 long long & a_zeroVoFsArcs);
202 void printGraphSummary(
char const * a_prefix);
240 void dumpCache()
const;
265 const int a_ncellmax);
276 const int a_ncellmax);
278 static void makeBoxes(std::list<Box>& a_boxes,
285 const int a_ncellmax);
298 bool match(
const Real& a_a,
299 const Real& a_b)
const;
304 void refreshCache()
const;
310 const Real& a_b)
const 312 return (a_a < (a_b + m_tolerance)) && (a_a > (a_b - m_tolerance));
318 return D_TERM6( (a_a[0] < (a_b[0] + m_tolerance)) &&
319 (a_a[0] > (a_b[0] - m_tolerance)),
321 (a_a[1] < (a_b[1] + m_tolerance)) &&
322 (a_a[1] > (a_b[1] - m_tolerance)),
324 (a_a[2] < (a_b[2] + m_tolerance)) &&
325 (a_a[2] > (a_b[2] - m_tolerance)),
327 (a_a[3] < (a_b[3] + m_tolerance)) &&
328 (a_a[3] > (a_b[3] - m_tolerance)),
330 (a_a[4] < (a_b[4] + m_tolerance)) &&
331 (a_a[4] > (a_b[4] - m_tolerance)),
333 (a_a[5] < (a_b[5] + m_tolerance)) &&
334 (a_a[5] > (a_b[5] - m_tolerance)));
337 #include "NamespaceFooter.H"
#define D_TERM6(a, b, c, d, e, f)
Definition: CHArray.H:40
An irregular domain on an integer lattice.
Definition: IntVectSet.H:44
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
Definition: EBIndexSpace.H:50
Chombo_EBIS()
Definition: EBISLevel.H:56
dmap m_cache
Definition: EBISLevel.H:237
one dimensional dynamic array
Definition: Vector.H:53
std::map< DisjointBoxLayout, EBISLayout > dmap
Definition: EBISLevel.H:37
Data that maintains a one-to-one mapping of T to the boxes in a BoxLayout.
Definition: BoxLayout.H:26
DisjointBoxLayout m_grids
Definition: EBISLevel.H:214
~Chombo_EBIS()
Definition: EBISLevel.H:59
Definition: EBISLevel.H:84
RealVect m_origin
Definition: EBISLevel.H:220
singleton version of EBIndexSpace.
Definition: EBISLevel.H:42
int m_cacheStale
Definition: EBISLevel.H:238
Geometric description within a box.
Definition: EBGraph.H:427
LevelData< EBGraph > m_graph
Definition: EBISLevel.H:226
static void alias(const EBIndexSpace *a_input)
EBISLevel(const EBISLevel &ebiin)
Definition: EBISLevel.H:293
static EBIndexSpace * instance()
static bool s_aliased
if you want to sneak an existing EBIS into the singleton.
Definition: EBISLevel.H:63
static bool s_recursive
Definition: EBISLevel.H:206
LevelData< EBData > m_data
Definition: EBISLevel.H:229
double Real
Definition: REAL.H:33
int m_level
Definition: EBISLevel.H:211
Definition: GeometryService.H:37
ProblemDomain m_domain
Definition: EBISLevel.H:217
A BoxLayout that has a concept of disjointedness.
Definition: DisjointBoxLayout.H:30
bool m_hasMoments
whether this has higher order moment info
Definition: EBISLevel.H:232
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.
int write(HDF5Handle &a_handle, const BoxLayout &a_layout, const std::string &name="boxes")
writes BoxLayout to HDF5 file.
static EBIndexSpace * s_instance
Definition: EBISLevel.H:54
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:465
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
Real m_dx
Definition: EBISLevel.H:223
static Real s_tolerance
Definition: EBISLevel.H:242
Real m_tolerance
Definition: EBISLevel.H:234
Handle to a particular group in an HDF file.
Definition: CH_HDF5.H:294
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
Definition: EBISLayout.H:39
static int s_ebislGhost
Definition: EBISLevel.H:87
bool match(const Real &a_a, const Real &a_b) const
Definition: EBISLevel.H:309
void operator=(const EBISLevel &ebiin)
Definition: EBISLevel.H:288
static bool s_verbose
Definition: EBISLevel.H:243
int m_phase
Definition: EBISLevel.H:204