Mesh-level h-refinement operations for 2-D quadrilateral meshes (AMR Stage 2).
This module assembles a refined Mesh2D_t from the element-local primitives in SELF_RefinementPrimitives_2D. The currently supported operation is uniform refinement - splitting every element 2:1 in each direction into four children - which keeps the mesh conforming (no hanging nodes) and therefore needs neither the mortar machinery nor 2:1 balancing. Adaptive (flagged) refinement with hanging nodes and mortar regeneration is AMR Stage 4; dynamic MPI re-partitioning of the refined mesh is Stage 5. Uniform refinement is therefore restricted to a single rank here, and guards against multi-rank input.
Produce meshOut, a uniformly refined copy of meshIn: every element is split into four children. Child geometry is generated by exact isoparametric subdivision of the parent geometry (so the refined mesh represents the identical curved domain), and connectivity / flips are inherited deterministically from the base mesh. meshOut is a fully-formed, conforming Mesh2D_t with 4x the elements, ready for geometry generation and time stepping.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(Mesh2D), | intent(in) | :: | meshIn | |||
| type(Mesh2D), | intent(out) | :: | meshOut |