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

#include <BaseIFFAB.H>

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

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

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

◆ BaseIFFAB() [1/4]

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

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

◆ BaseIFFAB() [2/4]

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.

◆ ~BaseIFFAB()

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

◆ BaseIFFAB() [3/4]

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

invalid but necessary for leveldata to compile

◆ BaseIFFAB() [4/4]

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

Member Function Documentation

◆ define()

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.

◆ setVal() [1/2]

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

Set a value at every data location.

◆ setVal() [2/2]

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

Set a value at every data location.

◆ copy()

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

◆ clear()

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

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

◆ isDefined()

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.

Referenced by BaseIFFAB< FaceStencil >::BaseIFFAB(), and BaseIFFAB< FaceStencil >::copy().

◆ numFaces()

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

Return the number of face in this BaseIFFAB.

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

◆ nComp()

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

Return the number of data components of this BaseIFFAB.

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

◆ direction()

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

Return the direction of the faces of this BaseIFFAB.

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

◆ getIVS()

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

Return the irregular domain of the BaseIFFAB.

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

◆ operator()() [1/2]

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.

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

◆ operator()() [2/2]

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

◆ dataPtr() [1/2]

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

◆ getIndex()

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

◆ offset()

template<class T>
long BaseIFFAB< T >::offset ( const FaceIndex a_vof,
const int &  a_ivar 
) const
inline

◆ dataPtr() [2/2]

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

◆ getEBGraph()

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

◆ preAllocatable()

template<class T>
static int BaseIFFAB< T >::preAllocatable ( )
inlinestatic

◆ size()

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

◆ linearOut()

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

◆ linearIn()

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

◆ setVerbose()

template<class T >
void BaseIFFAB< T >::setVerbose ( bool  a_verbose)
inlinestatic

◆ setDefaultValues()

template<class T >
void BaseIFFAB< T >::setDefaultValues ( )
inlineprivate

◆ useThisFace()

template<class T >
bool BaseIFFAB< T >::useThisFace ( const Box a_toBox,
const FaceIndex a_face 
) const
protected

◆ getBoxAndIVS()

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

◆ getLocalVecIndex()

template<class T >
int BaseIFFAB< T >::getLocalVecIndex ( const FaceIndex a_face) const
inlineprotected

◆ setSurroundingNodeSemantic()

template<class T >
void BaseIFFAB< T >::setSurroundingNodeSemantic ( bool  a_useSurr)
static

◆ operator=()

template<class T>
void BaseIFFAB< T >::operator= ( const BaseIFFAB< T > &  )
inlineprivate

Member Data Documentation

◆ s_verbose

template<class T>
bool BaseIFFAB< T >::s_verbose = false
static

◆ s_Arena

template<class T>
Arena * BaseIFFAB< T >::s_Arena = NULL
staticprotected

◆ s_doSurroundingNodeSemantic

template<class T>
bool BaseIFFAB< T >::s_doSurroundingNodeSemantic = false
staticprotected

◆ m_data

template<class T>
Vector<T> BaseIFFAB< T >::m_data
protected

◆ m_truesize

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

◆ m_nComp

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

◆ m_nFaces

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

◆ m_direction

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

◆ m_fab

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

◆ m_ivs

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

◆ m_ebgraph

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

◆ m_isDefined

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

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