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 <MultiblockRefinePatchStrategy.h>
|
| | 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. More...
|
| |
| 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. More...
|
| |
| 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 () |
| |
| virtual void | preprocessRefineBoxes (hier::Patch< DIM > &fine, const hier::Patch< DIM > &coarse, const hier::BoxList< DIM > &fine_boxes, const hier::IntVector< DIM > &ratio) |
| |
| virtual void | postprocessRefineBoxes (hier::Patch< DIM > &fine, const hier::Patch< DIM > &coarse, const hier::BoxList< DIM > &fine_boxes, const hier::IntVector< DIM > &ratio) |
| |
template<int DIM>
class SAMRAI::xfer::MultiblockRefinePatchStrategy< DIM >
Class MultiblockRefineSchedule<DIM> is an extension of the concept of xfer::RefineSchedule<DIM> to be used in applications that require a multiblock domain.
This class contains several constructors called from MultiblockRefineAlgorithm. In the fillData() routine, it first uses xfer::RefineSchedule<DIM> to fill data within the interiors of each block of the multiblock domain, then communicates or copies data to fill boundary conditions at the boundaries between blocks.
- See also
- MultiblockPatchHierarchy
-
MultiblockRefineAlgorithm
-
xfer::RefineSchedule
◆ MultiblockRefinePatchStrategy()
The constructor for patch strategy does nothing interesting.
◆ ~MultiblockRefinePatchStrategy()
The virtual destructor for refine strategy does nothing interesting.
◆ setPhysicalBoundaryConditions()
◆ fillSingularityBoundaryConditions()
- 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 >.
◆ getRefineOpStencilWidth()
◆ preprocessRefine()
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 >.
◆ postprocessRefine()
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 >.
◆ setFillingCoarseScratch()
◆ setBlockNumber()
◆ getBlockNumber()
◆ clearBlockNumber()
◆ preprocessRefineBoxes()
Virtual function to perform user-defined refine operations. This member function is called before standard refining operations (expressed using concrete subclasses of the 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 regions.
Typically, only the pure virtual members of this class are implemented in user-defined subclasses of this base class. This version of the preprocess function operates on an entire box list. By default, this version simply loops over the box list and calls the single-box version, which is a pure virtual function.
- Parameters
-
| fine | Fine patch containing destination data. |
| coarse | Coarse patch containing source data. |
| fine_boxes | tbox::List of box regions on fine patch into which data is refined. |
| ratio | Integer vector containing ratio relating index space between coarse and fine patches. |
Reimplemented in SAMRAI::solv::CartesianRobinBcHelper< DIM >.
◆ postprocessRefineBoxes()
Virtual function to perform user-defined refine operations. This member function is called after standard refining operations (expressed using concrete subclasses of the 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 regions.
Typically, only the pure virtual members of this class are implemented in user-defined subclasses of this base class. This version of the postprocess function operates on an entire box list. By default, this version simply loops over the box list and calls the single-box version, which is a pure virtual function.
- Parameters
-
| fine | Fine patch containing destination data. |
| coarse | Coarse patch containing source data. |
| fine_boxes | tbox::List of box regions on fine patch into which data is refined. |
| ratio | Integer vector containing ratio relating index space between coarse and fine patches. |
Reimplemented in SAMRAI::solv::CartesianRobinBcHelper< DIM >.
◆ d_filling_coarse_scratch
◆ d_block_number
The documentation for this class was generated from the following file: