MiniIFFAB< T > Class Template Reference

#include <MiniIFFAB.H>

Inheritance diagram for MiniIFFAB< T >:

Inheritance graph
[legend]

List of all members.


Detailed Description

template<class T>
class MiniIFFAB< T >

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

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
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
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 > &)

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.

References MiniIFFAB< T >::setDefaultValues().

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.

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

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 > &   )  [inline, private]


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, MiniIFFAB< T >::clear(), EBGraph::getMultiValuedFaces(), MiniIFFAB< T >::m_box, MiniIFFAB< T >::m_data, MiniIFFAB< T >::m_direction, MiniIFFAB< T >::m_ebgraph, MiniIFFAB< T >::m_faces, MiniIFFAB< T >::m_isDefined, MiniIFFAB< T >::m_nComp, MiniIFFAB< T >::m_nFaces, Vector< T >::size(), and SpaceDim.

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

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]

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

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.

References MiniIFFAB< T >::m_data, MiniIFFAB< T >::m_faces, Vector< T >::resize(), and MiniIFFAB< T >::setDefaultValues().

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

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(), MiniIFFAB< T >::linearIn(), MiniIFFAB< T >::linearOut(), MiniIFFAB< T >::operator()(), MiniIFFAB< T >::setVal(), and MiniIFFAB< T >::size().

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, MiniIFFAB< T >::dataPtr(), FaceIndex::direction(), MiniIFFAB< T >::getIndex(), MiniIFFAB< T >::isDefined(), and MiniIFFAB< T >::m_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]

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

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

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

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 (  )  [inline, private]

template<class T>
void MiniIFFAB< T >::getFaceSubset ( Vector< FaceIndex > &  a_subFaces,
const Box a_subBox 
) const [inline, private]

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


Member Data Documentation

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

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

template<class T>
Box MiniIFFAB< T >::m_box

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:

Generated on Sun Apr 23 03:27:28 2017 for Chombo + EB + MF by  doxygen 1.5.5