EBISLevel Class Reference

#include <EBIndexSpace.H>

Collaboration diagram for EBISLevel:

Collaboration graph
[legend]

List of all members.


Detailed Description

EBISLevel represents the geometric information of the domain at a particular level of refinement.

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 ProblemDomaingetDomain () const
const DisjointBoxLayoutgetGrids () const
DisjointBoxLayout getIrregGrids () const
DisjointBoxLayout getFlowGrids () const
IntVectSet irregCells () const
const RealgetDX () const
const RealVectgetOrigin () 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< EBGraphm_graph
LevelData< EBDatam_data
Real m_tolerance
std::map< int, dmapcache
int m_cacheMisses
int m_cacheHits
int m_cacheStale

Static Private Attributes

static bool s_verbose
static Real s_tolerance

Friends

class EBIndexSpace

Constructor & Destructor Documentation

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().


Member Function Documentation

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().

bool EBISLevel::match ( const Real a,
const Real b 
) const [inline, private]

References m_tolerance.

bool EBISLevel::match ( const RealVect a,
const RealVect b 
) const [inline, private]

References m_tolerance.

void EBISLevel::refreshCache (  )  const [private]


Friends And Related Function Documentation

friend class EBIndexSpace [friend]


Member Data Documentation

Real EBISLevel::m_dx [private]

bool EBISLevel::s_verbose [static, private]

Real EBISLevel::s_tolerance [static, 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]


The documentation for this class was generated from the following file:

Generated on Tue Apr 14 14:23:19 2009 for Chombo + EB by  doxygen 1.5.5