BaseIVFAB< T > Class Template Reference

#include <BaseIVFAB.H>

Inheritance diagram for BaseIVFAB< T >:

Inheritance graph
[legend]

List of all members.


Detailed Description

template<class T>
class BaseIVFAB< T >

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

Public Member Functions

 BaseIVFAB ()
 BaseIVFAB (const IntVectSet &a_region, const EBGraph &a_ebgraph, const int &a_nvarin)
int numDataTypes () const
 for AggStencil
int dataType (const BaseIndex &a_baseInd) const
 for AggStencil
T * dataPtr (int a_dataType, int a_ivar)
const T * dataPtr (int a_dataType, int a_ivar) const
 BaseIVFAB (const Interval &a_comps, BaseIVFAB< T > &a_original)
virtual ~BaseIVFAB ()
virtual void define (const IntVectSet &a_region, const EBGraph &a_ebgraph, const int &a_nvarin)
void setVal (const T &value)
void setVal (int ivar, const T &value)
void setVal (const T &a_value, const Box &a_box, int a_nstart, int a_numcomp)
void copy (const Box &a_fromBox, const Interval &a_destInterval, const Box &a_toBox, const BaseIVFAB< 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)
virtual void clear ()
bool isDefined () const
int numVoFs () const
int nComp () const
const IntVectSetgetIVS () const
const EBGraphgetEBGraph () const
T & operator() (const VolIndex &a_vof, const int &varlocin)
const T & operator() (const VolIndex &a_vof, const int &varlocin) const
 BaseIVFAB (const Box &a_region, int a_nVar)
 invalid but necessary for leveldata to compile
T * dataPtr (const int &a_comp)
const T * dataPtr (const int &a_comp) const
virtual T * getIndex (const VolIndex &a_vof, const int &a_comp) const
 get index into vector
long offset (const BaseIndex &a_vof, const int &a_ivar) const
 for AggStencil

Static Public Member Functions

static int preAllocatable ()
static void setVerbose (bool a_verbose)
static void setVerboseDebug (bool a_verboseDebug)

Static Public Attributes

static bool s_verboseDebug = false

Protected Member Functions

virtual void setDefaultValues ()

Protected Attributes

Vector< T > m_data
int m_nComp
int m_nVoFs
EBGraph m_ebgraph
BaseFab< T * > m_fab
IntVectSet m_ivs
bool m_isDefined

Static Protected Attributes

static bool s_verbose = false

Private Member Functions

void operator= (const BaseIVFAB< T > &a_input)
 BaseIVFAB (const BaseIVFAB< T > &a_input)

Constructor & Destructor Documentation

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

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

References BaseIVFAB< T >::setDefaultValues().

template<class T>
BaseIVFAB< T >::BaseIVFAB ( 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 BaseIVFAB< T >::define(), and BaseIVFAB< T >::setDefaultValues().

template<class T>
BaseIVFAB< T >::BaseIVFAB ( 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>
BaseIVFAB< T >::~BaseIVFAB (  )  [inline, virtual]

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

invalid but necessary for leveldata to compile

template<class T>
BaseIVFAB< T >::BaseIVFAB ( const BaseIVFAB< T > &  a_input  )  [inline, private]


Member Function Documentation

template<class T>
int BaseIVFAB< T >::numDataTypes (  )  const [inline]

template<class T>
int BaseIVFAB< T >::dataType ( const BaseIndex a_baseInd  )  const [inline]

template<class T>
T* BaseIVFAB< T >::dataPtr ( int  a_dataType,
int  a_ivar 
) [inline]

template<class T>
const T* BaseIVFAB< T >::dataPtr ( int  a_dataType,
int  a_ivar 
) const [inline]

template<class T>
void BaseIVFAB< 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.

References CH_assert, BaseIVFAB< T >::clear(), IntVectSet::isEmpty(), BaseIVFAB< T >::m_data, BaseIVFAB< T >::m_ebgraph, BaseIVFAB< T >::m_fab, BaseIVFAB< T >::m_isDefined, BaseIVFAB< T >::m_ivs, BaseIVFAB< T >::m_nComp, BaseIVFAB< T >::m_nVoFs, IntVectSet::minBox(), BaseIVFAB< T >::numVoFs(), EBGraph::numVoFs(), IVSIterator::ok(), IVSIterator::reset(), BaseFab< T >::resize(), and BaseFab< T >::setVal().

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

template<class T>
void BaseIVFAB< T >::setVal ( const T &  value  )  [inline]

Set a value at every data location.

References BaseIVFAB< T >::m_data, BaseIVFAB< T >::m_nComp, and BaseIVFAB< T >::m_nVoFs.

template<class T>
void BaseIVFAB< T >::setVal ( int  ivar,
const T &  value 
) [inline]

template<class T>
void BaseIVFAB< T >::setVal ( const T &  a_value,
const Box a_box,
int  a_nstart,
int  a_numcomp 
) [inline]

Set a value at every data location within a_box

References CH_assert, BaseIVFAB< T >::isDefined(), IntVectSet::isEmpty(), BaseIVFAB< T >::m_ebgraph, and BaseIVFAB< T >::m_ivs.

template<class T>
void BaseIVFAB< T >::copy ( const Box a_fromBox,
const Interval a_destInterval,
const Box a_toBox,
const BaseIVFAB< T > &  a_src,
const Interval a_srcInterval 
) [inline]

template<class T>
static int BaseIVFAB< T >::preAllocatable (  )  [inline, static]

This stuff required by LevelData in parallel:

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

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

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

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

template<class T>
bool BaseIVFAB< T >::isDefined (  )  const [inline]

Tells whether this BaseIVFAB has been defined, either with a constructor or with { define}. It must be initialized in order to access its data.

References BaseIVFAB< T >::m_isDefined.

Referenced by BaseIVFAB< T >::copy(), BaseIVFAB< T >::getIndex(), BaseIVFAB< T >::linearIn(), BaseIVFAB< T >::linearOut(), BaseIVFAB< T >::operator()(), BaseIVFAB< T >::setVal(), and BaseIVFAB< T >::size().

template<class T>
int BaseIVFAB< T >::numVoFs (  )  const [inline]

Return the number of VoFs in this BaseIVFAB.

References BaseIVFAB< T >::m_nVoFs.

Referenced by BaseIVFAB< T >::define().

template<class T>
int BaseIVFAB< T >::nComp (  )  const [inline]

Return the number of data components of this BaseIVFAB.

References BaseIVFAB< T >::m_nComp.

template<class T>
const IntVectSet & BaseIVFAB< T >::getIVS (  )  const [inline]

Return the irregular domain of the BaseIVFAB.

References BaseIVFAB< T >::m_ivs.

template<class T>
const EBGraph & BaseIVFAB< T >::getEBGraph (  )  const [inline]

template<class T>
T & BaseIVFAB< T >::operator() ( const VolIndex a_vof,
const int &  varlocin 
) [inline]

Indexing operator. Return a reference to the contents of this IVFAB, at the specified VoF and data component. The first component is zero, the last is {nvar-1}. The returned object is a modifiable lvalue.

References CH_assert, BaseIVFAB< T >::dataPtr(), BaseIVFAB< T >::getIndex(), BaseIVFAB< T >::isDefined(), and BaseIVFAB< T >::m_nComp.

template<class T>
const T & BaseIVFAB< T >::operator() ( const VolIndex a_vof,
const int &  varlocin 
) const [inline]

template<class T>
void BaseIVFAB< T >::setVerbose ( bool  a_verbose  )  [inline, static]

template<class T>
void BaseIVFAB< T >::setVerboseDebug ( bool  a_verboseDebug  )  [inline, static]

template<class T>
T * BaseIVFAB< T >::dataPtr ( const int &  a_comp  )  [inline]

template<class T>
const T * BaseIVFAB< T >::dataPtr ( const int &  a_comp  )  const [inline]

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

template<class T>
long BaseIVFAB< T >::offset ( const BaseIndex a_vof,
const int &  a_ivar 
) const [inline]

template<class T>
void BaseIVFAB< T >::setDefaultValues (  )  [inline, protected, virtual]

template<class T>
void BaseIVFAB< T >::operator= ( const BaseIVFAB< T > &  a_input  )  [inline, private]


Member Data Documentation

template<class T>
bool BaseIVFAB< T >::s_verboseDebug = false [inline, static]

template<class T>
Vector<T> BaseIVFAB< T >::m_data [protected]

template<class T>
int BaseIVFAB< T >::m_nComp [protected]

template<class T>
int BaseIVFAB< T >::m_nVoFs [protected]

template<class T>
EBGraph BaseIVFAB< T >::m_ebgraph [protected]

template<class T>
BaseFab<T*> BaseIVFAB< T >::m_fab [protected]

template<class T>
IntVectSet BaseIVFAB< T >::m_ivs [protected]

template<class T>
bool BaseIVFAB< T >::m_isDefined [protected]

template<class T>
bool BaseIVFAB< T >::s_verbose = false [inline, static, protected]


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

Generated on Fri Apr 5 04:24:55 2019 for Chombo + EB by  doxygen 1.5.5