#include <EBIndexSpace.H>
Public Member Functions | |
EBIndexSpace () | |
void | define (const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx, const GeometryService &a_geoserver, int a_nCellMax=-1, int maxCoarsenings=-1) |
void | define (EBISLevel *level0, int a_nCellMax=-1, int a_maxCoarsenings=-1) |
EBISLevel * | buildFirstLevel (const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx, const GeometryService &a_geoserver, int a_nCellMax, int a_maxCoarsenings) |
EBISLevel * | buildNextLevel (const GeometryService &a_geoserver) |
~EBIndexSpace () | |
int | numLevels () const |
int | numVoFs (const ProblemDomain &a_domain) const |
int | getLevel (const ProblemDomain &a_domain) const |
RealVect | getOrigin () const |
const ProblemDomain & | getBox (int level) const |
void | fillEBISLayout (EBISLayout &a_ebis, const DisjointBoxLayout &a_grids, const ProblemDomain &a_domain, const int &nghost) const |
bool | isDefined () const |
void | clear () |
int | getNCellMax () const |
DisjointBoxLayout | getIrregGrids (int level) const |
DisjointBoxLayout | getFlowGrids (int level) const |
DisjointBoxLayout | levelGrids (int level) const |
Real | dx (int level) const |
IntVectSet | irregCells (int depth=0) const |
void | setCellMax (int max) |
void | resetLevels (int nLevel) |
Static Public Attributes | |
static bool | s_MFSingleBox |
Private Member Functions | |
void | operator= (const EBIndexSpace &ebiin) |
EBIndexSpace (const EBIndexSpace &ebiin) | |
Private Attributes | |
int | m_nCellMax |
bool | m_isDefined |
Vector< EBISLevel * > | m_ebisLevel |
Vector< ProblemDomain > | m_domainLevel |
int | m_nlevels |
Static Private Attributes | |
static Real | s_tolerance |
static bool | s_verbose |
Friends | |
class | Chombo_EBIS |
EBIndexSpace::EBIndexSpace | ( | ) |
EBIndexSpace::~EBIndexSpace | ( | ) |
EBIndexSpace::EBIndexSpace | ( | const EBIndexSpace & | ebiin | ) | [inline, private] |
References MayDay::Error().
void EBIndexSpace::define | ( | const ProblemDomain & | a_domain, | |
const RealVect & | a_origin, | |||
const Real & | a_dx, | |||
const GeometryService & | a_geoserver, | |||
int | a_nCellMax = -1 , |
|||
int | maxCoarsenings = -1 | |||
) |
If a_ncellMax is set, that is the max width of an internal grid. Otherwise use defaults of (16 in 3D, 64 in 2d)
void EBIndexSpace::define | ( | EBISLevel * | level0, | |
int | a_nCellMax = -1 , |
|||
int | a_maxCoarsenings = -1 | |||
) |
EBISLevel* EBIndexSpace::buildFirstLevel | ( | const ProblemDomain & | a_domain, | |
const RealVect & | a_origin, | |||
const Real & | a_dx, | |||
const GeometryService & | a_geoserver, | |||
int | a_nCellMax, | |||
int | a_maxCoarsenings | |||
) |
EBISLevel* EBIndexSpace::buildNextLevel | ( | const GeometryService & | a_geoserver | ) |
int EBIndexSpace::numLevels | ( | ) | const |
int EBIndexSpace::numVoFs | ( | const ProblemDomain & | a_domain | ) | const |
Get the number of vofs over the entire domain. This is blocking as a broadcast and gather are required.
int EBIndexSpace::getLevel | ( | const ProblemDomain & | a_domain | ) | const |
return level index of domain. return -1 if a_domain does not correspond to any refinement of EBIS.
RealVect EBIndexSpace::getOrigin | ( | ) | const [inline] |
References m_ebisLevel.
const ProblemDomain& EBIndexSpace::getBox | ( | int | level | ) | const [inline] |
returns the problem domain box at a level of refinement
References m_domainLevel.
void EBIndexSpace::fillEBISLayout | ( | EBISLayout & | a_ebis, | |
const DisjointBoxLayout & | a_grids, | |||
const ProblemDomain & | a_domain, | |||
const int & | nghost | |||
) | const |
bool EBIndexSpace::isDefined | ( | ) | const |
Return true if the define function has been called.
void EBIndexSpace::clear | ( | ) |
int EBIndexSpace::getNCellMax | ( | ) | const |
DisjointBoxLayout EBIndexSpace::getIrregGrids | ( | int | level | ) | const [inline] |
References m_ebisLevel.
DisjointBoxLayout EBIndexSpace::getFlowGrids | ( | int | level | ) | const [inline] |
References m_ebisLevel.
DisjointBoxLayout EBIndexSpace::levelGrids | ( | int | level | ) | const [inline] |
References m_ebisLevel.
Real EBIndexSpace::dx | ( | int | level | ) | const [inline] |
References m_ebisLevel.
IntVectSet EBIndexSpace::irregCells | ( | int | depth = 0 |
) | const [inline] |
References m_ebisLevel.
void EBIndexSpace::setCellMax | ( | int | max | ) | [inline] |
References m_nCellMax.
void EBIndexSpace::resetLevels | ( | int | nLevel | ) |
void EBIndexSpace::operator= | ( | const EBIndexSpace & | ebiin | ) | [inline, private] |
References MayDay::Error().
friend class Chombo_EBIS [friend] |
This makes Chombo_EBIS be the only function that can call the private constructor.
bool EBIndexSpace::s_MFSingleBox [static] |
int EBIndexSpace::m_nCellMax [private] |
Referenced by setCellMax().
bool EBIndexSpace::m_isDefined [private] |
Vector<EBISLevel*> EBIndexSpace::m_ebisLevel [private] |
Referenced by dx(), getFlowGrids(), getIrregGrids(), getOrigin(), irregCells(), and levelGrids().
Vector<ProblemDomain> EBIndexSpace::m_domainLevel [private] |
Referenced by getBox().
int EBIndexSpace::m_nlevels [private] |
Real EBIndexSpace::s_tolerance [static, private] |
bool EBIndexSpace::s_verbose [static, private] |