SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM > Class Template Reference

Class MultiblockRefinePatchStrategy is a virtual base class that provides interfaces for users to problem-specific routines related to issues that arise in multiblock domains, particularly the filling of boundary conditions around a singularity. More...

#include <source/transfer/multiblock/MultiblockRefinePatchStrategy.h>

Inheritance diagram for SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 MultiblockRefinePatchStrategy ()
virtual ~MultiblockRefinePatchStrategy ()
virtual void setPhysicalBoundaryConditions (hier::Patch< DIM > &patch, const double fill_time, const hier::IntVector< DIM > &ghost_width_to_fill)
 Set the physical boundary conditions.
virtual void fillSingularityBoundaryConditions (hier::Patch< DIM > &patch, tbox::List< typename MultiblockRefineSchedule< DIM >::SingularityPatch > &singularity_patches, const double fill_time, const hier::Box< DIM > &fill_box, const hier::BoundaryBox< DIM > &boundary_box)=0
 Set the ghost data at a multiblock singularity.
virtual hier::IntVector< DIM > getRefineOpStencilWidth () const=0
virtual void preprocessRefine (hier::Patch< DIM > &fine, const hier::Patch< DIM > &coarse, const hier::Box< DIM > &fine_box, const hier::IntVector< DIM > &ratio)
virtual void postprocessRefine (hier::Patch< DIM > &fine, const hier::Patch< DIM > &coarse, const hier::Box< DIM > &fine_box, const hier::IntVector< DIM > &ratio)
virtual void setFillingCoarseScratch (const bool filling_coarse_scratch)
virtual void setBlockNumber (const int block_number)
virtual int getBlockNumber ()
virtual void clearBlockNumber ()

Protected Attributes

bool d_filling_coarse_scratch
int d_block_number

Detailed Description

template<int DIM>
class SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >

Class MultiblockRefinePatchStrategy is a virtual base class that provides interfaces for users to problem-specific routines related to issues that arise in multiblock domains, particularly the filling of boundary conditions around a singularity.


Constructor & Destructor Documentation

template<int DIM>
SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >::MultiblockRefinePatchStrategy (  ) 

The constructor for patch strategy does nothing interesting.

template<int DIM>
SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >::~MultiblockRefinePatchStrategy (  )  [virtual]

The virtual destructor for refine strategy does nothing interesting.


Member Function Documentation

template<int DIM>
void SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >::setPhysicalBoundaryConditions ( hier::Patch< DIM > &  patch,
const double  fill_time,
const hier::IntVector< DIM > &  ghost_width_to_fill 
) [virtual]

Set the physical boundary conditions.

Parameters:
patch The patch containing the data to be filled
fill_time Simulation time at which data is filled
ghost_width_to_fill maximum number of ghost cells to fill

Implements SAMRAI::xfer::RefinePatchStrategy< DIM >.

Reimplemented in SAMRAI::mesh::MultiblockGriddingTagger< DIM >.

template<int DIM>
virtual void SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >::fillSingularityBoundaryConditions ( hier::Patch< DIM > &  patch,
tbox::List< typename MultiblockRefineSchedule< DIM >::SingularityPatch > &  singularity_patches,
const double  fill_time,
const hier::Box< DIM > &  fill_box,
const hier::BoundaryBox< DIM > &  boundary_box 
) [pure virtual]

Set the ghost data at a multiblock singularity.

Parameters:
patch The patch containing the data to be filled
singularity_patches structures from refine schedule that contain patches that hold data from neighboring blocks around the singularity
fill_time Simulation time at which data is filled
fill_box Box covering maximum amount of ghost cells to be filled
boundary_box BoundaryBox describing location of singularity in relation to patch

Implemented in SAMRAI::mesh::MultiblockGriddingTagger< DIM >.

template<int DIM>
virtual hier::IntVector<DIM> SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >::getRefineOpStencilWidth (  )  const [pure virtual]

Return maximum stencil width needed for user-defined data interpolation operations. This is needed to determine the correct interpolation data dependencies.

Implements SAMRAI::xfer::RefinePatchStrategy< DIM >.

Implemented in SAMRAI::mesh::MultiblockGriddingTagger< DIM >.

template<int DIM>
virtual void SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >::preprocessRefine ( hier::Patch< DIM > &  fine,
const hier::Patch< DIM > &  coarse,
const hier::Box< DIM > &  fine_box,
const hier::IntVector< DIM > &  ratio 
) [inline, virtual]

Perform user-defined refining operations. This member function is called before standard refining operations (expressed using concrete subclasses of the xfer::RefineOperator<DIM> base class). The preprocess function must refine data from the scratch components of the coarse patch into the scratch components of the fine patch on the specified fine box region. Recall that the scratch components are specified in calls to the registerRefine() function in the xfer::RefineAlgorithm<DIM> class.

Parameters:
fine Fine patch containing destination data.
coarse Coarse patch containing source data.
fine_box Box region on fine patch into which data is refined.
ratio Integer vector containing ratio relating index space between coarse and fine patches.

Implements SAMRAI::xfer::RefinePatchStrategy< DIM >.

Reimplemented in SAMRAI::mesh::MultiblockGriddingTagger< DIM >.

template<int DIM>
virtual void SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >::postprocessRefine ( hier::Patch< DIM > &  fine,
const hier::Patch< DIM > &  coarse,
const hier::Box< DIM > &  fine_box,
const hier::IntVector< DIM > &  ratio 
) [inline, virtual]

Perform user-defined refining operations. This member function is called after standard refining operations (expressed using concrete subclasses of the xfer::RefineOperator<DIM> base class). The postprocess function must refine data from the scratch components of the coarse patch into the scratch components of the fine patch on the specified fine box region. Recall that the scratch components are specified in calls to the registerRefine() function in the xfer::RefineAlgorithm<DIM> class.

Parameters:
fine Fine patch containing destination data.
coarse Coarse patch containing source data.
fine_box Box region on fine patch into which data is refined.
ratio Integer vector containing ratio relating index space between coarse and fine patches.

Implements SAMRAI::xfer::RefinePatchStrategy< DIM >.

Reimplemented in SAMRAI::mesh::MultiblockGriddingTagger< DIM >.

template<int DIM>
virtual void SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >::setFillingCoarseScratch ( const bool  filling_coarse_scratch  )  [inline, virtual]

template<int DIM>
virtual void SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >::setBlockNumber ( const int  block_number  )  [inline, virtual]

template<int DIM>
virtual int SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >::getBlockNumber (  )  [inline, virtual]

template<int DIM>
virtual void SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >::clearBlockNumber (  )  [inline, virtual]


Member Data Documentation

template<int DIM>
bool SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >::d_filling_coarse_scratch [protected]

template<int DIM>
int SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >::d_block_number [protected]


The documentation for this class was generated from the following files:
Generated on Thu Jun 18 11:29:11 2009 for SAMRAI by  doxygen 1.5.1