BaseIFFAB< T > Class Template Reference

#include <BaseIFFAB.H>

Inheritance diagram for BaseIFFAB< T >:

Inheritance 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
long offset (const FaceIndex &a_vof, const int &a_ivar) const
 for AggStencil
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 void setSurroundingNodeSemantic (bool a_useSurr)

Static Public Attributes

static bool s_verbose = false

Protected Member Functions

bool useThisFace (const Box &a_toBox, const FaceIndex &a_face) const
void getBoxAndIVS (Box &a_intBox, IntVectSet &a_ivsIntersect, const Box &a_toBox) const
int getLocalVecIndex (const FaceIndex &a_face) const

Protected Attributes

Vector< 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
static bool s_doSurroundingNodeSemantic = false

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(), CH_assert, 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 CH_assert, 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>
long BaseIFFAB< T >::offset ( const FaceIndex a_vof,
const int &  a_ivar 
) 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>
bool BaseIFFAB< T >::useThisFace ( const Box a_toBox,
const FaceIndex a_face 
) const [inline, protected]

template<class T>
void BaseIFFAB< T >::getBoxAndIVS ( Box a_intBox,
IntVectSet a_ivsIntersect,
const Box a_toBox 
) const [inline, protected]

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

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

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>
bool BaseIFFAB< T >::s_doSurroundingNodeSemantic = false [inline, static, protected]

template<class T>
Vector<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 Fri Apr 5 04:24:54 2019 for Chombo + EB by  doxygen 1.5.5