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