The Cartesian geometry package provides classes to manage a simple Cartesian mesh defined over an AMR mesh and to transfer data between levels of different spatial resolution in the mesh hierarchy (i.e., refining and coarsening). The Cartesian mesh is defined by the NDIM-tuple (dx[0],...,dx[NDIM-1]) of mesh increments given on the coarsest hierarchy level. The mesh increments on each finer level are determined by multiplying the increments on the coarsest level by the refinement ratio relating the index spaces between the two levels. More simply put, the mesh spacing on each hierarchy level is constant in each coordinate direction and that spacing is determined by refinement ratios between the level and the mesh on the coarsest level.
In the interest of brevity, we include header file documentation for a single data coarsen operator and a single data refine operator here. These interlevel data transfer operators are representative of all other operator classes in the Cartesian geometry package. The minor exceptions to this are the details of the individual operators, such as stencil width, operator priority, identifier name string, etc. For reference, we list below the spatial coarsen and refine operators currently available for Cartesian geometry and the string identifiers that can be used to look them up using the xfer_GeometryX class. It is important to note that new operators may be added at any time without re-compilation of the Cartesian geometry package or SAMRAI library code.
-
Coarsen operators:
-
Cell-Centered patch data:
-
Volume-weighted averaging for complex, double, float data. String identifier is "CONSERVATIVE_COARSEN".
-
Edge-Centered patch data:
-
Area-weighted averaging for complex, double, float data. String identifier is "CONSERVATIVE_COARSEN".
-
Face-Centered patch data:
-
Area-weighted averaging for complex, double, float data. String identifier is "CONSERVATIVE_COARSEN".
-
Node-Centered patch data:
-
Constant averaging (i.e., injection) for complex, double, float, integer data. String identifier is "CONSTANT_COARSEN".
-
Outerface patch data:
-
Area-weighted averaging for complex, double, float data. String identifier is "CONSERVATIVE_COARSEN".
-
Outerside patch data:
-
Area-weighted averaging for double data. String identifier is "CONSERVATIVE_COARSEN".
-
Side-Centered patch data:
-
Area-weighted averaging for complex, double, float data. String identifier is "CONSERVATIVE_COARSEN".
-
Refine operators:
-
Cell-Centered patch data:
-
Constant interpolation for complex, double, float, integer data. String identifier is "CONSTANT_REFINE".
-
Conservative linear interpolation for complex, double, float data. String identifier is "CONSERVATIVE_LINEAR_REFINE".
-
Linear interpolation for complex, double, float data. String identifier is "LINEAR_REFINE".
-
Edge-Centered patch data:
-
Constant interpolation for complex, double, float, integer data. String identifier is "CONSTANT_REFINE"
-
Conservative linear interpolation for double and float data. String identifier is "CONSERVATIVE_LINEAR_REFINE".
-
Face-Centered patch data:
-
Constant interpolation for complex, double, float, integer data. String identifier is "CONSTANT_REFINE"
-
Conservative linear interpolation for double and float data. String identifier is "CONSERVATIVE_LINEAR_REFINE".
-
Node-Centered patch data:
-
Linear interpolation for complex, double, float data. String identifier is "LINEAR_REFINE".
-
Outerface patch data:
-
Constant interpolation for complex, double, float, integer data. String identifier is "CONSTANT_REFINE".
-
Outerside patch data:
-
No refine operators are currently available for this type.
-
Side-Centered patch data:
-
Constant interpolation for complex, double, float, integer data. String identifier is "CONSTANT_REFINE".
-
Conservative linear interpolation for double and float data. String identifier is "CONSERVATIVE_LINEAR_REFINE".
For information on mesh-independent operators, including constant spatial refinement operators, and linear time interpolation operators, see
For information on the options to use user-defined operators for coarsening, refining, and time interpolation, or the option to use no such operators, see
Generated on Thu Jun 18 11:28:17 2009 for SAMRAI by
1.5.1