Chombo + EB  3.0
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Attributes | Private Member Functions | List of all members
MiniIFFAB< T > Class Template Reference

#include <MiniIFFAB.H>

Inheritance diagram for MiniIFFAB< T >:
Inheritance graph
[legend]

Public Member Functions

 MiniIFFAB ()
 
 MiniIFFAB (const Box &a_box, const EBGraph &a_ebgraph, const int &a_direction, const int &a_nvarin)
 
 ~MiniIFFAB ()
 
void define (const Box &a_box, const EBGraph &a_ebgraph, const int &a_direction, const int &a_nvarin)
 
long offset (const FaceIndex &a_vof, const int &a_ivar) const
 for AggStencil More...
 
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 MiniIFFAB< T > &a_src, const Interval &a_srcInterval)
 
void clear ()
 
 MiniIFFAB (const Box &a_region, int a_nVar)
 invalid but necessary for leveldata to compile More...
 
bool isDefined () const
 
int nComp () 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
 
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)
 
int numFaces () const
 
const Vector< FaceIndex > & getFaces () const
 

Static Public Member Functions

static int preAllocatable ()
 

Public Attributes

Box m_box
 
EBGraph m_ebgraph
 

Static Public Attributes

static bool s_verbose = false
 

Protected Attributes

T * m_data
 
Vector< FaceIndexm_faces
 
int m_nFaces
 
int m_nComp
 
int m_direction
 
bool m_isDefined
 

Private Member Functions

void setDefaultValues ()
 
void getFaceSubset (Vector< FaceIndex > &a_subFaces, const Box &a_subBox) const
 
void operator= (const MiniIFFAB< T > &)
 
 MiniIFFAB (const MiniIFFAB< T > &)
 

Detailed Description

template<class T>
class MiniIFFAB< T >

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

Constructor & Destructor Documentation

template<class T >
MiniIFFAB< T >::MiniIFFAB ( )
inline

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

template<class T >
MiniIFFAB< T >::MiniIFFAB ( const Box a_box,
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 >
MiniIFFAB< T >::~MiniIFFAB ( )
inline
template<class T>
MiniIFFAB< T >::MiniIFFAB ( const Box a_region,
int  a_nVar 
)
inline

invalid but necessary for leveldata to compile

template<class T>
MiniIFFAB< T >::MiniIFFAB ( const MiniIFFAB< T > &  )
inlineprivate

Member Function Documentation

template<class T >
void MiniIFFAB< T >::define ( const Box a_box,
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 CH_assert, Box::size(), and SpaceDim.

template<class T>
long MiniIFFAB< T >::offset ( const FaceIndex a_vof,
const int &  a_ivar 
) const
inline
template<class T>
void MiniIFFAB< T >::setVal ( const T &  value)
inline

Set a value at every data location.

References CH_assert.

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

Set a value at every data location.

References CH_assert.

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

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

template<class T>
bool MiniIFFAB< T >::isDefined ( ) const
inline

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

Referenced by MiniIFFAB< T >::copy().

template<class T>
int MiniIFFAB< T >::nComp ( ) const
inline

Return the number of data components of this MiniIFFAB.

template<class T >
T & MiniIFFAB< 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 CH_assert, and FaceIndex::direction().

template<class T >
const T & MiniIFFAB< T >::operator() ( const FaceIndex a_face,
const int &  varlocin 
) const
inline
template<class T >
T * MiniIFFAB< T >::dataPtr ( const int &  a_comp)
inline

References CH_assert.

Referenced by MiniIFFAB< Real >::offset().

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

References CH_assert, and MayDay::Error().

template<class T >
const T * MiniIFFAB< T >::dataPtr ( const int &  a_comp) const
inline

References CH_assert.

template<class T>
static int MiniIFFAB< T >::preAllocatable ( )
inlinestatic
template<class T >
int MiniIFFAB< T >::size ( const Box R,
const Interval comps 
) const
inline
template<class T >
void MiniIFFAB< T >::linearOut ( void *  buf,
const Box R,
const Interval comps 
) const
inline
template<class T >
void MiniIFFAB< T >::linearIn ( void *  buf,
const Box R,
const Interval comps 
)
inline
template<class T>
int MiniIFFAB< T >::numFaces ( ) const
inline
template<class T>
const Vector<FaceIndex>& MiniIFFAB< T >::getFaces ( ) const
inline
template<class T >
void MiniIFFAB< T >::setDefaultValues ( )
inlineprivate
template<class T >
void MiniIFFAB< T >::getFaceSubset ( Vector< FaceIndex > &  a_subFaces,
const Box a_subBox 
) const
inlineprivate
template<class T>
void MiniIFFAB< T >::operator= ( const MiniIFFAB< T > &  )
inlineprivate

Member Data Documentation

template<class T>
bool MiniIFFAB< T >::s_verbose = false
static
template<class T>
Box MiniIFFAB< T >::m_box

Referenced by MiniIFFAB< T >::copy().

template<class T>
EBGraph MiniIFFAB< T >::m_ebgraph
template<class T>
T* MiniIFFAB< T >::m_data
protected
template<class T>
Vector<FaceIndex> MiniIFFAB< T >::m_faces
protected
template<class T>
int MiniIFFAB< T >::m_nFaces
protected
template<class T>
int MiniIFFAB< T >::m_nComp
protected
template<class T>
int MiniIFFAB< T >::m_direction
protected
template<class T>
bool MiniIFFAB< T >::m_isDefined
protected

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