Chombo + EB + MF  3.2
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
EBISLayoutImplem Class Reference

#include <EBISLayout.H>

Public Member Functions

const EBISBoxoperator[] (const DataIndex &) const
 
 EBISLayoutImplem ()
 
 ~EBISLayoutImplem ()
 
const BoxLayoutgetGrownLayout () const
 
const DisjointBoxLayoutgetDisjointLayout () const
 
VolIndex coarsen (const VolIndex &a_vof, const int &a_ratio, const DataIndex &a_datInd) const
 
FaceIndex coarsen (const FaceIndex &a_face, const int &a_ratio, const DataIndex &a_datInd) const
 
Vector< VolIndexrefine (const VolIndex &a_vof, const int &a_ratio, const DataIndex &a_datInd) const
 
Vector< FaceIndexrefine (const FaceIndex &a_face, const int &a_ratio, const DataIndex &a_datInd) const
 
void setMaxRefinementRatio (const int &a_maxRefine, const EBIndexSpace *const a_ebisPtr)
 
void setMaxCoarseningRatio (const int &a_maxCoarsen, const EBIndexSpace *const a_ebisPtr)
 
int getMaxCoarseningRatio () const
 
int getMaxRefinementRatio () const
 
void define (const ProblemDomain &a_domain, const DisjointBoxLayout &a_grids, const int &a_nghost, const LevelData< EBGraph > &a_graph, const LevelData< EBData > &a_data)
 
bool isDefined () const
 
const EBIndexSpacegetEBIS () const
 
void setEBIS (const EBIndexSpace *const a_ebisPtr)
 
const ProblemDomaingetDomain () const
 

Static Public Member Functions

static void setVerbose (bool a_verbose)
 

Private Member Functions

void operator= (const EBISLayoutImplem &ebiin)
 
 EBISLayoutImplem (const EBISLayoutImplem &ebiin)
 

Private Attributes

const EBIndexSpacem_ebisPtr
 
BoxLayout m_blGhostDom
 
DisjointBoxLayout m_dblInputDom
 
Vector< EBISLayoutm_fineLevels
 
Vector< EBISLayoutm_coarLevels
 
int m_nghost
 
int m_maxCoarseningRatio
 
int m_maxRefinementRatio
 
ProblemDomain m_domain
 
LayoutData< EBISBoxm_ebisBoxes
 
bool m_defined
 

Static Private Attributes

static bool s_verbose
 

Detailed Description

EBISLayoutImplem represents the geometric information on a union of rectangles. This is not really part of the public interface. Users should use EBISLayout.

Constructor & Destructor Documentation

EBISLayoutImplem::EBISLayoutImplem ( )
EBISLayoutImplem::~EBISLayoutImplem ( )
EBISLayoutImplem::EBISLayoutImplem ( const EBISLayoutImplem ebiin)
inlineprivate

Member Function Documentation

const EBISBox& EBISLayoutImplem::operator[] ( const DataIndex ) const
const BoxLayout& EBISLayoutImplem::getGrownLayout ( ) const
inline

References m_blGhostDom.

const DisjointBoxLayout& EBISLayoutImplem::getDisjointLayout ( ) const
inline

References m_dblInputDom.

VolIndex EBISLayoutImplem::coarsen ( const VolIndex a_vof,
const int &  a_ratio,
const DataIndex a_datInd 
) const

Returns the index of the VoF corresponding to coarsening the input VoF by the input ratio. It is an error if the ratio is greater than the maximum coarsening ratio or if the vof does not exist at the input data index.

FaceIndex EBISLayoutImplem::coarsen ( const FaceIndex a_face,
const int &  a_ratio,
const DataIndex a_datInd 
) const

Returns the index of the face corresponding to coarsening the input face by the input ratio. It is an error if the ratio is greater than the maximum coarsening ratio or if the face does not exist at the input data index.

Vector<VolIndex> EBISLayoutImplem::refine ( const VolIndex a_vof,
const int &  a_ratio,
const DataIndex a_datInd 
) const

Returns the indices of the VoFs corresponding to refining the input VoF by the input ratio. It is an error if the ratio is greater than the maximum refinement ratio or if the vof does not exist at the input data index.

Vector<FaceIndex> EBISLayoutImplem::refine ( const FaceIndex a_face,
const int &  a_ratio,
const DataIndex a_datInd 
) const

Returns the indices of the Faces corresponding to refining the input Face by the input ratio. It is an error if the ratio is greater than the maximum refinement ratio or if the face does not exist at the input data index.

void EBISLayoutImplem::setMaxRefinementRatio ( const int &  a_maxRefine,
const EBIndexSpace *const  a_ebisPtr 
)

Sets the maximum level of refinement that this { EBISLayout} will have to perform. Creates and holds new { EBISLayout}s at intermediate levels of refinement. Default is one (no refinement done).

void EBISLayoutImplem::setMaxCoarseningRatio ( const int &  a_maxCoarsen,
const EBIndexSpace *const  a_ebisPtr 
)

Sets the maximum level of coarsening that this { EBISLayout} will have to perform. Creates and holds new { EBISLayout}s at intermediate levels of refinement. Default is one (no coarsening done).

int EBISLayoutImplem::getMaxCoarseningRatio ( ) const
int EBISLayoutImplem::getMaxRefinementRatio ( ) const
void EBISLayoutImplem::define ( const ProblemDomain a_domain,
const DisjointBoxLayout a_grids,
const int &  a_nghost,
const LevelData< EBGraph > &  a_graph,
const LevelData< EBData > &  a_data 
)
static void EBISLayoutImplem::setVerbose ( bool  a_verbose)
static
bool EBISLayoutImplem::isDefined ( ) const
inline

References m_defined.

const EBIndexSpace* EBISLayoutImplem::getEBIS ( ) const
inline

References m_ebisPtr.

void EBISLayoutImplem::setEBIS ( const EBIndexSpace *const  a_ebisPtr)
inline

References m_ebisPtr.

const ProblemDomain& EBISLayoutImplem::getDomain ( ) const
inline

References m_domain.

void EBISLayoutImplem::operator= ( const EBISLayoutImplem ebiin)
inlineprivate

Member Data Documentation

const EBIndexSpace* EBISLayoutImplem::m_ebisPtr
private

Referenced by getEBIS(), and setEBIS().

BoxLayout EBISLayoutImplem::m_blGhostDom
private

Referenced by getGrownLayout().

DisjointBoxLayout EBISLayoutImplem::m_dblInputDom
private

Referenced by getDisjointLayout().

Vector<EBISLayout> EBISLayoutImplem::m_fineLevels
private
Vector<EBISLayout> EBISLayoutImplem::m_coarLevels
private
int EBISLayoutImplem::m_nghost
private
int EBISLayoutImplem::m_maxCoarseningRatio
private
int EBISLayoutImplem::m_maxRefinementRatio
private
ProblemDomain EBISLayoutImplem::m_domain
private

Referenced by getDomain().

LayoutData<EBISBox> EBISLayoutImplem::m_ebisBoxes
private
bool EBISLayoutImplem::m_defined
private

Referenced by isDefined().

bool EBISLayoutImplem::s_verbose
staticprivate

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