# 3.4.11. H-Adaptivity Meshing

Note: we currently only allow uniform refinement with no load balancing (12/01). We have not yet decided on a scheme for integrating fluxes over h-refined meshes. We have not yet decided on a prolongation approach for the mass flow rate at faces.

## 3.4.11.1. H-Adaptivity and Flux Construction

The equation assembly in our control volume method is based on integrating fluxes over control volume sub-faces within an element. A typical h-adapted patch of elements is shown in Figure 3.47. The “hanging nodes” do not have control volumes associated with them. Rather, they are constrained to be a linear combination of the two parent edge nodes. There is no element assembly procedure to compute fluxes for the “handing sub-faces” associated with the hanging nodes that occur along the parent-child element boundary.

One possibility is to create a sub-set of element faces that contain hanging-nodes. The fluxes across the hanging sub-faces can then be processed using local nodal information. This precludes computing localized gradients across the face.

Fig. 3.47 Control volume definition on an h-adapted mesh with hanging nodes. (Four-patch of parent elements with refinement in bottom-right element.)

The SIERRA h-adaptive scheme is driven at the element level. Refinement occurs within the element and the topology of refined elements is the same as the parent element. If the topology restriction was relaxed, then the following schemes could be used.

Aftosmis [238] describes a vertex-centered finite-volume scheme on unstructured Cartesian meshes. A transitional set of control volumes are formed about the hanging nodes, shown in Figure 3.48. on unstructured meshes. ({em This would require a series of specialized master elements to deal with the different transition possibilities in SIERRA and would be a burden on the application teams.})

Fig. 3.48 Control volume definition on an h-adapted mesh with transition control volumes about the hanging nodes. (Four-patch of parent elements with refinement in bottom-right element.)

Kallinderis [239] describes a vertex-centered finite-volume scheme on unstructured quad meshes. Hanging nodes are treated with a constraint condition. The flux construction for a node on a refinement boundary is based on the unrefined parent elements, leading to a non-conservative scheme.

Kallinderis [240] describes a vertex-centered finite-volume scheme on unstructured tetrahedral meshes. Hanging nodes are removed by splitting the elements on the “unrefined” side of the refinement boundary. Mavriplis [241] uses a similar technique, but extends it to a general set of heterogeneous elements, shown in Figure 3.49. ({em This would require a change to the topology rules in SIERRA as well as splitting elements along the refinement boundary, but there would be little impact on the application codes other than supporting heterogeneous meshes.})

Fig. 3.49 Control volume definition on a heterogeneous h-adapted mesh with no hanging nodes. (Four-patch of parent elements with refinement in bottom-right element and splitting in adjacent parent elements.)

### 3.4.11.1.1. Prolongation and Restriction

Nodal variables are interpolated between levels of the h-adapted mesh hierarchy using the traditional prolongation and restriction operators defined over an element. The prolongation operation is used to compute values for new nodes that arise from element sub-division. The parent element shape functions are used to interpolate values from the parent nodes to the sub-divided nodes.

Prolongation and restriction operators for element variables and face variables are required to maintain mass flow rates that satisfy continuity.

### 3.4.11.1.2. Mass Continuity

Care must be taken to ensure continuity of mass between control volumes that contain hanging sub-faces. Especially since control-volume balances at hanging nodes are replaced by constraint conditions.

We need a list of the hanging faces as well as a means of identifying the hanging nodes on each face.

### 3.4.11.1.3. Nodal Gradients

The nodal gradients are approximated by integrating over the surface of the control volume and applying the discrete form of the Gauss divergence theorem. There are two possible approaches for dealing with the hanging sub-faces. In the first approach, the hanging sub-faces are processed separately. In the second approach, the sub-faces are ignored but the unclosed surface integral is corrected by a reference value, namely the nodal value associated with the control volume centroid,

(3.1185)

## 3.4.11.2. Dynamic Load-Balancing

Dynamic load-balancing is required as the mesh is adaptively refined across parallel processors. Some processors may end up with more refined elements, so the work load increases. We will use the Zoltan dynamics load-balancing package to drive the load-balancing. We need a good measure of the compute load, most likely a combination of the time to assemble equations and the solve them.