Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

SAMRAI::pdat::SideDataFactory< DIM, TYPE > Class Template Reference

#include <source/patchdata/side/SideDataFactory.h>

Inheritance diagram for SAMRAI::pdat::SideDataFactory< DIM, TYPE >:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 SideDataFactory (int depth, const hier::IntVector< DIM > &ghosts, bool fine_boundary_represents_var, const hier::IntVector< DIM > &directions=hier::IntVector< DIM >(1))
virtual ~SideDataFactory ()
virtual tbox::Pointer< hier::PatchDataFactory<
DIM > > 
cloneFactory ()
virtual tbox::Pointer< hier::PatchData<
DIM > > 
allocate (const hier::Box< DIM > &box, tbox::Pointer< tbox::Arena > pool=tbox::Pointer< tbox::Arena >((0))) const
virtual tbox::Pointer< hier::BoxGeometry<
DIM > > 
getBoxGeometry (const hier::Box< DIM > &box) const
virtual const hier::IntVector<
DIM > & 
getDefaultGhostCellWidth () const
virtual void setDefaultGhostCellWidth (const hier::IntVector< DIM > &ghosts)
int getDefaultDepth () const
void setDefaultDepth (const int depth)
const hier::IntVector< DIM > & getDirectionVector () const
virtual size_t getSizeOfMemory (const hier::Box< DIM > &box) const
bool fineBoundaryRepresentsVariable () const
bool dataLivesOnPatchBorder () const
bool validCopyTo (const tbox::Pointer< hier::PatchDataFactory< DIM > > &dst_pdf) const

Detailed Description

template<int DIM, class TYPE>
class SAMRAI::pdat::SideDataFactory< DIM, TYPE >

Class SideDataFactory is a factory class used to allocate new instances of SideData objects. It is a subclass of the patch data factory class and side data is a subclass of patch data. Both the factory and data classes are templated on the type of the contained object (e.g., double or int).

Note that it is possible to create a side data factory to allocate and manage data for cell sides associated with a single coordinate direction only. See the constructor for more information.

See also:
pdat::SideData

pdat::PatchDataFactory


Constructor & Destructor Documentation

template<int DIM, class TYPE>
SAMRAI::pdat::SideDataFactory< DIM, TYPE >::SideDataFactory int  depth,
const hier::IntVector< DIM > &  ghosts,
bool  fine_boundary_represents_var,
const hier::IntVector< DIM > &  directions = hier::IntVector< DIM >(1)
 

The default constructor for the side data factory class. The ghost cell width, depth (number of components), and fine boundary representation arguments give the defaults for all edge data objects created with this factory. Also, the default data allocation scheme is to generate storage for sides in all coordinate directions (default integer vector of all 1's). To use this factory to manage side data objects for sides associated with a single direction only, provide the directions vector argument. A zero entry indicates that data for that direction is not wanted. Otherwise, data will be created for that direction. See the SideVariable<DIM> class header file for more information.

template<int DIM, class TYPE>
SAMRAI::pdat::SideDataFactory< DIM, TYPE >::~SideDataFactory  )  [virtual]
 

Virtual destructor for the side data factory class.


Member Function Documentation

template<int DIM, class TYPE>
tbox::Pointer< hier::PatchDataFactory< DIM > > SAMRAI::pdat::SideDataFactory< DIM, TYPE >::cloneFactory  )  [virtual]
 

Virtual function to clone the patch data factory . This will return a new instantiation of the factory with the same properties (e.g., same type and ghost cell width). The properties of the cloned factory can then be changed without modifying the original.

Implements SAMRAI::hier::PatchDataFactory< DIM >.

template<int DIM, class TYPE>
tbox::Pointer< hier::PatchData< DIM > > SAMRAI::pdat::SideDataFactory< DIM, TYPE >::allocate const hier::Box< DIM > &  box,
tbox::Pointer< tbox::Arena pool = tbox::Pointertbox::Arena >((0))
const [virtual]
 

Virtual factory function to allocate a concrete side data object. The default information about the object (e.g., ghost cell width) is taken from the factory. If no memory pool is provided, then the allocation routine assumes some default memory pool.

template<int DIM, class TYPE>
tbox::Pointer< hier::BoxGeometry< DIM > > SAMRAI::pdat::SideDataFactory< DIM, TYPE >::getBoxGeometry const hier::Box< DIM > &  box  )  const [virtual]
 

Allocate the box geometry object associated with the patch data. This information will be used in the computation of intersections and data dependencies between objects.

template<int DIM, class TYPE>
const hier::IntVector< DIM > & SAMRAI::pdat::SideDataFactory< DIM, TYPE >::getDefaultGhostCellWidth  )  const [virtual]
 

Get the default ghost cell width. This is the ghost cell width that will be used in the instantiation of concrete side data objects.

Implements SAMRAI::hier::PatchDataFactory< DIM >.

template<int DIM, class TYPE>
void SAMRAI::pdat::SideDataFactory< DIM, TYPE >::setDefaultGhostCellWidth const hier::IntVector< DIM > &  ghosts  )  [virtual]
 

Set the default ghost cell width. This is the ghost cell width that will be used in the instantiation of concrete side data instances.

template<int DIM, class TYPE>
int SAMRAI::pdat::SideDataFactory< DIM, TYPE >::getDefaultDepth  )  const [inline]
 

Get the default depth (number of components). This is the default depth that will be used in the instantiation of side data objects.

template<int DIM, class TYPE>
void SAMRAI::pdat::SideDataFactory< DIM, TYPE >::setDefaultDepth const int  depth  )  [inline]
 

Set the default depth (number of components). This is the default depth that will be used in the instantiation of side data objects.

template<int DIM, class TYPE>
const hier::IntVector< DIM > & SAMRAI::pdat::SideDataFactory< DIM, TYPE >::getDirectionVector  )  const [inline]
 

Return constant reference to vector describing which coordinate directions have data associated with this side data object. A vector entry of zero indicates that there is no data array allocated for the corresponding coordinate direction. A non-zero value indicates that a valid data array is maintained for that coordinate direction.

template<int DIM, class TYPE>
size_t SAMRAI::pdat::SideDataFactory< DIM, TYPE >::getSizeOfMemory const hier::Box< DIM > &  box  )  const [virtual]
 

Calculate the amount of memory needed to store the side data object, including object data and dynamically allocated data.

template<int DIM, class TYPE>
bool SAMRAI::pdat::SideDataFactory< DIM, TYPE >::fineBoundaryRepresentsVariable  )  const [inline, virtual]
 

Return a boolean value indicating how data for the side quantity will be treated on coarse-fine interfaces. This value is passed into the constructor. See the FaceVariable<DIM> class header file for more information.

Implements SAMRAI::hier::PatchDataFactory< DIM >.

template<int DIM, class TYPE>
bool SAMRAI::pdat::SideDataFactory< DIM, TYPE >::dataLivesOnPatchBorder  )  const [inline, virtual]
 

Return true since the side data index space extends beyond the interior of patches. That is, side data lives on patch borders.

Implements SAMRAI::hier::PatchDataFactory< DIM >.

template<int DIM, class TYPE>
bool SAMRAI::pdat::SideDataFactory< DIM, TYPE >::validCopyTo const tbox::Pointer< hier::PatchDataFactory< DIM > > &  dst_pdf  )  const
 

Return whether it is valid to copy this SideDataFactory to the supplied destination patch data factory. It will return true if dst_pdf is SideDataFactory or OutersideDataFactory, false otherwise.


The documentation for this class was generated from the following files:
Generated on Fri Dec 2 11:30:02 2005 for SAMRAI by  doxygen 1.4.2