Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

EBISBox Class Reference

#include <EBISBox.H>

Collaboration diagram for EBISBox:

Collaboration graph
[legend]
List of all members.

Public Methods

 EBISBox ()
 ~EBISBox ()
IntVectSet getMultiCells (const Box &a_subbox) const
IntVectSet getIrregIVS (const Box &a_subbox) const
int numVoFs (const IntVect &a_iv) const
Vector< VolIndexgetVoFs (const IntVect &a_iv) const
Vector< VolIndexgetVoFs (const VolIndex &a_vof, const int &a_dir, const Side::LoHiSide &a_sd, const int &a_steps) const
bool isAllRegular () const
bool isAllCovered () const
bool isRegular (const IntVect &a_iv) const
bool isIrregular (const IntVect &a_iv) const
bool isCovered (const IntVect &a_iv) const
bool isCovered (const Box &a_box) const
bool isRegular (const Box &a_box) const
Vector< FaceIndexgetFaces (const VolIndex &a_vof, const int &a_idir, const Side::LoHiSide &a_sd) const
Vector< FaceIndexgetAllFaces (const IntVect &a_iv, const int &a_idir, const Side::LoHiSide &a_sd) const
RealVect centroid (const FaceIndex &facein) const
int numFaces (const VolIndex &a_vof, const int &a_idir, const Side::LoHiSide &a_sd) const
Real volFrac (const VolIndex &a_vof) const
bool isConnected (const VolIndex &a_vof1, const VolIndex &a_vof2) const
Real areaFrac (const FaceIndex &a_face1) const
Real sumArea (const VolIndex &a_vof, const int &a_idir, const Side::LoHiSide &a_sd) const
RealVect normal (const VolIndex &a_vof) const
RealVect centroid (const VolIndex &a_vof) const
Vector< VolIndexrefine (const VolIndex &a_coarVoF) const
VolIndex coarsen (const VolIndex &a_fineVoF) const
RealVect bndryCentroid (const VolIndex &a_vof) const
Real bndryArea (const VolIndex &a_vof) const
const BoxgetRegion () const
const BoxgetDomain () const
void setDomain (const Box &box)
Vector< FaceIndexrefine (const FaceIndex &a_coarFace, const EBISBox &a_fineEBISBox) const
FaceIndex coarsen (const FaceIndex &a_fineFace) const
void setToAllRegular ()
void setToAllCovered ()
void define (const BaseFab< int > &a_regIrregCovered, const Vector< IrregNode > &a_irregGraph, const Box &a_validRegion, const Box &a_domain)
 define from scratch using irregular graph

const EBGraphgetEBGraph () const
const EBDatagetEBData () const
void define (const EBGraph &a_graph, const EBData &a_data)
 define from scratch using a graph and an ebdata

EBISBox & operator= (const EBISBox &ebiin)
 pointer copy

 EBISBox (const EBISBox &ebiin)
 pointer copy

bool operator== (const EBISBox &ebiin)
 pointer comparison


Private Attributes

EBGraph m_graph
 this is already a ref-counted object

EBData m_data
 this is already a ref-counted objecto


Detailed Description

EBISBox represents the geometric information of the domain at a given refinement within the boundaries of a particular box. It is implemented as a reference-counted pointer to an EBISBox object. This means that assignment and copying are computationally inexpensive but it also means that these functions have the reference-counted pointer semantic. If one copies an EBISBox and changes the copy, the original one changes too.


Constructor & Destructor Documentation

EBISBox::EBISBox  
 

Makes an EBISBox whose contents are undefined.

EBISBox::~EBISBox  
 

EBISBox::EBISBox const EBISBox &    ebiin
 

pointer copy


Member Function Documentation

Real EBISBox::areaFrac const FaceIndex   a_face1 const
 

Return the area fraction of the face. Returns zero if the two vofs in the face are not actually connected.

Real EBISBox::bndryArea const VolIndex   a_vof const
 

RealVect EBISBox::bndryCentroid const VolIndex   a_vof const
 

RealVect EBISBox::centroid const VolIndex   a_vof const
 

Returns the centroid of the input VoF. Return the zero vector if the VoF is regular or covered. The answer is given as a normalized (by grid spacing) offset from the center of the cell (all numbers range from -0.5 to 0.5).

RealVect EBISBox::centroid const FaceIndex   facein const
 

Returns a RealVect whose component in the uninteresting direction normal to the face is undefined. Returns the centroid of input face in the (one or two) interesting directions. Return the zero vector if the face is covered or regular. The answer is given as a normalized (by grid spacing) offset from the center of the cell face (all numbers range from -0.5 to 0.5).

FaceIndex EBISBox::coarsen const FaceIndex   a_fineFace const
 

Returns the corresponding face from the next coarser {\tt EBISLevel} (same solution location, different index space, factor of two refinement ratio).

VolIndex EBISBox::coarsen const VolIndex   a_fineVoF const
 

Returns the corresponding VoF from the next coarser EBISBox (same solution location, different index space, factor of two refinement ratio).

void EBISBox::define const EBGraph   a_graph,
const EBData   a_data
 

define from scratch using a graph and an ebdata

void EBISBox::define const BaseFab< int > &    a_regIrregCovered,
const Vector< IrregNode > &    a_irregGraph,
const Box   a_validRegion,
const Box   a_domain
 

define from scratch using irregular graph

Vector<FaceIndex> EBISBox::getAllFaces const IntVect   a_iv,
const int &    a_idir,
const Side::LoHiSide   a_sd
const
 

const Box& EBISBox::getDomain   const
 

const EBData& EBISBox::getEBData   const
 

const EBGraph& EBISBox::getEBGraph   const
 

Vector<FaceIndex> EBISBox::getFaces const VolIndex   a_vof,
const int &    a_idir,
const Side::LoHiSide   a_sd
const
 

Return the faces on the side and direction of the input VoF.

IntVectSet EBISBox::getIrregIVS const Box   a_subbox const
 

Returns the irregular cells of the EBISBox that are within the input subbox.

IntVectSet EBISBox::getMultiCells const Box   a_subbox const
 

Returns all the multi-valued cells within the input Box a_subbox.

const Box& EBISBox::getRegion   const
 

Vector<VolIndex> EBISBox::getVoFs const VolIndex   a_vof,
const int &    a_dir,
const Side::LoHiSide   a_sd,
const int &    a_steps
const
 

Return the VoFs in the direction and distance given. Chases the connectivity the number of steps given. a_steps = 0 just returns the vof input. a_steps < 0 is an error. Stops at the domain boundary without error. Will be an error if the number of steps steps out of the EBISBox region without stepping out of the domain. If this happens, you probably need to define your EBISLayout with more ghost cells.

Vector<VolIndex> EBISBox::getVoFs const IntVect   a_iv const
 

Return the VoFs in the cell.

bool EBISBox::isAllCovered   const
 

Return true if every cell in the EBISBox is a covered cell.

bool EBISBox::isAllRegular   const
 

Return true if every cell in the EBISBox is a regular cell.

bool EBISBox::isConnected const VolIndex   a_vof1,
const VolIndex   a_vof2
const
 

Return true if the two VoFs are connected.

bool EBISBox::isCovered const Box   a_box const
 

Return true if every cell in a_box is a covered cell.

bool EBISBox::isCovered const IntVect   a_iv const
 

Return true if a_iv is a covered cell.

bool EBISBox::isIrregular const IntVect   a_iv const
 

Return true if a_iv is an irregular cell.

bool EBISBox::isRegular const Box   a_box const
 

Return true if every cell in a_box is a regular cell.

bool EBISBox::isRegular const IntVect   a_iv const
 

Return true if a_iv is a regular cell.

RealVect EBISBox::normal const VolIndex   a_vof const
 

Return the normal to the boundary at the input VoF. If said normal is undefined, returns the zero vector.

int EBISBox::numFaces const VolIndex   a_vof,
const int &    a_idir,
const Side::LoHiSide   a_sd
const
 

Return the number of faces on the side and direction of the input VoF.

int EBISBox::numVoFs const IntVect   a_iv const
 

Returns the number of VoFs in the cell

EBISBox& EBISBox::operator= const EBISBox &    ebiin
 

pointer copy

bool EBISBox::operator== const EBISBox &    ebiin
 

pointer comparison

Vector<FaceIndex> EBISBox::refine const FaceIndex   a_coarFace,
const EBISBox &    a_fineEBISBox
const
 

Returns the corresponding set of faces from the next finer EBISBox (factor of two refinement). The result is only defined if this EBISBox was defined by coarsening.

Vector<VolIndex> EBISBox::refine const VolIndex   a_coarVoF const
 

Returns the corresponding set of VoFs from the next finer EBISBox (factor of two refinement). The result is only defined if this {\tt EBISBox} was defined by coarsening.

void EBISBox::setDomain const Box   box
 

void EBISBox::setToAllCovered  
 

Set the graph to all covered cells (sparse);

void EBISBox::setToAllRegular  
 

Set the graph to all regular cells (sparse);

Real EBISBox::sumArea const VolIndex   a_vof,
const int &    a_idir,
const Side::LoHiSide   a_sd
const
 

Return the sum of area fractions of the high side of the vof in the given direction.

Real EBISBox::volFrac const VolIndex   a_vof const
 

Return the volume fraction of teh input VoF.


Member Data Documentation

EBData EBISBox::m_data [private]
 

this is already a ref-counted objecto

EBGraph EBISBox::m_graph [private]
 

this is already a ref-counted object


The documentation for this class was generated from the following file:
Generated on Wed Apr 16 14:35:13 2003 for EBChombo by doxygen1.2.16