#include <source/multiblock/MultiblockRefineAlgorithm.h>
Public Member Functions | |
MultiblockRefineAlgorithm (tbox::Pointer< xfer::RefineAlgorithm< DIM > > refine_alg, tbox::Pointer< MultiblockPatchHierarchy< DIM > > multiblock) | |
MultiblockRefineAlgorithm constructor. | |
~MultiblockRefineAlgorithm () | |
Destructor. | |
void | registerRefine (const int dst, const int src, const int scratch, tbox::Pointer< xfer::RefineOperator< DIM > > oprefine) |
void | registerRefine (const int dst, const int src, const int src_told, const int src_tnew, const int scratch, tbox::Pointer< xfer::RefineOperator< DIM > > oprefine, tbox::Pointer< xfer::TimeInterpolateOperator< DIM > > optime) |
tbox::Pointer< MultiblockRefineSchedule< DIM > > | createSchedule (tbox::Pointer< MultiblockPatchLevel< DIM > > level, MultiblockRefinePatchStrategy< DIM > *patch_strategy=((MultiblockRefinePatchStrategy< DIM > *) NULL)) const |
Create a communication schedule that copies data from the interiors of the source components into the interior and boundary cells of the destination components on the same level where those sources and destinations overlap. | |
tbox::Pointer< MultiblockRefineSchedule< DIM > > | createSchedule (tbox::Pointer< MultiblockPatchLevel< DIM > > dst_level, tbox::Pointer< MultiblockPatchLevel< DIM > > src_level, MultiblockRefinePatchStrategy< DIM > *patch_strategy=((MultiblockRefinePatchStrategy< DIM > *) NULL)) const |
Create a communication schedule that copies data from the interiors of the source components on a source level into the interior and boundary cells of the destination components on a destination level where those sources and destinations overlap. | |
tbox::Pointer< MultiblockRefineSchedule< DIM > > | createSchedule (tbox::Pointer< MultiblockPatchLevel< DIM > > level, const int next_coarser_level, tbox::Pointer< MultiblockPatchHierarchy< DIM > > multiblock, MultiblockRefinePatchStrategy< DIM > *patch_strategy=((MultiblockRefinePatchStrategy< DIM > *) NULL)) const |
Create a communication schedule that copies data from the interiors of the source components into the interior and boundary cells of the destination components on the same level where those sources and destinations overlap. Data is moved from old and new sources on coarser levels when time interpolation is needed and from the source components on the patch level into the destination components. | |
tbox::Pointer< MultiblockRefineSchedule< DIM > > | createSchedule (tbox::Pointer< MultiblockPatchLevel< DIM > > dst_level, tbox::Pointer< MultiblockPatchLevel< DIM > > src_level, const int next_coarser_level, tbox::Pointer< MultiblockPatchHierarchy< DIM > > multiblock, MultiblockRefinePatchStrategy< DIM > *patch_strategy=((MultiblockRefinePatchStrategy< DIM > *) NULL)) const |
Create a communication schedule that moves data from the interiors of the source level and coarser hierarchy levels into the interior and boundary cells of the destination components on the destination level where those sources and destinations overlap. Data is moved from old and new sources on coarser levels when time interpolation is needed and from the source components on the source level into the destination components. |
This class requires a pointer to a previously-constructed xfer::RefineAlgorithm<DIM>. It contains four routines that create a MultiblockRefineSchedule<DIM> object, each analagous to the createSchedule() routines in xfer::RefineAlgorithm<DIM>.
|
MultiblockRefineAlgorithm constructor. Constructor for MultiblockRefineAlgorithm takes a pointer to an xfer::RefineAlgorithm, that is used to create communication schedules. Refinement operations should be registered with the RefineAlgorithm before this class will do anything useful.
|
|
Destructor.
|
|
Register a refine operation with the refine algorithm object. This routine does not support time interpolation. Data values will be moved from the source component to the destination component using scratch component as a temporary work space. The scratch component must have sufficient ghost cells to cover the required operator stencil width and any needed physical boundary ghost cells.
|
|
Register a refine operation with the refine algorithm object. This routine supports time interpolation. Time interpolation will take place between the old and new source data components on coarser levels. On the destination level, data will be moved from the source component to the destination component using scratch component as a temporary work space. The scratch component must have sufficient ghost cells to cover the required operator stencil width and any needed physical boundary ghost cells. The time interpolation operator cannot be null. When assertion checking is active, passing in a null pointer will result in an unrecoverable exception.
|
|
Create a communication schedule that copies data from the interiors of the source components into the interior and boundary cells of the destination components on the same level where those sources and destinations overlap. Neither time nor spatial interpolation is performed.
|
|
Create a communication schedule that copies data from the interiors of the source components on a source level into the interior and boundary cells of the destination components on a destination level where those sources and destinations overlap. Neither time nor spatial interpolation is performed.
|
|
Create a communication schedule that copies data from the interiors of the source components into the interior and boundary cells of the destination components on the same level where those sources and destinations overlap. Data is moved from old and new sources on coarser levels when time interpolation is needed and from the source components on the patch level into the destination components.
|
|
Create a communication schedule that moves data from the interiors of the source level and coarser hierarchy levels into the interior and boundary cells of the destination components on the destination level where those sources and destinations overlap. Data is moved from old and new sources on coarser levels when time interpolation is needed and from the source components on the source level into the destination components.
|