#include <BaseEBFaceFAB.H>
An BaseEBFaceFAB is a templated holder for face-centered data over a region which consists of the intersection of a face-centered box and an EBISBox. At every uncovered VoF in this intersection, the BaseEBFaceFAB contains a specified number of data values. At singly valued faces, the data is stored internally in a BaseFab. At multiply-valued faces, the data is stored internally in an INFab. A multiply-valued face is defined to be a face which abuts at least one multiply-valued Face. BaseEBFaceFAB provides indexing by Face. This class does not provide a copy constructor or assignment operator for all the usual reasons.
Public Member Functions | |
int | numDataTypes () const |
for AggStencil | |
int | dataType (const BaseIndex &a_baseInd) const |
for AggStencil | |
long | offset (const BaseIndex &a_baseInd, const int a_ivar) const |
for AggStencil | |
T * | dataPtr (int a_dataType, int a_ivar) |
for AggStencil | |
const T * | dataPtr (int a_dataType, int a_ivar) const |
BaseEBFaceFAB () | |
BaseEBFaceFAB (const EBISBox &a_ebisBox, const Box &a_region, int a_iDir, int a_nVar) | |
virtual void | define (const EBISBox &a_ebisBox, const Box &a_region, int a_iDir, int a_nVar) |
virtual | ~BaseEBFaceFAB () |
void | clear () |
void | setVal (const T &value) |
void | setVal (int ivar, const T &value) |
bool | isDefined () const |
int | nComp () const |
const MiniIFFAB< T > & | getMultiValuedFAB () const |
MiniIFFAB< T > & | getMultiValuedFAB () |
const BaseFab< T > & | getSingleValuedFAB () const |
BaseFab< T > & | getSingleValuedFAB () |
int | direction () const |
const Box & | getRegion () const |
const Box & | getCellRegion () const |
T & | operator() (const FaceIndex &a_facein, int a_nVarLoc) |
const T & | operator() (const FaceIndex &a_facein, int a_nVarLoc) const |
void | copy (const Box &RegionFrom, const Interval &destInt, const Box &RegionTo, const BaseEBFaceFAB< T > &source, const Interval &srcInt) |
BaseEBFaceFAB< T > & | copy (const BaseEBFaceFAB< T > &source) |
int | size (const Box &R, const Interval &comps) const |
void | linearOut (void *buf, const Box &R, const Interval &comps) const |
void | linearIn (void *buf, const Box &R, const Interval &comps) |
BaseEBFaceFAB (const Box &a_region, int a_nVar) | |
Invalid but necessary for LevelData<T> to compile. | |
const EBISBox & | getEBISBox () const |
void | setCoveredFaceVal (const T &a_val, const int &a_comp, const bool &a_doMulti=true) |
BaseEBFaceFAB (const Interval &a_comps, BaseEBFaceFAB< T > &a_original) | |
aliasing copy-ish constructor. Used when the 'alias' function is invoked on LevelData | |
Static Public Member Functions | |
static bool | preAllocatable () |
Protected Attributes | |
MiniIFFAB< T > | m_irrFAB |
data at faces which abut multi-valued cells | |
BaseFab< T > | m_regFAB |
data at faces between two single-valued cells | |
int | m_nComp |
number of data values at each face in BaseEBFaceFAB | |
int | m_iDir |
Box | m_regionFace |
the face-centered region over which the BaseEBFaceFAB lives | |
Box | m_region |
the cell-centered region over which the BaseEBFaceFAB lives | |
bool | m_isDefined |
has the full define function been called for the BaseEBFaceFAB? | |
EBISBox | m_ebisBox |
Private Member Functions | |
void | setDefaultValues () |
void | operator= (const BaseEBFaceFAB< T > &ebcin) |
BaseEBFaceFAB (const BaseEBFaceFAB< T > &ebcin) |
BaseEBFaceFAB< T >::BaseEBFaceFAB | ( | ) | [inline] |
References BaseEBFaceFAB< T >::setDefaultValues().
BaseEBFaceFAB< T >::BaseEBFaceFAB | ( | const EBISBox & | a_ebisBox, | |
const Box & | a_region, | |||
int | a_iDir, | |||
int | a_nVar | |||
) | [inline] |
Box going into this needs to be cell-centered. Data will exist over the surrounding nodes of the box.
References BaseEBFaceFAB< T >::define(), and BaseEBFaceFAB< T >::setDefaultValues().
BaseEBFaceFAB< T >::~BaseEBFaceFAB | ( | ) | [inline, virtual] |
References BaseEBFaceFAB< T >::clear().
BaseEBFaceFAB< T >::BaseEBFaceFAB | ( | const Box & | a_region, | |
int | a_nVar | |||
) | [inline] |
Invalid but necessary for LevelData<T> to compile.
BaseEBFaceFAB< T >::BaseEBFaceFAB | ( | const Interval & | a_comps, | |
BaseEBFaceFAB< T > & | a_original | |||
) | [inline] |
aliasing copy-ish constructor. Used when the 'alias' function is invoked on LevelData
Constructs an 'aliased' BaseEBCellFab of the requested interval of the argument BaseEBCellFab. This BaseEBCellFab does not allocate any memory, but sets its data pointer into the memory pointed to by the argument BaseEBCellFab. It is the users responsiblity to ensure this aliased BaseEBCellFab is not used after the original BaseEBCellFab has deleted its data ptr (resize, define(..) called, or destruction, etc.).
This aliased BaseEBCellFab will also generate side effects (modifying the values of data in one will modify the other's data).
This aliased BaseFab will have a_comps.size() components, starting at zero.
References MayDay::Error(), and BaseEBFaceFAB< T >::m_isDefined.
BaseEBFaceFAB< T >::BaseEBFaceFAB | ( | const BaseEBFaceFAB< T > & | ebcin | ) | [inline, private] |
int BaseEBFaceFAB< T >::numDataTypes | ( | ) | const [inline] |
for AggStencil
int BaseEBFaceFAB< T >::dataType | ( | const BaseIndex & | a_baseInd | ) | const [inline] |
for AggStencil
long BaseEBFaceFAB< T >::offset | ( | const BaseIndex & | a_baseInd, | |
const int | a_ivar | |||
) | const [inline] |
for AggStencil
T* BaseEBFaceFAB< T >::dataPtr | ( | int | a_dataType, | |
int | a_ivar | |||
) | [inline] |
for AggStencil
const T* BaseEBFaceFAB< T >::dataPtr | ( | int | a_dataType, | |
int | a_ivar | |||
) | const [inline] |
void BaseEBFaceFAB< T >::define | ( | const EBISBox & | a_ebisBox, | |
const Box & | a_region, | |||
int | a_iDir, | |||
int | a_nVar | |||
) | [inline, virtual] |
Box going into this needs to be cell-centered. Data will exist over the surrounding nodes of the box.
Reimplemented in EBFaceFAB.
References Box::cellCentered(), CH_assert, BaseEBFaceFAB< T >::clear(), Box::contains(), ProblemDomain::domainBox(), EBISBox::getDomain(), EBISBox::getEBGraph(), EBISBox::getRegion(), Box::grow(), Box::isEmpty(), BaseEBFaceFAB< T >::m_ebisBox, BaseEBFaceFAB< T >::m_iDir, BaseEBFaceFAB< T >::m_irrFAB, BaseEBFaceFAB< T >::m_isDefined, BaseEBFaceFAB< T >::m_nComp, BaseEBFaceFAB< T >::m_regFAB, BaseEBFaceFAB< T >::m_region, BaseEBFaceFAB< T >::m_regionFace, SpaceDim, and surroundingNodes().
Referenced by BaseEBFaceFAB< T >::BaseEBFaceFAB().
void BaseEBFaceFAB< T >::clear | ( | ) | [inline] |
References BaseEBFaceFAB< T >::m_irrFAB, BaseEBFaceFAB< T >::m_isDefined, and BaseEBFaceFAB< T >::m_regFAB.
Referenced by BaseEBFaceFAB< T >::define(), and BaseEBFaceFAB< T >::~BaseEBFaceFAB().
void BaseEBFaceFAB< T >::setVal | ( | const T & | value | ) | [inline] |
References BaseEBFaceFAB< T >::m_irrFAB, and BaseEBFaceFAB< T >::m_regFAB.
void BaseEBFaceFAB< T >::setVal | ( | int | ivar, | |
const T & | value | |||
) | [inline] |
References BaseEBFaceFAB< T >::m_irrFAB, and BaseEBFaceFAB< T >::m_regFAB.
bool BaseEBFaceFAB< T >::isDefined | ( | ) | const [inline] |
References BaseEBFaceFAB< T >::m_isDefined.
Referenced by BaseEBFaceFAB< T >::copy(), BaseEBFaceFAB< T >::direction(), BaseEBFaceFAB< T >::getCellRegion(), BaseEBFaceFAB< T >::getMultiValuedFAB(), BaseEBFaceFAB< T >::getRegion(), BaseEBFaceFAB< T >::getSingleValuedFAB(), BaseEBFaceFAB< T >::nComp(), and BaseEBFaceFAB< T >::operator()().
int BaseEBFaceFAB< T >::nComp | ( | ) | const [inline] |
References CH_assert, BaseEBFaceFAB< T >::isDefined(), and BaseEBFaceFAB< T >::m_nComp.
const MiniIFFAB< T > & BaseEBFaceFAB< T >::getMultiValuedFAB | ( | ) | const [inline] |
References CH_assert, BaseEBFaceFAB< T >::isDefined(), and BaseEBFaceFAB< T >::m_irrFAB.
MiniIFFAB< T > & BaseEBFaceFAB< T >::getMultiValuedFAB | ( | ) | [inline] |
References CH_assert, BaseEBFaceFAB< T >::isDefined(), and BaseEBFaceFAB< T >::m_irrFAB.
const BaseFab< T > & BaseEBFaceFAB< T >::getSingleValuedFAB | ( | ) | const [inline] |
References CH_assert, BaseEBFaceFAB< T >::isDefined(), and BaseEBFaceFAB< T >::m_regFAB.
BaseFab< T > & BaseEBFaceFAB< T >::getSingleValuedFAB | ( | ) | [inline] |
References CH_assert, BaseEBFaceFAB< T >::isDefined(), and BaseEBFaceFAB< T >::m_regFAB.
int BaseEBFaceFAB< T >::direction | ( | ) | const [inline] |
References CH_assert, BaseEBFaceFAB< T >::isDefined(), and BaseEBFaceFAB< T >::m_iDir.
const Box & BaseEBFaceFAB< T >::getRegion | ( | ) | const [inline] |
Returns the FACE-CENTERED region of the fab
References CH_assert, BaseEBFaceFAB< T >::isDefined(), and BaseEBFaceFAB< T >::m_regionFace.
const Box & BaseEBFaceFAB< T >::getCellRegion | ( | ) | const [inline] |
Returns the CELL-CENTERED region of the fab
References CH_assert, BaseEBFaceFAB< T >::isDefined(), and BaseEBFaceFAB< T >::m_region.
T & BaseEBFaceFAB< T >::operator() | ( | const FaceIndex & | a_facein, | |
int | a_nVarLoc | |||
) | [inline] |
const T & BaseEBFaceFAB< T >::operator() | ( | const FaceIndex & | a_facein, | |
int | a_nVarLoc | |||
) | const [inline] |
static bool BaseEBFaceFAB< T >::preAllocatable | ( | ) | [inline, static] |
void BaseEBFaceFAB< T >::copy | ( | const Box & | RegionFrom, | |
const Interval & | destInt, | |||
const Box & | RegionTo, | |||
const BaseEBFaceFAB< T > & | source, | |||
const Interval & | srcInt | |||
) | [inline] |
Box going into this should be CELL CENTERED. copy done over surrounding nodes.
References Interval::begin(), Box::cellCentered(), CH_assert, Box::contains(), ProblemDomain::domainBox(), Interval::end(), EBISBox::getDomain(), BaseEBFaceFAB< T >::isDefined(), Box::isEmpty(), BaseEBFaceFAB< T >::m_ebisBox, BaseEBFaceFAB< T >::m_iDir, BaseEBFaceFAB< T >::m_irrFAB, BaseEBFaceFAB< T >::m_nComp, BaseEBFaceFAB< T >::m_regFAB, BaseEBFaceFAB< T >::m_region, BaseEBFaceFAB< T >::m_regionFace, Interval::size(), and surroundingNodes().
Referenced by BaseEBFaceFAB< T >::copy().
BaseEBFaceFAB< T > & BaseEBFaceFAB< T >::copy | ( | const BaseEBFaceFAB< T > & | source | ) | [inline] |
int BaseEBFaceFAB< T >::size | ( | const Box & | R, | |
const Interval & | comps | |||
) | const [inline] |
void BaseEBFaceFAB< T >::linearOut | ( | void * | buf, | |
const Box & | R, | |||
const Interval & | comps | |||
) | const [inline] |
void BaseEBFaceFAB< T >::linearIn | ( | void * | buf, | |
const Box & | R, | |||
const Interval & | comps | |||
) | [inline] |
const EBISBox & BaseEBFaceFAB< T >::getEBISBox | ( | ) | const [inline] |
References BaseEBFaceFAB< T >::m_ebisBox.
void BaseEBFaceFAB< T >::setCoveredFaceVal | ( | const T & | a_val, | |
const int & | a_comp, | |||
const bool & | a_doMulti = true | |||
) | [inline] |
void BaseEBFaceFAB< T >::setDefaultValues | ( | ) | [inline, private] |
References BaseEBFaceFAB< T >::m_iDir, BaseEBFaceFAB< T >::m_isDefined, and BaseEBFaceFAB< T >::m_nComp.
Referenced by BaseEBFaceFAB< T >::BaseEBFaceFAB().
void BaseEBFaceFAB< T >::operator= | ( | const BaseEBFaceFAB< T > & | ebcin | ) | [inline, private] |
MiniIFFAB<T> BaseEBFaceFAB< T >::m_irrFAB [protected] |
data at faces which abut multi-valued cells
Referenced by BaseEBFaceFAB< T >::clear(), BaseEBFaceFAB< T >::copy(), BaseEBFaceFAB< double >::dataPtr(), BaseEBFaceFAB< double >::dataType(), BaseEBFaceFAB< T >::define(), BaseEBFaceFAB< T >::getMultiValuedFAB(), BaseEBFaceFAB< T >::linearIn(), BaseEBFaceFAB< T >::linearOut(), BaseEBFaceFAB< double >::offset(), BaseEBFaceFAB< T >::operator()(), BaseEBFaceFAB< T >::setVal(), and BaseEBFaceFAB< T >::size().
BaseFab<T> BaseEBFaceFAB< T >::m_regFAB [protected] |
data at faces between two single-valued cells
Referenced by BaseEBFaceFAB< T >::clear(), BaseEBFaceFAB< T >::copy(), BaseEBFaceFAB< double >::dataPtr(), BaseEBFaceFAB< T >::define(), BaseEBFaceFAB< T >::getSingleValuedFAB(), BaseEBFaceFAB< T >::linearIn(), BaseEBFaceFAB< T >::linearOut(), BaseEBFaceFAB< double >::offset(), BaseEBFaceFAB< T >::operator()(), BaseEBFaceFAB< T >::setCoveredFaceVal(), BaseEBFaceFAB< T >::setVal(), and BaseEBFaceFAB< T >::size().
int BaseEBFaceFAB< T >::m_nComp [protected] |
number of data values at each face in BaseEBFaceFAB
Referenced by BaseEBFaceFAB< T >::copy(), BaseEBFaceFAB< T >::define(), BaseEBFaceFAB< T >::nComp(), BaseEBFaceFAB< T >::operator()(), BaseEBFaceFAB< T >::setCoveredFaceVal(), and BaseEBFaceFAB< T >::setDefaultValues().
int BaseEBFaceFAB< T >::m_iDir [protected] |
Box BaseEBFaceFAB< T >::m_regionFace [protected] |
the face-centered region over which the BaseEBFaceFAB lives
Referenced by BaseEBFaceFAB< T >::copy(), BaseEBFaceFAB< T >::define(), BaseEBFaceFAB< T >::getRegion(), and BaseEBFaceFAB< T >::operator()().
Box BaseEBFaceFAB< T >::m_region [protected] |
the cell-centered region over which the BaseEBFaceFAB lives
Referenced by BaseEBFaceFAB< T >::copy(), BaseEBFaceFAB< T >::define(), BaseEBFaceFAB< T >::getCellRegion(), and BaseEBFaceFAB< T >::setCoveredFaceVal().
bool BaseEBFaceFAB< T >::m_isDefined [protected] |
has the full define function been called for the BaseEBFaceFAB?
Referenced by BaseEBFaceFAB< T >::BaseEBFaceFAB(), BaseEBFaceFAB< T >::clear(), BaseEBFaceFAB< T >::define(), BaseEBFaceFAB< T >::isDefined(), and BaseEBFaceFAB< T >::setDefaultValues().
EBISBox BaseEBFaceFAB< T >::m_ebisBox [protected] |