LevelData.H File Reference

#include "IntVect.H"
#include "BoxLayoutData.H"
#include "DisjointBoxLayout.H"
#include "Copier.H"
#include "SPMD.H"
#include "NamespaceHeader.H"
#include "NamespaceFooter.H"
#include "LevelDataI.H"

Include dependency graph for LevelData.H:

Go to the source code of this file.

Classes

class  LevelData< T >
struct  LevelData< T >::ApplyFunctor

Functions

template<class T>
void aliasLevelData (LevelData< T > &a_alias, LevelData< T > *a_original, const Interval &a_interval)
 Data over a disjoint union of rectangles.


Function Documentation

template<class T>
void aliasLevelData ( LevelData< T > &  a_alias,
LevelData< T > *  a_original,
const Interval a_interval 
) [inline]

Data over a disjoint union of rectangles.

LevelData aliasing function.

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.

Parameters:
a_alias aliased LevelData<T> object. original data in a_alias is destroyed and new aliasing role assumed.
a_original pointer to LevelData<T> that will be aliased.
a_interval range of components of each T in a_original that will be created in the a_alias argument.
LevelData<FArrayBox> original(dbl, 4, 2*IntVect::Unit);
Interval             subcomps(2, 3);
LevelData<FArrayBox> alias;
aliasLevelData<FArrayBox>(alias, &original, subcomps);
// component 0 of every FArrayBox in alias references the same data as
// component 2 in original

The template class T must have an 'alias' constructor

class A
 {
public:
  A(const Interval& subcomps, A& original);// alias constructor
  ...
 };

References LevelData< T >::define(), LevelData< T >::disjointBoxLayout(), LevelData< T >::ghostVect(), and Interval::size().


Generated on Tue Apr 14 14:21:51 2009 for Chombo + EB by  doxygen 1.5.5