Chombo + EB  3.0
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)
 

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() [1/2]

EBISLayoutImplem::EBISLayoutImplem ( )

◆ ~EBISLayoutImplem()

EBISLayoutImplem::~EBISLayoutImplem ( )

◆ EBISLayoutImplem() [2/2]

EBISLayoutImplem::EBISLayoutImplem ( const EBISLayoutImplem ebiin)
inlineprivate

Member Function Documentation

◆ operator[]()

const EBISBox& EBISLayoutImplem::operator[] ( const DataIndex ) const

◆ getGrownLayout()

const BoxLayout& EBISLayoutImplem::getGrownLayout ( ) const
inline

◆ getDisjointLayout()

const DisjointBoxLayout& EBISLayoutImplem::getDisjointLayout ( ) const
inline

◆ coarsen() [1/2]

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.

◆ coarsen() [2/2]

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.

◆ refine() [1/2]

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.

◆ refine() [2/2]

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.

◆ setMaxRefinementRatio()

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

◆ setMaxCoarseningRatio()

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

◆ getMaxCoarseningRatio()

int EBISLayoutImplem::getMaxCoarseningRatio ( ) const

◆ getMaxRefinementRatio()

int EBISLayoutImplem::getMaxRefinementRatio ( ) const

◆ define()

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 
)

◆ setVerbose()

static void EBISLayoutImplem::setVerbose ( bool  a_verbose)
static

◆ isDefined()

bool EBISLayoutImplem::isDefined ( ) const
inline

◆ getEBIS()

const EBIndexSpace* EBISLayoutImplem::getEBIS ( ) const
inline

◆ setEBIS()

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

◆ operator=()

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

Member Data Documentation

◆ m_ebisPtr

const EBIndexSpace* EBISLayoutImplem::m_ebisPtr
private

◆ m_blGhostDom

BoxLayout EBISLayoutImplem::m_blGhostDom
private

◆ m_dblInputDom

DisjointBoxLayout EBISLayoutImplem::m_dblInputDom
private

◆ m_fineLevels

Vector<EBISLayout> EBISLayoutImplem::m_fineLevels
private

◆ m_coarLevels

Vector<EBISLayout> EBISLayoutImplem::m_coarLevels
private

◆ m_nghost

int EBISLayoutImplem::m_nghost
private

◆ m_maxCoarseningRatio

int EBISLayoutImplem::m_maxCoarseningRatio
private

◆ m_maxRefinementRatio

int EBISLayoutImplem::m_maxRefinementRatio
private

◆ m_domain

ProblemDomain EBISLayoutImplem::m_domain
private

◆ m_ebisBoxes

LayoutData<EBISBox> EBISLayoutImplem::m_ebisBoxes
private

◆ m_defined

bool EBISLayoutImplem::m_defined
private

◆ s_verbose

bool EBISLayoutImplem::s_verbose
staticprivate

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