Class CartCellDoubleLinearCFInterpolation is a concrete SAMRAI::xfer::RefinePatchStrategy which sets coarse-fine interface ghost cell values for cell-centered double precision patch data via linear interpolation in the normal and tangential directions at coarse-fine interfaces.
#include <ibtk/CartCellDoubleLinearCFInterpolation.h>
|
| | CartCellDoubleLinearCFInterpolation ()=default |
| | Constructor. More...
|
| |
| | ~CartCellDoubleLinearCFInterpolation () |
| | Destructor. More...
|
| |
| virtual void | setPhysicalBoundaryConditions (hier::Patch< DIM > &patch, const double fill_time, const hier::IntVector< DIM > &ghost_width_to_fill)=0 |
| |
| 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)=0 |
| |
| virtual void | postprocessRefine (hier::Patch< DIM > &fine, const hier::Patch< DIM > &coarse, const hier::Box< DIM > &fine_box, const hier::IntVector< DIM > &ratio)=0 |
| |
| 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) |
| |
|
| void | setPhysicalBoundaryConditions (SAMRAI::hier::Patch< NDIM > &patch, double fill_time, const SAMRAI::hier::IntVector< NDIM > &ghost_width_to_fill) override |
| |
| SAMRAI::hier::IntVector< NDIM > | getRefineOpStencilWidth () const override |
| |
| void | preprocessRefine (SAMRAI::hier::Patch< NDIM > &fine, const SAMRAI::hier::Patch< NDIM > &coarse, const SAMRAI::hier::Box< NDIM > &fine_box, const SAMRAI::hier::IntVector< NDIM > &ratio) override |
| |
| void | postprocessRefine (SAMRAI::hier::Patch< NDIM > &fine, const SAMRAI::hier::Patch< NDIM > &coarse, const SAMRAI::hier::Box< NDIM > &fine_box, const SAMRAI::hier::IntVector< NDIM > &ratio) override |
| |
◆ CartCellDoubleLinearCFInterpolation() [1/2]
| IBTK::CartCellDoubleLinearCFInterpolation::CartCellDoubleLinearCFInterpolation |
( |
| ) |
|
|
default |
◆ ~CartCellDoubleLinearCFInterpolation()
| IBTK::CartCellDoubleLinearCFInterpolation::~CartCellDoubleLinearCFInterpolation |
( |
| ) |
|
◆ CartCellDoubleLinearCFInterpolation() [2/2]
- Note
- This constructor is not implemented and should not be used.
- Parameters
-
| from | The value to copy to this object. |
◆ setPhysicalBoundaryConditions() [1/2]
Function to set data associated with the given list of patch data indices at patch boundaries that intersect the physical domain boundary. The patch data components set in this routine correspond to the "scratch" components specified in calls to the registerRefine() function in the SAMRAI::xfer::RefineAlgorithm class.
Presently, the implementation does nothing.
- Parameters
-
| patch | Patch on which to fill boundary data. |
| fill_time | Double simulation time for boundary filling. |
| ghost_width_to_fill | Integer vector describing maximum ghost width to fill over all registered scratch components. |
Implements IBTK::CoarseFineBoundaryRefinePatchStrategy.
◆ getRefineOpStencilWidth() [1/2]
Function to return maximum stencil width needed over user-defined data interpolation operations. This is needed to determine the correct interpolation data dependencies.
Implements IBTK::CoarseFineBoundaryRefinePatchStrategy.
◆ preprocessRefine() [1/2]
Function to perform user-defined preprocess data refine operations. This member function is called before standard refine operations (expressed using concrete subclasses of the SAMRAI::xfer::RefineOperator 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 SAMRAI::xfer::RefineAlgorithm class.
Presently, the implementation does nothing.
- 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 IBTK::CoarseFineBoundaryRefinePatchStrategy.
◆ postprocessRefine() [1/2]
Function to perform user-defined postprocess data refine operations. This member function is called after standard refine operations (expressed using concrete subclasses of the SAMRAI::xfer::RefineOperator 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 SAMRAI::xfer::RefineAlgorithm 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 IBTK::CoarseFineBoundaryRefinePatchStrategy.
◆ setConsistentInterpolationScheme()
| void IBTK::CartCellDoubleLinearCFInterpolation::setConsistentInterpolationScheme |
( |
bool |
consistent_type_2_bdry | ) |
|
|
overridevirtual |
◆ setPatchDataIndex()
| void IBTK::CartCellDoubleLinearCFInterpolation::setPatchDataIndex |
( |
int |
patch_data_index | ) |
|
|
overridevirtual |
◆ setPatchDataIndices() [1/2]
| void IBTK::CartCellDoubleLinearCFInterpolation::setPatchDataIndices |
( |
const std::set< int > & |
patch_data_indices | ) |
|
|
overridevirtual |
◆ setPatchDataIndices() [2/2]
◆ setPatchHierarchy()
◆ clearPatchHierarchy()
| void IBTK::CartCellDoubleLinearCFInterpolation::clearPatchHierarchy |
( |
| ) |
|
|
overridevirtual |
◆ computeNormalExtension()
◆ operator=()
- Note
- This operator is not implemented and should not be used.
- Parameters
-
| that | The value to assign to this object. |
- Returns
- A reference to this object.
◆ setPhysicalBoundaryConditions() [2/2]
Pure virtual function to set data associated with the given list of patch data indices at patch boundaries that intersect the physical domain boundary. The specific boundary conditions are determined by the user. The patch data components set in this routine correspond to the "scratch" components specified in calls to the registerRefine() function in the RefineAlgorithm<DIM> class.
- Parameters
-
| patch | hier::Patch on which to fill boundary data. |
| fill_time | Double simulation time for boundary filling. |
| ghost_width_to_fill | Integer vector describing maximum ghost width to fill over all registered scratch components. |
◆ getRefineOpStencilWidth() [2/2]
Pure virtual function to return maximum stencil width needed over user-defined data interpolation operations. This is needed to determine the correct interpolation data dependencies.
◆ preprocessRefine() [2/2]
Pure virtual function to perform user-defined preprocess data refine operations. This member function is called before standard refine 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 region. Recall that the scratch components are specified in calls to the registerRefine() function in the RefineAlgorithm<DIM> class.
- Parameters
-
| fine | Fine patch containing destination data. |
| coarse | Coarse patch containing source data. |
| fine_box | hier::Box region on fine patch into which data is refined. |
| ratio | Integer vector containing ratio relating index space between coarse and fine patches. |
◆ postprocessRefine() [2/2]
Pure virtual function to perform user-defined postprocess data refine operations. This member function is called after standard refine 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 region. Recall that the scratch components are specified in calls to the registerRefine() function in the RefineAlgorithm<DIM> class.
- Parameters
-
| fine | Fine patch containing destination data. |
| coarse | Coarse patch containing source data. |
| fine_box | hier::Box region on fine patch into which data is refined. |
| ratio | Integer vector containing ratio relating index space between coarse and fine patches. |
◆ 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. |
◆ 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. |
◆ d_patch_data_indices
| std::set<int> IBTK::CartCellDoubleLinearCFInterpolation::d_patch_data_indices |
|
private |
The patch data indices corresponding to the "scratch" patch data that is operated on by this class.
◆ d_consistent_type_2_bdry
| bool IBTK::CartCellDoubleLinearCFInterpolation::d_consistent_type_2_bdry = false |
|
private |
Boolean value indicating whether we are enforcing a consistent interpolation scheme at "Type 2" coarse-fine interface ghost cells.
◆ d_refine_op
Initial value:Refine operator employed to fill coarse grid ghost cell values.
◆ d_hierarchy
Cached hierarchy-related information.
◆ d_cf_boundary
◆ d_domain_boxes
◆ d_periodic_shift
The documentation for this class was generated from the following file: