class Copier

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

Inheritance:

Copier


public members:

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.

Documentation

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.


this class has no child classes.

alphabetic index hierarchy of classes


Chombo

Copyright Notice

This software is copyright (C) by the Lawrence Berkeley National Laboratory. Permission is granted to reproduce this software for non-commercial purposes provided that this notice is left intact.

It is acknowledged that the U.S. Government has rights to this software under Contract DE-AC03-765F00098 between the U.S. Department of Energy and the University of California.

This software is provided as a professional and academic contribution for joint exchange. Thus it is experimental, is provided ``as is'', with no warranties of any kind whatsoever, no support, no promise of updates, or printed documentation. By using this software, you acknowledge that the Lawrence Berkeley National Laboratory and Regents of the University of California shall have no liability with respect to the infringement of other copyrights by any part of this software.