IBAMR  IBAMR version 0.19.
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
SAMRAI::hier::PatchDataFactory< DIM > Class Template Referenceabstract

#include <ibtk/LSetDataFactory.h>

Inheritance diagram for SAMRAI::hier::PatchDataFactory< DIM >:
Inheritance graph
[legend]

Public Member Functions

 PatchDataFactory (const IntVector< DIM > &ghosts)
 
virtual ~PatchDataFactory ()
 Virtual destructor for the patch data factory class. More...
 
virtual tbox::Pointer< PatchDataFactory< DIM > > cloneFactory (const IntVector< DIM > &ghosts)=0
 Abstract virtual function to clone a patch data factory. More...
 
virtual tbox::Pointer< PatchData< DIM > > allocate (const Box< DIM > &box, tbox::Pointer< tbox::Arena > pool=(tbox::Arena *) NULL) const =0
 Abstract virtual function to allocate a concrete patch data object. More...
 
virtual tbox::Pointer< PatchData< DIM > > allocate (const Patch< DIM > &patch, tbox::Pointer< tbox::Arena > pool=(tbox::Arena *) NULL) const =0
 Abstract virtual function to allocate a concrete patch data object. More...
 
virtual tbox::Pointer< BoxGeometry< DIM > > getBoxGeometry (const Box< DIM > &box) const =0
 Abstract virtual function to allocate a concrete box geometry object.
More...
 
const IntVector< DIM > & getGhostCellWidth () const
 Get the ghost cell width.
More...
 
virtual size_t getSizeOfMemory (const Box< DIM > &box) const =0
 Abstract virtual function to compute the amount of memory needed to allocate for object data and to represent the object itself. More...
 
virtual bool fineBoundaryRepresentsVariable () const =0
 Return true if the fine data values represent the data quantity on coarse-fine interfaces if data lives on patch borders; false otherwise.
More...
 
virtual bool dataLivesOnPatchBorder () const =0
 Return true if the variable data lives on patch borders; false otherwise. More...
 
virtual bool validCopyTo (const tbox::Pointer< PatchDataFactory< DIM > > &dst_pdf) const =0
 Abstract virtual function that returns whether the current PatchDataFactory can be copied to the supplied destination PatchDataFactory. More...
 
virtual MultiblockDataTranslator< DIM > * getMultiblockDataTranslator ()
 

Protected Attributes

IntVector< DIM > d_ghosts
 

Private Member Functions

 PatchDataFactory (const PatchDataFactory< DIM > &)
 
void operator= (const PatchDataFactory< DIM > &)
 
 PatchDataFactory ()
 

Constructor & Destructor Documentation

◆ PatchDataFactory() [1/3]

template<int DIM>
SAMRAI::hier::PatchDataFactory< DIM >::PatchDataFactory ( const IntVector< DIM > &  ghosts)

The default constructor for the patch data factory class.

Parameters
ghostsghost cell width for concrete classes created from the factory.

◆ ~PatchDataFactory()

template<int DIM>
virtual SAMRAI::hier::PatchDataFactory< DIM >::~PatchDataFactory ( )
virtual

◆ PatchDataFactory() [2/3]

template<int DIM>
SAMRAI::hier::PatchDataFactory< DIM >::PatchDataFactory ( const PatchDataFactory< DIM > &  )
private

◆ PatchDataFactory() [3/3]

template<int DIM>
SAMRAI::hier::PatchDataFactory< DIM >::PatchDataFactory ( )
private

Member Function Documentation

◆ cloneFactory()

template<int DIM>
virtual tbox::Pointer< PatchDataFactory<DIM> > SAMRAI::hier::PatchDataFactory< DIM >::cloneFactory ( const IntVector< DIM > &  ghosts)
pure virtual

This will return a new instantiation of the abstract factory with the same properties. The properties of the cloned factory can then be changed without modifying the original.

Parameters
ghostsghost cell width for concrete classes created from the factory.

◆ allocate() [1/2]

template<int DIM>
virtual tbox::Pointer< PatchData<DIM> > SAMRAI::hier::PatchDataFactory< DIM >::allocate ( const Box< DIM > &  box,
tbox::Pointer< tbox::Arena pool = (tbox::Arena *) NULL 
) const
pure virtual

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.

◆ allocate() [2/2]

template<int DIM>
virtual tbox::Pointer< PatchData<DIM> > SAMRAI::hier::PatchDataFactory< DIM >::allocate ( const Patch< DIM > &  patch,
tbox::Pointer< tbox::Arena pool = (tbox::Arena *) NULL 
) const
pure virtual

◆ getBoxGeometry()

template<int DIM>
virtual tbox::Pointer< BoxGeometry<DIM> > SAMRAI::hier::PatchDataFactory< DIM >::getBoxGeometry ( const Box< DIM > &  box) const
pure virtual

The box geometry object will be used in the calculation of box intersections for the computation of data dependencies.

◆ getGhostCellWidth()

template<int DIM>
const IntVector<DIM>& SAMRAI::hier::PatchDataFactory< DIM >::getGhostCellWidth ( ) const

This is the ghost cell width that will be used in the instantiation of concrete patch data instances. The ghost width is specified in the clone method.

◆ getSizeOfMemory()

template<int DIM>
virtual size_t SAMRAI::hier::PatchDataFactory< DIM >::getSizeOfMemory ( const Box< DIM > &  box) const
pure virtual

This includes any dynamic storage, such as arrays, needed by the concrete patch data instance. Although the patch data subclass may choose not to allocate memory from the provided memory pool, it must not use more memory than requested here.

◆ fineBoundaryRepresentsVariable()

template<int DIM>
virtual bool SAMRAI::hier::PatchDataFactory< DIM >::fineBoundaryRepresentsVariable ( ) const
pure virtual

◆ dataLivesOnPatchBorder()

template<int DIM>
virtual bool SAMRAI::hier::PatchDataFactory< DIM >::dataLivesOnPatchBorder ( ) const
pure virtual

◆ validCopyTo()

template<int DIM>
virtual bool SAMRAI::hier::PatchDataFactory< DIM >::validCopyTo ( const tbox::Pointer< PatchDataFactory< DIM > > &  dst_pdf) const
pure virtual

◆ getMultiblockDataTranslator()

template<int DIM>
virtual MultiblockDataTranslator<DIM>* SAMRAI::hier::PatchDataFactory< DIM >::getMultiblockDataTranslator ( )
virtual

◆ operator=()

template<int DIM>
void SAMRAI::hier::PatchDataFactory< DIM >::operator= ( const PatchDataFactory< DIM > &  )
private

Member Data Documentation

◆ d_ghosts

template<int DIM>
IntVector<DIM> SAMRAI::hier::PatchDataFactory< DIM >::d_ghosts
protected

The documentation for this class was generated from the following file: