#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 | |
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 | |
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, bool a_hasMoments) |
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, bool a_hasMoments, 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, bool a_hasMoments, 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, bool a_hasMoments, 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 |
bool | m_hasMoments |
whether this has higher order moment info | |
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::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 | ( | ) |
EBISLevel::EBISLevel | ( | const EBISLevel & | ebiin | ) | [inline, private] |
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 | ) |
void EBISLevel::dumpCache | ( | ) | const [private] |
static void EBISLevel::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, | |||
bool | a_hasMoments | |||
) | [static, private] |
static void EBISLevel::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, | |||
bool | a_hasMoments, | |||
const int | a_ncellmax | |||
) | [static, private] |
static void EBISLevel::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, | |||
bool | a_hasMoments, | |||
const int | a_ncellmax | |||
) | [static, private] |
static void EBISLevel::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, | |||
bool | a_hasMoments, | |||
const int | a_ncellmax | |||
) | [static, private] |
void EBISLevel::operator= | ( | const EBISLevel & | ebiin | ) | [inline, private] |
References MayDay::Error().
References m_tolerance.
References D_TERM6, and m_tolerance.
void EBISLevel::refreshCache | ( | ) | const [private] |
friend class EBIndexSpace [friend] |
int EBISLevel::s_ebislGhost [static] |
bool EBISLevel::s_recursive [static] |
int EBISLevel::m_level [private] |
DisjointBoxLayout EBISLevel::m_grids [private] |
ProblemDomain EBISLevel::m_domain [private] |
RealVect EBISLevel::m_origin [private] |
Real EBISLevel::m_dx [private] |
LevelData<EBGraph> EBISLevel::m_graph [private] |
LevelData<EBData> EBISLevel::m_data [private] |
bool EBISLevel::m_hasMoments [private] |
whether this has higher order moment info
Real EBISLevel::m_tolerance [private] |
Referenced by match().
dmap EBISLevel::m_cache [mutable, private] |
int EBISLevel::m_cacheMisses [mutable, private] |
int EBISLevel::m_cacheHits [mutable, private] |
int EBISLevel::m_cacheStale [mutable, private] |
Real EBISLevel::s_tolerance [static, private] |
bool EBISLevel::s_verbose [static, private] |