BaseIFFAB< T > Class Template Reference

#include <BaseIFFAB.H>

Inheritance diagram for BaseIFFAB< T >:

Inheritance graph
[legend]
Collaboration diagram for BaseIFFAB< T >:

Collaboration graph
[legend]

List of all members.


Detailed Description

template<class T>
class BaseIFFAB< T >

BaseIFFAB is a templated data holder defined over the Faces of an irregular domain.

Public Member Functions

 BaseIFFAB ()
 BaseIFFAB (const IntVectSet &a_region, const EBGraph &a_ebgraph, const int &a_direction, const int &a_nvarin)
 ~BaseIFFAB ()
void define (const IntVectSet &a_region, const EBGraph &a_ebgraph, const int &a_direction, const int &a_nvarin)
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 BaseIFFAB< T > &a_src, const Interval &a_srcInterval)
void clear ()
 BaseIFFAB (const Box &a_region, int a_nVar)
 invalid but necessary for leveldata to compile
bool isDefined () const
int numFaces () const
int nComp () const
int direction () const
const IntVectSetgetIVS () 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
const EBGraphgetEBGraph () 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)

Static Public Member Functions

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

Static Public Attributes

static bool s_verbose = false

Protected Member Functions

int getLocalVecIndex (const FaceIndex &a_face) const

Protected Attributes

T * m_data
int m_truesize
int m_nComp
int m_nFaces
int m_direction
BaseFab< T * > m_fab
IntVectSet m_ivs
EBGraph m_ebgraph
bool m_isDefined

Static Protected Attributes

static Arenas_Arena = NULL

Private Member Functions

void setDefaultValues ()
void operator= (const BaseIFFAB< T > &)
 BaseIFFAB (const BaseIFFAB< T > &)

Constructor & Destructor Documentation

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

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

References BaseIFFAB< T >::setDefaultValues().

template<class T>
BaseIFFAB< T >::BaseIFFAB ( const IntVectSet a_region,
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 BaseIFFAB< T >::define(), and BaseIFFAB< T >::setDefaultValues().

template<class T>
BaseIFFAB< T >::~BaseIFFAB (  )  [inline]

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

invalid but necessary for leveldata to compile

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


Member Function Documentation

template<class T>
void BaseIFFAB< T >::define ( const IntVectSet a_region,
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 Box::bigEnd(), BaseIFFAB< T >::clear(), ProblemDomain::domainBox(), EBGraph::getDomain(), IntVectSet::isEmpty(), ProblemDomain::isPeriodic(), BaseIFFAB< T >::m_data, BaseIFFAB< T >::m_direction, BaseIFFAB< T >::m_ebgraph, BaseIFFAB< T >::m_fab, BaseIFFAB< T >::m_isDefined, BaseIFFAB< T >::m_ivs, BaseIFFAB< T >::m_nComp, BaseIFFAB< T >::m_nFaces, BaseIFFAB< T >::m_truesize, IntVectSet::minBox(), EBGraph::numVoFs(), BaseFab< T >::resize(), BaseFab< T >::setVal(), Box::smallEnd(), SpaceDim, and surroundingNodes().

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

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

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

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

template<class T>
void BaseIFFAB< T >::clear (  )  [inline]

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

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

References BaseIFFAB< T >::m_isDefined.

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

template<class T>
int BaseIFFAB< T >::numFaces (  )  const [inline]

Return the number of face in this BaseIFFAB.

References BaseIFFAB< T >::m_nFaces.

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

Return the number of data components of this BaseIFFAB.

References BaseIFFAB< T >::m_nComp.

template<class T>
int BaseIFFAB< T >::direction (  )  const [inline]

Return the direction of the faces of this BaseIFFAB.

References BaseIFFAB< T >::m_direction.

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

Return the irregular domain of the BaseIFFAB.

References BaseIFFAB< T >::m_ivs.

template<class T>
T & BaseIFFAB< 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 IntVectSet::contains(), BaseIFFAB< T >::dataPtr(), FaceIndex::direction(), BaseIFFAB< T >::getIndex(), FaceIndex::gridIndex(), Side::Hi, BaseIFFAB< T >::isDefined(), Side::Lo, BaseIFFAB< T >::m_direction, BaseIFFAB< T >::m_ivs, and BaseIFFAB< T >::m_nComp.

template<class T>
const T & BaseIFFAB< T >::operator() ( const FaceIndex a_face,
const int &  varlocin 
) const [inline]

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

template<class T>
T * BaseIFFAB< T >::getIndex ( const FaceIndex a_face,
const int &  a_comp 
) const [inline]

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

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

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

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

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

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

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

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

template<class T>
int BaseIFFAB< T >::getLocalVecIndex ( const FaceIndex a_face  )  const [inline, protected]

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


Member Data Documentation

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

template<class T>
Arena * BaseIFFAB< T >::s_Arena = NULL [inline, static, protected]

template<class T>
T* BaseIFFAB< T >::m_data [protected]

template<class T>
int BaseIFFAB< T >::m_truesize [protected]

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

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

template<class T>
int BaseIFFAB< T >::m_nFaces [protected]

template<class T>
int BaseIFFAB< T >::m_direction [protected]

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

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

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

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


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

Generated on Tue Apr 14 14:22:53 2009 for Chombo + EB by  doxygen 1.5.5