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

LevelData< T > Class Template Reference

Data over a disjoint union of rectangles. More...

#include <LevelData.H>

Inheritance diagram for LevelData< T >:

Inheritance graph
[legend]
Collaboration diagram for LevelData< T >:

Collaboration graph
[legend]
List of all members.

Public Methods

 LevelData ()
 LevelData (const DisjointBoxLayout &dp, int comps, const IntVect &ghost=IntVect::TheZeroVector(), const DataFactory< T > &a_factory=DefaultDataFactory< T >())
virtual ~LevelData ()
virtual void define (const DisjointBoxLayout &dp, int comps, const IntVect &ghost=IntVect::TheZeroVector(), const DataFactory< T > &a_factory=DefaultDataFactory< T >())
virtual void define (const LevelData< T > &da, const DataFactory< T > &a_factory=DefaultDataFactory< T >())
virtual void define (const LevelData< T > &da, const Interval &comps, const DataFactory< T > &a_factory=DefaultDataFactory< T >())
virtual void copyTo (const Interval &srcComps, BoxLayoutData< T > &dest, const Interval &destComps) const
virtual void copyTo (const Interval &srcComps, BoxLayoutData< T > &dest, const Interval &destComps, const Copier &copier) const
virtual void copyTo (const Interval &srcComps, LevelData< T > &dest, const Interval &destComps) const
virtual void copyTo (const Interval &srcComps, LevelData< T > &dest, const Interval &destComps, const Copier &copier) const
virtual void exchange (const Interval &comps)
virtual void exchange (const Interval &comps, const Copier &copier)
const IntVect & ghostVect () const
virtual void define (const BoxLayout &dp, int comps, const DataFactory< T > &factory)
virtual void define (const BoxLayoutData< T > &da, const DataFactory< T > &factory=DefaultDataFactory< T >())
virtual void define (const BoxLayoutData< T > &da, const Interval &comps, const DataFactory< T > &factory=DefaultDataFactory< T >())
virtual void define (const BoxLayout &deadFunction)
 overridden and throws an error.

const DisjointBoxLayout & getBoxes () const
const DisjointBoxLayout & disjointBoxLayout () const

Protected Methods

void makeItSo (const Interval &a_srcComps, const LevelData< T > &a_src, BoxLayoutData< T > &a_dest, const Interval &a_destComps, const Copier &a_copier) const
void completePendingSends () const
void allocateBuffers (const LevelData< T > &a_src, const Interval &a_srcComps, const BoxLayoutData< T > &a_dest, const Interval &a_destComps, const Copier &a_copier) const
void writeSendDataFromMeIntoBuffers (const LevelData< T > &a_src, const Interval &a_srcComps) const
void postSendsFromMe () const
void postReceivesToMe () const
void unpackReceivesToMe (BoxLayoutData< T > &a_dest, const Interval &a_destComps) const

Protected Attributes

DisjointBoxLayout m_disjointBoxLayout
IntVect m_ghost
void * m_sendbuffer
size_t m_sendcapacity
void * m_recbuffer
size_t m_reccapacity

Detailed Description

template<class T>
class LevelData< T >

Data over a disjoint union of rectangles.

LevelData is-a BoxLayoutData. It is built from a DisjointBoxLayout instead though, thus making the data in a DisjointBoxLayout uniquely defined for all spatial indices defined by the underlying DisjointBoxLayout. It carries within it an inherent concept of ghost cells (which the user can choose to be empty).

Since LevelData is-a BoxLayoutData, all the methods required of the template class T for BoxLayoutData are also required for LevelData. LevelData does not have any extra requirements.


Constructor & Destructor Documentation

template<class T>
LevelData< T >::LevelData (    )  [inline]
 

template<class T>
LevelData< T >::LevelData (  const DisjointBoxLayout &    dp,
int    comps,
const IntVect &    ghost = IntVect::TheZeroVector(),
const DataFactory< T > &    a_factory = DefaultDataFactory< T >()
)  [inline]
 

template<class T>
LevelData< T >::~LevelData (    )  [inline, virtual]
 


Member Function Documentation

template<class T>
void LevelData< T >::allocateBuffers (  const LevelData< T > &    a_src,
const Interval &    a_srcComps,
const BoxLayoutData< T > &    a_dest,
const Interval &    a_destComps,
const Copier &    a_copier
)  const [inline, protected]
 

template<class T>
void LevelData< T >::completePendingSends (    )  const [inline, protected]
 

template<class T>
void LevelData< T >::copyTo (  const Interval &    srcComps,
LevelData< T > &    dest,
const Interval &    destComps,
const Copier &    copier
)  const [inline, virtual]
 

template<class T>
void LevelData< T >::copyTo (  const Interval &    srcComps,
LevelData< T > &    dest,
const Interval &    destComps
)  const [inline, virtual]
 

same as copyTo that takes a BoxLayoutData, except that it fills the ghost cells of 'dest' with data from 'this' also.

template<class T>
void LevelData< T >::copyTo (  const Interval &    srcComps,
BoxLayoutData< T > &    dest,
const Interval &    destComps,
const Copier &    copier
)  const [inline, virtual]
 

template<class T>
void LevelData< T >::copyTo (  const Interval &    srcComps,
BoxLayoutData< T > &    dest,
const Interval &    destComps
)  const [inline, virtual]
 

template<class T>
void LevelData< T >::define (  const BoxLayout &    deadFunction )  [inline, virtual]
 

overridden and throws an error.

Reimplemented from BoxLayoutData< T >.

template<class T>
void LevelData< T >::define (  const BoxLayoutData< T > &    da,
const Interval &    comps,
const DataFactory< T > &    factory = DefaultDataFactory< T >()
)  [inline, virtual]
 

Define this BoxLayoutData to be the subset of the data in da defined by the Interval comps.

Reimplemented from BoxLayoutData< T >.

template<class T>
void LevelData< T >::define (  const BoxLayoutData< T > &    da,
const DataFactory< T > &    factory = DefaultDataFactory< T >()
)  [inline, virtual]
 

Reimplemented from BoxLayoutData< T >.

template<class T>
void LevelData< T >::define (  const BoxLayout &    dp,
int    comps,
const DataFactory< T > &    factory
)  [inline, virtual]
 

Reimplemented from BoxLayoutData< T >.

template<class T>
void LevelData< T >::define (  const LevelData< T > &    da,
const Interval &    comps,
const DataFactory< T > &    a_factory = DefaultDataFactory< T >()
)  [inline, virtual]
 

Copy definer. 'this' LevelData thrown away and da's LevelData copied. This LevelData is now defined for the range [0, comps.size()] and filled with the data in da from [comps.begin(), comps.end()]

template<class T>
void LevelData< T >::define (  const LevelData< T > &    da,
const DataFactory< T > &    a_factory = DefaultDataFactory< T >()
)  [inline, virtual]
 

copy definer. this LevelData thrown away and da's LevelData copied

template<class T>
void LevelData< T >::define (  const DisjointBoxLayout &    dp,
int    comps,
const IntVect &    ghost = IntVect::TheZeroVector(),
const DataFactory< T > &    a_factory = DefaultDataFactory< T >()
)  [inline, virtual]
 

template<class T>
const DisjointBoxLayout& LevelData< T >::disjointBoxLayout (    )  const [inline]
 

template<class T>
void LevelData< T >::exchange (  const Interval &    comps,
const Copier &    copier
)  [inline, virtual]
 

template<class T>
void LevelData< T >::exchange (  const Interval &    comps )  [inline, virtual]
 

template<class T>
const DisjointBoxLayout& LevelData< T >::getBoxes (    )  const [inline]
 

template<class T>
const IntVect& LevelData< T >::ghostVect (    )  const [inline]
 

template<class T>
void LevelData< T >::makeItSo (  const Interval &    a_srcComps,
const LevelData< T > &    a_src,
BoxLayoutData< T > &    a_dest,
const Interval &    a_destComps,
const Copier &    a_copier
)  const [inline, protected]
 

template<class T>
void LevelData< T >::postReceivesToMe (    )  const [inline, protected]
 

template<class T>
void LevelData< T >::postSendsFromMe (    )  const [inline, protected]
 

template<class T>
void LevelData< T >::unpackReceivesToMe (  BoxLayoutData< T > &    a_dest,
const Interval &    a_destComps
)  const [inline, protected]
 

template<class T>
void LevelData< T >::writeSendDataFromMeIntoBuffers (  const LevelData< T > &    a_src,
const Interval &    a_srcComps
)  const [inline, protected]
 


Member Data Documentation

template<class T>
DisjointBoxLayout LevelData< T >::m_disjointBoxLayout [protected]
 

template<class T>
IntVect LevelData< T >::m_ghost [protected]
 

template<class T>
void* LevelData< T >::m_recbuffer [protected]
 

template<class T>
size_t LevelData< T >::m_reccapacity [protected]
 

template<class T>
void* LevelData< T >::m_sendbuffer [protected]
 

template<class T>
size_t LevelData< T >::m_sendcapacity [protected]
 


The documentation for this class was generated from the following files:
Generated on Thu Aug 29 11:07:43 2002 for Chombo&INS by doxygen1.2.16