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

Copier Class Reference

A strange but true thing to make copying from one boxlayoutdata to another fast. More...

#include <Copier.H>

Collaboration diagram for Copier:

Collaboration graph
[legend]
List of all members.

Public Methods

 Copier ()
 null constructor, copy constructor and operator= can be compiler defined.

 Copier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest)
 Copier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain)
 this constructor contains support for periodic BC's

 Copier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const IntVect &a_destGhost)
 Copier to copy data into the valid and invalid regions of a_dest from a_level.

 Copier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, const IntVect &a_destGhost)
 Copier to copy data into the valid and invalid regions of a_dest from a_level with support for periodic BCs.

virtual ~Copier ()
virtual void define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest)
virtual void define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain)
 contains support for periodic BCs

virtual void define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const IntVect &a_destGhost)
virtual void define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, const IntVect &a_destGhost)
 contains support for periodic BCs

virtual void clear ()
bool check (const DisjointBoxLayout &from, const BoxLayout &to) const
 check that this Copier object corresponds to these two BoxLayouts.

int print () const
bool bufferAllocated () const
void setBufferAllocated (bool arg) const

Protected Attributes

Vector< MotionItem * > m_localMotionPlan
Vector< MotionItem * > m_fromMotionPlan
Vector< MotionItem * > m_toMotionPlan
bool buffersAllocated

Static Protected Attributes

Pool s_motionItemPool

Private Attributes

DisjointBoxLayout m_originPlan
BoxLayout m_dest

Friends

class CopyIterator
void dumpmemoryatexit ()

Detailed Description

A strange but true thing to make copying from one boxlayoutdata to another fast.

class to handle the of data from a LevelData to a BoxLayoutData defined over the same index space. The idea behind this object is twofold: A) there is a significant amount of information that can be computed once and reused from one copy to the next for a LevelData and BoxLayoutData that have unchanging BoxLayouts underneath them. In these cases, LevelData::copyTo methods has an optional argument. That way, in cases where the operation is only performed a single time, we do not waste our time building optimizing data, etc. B) when we interface with KeLP, this class maps quite well with the existing KeLP API.

pains have been taken to not have this class be templated. Thus it does not actually perform the copying itself (which would require knowledge of the template class type). It provides an iterator interface to MotionItems that specify the required work. LevelData provides the copyTo methods.


Constructor & Destructor Documentation

Copier::Copier   [inline]
 

null constructor, copy constructor and operator= can be compiler defined.

Copier::Copier const DisjointBoxLayout   a_level,
const BoxLayout   a_dest
 

Copier::Copier const DisjointBoxLayout   a_level,
const BoxLayout   a_dest,
const ProblemDomain   a_domain
 

this constructor contains support for periodic BC's

Copier::Copier const DisjointBoxLayout   a_level,
const BoxLayout   a_dest,
const IntVect   a_destGhost
 

Copier to copy data into the valid and invalid regions of a_dest from a_level.

Copier::Copier const DisjointBoxLayout   a_level,
const BoxLayout   a_dest,
const ProblemDomain   a_domain,
const IntVect   a_destGhost
 

Copier to copy data into the valid and invalid regions of a_dest from a_level with support for periodic BCs.

virtual Copier::~Copier   [virtual]
 


Member Function Documentation

bool Copier::bufferAllocated   const
 

bool Copier::check const DisjointBoxLayout   from,
const BoxLayout   to
const
 

check that this Copier object corresponds to these two BoxLayouts.

virtual void Copier::clear   [virtual]
 

virtual void Copier::define const DisjointBoxLayout   a_level,
const BoxLayout   a_dest,
const ProblemDomain   a_domain,
const IntVect   a_destGhost
[virtual]
 

contains support for periodic BCs

virtual void Copier::define const DisjointBoxLayout   a_level,
const BoxLayout   a_dest,
const IntVect   a_destGhost
[virtual]
 

virtual void Copier::define const DisjointBoxLayout   a_level,
const BoxLayout   a_dest,
const ProblemDomain   a_domain
[virtual]
 

contains support for periodic BCs

virtual void Copier::define const DisjointBoxLayout   a_level,
const BoxLayout   a_dest
[virtual]
 

int Copier::print   const
 

void Copier::setBufferAllocated bool    arg const
 


Friends And Related Function Documentation

friend class CopyIterator [friend]
 

void dumpmemoryatexit   [friend]
 


Member Data Documentation

bool Copier::buffersAllocated [protected]
 

BoxLayout Copier::m_dest [private]
 

Vector<MotionItem*> Copier::m_fromMotionPlan [protected]
 

Vector<MotionItem*> Copier::m_localMotionPlan [protected]
 

DisjointBoxLayout Copier::m_originPlan [private]
 

Vector<MotionItem*> Copier::m_toMotionPlan [protected]
 

Pool Copier::s_motionItemPool [static, protected]
 


The documentation for this class was generated from the following file:
Generated on Wed Apr 16 14:35:05 2003 for EBChombo by doxygen1.2.16