Chombo + EB + MF
3.2
|
#include <IVSFAB.H>
Public Member Functions | |
IVSFAB () | |
IVSFAB (const IntVectSet &a_region, const int &a_nvarin) | |
~IVSFAB () | |
void | setVal (const T &value) |
void | copy (const Box &a_fromBox, const Interval &a_destInterval, const Box &a_toBox, const IVSFAB< T > &a_src, const Interval &a_srcInterval) |
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) |
bool | isDefined () const |
int | numIvs () const |
int | nComp () const |
const IntVectSet & | getIVS () const |
T & | operator() (const IntVect &a_iv, const int &varlocin) |
const T & | operator() (const IntVect &a_iv, const int &varlocin) const |
const T * | dataPtr (const int &a_comp) const |
T * | dataPtr (const int &a_comp) |
IVSFAB (const Box &a_region, int a_nVar) | |
invalid but necessary for leveldata to compile More... | |
const int * | loVect () const |
const int * | hiVect () const |
void | define (const IntVectSet &a_region, const int &a_nvarin) |
template<> | |
int | size (const Box &a_region, const Interval &a_comps) const |
template<> | |
void | linearIn (void *a_buf, const Box &a_region, const Interval &a_comps) |
template<> | |
void | linearOut (void *a_buf, const Box &a_region, const Interval &a_comps) const |
template<> | |
int | size (const Box &a_region, const Interval &a_comps) const |
template<> | |
void | linearOut (void *a_buf, const Box &a_region, const Interval &a_comps) const |
template<> | |
void | linearIn (void *a_buf, const Box &a_region, const Interval &a_comps) |
Static Public Member Functions | |
static int | preAllocatable () |
static void | setVerbose (bool a_verbose) |
Protected Member Functions | |
int | getIndex (const IntVect &a_iv, const int &a_comp) const |
Protected Attributes | |
T * | m_dataPtr |
int | m_nComp |
int | m_nIvs |
IntVect | m_loVect |
IntVect | m_hiVect |
BaseFab< int > | m_ivmap |
IntVectSet | m_ivs |
bool | m_isDefined |
Static Protected Attributes | |
static bool | s_verbose = false |
Private Member Functions | |
void | clear () |
void | setDefaultValues () |
IVSFAB< T > & | operator= (const IVSFAB< T > &) |
IVSFAB (const IVSFAB< T > &) | |
IVSFAB is a templated data holder defined at the Ivs of an irregular domain.
Default constructor. Constructs an uninitialized IVFAB. You must subsequently call { define} before using this IVFAB.
|
inline |
References IVSFAB< T >::define().
References IVSFAB< T >::clear().
invalid but necessary for leveldata to compile
References IVSFAB< T >::define(), MayDay::Error(), IVSFAB< T >::getIndex(), IVSFAB< T >::hiVect(), IVSFAB< T >::loVect(), IVSFAB< T >::setDefaultValues(), and IVSFAB< T >::setVerbose().
|
inline |
Set a value at every data location.
References CH_assert, IVSFAB< T >::isDefined(), IVSFAB< T >::m_dataPtr, IVSFAB< T >::m_nComp, and IVSFAB< T >::m_nIvs.
|
inlinestatic |
This stuff required by LevelData in parallel:
References IVSFAB< T >::clear(), IVSFAB< T >::dataPtr(), IVSFAB< T >::getIVS(), IVSFAB< T >::isDefined(), IVSFAB< T >::linearIn(), IVSFAB< T >::linearOut(), IVSFAB< T >::nComp(), IVSFAB< T >::numIvs(), IVSFAB< T >::operator()(), and IVSFAB< T >::size().
References Interval::begin(), Interval::end(), IVSFAB< T >::getIndex(), IVSFAB< T >::m_dataPtr, IVSFAB< T >::m_ivs, IntVectSet::numPts(), IVSIterator::ok(), and SpaceDim.
Referenced by IVSFAB< T >::linearOut(), and IVSFAB< T >::preAllocatable().
|
inline |
References Interval::begin(), CH_assert, Interval::end(), IVSFAB< T >::getIndex(), IVSFAB< T >::m_dataPtr, IVSFAB< T >::m_ivs, and SpaceDim.
Referenced by IVSFAB< T >::preAllocatable().
|
inlineprivate |
Remove all data from this IVSFAB. You must call { define} again in order to use it.
References BaseFab< T >::clear(), IVSFAB< T >::m_dataPtr, IVSFAB< T >::m_isDefined, IVSFAB< T >::m_ivmap, IVSFAB< T >::m_ivs, IVSFAB< T >::m_nComp, IVSFAB< T >::m_nIvs, and IntVectSet::makeEmpty().
Referenced by IVSFAB< T >::preAllocatable(), and IVSFAB< T >::~IVSFAB().
|
inline |
Tells whether this IVSFAB has been defined, either with a constructor or with { define}. It must be initialized in order to access its data.
References IVSFAB< T >::m_isDefined.
Referenced by IVSFAB< T >::copy(), IVSFAB< T >::dataPtr(), IVSFAB< T >::getIndex(), IVSFAB< T >::operator()(), IVSFAB< T >::preAllocatable(), and IVSFAB< T >::setVal().
|
inline |
Return the number of Ivs in this IVSFAB.
References IVSFAB< T >::m_nIvs.
Referenced by IVSFAB< T >::preAllocatable().
|
inline |
Return the number of data components of this IVSFAB.
References IVSFAB< T >::m_nComp.
Referenced by IVSFAB< T >::preAllocatable().
|
inline |
Return the irregular domain of the IVSFAB.
Referenced by IVSFAB< T >::preAllocatable().
|
inline |
Indexing operator. Return a reference to the contents of this IVFAB, at the specified Iv and data component. The first component is zero, the last is {nvar-1}. The returned object is a modifiable lvalue.
References CH_assert, IVSFAB< T >::getIndex(), IVSFAB< T >::isDefined(), IVSFAB< T >::m_dataPtr, and IVSFAB< T >::m_nComp.
Referenced by IVSFAB< T >::preAllocatable().
|
inline |
Return a const pointer to the internal data storage of this IVFAB. \
References CH_assert, IVSFAB< T >::isDefined(), IVSFAB< T >::m_dataPtr, IVSFAB< T >::m_nComp, and IVSFAB< T >::m_nIvs.
Referenced by IVSFAB< T >::preAllocatable().
|
inline |
Return a pointer to the internal data storage of this IVFAB.
References CH_assert, IVSFAB< T >::isDefined(), IVSFAB< T >::m_dataPtr, IVSFAB< T >::m_nComp, and IVSFAB< T >::m_nIvs.
|
inline |
Return a fake "lower left corner of the domain" for use with Fortran.
References IntVect::getVect(), and IVSFAB< T >::m_loVect.
Referenced by IVSFAB< T >::IVSFAB().
|
inline |
Return a fake "upper right corner of the domain" for use with Fortran.
References IntVect::getVect(), and IVSFAB< T >::m_hiVect.
Referenced by IVSFAB< T >::IVSFAB().
|
static |
Referenced by IVSFAB< T >::IVSFAB().
|
inline |
Define a null-constructed IVSFAB
References CH_assert, CH_SPACEDIM, BaseFab< T >::define(), IntVectSet::isEmpty(), IVSFAB< T >::m_dataPtr, IVSFAB< T >::m_hiVect, IVSFAB< T >::m_isDefined, IVSFAB< T >::m_ivmap, IVSFAB< T >::m_ivs, IVSFAB< T >::m_loVect, IVSFAB< T >::m_nComp, IVSFAB< T >::m_nIvs, IntVectSet::minBox(), IVSIterator::ok(), IVSIterator::reset(), IntVect::Unit, and IntVect::Zero.
Referenced by IVSFAB< T >::IVSFAB().
|
private |
Referenced by IVSFAB< T >::IVSFAB().
|
inlineprotected |
References CH_assert, IntVectSet::contains(), IVSFAB< T >::isDefined(), IVSFAB< T >::m_ivmap, IVSFAB< T >::m_ivs, IVSFAB< T >::m_nComp, and IVSFAB< T >::m_nIvs.
Referenced by IVSFAB< T >::IVSFAB(), IVSFAB< T >::linearIn(), IVSFAB< T >::linearOut(), IVSFAB< T >::operator()(), and IVSFAB< T >::size().
References IVSFAB< T >::m_ivs, IntVectSet::numPts(), Interval::size(), and SpaceDim.
|
inline |
References Interval::begin(), CH_assert, Interval::end(), IVSFAB< T >::getIndex(), IVSFAB< T >::m_dataPtr, IVSFAB< T >::m_ivs, and SpaceDim.
References IVSFAB< T >::m_ivs, IntVectSet::numPts(), Interval::size(), and SpaceDim.
|
inline |
References Interval::begin(), CH_assert, Interval::end(), IVSFAB< T >::getIndex(), IVSFAB< T >::m_dataPtr, IVSFAB< T >::m_ivs, and SpaceDim.
|
protected |
|
protected |
|
protected |
Referenced by IVSFAB< T >::define(), and IVSFAB< T >::loVect().
Referenced by IVSFAB< T >::define(), and IVSFAB< T >::hiVect().
Referenced by IVSFAB< T >::clear(), IVSFAB< T >::define(), and IVSFAB< T >::getIndex().
|
protected |
|
protected |
Referenced by IVSFAB< T >::clear(), IVSFAB< T >::define(), and IVSFAB< T >::isDefined().
|
staticprotected |