#include <MiniIFFAB.H>
Public Member Functions | |
MiniIFFAB () | |
MiniIFFAB (const Box &a_box, const EBGraph &a_ebgraph, const int &a_direction, const int &a_nvarin) | |
MiniIFFAB (const IntVectSet &a_ivs, const EBGraph &a_ebgraph, const int &a_direction, const int &a_nvarin) | |
void | define (const IntVectSet &a_ivs, const EBGraph &a_ebgraph, const int &a_direction, const int &a_nvarin) |
MiniIFFAB (const Interval &a_comps, MiniIFFAB< T > &a_original) | |
~MiniIFFAB () | |
void | define (const Box &a_box, const EBGraph &a_ebgraph, const int &a_direction, const int &a_nvarin) |
long | offset (const FaceIndex &a_vof, const int &a_ivar) const |
for AggStencil | |
void | setVal (const T &value) |
void | setVal (int ivar, const T &value) |
void | copy (const Box &a_intBox, const Interval &a_destInterval, const Box &a_toBox, const MiniIFFAB< T > &a_src, const Interval &a_srcInterval) |
void | clear () |
MiniIFFAB (const Box &a_region, int a_nVar) | |
invalid but necessary for leveldata to compile | |
bool | isDefined () const |
int | nComp () const |
T & | operator() (const FaceIndex &a_face, const int &varlocin) |
const T & | operator() (const FaceIndex &a_face, const int &varlocin) const |
T * | dataPtr (const int &a_comp) |
T * | getIndex (const FaceIndex &a_face, const int &a_comp) const |
const T * | dataPtr (const int &a_comp) const |
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) |
int | numFaces () const |
const Vector< FaceIndex > & | getFaces () const |
Static Public Member Functions | |
static int | preAllocatable () |
Public Attributes | |
Box | m_box |
EBGraph | m_ebgraph |
Static Public Attributes | |
static bool | s_verbose = false |
Protected Attributes | |
T * | m_data |
Vector< FaceIndex > | m_faces |
int | m_nFaces |
int | m_nComp |
int | m_direction |
bool | m_aliased = false |
bool | m_isDefined |
Private Member Functions | |
void | setDefaultValues () |
void | getFaceSubset (Vector< FaceIndex > &a_subFaces, const Box &a_subBox) const |
void | operator= (const MiniIFFAB< T > &) |
MiniIFFAB (const MiniIFFAB< T > &) |
Default constructor. Constructs an uninitialized IFFAB. You must subsequently call { define} before using this IFFAB.
References MiniIFFAB< T >::setDefaultValues().
MiniIFFAB< T >::MiniIFFAB | ( | const Box & | a_box, | |
const EBGraph & | a_ebgraph, | |||
const int & | a_direction, | |||
const int & | a_nvarin | |||
) | [inline] |
Defining constructor. Specifies the irregular domain and the number of data components per face. The irregular domain must lie completely within the EBGraph. The contents are uninitialized. Calls full define function.
References MiniIFFAB< T >::define(), and MiniIFFAB< T >::setDefaultValues().
MiniIFFAB< T >::MiniIFFAB | ( | const IntVectSet & | a_ivs, | |
const EBGraph & | a_ebgraph, | |||
const int & | a_direction, | |||
const int & | a_nvarin | |||
) | [inline] |
Constructor to define miniIFFAB over all faces in an intvectset. Calls full define function.
References MiniIFFAB< T >::define(), and MiniIFFAB< T >::setDefaultValues().
MiniIFFAB< T >::MiniIFFAB | ( | const Interval & | a_comps, | |
MiniIFFAB< T > & | a_original | |||
) | [inline] |
This aliased MiniIFFAB will have a_comps.size() components, starting at zero.
References MiniIFFAB< T >::clear().
invalid but necessary for leveldata to compile
void MiniIFFAB< T >::define | ( | const IntVectSet & | a_ivs, | |
const EBGraph & | a_ebgraph, | |||
const int & | a_direction, | |||
const int & | a_nvarin | |||
) | [inline] |
Define function for all faces in an intvectset..
References CH_assert, MiniIFFAB< T >::clear(), FaceIterator::getVector(), MiniIFFAB< T >::m_box, MiniIFFAB< T >::m_data, MiniIFFAB< T >::m_direction, MiniIFFAB< T >::m_ebgraph, MiniIFFAB< T >::m_faces, MiniIFFAB< T >::m_isDefined, MiniIFFAB< T >::m_nComp, MiniIFFAB< T >::m_nFaces, IntVectSet::minBox(), Vector< T >::size(), SpaceDim, and FaceStop::SurroundingWithBoundary.
Referenced by MiniIFFAB< T >::MiniIFFAB().
void MiniIFFAB< T >::define | ( | const Box & | a_box, | |
const EBGraph & | a_ebgraph, | |||
const int & | a_direction, | |||
const int & | a_nvarin | |||
) | [inline] |
Full define function. Specifies the irregular domain and the number of data components per face. The irregular domain must lie completely within the EBGraph. The contents are uninitialized. If it has previously been defined, the old definition data is overwritten and lost.
References CH_assert, MiniIFFAB< T >::clear(), EBGraph::getMultiValuedFaces(), MiniIFFAB< T >::m_box, MiniIFFAB< T >::m_data, MiniIFFAB< T >::m_direction, MiniIFFAB< T >::m_ebgraph, MiniIFFAB< T >::m_faces, MiniIFFAB< T >::m_isDefined, MiniIFFAB< T >::m_nComp, MiniIFFAB< T >::m_nFaces, Vector< T >::size(), and SpaceDim.
long MiniIFFAB< T >::offset | ( | const FaceIndex & | a_vof, | |
const int & | a_ivar | |||
) | const [inline] |
for AggStencil
void MiniIFFAB< T >::setVal | ( | const T & | value | ) | [inline] |
Set a value at every data location.
References CH_assert, MiniIFFAB< T >::isDefined(), MiniIFFAB< T >::m_data, MiniIFFAB< T >::m_nComp, and MiniIFFAB< T >::m_nFaces.
void MiniIFFAB< T >::setVal | ( | int | ivar, | |
const T & | value | |||
) | [inline] |
Set a value at every data location.
References CH_assert, MiniIFFAB< T >::isDefined(), MiniIFFAB< T >::m_data, MiniIFFAB< T >::m_nComp, and MiniIFFAB< T >::m_nFaces.
void MiniIFFAB< T >::copy | ( | const Box & | a_intBox, | |
const Interval & | a_destInterval, | |||
const Box & | a_toBox, | |||
const MiniIFFAB< T > & | a_src, | |||
const Interval & | a_srcInterval | |||
) | [inline] |
define over surrounding nodes of invectset (ivs is cell-centered).
References Interval::begin(), CH_assert, Box::contains(), Interval::end(), FaceIndex::gridIndex(), Side::Hi, MiniIFFAB< T >::isDefined(), Box::isEmpty(), Side::Lo, MiniIFFAB< T >::m_box, MiniIFFAB< T >::m_faces, MiniIFFAB< T >::m_nComp, Vector< T >::size(), and Interval::size().
void MiniIFFAB< T >::clear | ( | ) | [inline] |
Remove all data from this MiniIFFAB. You must call { define} again in order to use it.
References MiniIFFAB< T >::m_aliased, MiniIFFAB< T >::m_data, MiniIFFAB< T >::m_faces, Vector< T >::resize(), and MiniIFFAB< T >::setDefaultValues().
Referenced by MiniIFFAB< T >::define(), and MiniIFFAB< T >::~MiniIFFAB().
bool MiniIFFAB< T >::isDefined | ( | ) | const [inline] |
Tells whether this MiniIFFAB has been defined, either with a constructor or with { define}. It must be initialized in order to access its data.
Referenced by MiniIFFAB< T >::copy(), MiniIFFAB< T >::linearIn(), MiniIFFAB< T >::linearOut(), MiniIFFAB< T >::operator()(), MiniIFFAB< T >::setVal(), and MiniIFFAB< T >::size().
int MiniIFFAB< T >::nComp | ( | ) | const [inline] |
Return the number of data components of this MiniIFFAB.
T & MiniIFFAB< T >::operator() | ( | const FaceIndex & | a_face, | |
const int & | varlocin | |||
) | [inline] |
Indexing operator. Return a reference to the contents of this IFFAB, at the specified face and data component. The first component is zero, the last is {nvar-1}. The returned object is a modifiable lvalue.
References CH_assert, MiniIFFAB< T >::dataPtr(), FaceIndex::direction(), MiniIFFAB< T >::getIndex(), MiniIFFAB< T >::isDefined(), and MiniIFFAB< T >::m_direction.
T * MiniIFFAB< T >::dataPtr | ( | const int & | a_comp | ) | [inline] |
References CH_assert, MiniIFFAB< T >::m_data, MiniIFFAB< T >::m_nComp, and MiniIFFAB< T >::m_nFaces.
Referenced by MiniIFFAB< T >::getIndex(), MiniIFFAB< double >::offset(), and MiniIFFAB< T >::operator()().
const T * MiniIFFAB< T >::dataPtr | ( | const int & | a_comp | ) | const [inline] |
References CH_assert, MiniIFFAB< T >::m_data, MiniIFFAB< T >::m_nComp, and MiniIFFAB< T >::m_nFaces.
static int MiniIFFAB< T >::preAllocatable | ( | ) | [inline, static] |
int MiniIFFAB< T >::numFaces | ( | ) | const [inline] |
void MiniIFFAB< T >::setDefaultValues | ( | ) | [inline, private] |
References MiniIFFAB< T >::m_data, MiniIFFAB< T >::m_direction, MiniIFFAB< T >::m_isDefined, MiniIFFAB< T >::m_nComp, and MiniIFFAB< T >::m_nFaces.
Referenced by MiniIFFAB< T >::clear(), and MiniIFFAB< T >::MiniIFFAB().
void MiniIFFAB< T >::getFaceSubset | ( | Vector< FaceIndex > & | a_subFaces, | |
const Box & | a_subBox | |||
) | const [inline, private] |
References Box::contains(), Side::Hi, Side::Lo, MiniIFFAB< T >::m_faces, Vector< T >::push_back(), Vector< T >::resize(), and Vector< T >::size().
Referenced by MiniIFFAB< T >::linearOut(), and MiniIFFAB< T >::size().
Referenced by MiniIFFAB< T >::size().
Referenced by MiniIFFAB< T >::copy(), MiniIFFAB< T >::define(), and MiniIFFAB< T >::size().
Referenced by MiniIFFAB< T >::define(), and MiniIFFAB< T >::size().
int MiniIFFAB< T >::m_direction [protected] |
Referenced by MiniIFFAB< T >::define(), MiniIFFAB< T >::operator()(), and MiniIFFAB< T >::setDefaultValues().
Referenced by MiniIFFAB< T >::clear().
bool MiniIFFAB< T >::m_isDefined [protected] |