Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

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.

Public Methods

 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 copy (const Box &a_intBox, const Interval &a_destInterval, const Box &a_toBox, const BaseIFFAB< T > &a_src, const Interval &a_srcInterval)
void clear ()
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
const T * dataPtr (const int &a_comp) const
T * dataPtr (const int &a_comp)
const int * loVect () const
const int * hiVect () 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 Methods

int preAllocatable ()

Protected Methods

int getLocalVecIndex (const FaceIndex &a_face) const
int getIndex (const FaceIndex &a_face, const int &a_comp) const

Protected Attributes

T * m_dataPtr
int m_nComp
int m_nFaces
int m_direction
IntVect m_loVect
IntVect m_hiVect
BaseFab< Vector< int > > m_ivmap
IntVectSet m_ivs
EBGraph m_ebgraph
bool m_isDefined

Private Methods

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

Detailed Description

template<class T>
class BaseIFFAB< T >

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


Constructor & Destructor Documentation

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

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

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.

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

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


Member Function Documentation

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

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

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]
 

define over surrounding nodes of invectset (ivs is cell-centered).

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

Return a pointer to the internal data storage of this IFFAB.

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

Return a const pointer to the internal data storage of this IFFAB. \

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.

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

Return the direction of the faces of this BaseIFFAB.

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

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

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

Return the irregular domain of the BaseIFFAB.

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

template<class T>
const int * BaseIFFAB< T >::hiVect   const [inline]
 

Return a fake "upper right corner of the domain" for use with Fortran.

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

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

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

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

template<class T>
const int * BaseIFFAB< T >::loVect   const [inline]
 

Return a fake "lower left corner of the domain" for use with Fortran.

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

Return the number of data components of this BaseIFFAB.

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

Return the number of face in this BaseIFFAB.

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

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.

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

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

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

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

Set a value at every data location.

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


Member Data Documentation

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

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

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

template<class T>
IntVect BaseIFFAB< T >::m_hiVect [protected]
 

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

template<class T>
BaseFab<Vector<int> > BaseIFFAB< T >::m_ivmap [protected]
 

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

template<class T>
IntVect BaseIFFAB< T >::m_loVect [protected]
 

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

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


The documentation for this class was generated from the following files:
Generated on Wed Apr 16 14:35:00 2003 for EBChombo by doxygen1.2.16