MiniIVFAB< T > Class Template Reference

#include <MiniIVFAB.H>

Inheritance diagram for MiniIVFAB< T >:

Inheritance graph
[legend]

List of all members.


Detailed Description

template<class T>
class MiniIVFAB< T >

MiniIVFAB is a templated data holder defined at the VoFs of an irregular domain.

Implemented as just a raw vector of vofs and data, more optimized for smaller memory footprint and faster linearIn/linearOut. will be more brutal for vof-by-vof indexing. bvs

Public Member Functions

 MiniIVFAB ()
 MiniIVFAB (const IntVectSet &a_region, const EBGraph &a_ebgraph, const int &a_nvarin)
 MiniIVFAB (const Interval &a_comps, BaseIVFAB< T > &a_original)
virtual ~MiniIVFAB ()
virtual void define (const IntVectSet &a_region, const EBGraph &a_ebgraph, const int &a_nvarin)
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)
virtual void clear ()
const Vector< VolIndex > & getVoFs () const
 MiniIVFAB (const Box &a_region, int a_nVar)
 invalid but necessary for leveldata to compile
virtual T * getIndex (const VolIndex &a_vof, const int &a_comp) const
 get index into vector

Protected Attributes

Vector< VolIndexm_vofs

Private Member Functions

virtual void setDefaultValues ()


Constructor & Destructor Documentation

template<class T>
MiniIVFAB< T >::MiniIVFAB (  )  [inline]

Default constructor. Constructs an uninitialized IVFAB. You must subsequently call { define} before using this IVFAB.

References MiniIVFAB< T >::setDefaultValues().

template<class T>
MiniIVFAB< T >::MiniIVFAB ( const IntVectSet a_region,
const EBGraph a_ebgraph,
const int &  a_nvarin 
) [inline]

Defining constructor. Specifies the irregular domain and the number of data components per VoF. The irregular domain must lie completely within the EBGraph. The contents are uninitialized. Calls full define function.

References MiniIVFAB< T >::define(), and MiniIVFAB< T >::setDefaultValues().

template<class T>
MiniIVFAB< T >::MiniIVFAB ( const Interval a_comps,
BaseIVFAB< T > &  a_original 
)

Constructs an 'aliased' BaseIVFAB of the requested interval of the argument BaseIVFAB. This BaseIVFAB does not allocate any memory, but sets its data pointer into the memory pointed to by the argument BaseIVFAB. It is the users responsiblity to ensure this aliased BaseIVFAB is not used after the original BaseIVFAB has deleted its data ptr (resize, define(..) called, or destruction, etc.).

This aliased BaseIVFAB will also generate side effects (modifying the values of data in one will modify the other's data).

This aliased BaseIVFAB will have a_comps.size() components, starting at zero.

template<class T>
MiniIVFAB< T >::~MiniIVFAB (  )  [inline, virtual]

template<class T>
MiniIVFAB< T >::MiniIVFAB ( const Box a_region,
int  a_nVar 
) [inline]

invalid but necessary for leveldata to compile


Member Function Documentation

template<class T>
void MiniIVFAB< T >::define ( const IntVectSet a_region,
const EBGraph a_ebgraph,
const int &  a_nvarin 
) [inline, virtual]

Full define function. Specifies the irregular domain and the number of data components per VoF. 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.

Reimplemented from BaseIVFAB< T >.

References CH_assert, MiniIVFAB< T >::clear(), VoFIterator::getVector(), IntVectSet::isEmpty(), BaseIVFAB< T >::m_data, BaseIVFAB< T >::m_ebgraph, BaseIVFAB< T >::m_isDefined, BaseIVFAB< T >::m_ivs, BaseIVFAB< T >::m_nComp, BaseIVFAB< T >::m_nVoFs, MiniIVFAB< T >::m_vofs, EBGraph::numVoFs(), IVSIterator::ok(), and IVSIterator::reset().

Referenced by MiniIVFAB< T >::MiniIVFAB().

template<class T>
int MiniIVFAB< T >::size ( const Box R,
const Interval comps 
) const [inline]

template<class T>
void MiniIVFAB< T >::linearOut ( void *  buf,
const Box R,
const Interval comps 
) const [inline]

template<class T>
void MiniIVFAB< T >::linearIn ( void *  buf,
const Box R,
const Interval comps 
) [inline]

template<class T>
void MiniIVFAB< T >::clear (  )  [inline, virtual]

Remove all data from this BaseIVFAB. You must call { define} again in order to use it.

Reimplemented from BaseIVFAB< T >.

References BaseIVFAB< T >::clear(), MiniIVFAB< T >::m_vofs, and Vector< T >::resize().

Referenced by MiniIVFAB< T >::define(), and MiniIVFAB< T >::~MiniIVFAB().

template<class T>
const Vector< VolIndex > & MiniIVFAB< T >::getVoFs (  )  const [inline]

template<class T>
T * MiniIVFAB< T >::getIndex ( const VolIndex a_vof,
const int &  a_comp 
) const [inline, virtual]

template<class T>
void MiniIVFAB< T >::setDefaultValues (  )  [inline, private, virtual]


Member Data Documentation

template<class T>
Vector<VolIndex> MiniIVFAB< T >::m_vofs [protected]


The documentation for this class was generated from the following files:

Generated on Wed Aug 16 04:03:50 2017 for Chombo + EB by  doxygen 1.5.5