|
| | OuternodeGeometry (const hier::Box< DIM > &box, const hier::IntVector< DIM > &ghosts) |
| | Construct an outernode geometry object given an AMR index space box and ghost cell width. More...
|
| |
| virtual | ~OuternodeGeometry () |
| | The virtual destructor does nothing interesting. More...
|
| |
| virtual tbox::Pointer< hier::BoxOverlap< DIM > > | calculateOverlap (const hier::BoxGeometry< DIM > &dst_geometry, const hier::BoxGeometry< DIM > &src_geometry, const hier::Box< DIM > &src_mask, const bool overwrite_interior, const hier::IntVector< DIM > &src_offset, const bool retry) const |
| | Compute the overlap in node-centered index space on the boundaries of the source box geometry and the destination box geometry. More...
|
| |
| const hier::Box< DIM > & | getBox () const |
| | Return the box for this outernode box geometry object. More...
|
| |
| const hier::IntVector< DIM > & | getGhosts () const |
| | Return the ghost cell width for this outernode box geometry object. More...
|
| |
| tbox::Pointer< BoxOverlap< DIM > > | calculateOverlap (const BoxGeometry< DIM > &src_geometry, const Box< DIM > &src_mask, const bool overwrite_interior, const IntVector< DIM > &src_offset) const |
| |
| virtual tbox::Pointer< BoxOverlap< DIM > > | calculateOverlap (const BoxGeometry< DIM > &dst_geometry, const BoxGeometry< DIM > &src_geometry, const Box< DIM > &src_mask, const bool overwrite_interior, const IntVector< DIM > &src_offset, const bool retry) const =0 |
| |
|
| static tbox::Pointer< hier::BoxOverlap< DIM > > | doOverlap (const NodeGeometry< DIM > &dst_geometry, const OuternodeGeometry< DIM > &src_geometry, const hier::Box< DIM > &src_mask, const bool overwrite_interior, const hier::IntVector< DIM > &src_offset) |
| | Compute the overlap between the source and destination objects, where the source has outernode geometry and the destination node geometry. More...
|
| |
| static tbox::Pointer< hier::BoxOverlap< DIM > > | doOverlap (const OuternodeGeometry< DIM > &dst_geometry, const NodeGeometry< DIM > &src_geometry, const hier::Box< DIM > &src_mask, const bool overwrite_interior, const hier::IntVector< DIM > &src_offset) |
| | Compute the overlap between the source and destination objects, where the source has node geometry and the destination outernode geometry. More...
|
| |
| static tbox::Pointer< hier::BoxOverlap< DIM > > | doOverlap (const OuternodeGeometry< DIM > &dst_geometry, const OuternodeGeometry< DIM > &src_geometry, const hier::Box< DIM > &src_mask, const bool overwrite_interior, const hier::IntVector< DIM > &src_offset) |
| | Compute the overlap between the source and destination objects, where the source has outernode geometry and the destination outernode geometry. More...
|
| |
template<int DIM>
class SAMRAI::pdat::OuternodeGeometry< DIM >
Class OuternodeGeometry<DIM> manages the mapping between the AMR index and the outernode geometry index space. It is a subclass of hier::BoxGeometry<DIM> and it computes intersections between outernode box geometries and node or outernode box geometries for communication operations.
See header file for OuternodeData<DIM> class for a more detailed description of the data layout.
- See also
- hier::BoxGeometry
-
pdat::NodeGeometry
-
pdat::NodeOverlap
Calculate the overlap between two box geometry objects given the source and destination (given by this) geometries, a source mask, the priority overwrite flag, and an offset between source and destination index spaces. The box overlap description returned by this function will be used in later copy and pack/unpack calls on the patch data object. The offset is from the source space into the destination index space. That is, if p is in the source index space, then p + sourceOffset is the corresponding point in the destination index space. The overwrite flag is used to represent priority between patches. If it is set, then the copy is allowed to modify the interior of the destination region. Note that the source and destination box geometries encode the geometry of the box that they represent; thus, it is possible to calculate intersections between different geometries. This will be necessary when copying data from flux sum counters into a face centered array in the AMR flux synchronization algorithm.