Chombo + EB + MF
3.2
|
#include <EBISLevel.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) |
long long | numVoFsOnProc () const |
Real | totalVolFracOnProc () 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, int a_nCellMax, const bool &a_fixRegularNextToMultiValued=true) | |
EBISLevel (EBISLevel &a_finerLevel, const GeometryService &a_geoserver, int a_nCellMax, const bool &a_fixRegularNextToMultiValued=true) | |
void | checkGraph () const |
EBISLevel (HDF5Handle &handle) | |
read from file from top level only file More... | |
EBISLevel (HDF5Handle &a_handle, const int &a_levelNumber) | |
void | write (HDF5Handle &a_handle) const |
void | write (HDF5Handle &a_handle, const int &a_levelNumber) const |
writes the given level for writeAllLevels More... | |
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 ProblemDomain &a_domain) const |
DisjointBoxLayout | getFlowGrids (const ProblemDomain &a_domain) const |
DisjointBoxLayout | getCoveredGrids (const ProblemDomain &a_domain) const |
IntVectSet | irregCells () const |
const Real & | getDX () const |
const RealVect & | getOrigin () const |
void | fixRegularNextToMultiValued () |
void | clearMultiBoundaries () |
void | setBoundaryPhase (int phase) |
void | getGraphSummary (long long &a_irrVoFs, long long &a_arcs, long long &a_multiVoFs, long long &a_zeroVoFs, long long &a_zeroVoFsArcs) |
void | printGraphSummary (char const *a_prefix) |
Public Attributes | |
int | m_phase |
Static Public Attributes | |
static int | s_ebislGhost |
static bool | s_recursive |
Private Member Functions | |
void | dumpCache () const |
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 | defineGraphFromGeo (LevelData< EBGraph > &a_graph, LayoutData< Vector< IrregNode > > &a_allNodes, const GeometryService &a_geoserver, const DisjointBoxLayout &a_grids, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) |
static void | makeBoxes (Vector< Box > &a_boxes, Vector< unsigned long long > &a_loads, const Box &a_region, const ProblemDomain &a_domain, const GeometryService &a_geoserver, const RealVect &a_origin, const Real &a_dx, const int a_ncellmax) |
static void | makeLoads (Vector< unsigned long long > &a_loads, Vector< 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) |
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 | |
int | m_level |
DisjointBoxLayout | m_grids |
ProblemDomain | m_domain |
RealVect | m_origin |
Real | m_dx |
LevelData< EBGraph > | m_graph |
LevelData< EBData > | m_data |
Real | m_tolerance |
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, | ||
int | a_nCellMax, | ||
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, | ||
int | a_nCellMax, | ||
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 from top level only file
EBISLevel::EBISLevel | ( | HDF5Handle & | a_handle, |
const int & | a_levelNumber | ||
) |
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 | ) |
long long EBISLevel::numVoFsOnProc | ( | ) | const |
Real EBISLevel::totalVolFracOnProc | ( | ) | 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::checkGraph | ( | ) | const |
void EBISLevel::write | ( | HDF5Handle & | a_handle | ) | const |
void EBISLevel::write | ( | HDF5Handle & | a_handle, |
const int & | a_levelNumber | ||
) | const |
writes the given level for writeAllLevels
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 ProblemDomain & | a_domain | ) | const |
DisjointBoxLayout EBISLevel::getFlowGrids | ( | const ProblemDomain & | a_domain | ) | const |
DisjointBoxLayout EBISLevel::getCoveredGrids | ( | const ProblemDomain & | a_domain | ) | 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 | ) |
void EBISLevel::getGraphSummary | ( | long long & | a_irrVoFs, |
long long & | a_arcs, | ||
long long & | a_multiVoFs, | ||
long long & | a_zeroVoFs, | ||
long long & | a_zeroVoFsArcs | ||
) |
void EBISLevel::printGraphSummary | ( | char const * | a_prefix | ) |
|
private |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
inlineprivate |
References MayDay::Error().
References D_TERM6.
|
private |
|
friend |
|
static |
int EBISLevel::m_phase |
|
static |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
staticprivate |
|
staticprivate |