#include <EBIndexSpace.H>
Public Member Functions | |
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 | 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 ebisPtr=Chombo_EBIS::instance()) | |
EBISLevel (EBISLevel &a_finerLevel, const GeometryService &a_geoserver, const EBIndexSpace *const ebisPtr=Chombo_EBIS::instance()) | |
void | sanityCheck (const EBIndexSpace *const ebisPtr=Chombo_EBIS::instance()) |
void | fillEBISLayout (EBISLayout &a_ebis, const DisjointBoxLayout &a_grids, const int &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, const Real &b) const |
bool | match (const RealVect &a, const RealVect &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 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 > | cache |
int | m_cacheMisses |
int | m_cacheHits |
int | m_cacheStale |
Static Private Attributes | |
static bool | s_verbose |
static Real | s_tolerance |
Friends | |
class | EBIndexSpace |
EBISLevel::EBISLevel | ( | ) |
EBISLevel::EBISLevel | ( | const ProblemDomain & | a_domain, | |
const RealVect & | a_origin, | |||
const Real & | a_dx, | |||
const GeometryService & | a_geoserver, | |||
const EBIndexSpace *const | ebisPtr = Chombo_EBIS::instance() | |||
) |
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 | ebisPtr = Chombo_EBIS::instance() | |||
) |
Defines the level from a finer level (factor of two refinement ratio). Fills in all the coarse-fine information in both levels.
EBISLevel::~EBISLevel | ( | ) |
EBISLevel::EBISLevel | ( | const EBISLevel & | ebiin | ) | [inline, private] |
References MayDay::Error().
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::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::sanityCheck | ( | const EBIndexSpace *const | 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 & | 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 | ) |
static void EBISLevel::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 | ebisPtr | |||
) | [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, | |||
const int | a_ncellmax | |||
) | [static, private] |
void EBISLevel::operator= | ( | const EBISLevel & | ebiin | ) | [inline, private] |
References MayDay::Error().
References m_tolerance.
References m_tolerance.
void EBISLevel::refreshCache | ( | ) | const [private] |
friend class EBIndexSpace [friend] |
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] |
bool EBISLevel::s_verbose [static, private] |
Real EBISLevel::s_tolerance [static, private] |
LevelData<EBData> EBISLevel::m_data [private] |
Real EBISLevel::m_tolerance [private] |
Referenced by match().
std::map<int, dmap> EBISLevel::cache [mutable, private] |
int EBISLevel::m_cacheMisses [mutable, private] |
int EBISLevel::m_cacheHits [mutable, private] |
int EBISLevel::m_cacheStale [mutable, private] |