|
Constructor to create a MultiblockRefineShedule that moves data from the interiors of source patch data components on the source level and coarser levels in the patch hierarchy into the interiors and ghost cells of destination patch data components on the destination level. Only data on the intersection of the source and destination patch components will be copied. If portions of the destination level remain unfilled, then the algorithm recursively fills those unfilled portions from coarser levels in the AMR hierarchy. The source and destination patch levels must reside in the same index space. However, the levels do not have to be in the same AMR patch hierarchy. In general, this constructor is called by a MultiblockRefineAlgorithm<DIM> object.
- Parameters:
-
| dst_level | Pointer to destination level. |
| src_level | Pointer to source level. This pointer may be null, in which case the destination level will be filled only using data interpolated from coarser levels. |
| next_coarser_level | Integer number of next coarser level in relative to the destination level. Note that when the destination level has number zero (i.e., the coarsest level), this value should be < 0. |
| multiblock | Multiblock object containing all of the levels that hold the data being communicated |
| refine_alg | Pointer to an xfer::RefineAlgorithm<DIM> that will be used to create refine schedules that will do the data transfers and communication. In general, this is a data member of the calling MultiblockRefineAlgorithm<DIM> object. |
| strategy | Pointer to a multiblock patch strategy object that provides user-defined boundary filling operations for patch boundaries that touch a multiblock singularity point, as well as user- defined physical boundary filling operations. This pointer may be null, in which case no boundary filling operations will occur. case no boundary filling operations will occur. |
| use_time_refinement | Let the destination level be filled using time refinement operations. This defaults to false because it should only be used in recursive calls within this class |
|