#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 | |
| 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 > &) | |
Default constructor. Constructs an uninitialized IVFAB. You must subsequently call { define} before using this IVFAB.
| IVSFAB< T >::IVSFAB | ( | const IntVectSet & | a_region, | |
| const int & | a_nvarin | |||
| ) | [inline] |
References IVSFAB< T >::define().
References IVSFAB< T >::clear().
| void IVSFAB< T >::setVal | ( | const T & | value | ) | [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.
| static int IVSFAB< T >::preAllocatable | ( | ) | [inline, static] |
This stuff required by LevelData in parallel:
References Interval::begin(), Interval::end(), IVSFAB< T >::getIndex(), IVSFAB< T >::m_dataPtr, IVSFAB< T >::m_ivs, IntVectSet::numPts(), and SpaceDim.
Referenced by IVSFAB< T >::linearOut().
| void IVSFAB< T >::linearIn | ( | void * | buf, | |
| const Box & | R, | |||
| const Interval & | comps | |||
| ) | [inline] |
References Interval::begin(), CH_assert, Interval::end(), IVSFAB< T >::getIndex(), IVSFAB< T >::m_dataPtr, IVSFAB< T >::m_ivs, and SpaceDim.
| void IVSFAB< T >::clear | ( | ) | [inline, private] |
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 >::~IVSFAB().
| bool IVSFAB< T >::isDefined | ( | ) | const [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()(), and IVSFAB< T >::setVal().
| int IVSFAB< T >::numIvs | ( | ) | const [inline] |
Return the number of Ivs in this IVSFAB.
References IVSFAB< T >::m_nIvs.
| int IVSFAB< T >::nComp | ( | ) | const [inline] |
Return the number of data components of this IVSFAB.
References IVSFAB< T >::m_nComp.
| const IntVectSet & IVSFAB< T >::getIVS | ( | ) | const [inline] |
Return the irregular domain of the IVSFAB.
References IVSFAB< T >::m_ivs.
| T & IVSFAB< T >::operator() | ( | const IntVect & | a_iv, | |
| const int & | varlocin | |||
| ) | [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.
| const T * IVSFAB< T >::dataPtr | ( | const int & | a_comp | ) | const [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.
| T * IVSFAB< T >::dataPtr | ( | const int & | a_comp | ) | [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.
| const int * IVSFAB< T >::loVect | ( | ) | const [inline] |
Return a fake "lower left corner of the domain" for use with Fortran.
References IntVect::getVect(), and IVSFAB< T >::m_loVect.
| const int * IVSFAB< T >::hiVect | ( | ) | const [inline] |
Return a fake "upper right corner of the domain" for use with Fortran.
References IntVect::getVect(), and IVSFAB< T >::m_hiVect.
| void IVSFAB< T >::setVerbose | ( | bool | a_verbose | ) | [inline, static] |
References IVSFAB< T >::s_verbose.
| void IVSFAB< T >::define | ( | const IntVectSet & | a_region, | |
| const int & | a_nvarin | |||
| ) | [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().
| void IVSFAB< T >::setDefaultValues | ( | ) | [private] |
| int IVSFAB< Real >::size | ( | const Box & | a_region, | |
| const Interval & | a_comps | |||
| ) | const [inline] |
References IVSFAB< T >::m_ivs, IntVectSet::numPts(), Interval::size(), and SpaceDim.
| void IVSFAB< Real >::linearIn | ( | void * | a_buf, | |
| const Box & | a_region, | |||
| const Interval & | a_comps | |||
| ) | [inline] |
References Interval::begin(), CH_assert, Interval::end(), IVSFAB< T >::getIndex(), IVSFAB< T >::m_dataPtr, IVSFAB< T >::m_ivs, and SpaceDim.
| int IVSFAB< int >::size | ( | const Box & | a_region, | |
| const Interval & | a_comps | |||
| ) | const [inline] |
References IVSFAB< T >::m_ivs, IntVectSet::numPts(), Interval::size(), and SpaceDim.
| void IVSFAB< int >::linearIn | ( | void * | a_buf, | |
| const Box & | a_region, | |||
| const Interval & | a_comps | |||
| ) | [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 >::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().
IntVectSet IVSFAB< T >::m_ivs [protected] |
bool IVSFAB< T >::m_isDefined [protected] |
Referenced by IVSFAB< T >::clear(), IVSFAB< T >::define(), and IVSFAB< T >::isDefined().
Referenced by IVSFAB< T >::setVerbose().
1.5.5