#include <source/mesh/multiblock/MultiblockGriddingTagger.h>
Inheritance diagram for SAMRAI::mesh::MultiblockGriddingTagger< DIM >:
Public Member Functions | |
MultiblockGriddingTagger () | |
The constructor does nothing interesting. | |
virtual | ~MultiblockGriddingTagger () |
The virtual destructor does nothing interesting. | |
virtual void | setScratchTagPatchDataIndex (int buf_tag_indx) |
Set the patch data index for tag data. This routine must be called with a valid cell-centered integer patch data index. | |
virtual void | setPhysicalBoundaryConditions (hier::Patch< DIM > &patch, const double fill_time, const hier::IntVector< DIM > &ghost_width_to_fill) |
Physical boundary fill. | |
virtual void | fillSingularityBoundaryConditions (hier::Patch< DIM > &patch, tbox::List< typename xfer::MultiblockRefineSchedule< DIM >::SingularityPatch > &singularity_patches, const double fill_time, const hier::Box< DIM > &fill_box, const hier::BoundaryBox< DIM > &boundary_box) |
Set the ghost data at a multiblock singularity. | |
virtual hier::IntVector< DIM > | getRefineOpStencilWidth () const |
Return maximum stencil width needed for user-defined data interpolation operations. This is needed to determine the correct interpolation data dependencies. | |
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) |
This class is needed for the calls to MultiblockRefineSchedule<DIM> in the MultiblockGriddingAlgorithm<DIM>.
This class implements the interface from MultiblockRefinePatchStrategy for fillSingularityBoundaryConditions(), so that boundary conditions for tag data that abuts a singularity can be properly filled. Also implemented are the interfaces for xfer::RefinePatchStrategy<DIM>, needed primarily for physical boundary filling.
xfer::MultiblockRefineSchedule
SAMRAI::mesh::MultiblockGriddingTagger< DIM >::MultiblockGriddingTagger | ( | ) |
The constructor does nothing interesting.
SAMRAI::mesh::MultiblockGriddingTagger< DIM >::~MultiblockGriddingTagger | ( | ) | [virtual] |
The virtual destructor does nothing interesting.
void SAMRAI::mesh::MultiblockGriddingTagger< DIM >::setScratchTagPatchDataIndex | ( | int | buf_tag_indx | ) | [virtual] |
Set the patch data index for tag data. This routine must be called with a valid cell-centered integer patch data index.
void SAMRAI::mesh::MultiblockGriddingTagger< DIM >::setPhysicalBoundaryConditions | ( | hier::Patch< DIM > & | patch, | |
const double | fill_time, | |||
const hier::IntVector< DIM > & | ghost_width_to_fill | |||
) | [virtual] |
Physical boundary fill.
Implementation of interface defined in xfer::RefinePatchStrategy<DIM>. Fills ghost cells of patch data at physical boundaries.
patch | Patch where data is stored | |
fill_time | Simulation time when filling occurs | |
ghost_width_to_fill | Maximum ghost width of all data to be filled |
Reimplemented from SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >.
void SAMRAI::mesh::MultiblockGriddingTagger< DIM >::fillSingularityBoundaryConditions | ( | hier::Patch< DIM > & | patch, | |
tbox::List< typename xfer::MultiblockRefineSchedule< DIM >::SingularityPatch > & | singularity_patches, | |||
const double | fill_time, | |||
const hier::Box< DIM > & | fill_box, | |||
const hier::BoundaryBox< DIM > & | boundary_box | |||
) | [virtual] |
Set the ghost data at a multiblock singularity.
Implementation of interface defined in MultiblockRefinePatchStrategy<DIM>. Fills ghost cells of patch data that abut multiblock singularities. The list of singularity patches contains the data from neighboring blocks that also abut the singularity, and that data from the neighbors is used to fill data on the local patch.
patch | Local patch containing data to be filled | |
singularity_patches | List of structures that contain data from neighboring blocks. See MultiblockRefineSchedule<DIM> for more information on struct SingularityPatch | |
fill_time | Simulation time when filling occurs | |
fill_box | All ghost data to be filled will be within this box | |
boundary_box | BoundaryBox object that stores information about the type and location of the boundary where ghost cells will be filled |
Implements SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >.
virtual hier::IntVector<DIM> SAMRAI::mesh::MultiblockGriddingTagger< DIM >::getRefineOpStencilWidth | ( | ) | const [inline, virtual] |
Return maximum stencil width needed for user-defined data interpolation operations. This is needed to determine the correct interpolation data dependencies.
Always returns an IntVector of ones, because that is the maximum stencil needed for the operations in MultiblockGriddingAlgorithm
Implements SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >.
virtual void SAMRAI::mesh::MultiblockGriddingTagger< 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.
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. |
Reimplemented from SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >.
void SAMRAI::mesh::MultiblockGriddingTagger< DIM >::postprocessRefine | ( | hier::Patch< DIM > & | fine, | |
const hier::Patch< DIM > & | coarse, | |||
const hier::Box< DIM > & | fine_box, | |||
const hier::IntVector< DIM > & | ratio | |||
) | [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 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.
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. |
Reimplemented from SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >.