Chombo + EB
3.0
|
#include <EBIndexSpace.H>
Public Member Functions | |
void | dumpDebug (const string &a_string) |
void | coarsenVoFs (EBISLevel &a_fineEBIS) |
void | fixFineToCoarse (EBISLevel &a_fineEBIS) |
void | coarsenFaces (EBISLevel &a_fineEBIS) |
int | numVoFsOnProc () const |
void | levelStitch (EBISLevel &a_otherPhase, const EBISLevel *a_fineThisPtr, const EBISLevel *a_fineOtherPtr) |
void | reconcileIrreg (EBISLevel &a_otherPhase) |
void | cellStitch (EBData &a_ebdataCoarA, EBData &a_ebdataCoarB, const EBGraph &a_ebgrapCoarA, const EBGraph &a_ebgrapCoarB, const EBISBox &a_ebisbxFineA, const EBISBox &a_ebisbxFineB, const IntVect &a_iv, const int &a_aphase, const int &a_bphase) |
EBISLevel () | |
EBISLevel (const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx, const GeometryService &a_geoserver, const EBIndexSpace *const a_ebisPtr=Chombo_EBIS::instance(), const bool &a_distributedData=false, const bool &a_fixRegularNextToMultiValued=true) | |
EBISLevel (EBISLevel &a_finerLevel, const GeometryService &a_geoserver, const EBIndexSpace *const a_ebisPtr=Chombo_EBIS::instance(), const bool &a_distributedData=false, const bool &a_fixRegularNextToMultiValued=true) | |
EBISLevel (HDF5Handle &handle) | |
read from file More... | |
void | write (HDF5Handle &a_handle) const |
void | sanityCheck (const EBIndexSpace *const a_ebisPtr=Chombo_EBIS::instance()) |
void | fillEBISLayout (EBISLayout &a_ebis, const DisjointBoxLayout &a_grids, const int &a_nghost) const |
~EBISLevel () | |
const ProblemDomain & | getDomain () const |
const DisjointBoxLayout & | getGrids () const |
DisjointBoxLayout | getIrregGrids () const |
DisjointBoxLayout | getFlowGrids () const |
IntVectSet | irregCells () const |
const Real & | getDX () const |
const RealVect & | getOrigin () const |
void | fixRegularNextToMultiValued () |
void | clearMultiBoundaries () |
void | setBoundaryPhase (int phase) |
Public Attributes | |
int | m_phase |
Private Member Functions | |
void | operator= (const EBISLevel &ebiin) |
EBISLevel (const EBISLevel &ebiin) | |
bool | match (const Real &a_a, const Real &a_b) const |
bool | match (const RealVect &a_a, const RealVect &a_b) const |
void | refreshCache () const |
Static Private Member Functions | |
static void | makeBoxes (Vector< Box > &a_boxes, Vector< long > &a_irregCount, const Box &a_region, const ProblemDomain &a_domain, const GeometryService &a_geoserver, const RealVect &a_origin, const Real &a_dx, const int a_ncellmax, const EBIndexSpace *const a_ebisPtr) |
static void | makeBoxes (std::list< Box > &a_boxes, const Box &a_region, const ProblemDomain &a_domain, const GeometryService &a_geoserver, const RealVect &a_origin, const Real &a_dx, const int a_ncellmax) |
Private Attributes | |
DisjointBoxLayout | m_grids |
ProblemDomain | m_domain |
RealVect | m_origin |
Real | m_dx |
LevelData< EBGraph > | m_graph |
LevelData< EBData > | m_data |
Real | m_tolerance |
std::map< int, dmap > | m_cache |
int | m_cacheMisses |
int | m_cacheHits |
int | m_cacheStale |
Static Private Attributes | |
static Real | s_tolerance |
static bool | s_verbose |
Friends | |
class | EBIndexSpace |
EBISLevel represents the geometric information of the domain at a particular level of refinement.
EBISLevel::EBISLevel | ( | ) |
EBISLevel::EBISLevel | ( | const ProblemDomain & | a_domain, |
const RealVect & | a_origin, | ||
const Real & | a_dx, | ||
const GeometryService & | a_geoserver, | ||
const EBIndexSpace *const | a_ebisPtr = Chombo_EBIS::instance() , |
||
const bool & | a_distributedData = false , |
||
const bool & | a_fixRegularNextToMultiValued = true |
||
) |
Defines the level. Calls the geoserver to fill the layout with geometric information.
EBISLevel::EBISLevel | ( | EBISLevel & | a_finerLevel, |
const GeometryService & | a_geoserver, | ||
const EBIndexSpace *const | a_ebisPtr = Chombo_EBIS::instance() , |
||
const bool & | a_distributedData = false , |
||
const bool & | a_fixRegularNextToMultiValued = true |
||
) |
Defines the level from a finer level (factor of two refinement ratio). Fills in all the coarse-fine information in both levels.
EBISLevel::EBISLevel | ( | HDF5Handle & | handle | ) |
read from file
EBISLevel::~EBISLevel | ( | ) |
|
inlineprivate |
References MayDay::Error().
void EBISLevel::dumpDebug | ( | const string & | a_string | ) |
void EBISLevel::coarsenVoFs | ( | EBISLevel & | a_fineEBIS | ) |
void EBISLevel::fixFineToCoarse | ( | EBISLevel & | a_fineEBIS | ) |
void EBISLevel::coarsenFaces | ( | EBISLevel & | a_fineEBIS | ) |
int EBISLevel::numVoFsOnProc | ( | ) | const |
void EBISLevel::levelStitch | ( | EBISLevel & | a_otherPhase, |
const EBISLevel * | a_fineThisPtr, | ||
const EBISLevel * | a_fineOtherPtr | ||
) |
void EBISLevel::reconcileIrreg | ( | EBISLevel & | a_otherPhase | ) |
void EBISLevel::cellStitch | ( | EBData & | a_ebdataCoarA, |
EBData & | a_ebdataCoarB, | ||
const EBGraph & | a_ebgrapCoarA, | ||
const EBGraph & | a_ebgrapCoarB, | ||
const EBISBox & | a_ebisbxFineA, | ||
const EBISBox & | a_ebisbxFineB, | ||
const IntVect & | a_iv, | ||
const int & | a_aphase, | ||
const int & | a_bphase | ||
) |
void EBISLevel::write | ( | HDF5Handle & | a_handle | ) | const |
void EBISLevel::sanityCheck | ( | const EBIndexSpace *const | a_ebisPtr = Chombo_EBIS::instance() | ) |
Checks to see the vofs are in the correct cells. Checks to see that the faces are over the correct cells. Checks that volume fractions, area fractions are positive. Bail out with MayDay::Error if anything fails.
void EBISLevel::fillEBISLayout | ( | EBISLayout & | a_ebis, |
const DisjointBoxLayout & | a_grids, | ||
const int & | a_nghost | ||
) | const |
const ProblemDomain& EBISLevel::getDomain | ( | ) | const |
const DisjointBoxLayout& EBISLevel::getGrids | ( | ) | const |
DisjointBoxLayout EBISLevel::getIrregGrids | ( | ) | const |
DisjointBoxLayout EBISLevel::getFlowGrids | ( | ) | const |
IntVectSet EBISLevel::irregCells | ( | ) | const |
const Real& EBISLevel::getDX | ( | ) | const |
const RealVect& EBISLevel::getOrigin | ( | ) | const |
void EBISLevel::fixRegularNextToMultiValued | ( | ) |
void EBISLevel::clearMultiBoundaries | ( | ) |
void EBISLevel::setBoundaryPhase | ( | int | phase | ) |
|
staticprivate |
|
staticprivate |
|
inlineprivate |
References MayDay::Error().
References D_TERM6.
|
private |
|
friend |
int EBISLevel::m_phase |
|
private |
|
private |
|
private |
|
private |
|
private |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
staticprivate |
|
staticprivate |