Mesh adaptation or Mesh Refinement, in simple terms refers to increasing the resolution of an initial mesh, so as to accurately capture flow features. The goal of Mesh adaptation is capture as accurately the flow features with less computational effort. We shall discuss in brief on some of the concepts in mesh adaptation.
Mesh adaptation can be classified in general into three - r-refinement, h-refinement and p-refinement. A combination of these is also possible, for eg. hp- refinement and hr-refinement. We summarise these types of refinement below.
1. r-refinement : In this case, the increase in resolution is made possible by moving the grid points in regions of activity, which results in a greater clustering of points in those regions. The number of nodes and the connectivity still remain the same, however, there could be problems due to excessive grid skewness.
2. h-refinement: In this case, every "parent cell" is divided into "child cells". The choice of which parent cells to be divided is dealt with at a later stage. For every parent cell, a new point is added on each face. In 2-D for quad cells, a new point is added at the cell centroid also. On joining these points, we would then get 4 new "child cells". Thus every quad parent gives rise to four new offsprings. The advantage of such a procedure is that the topology of the cell still remains the same, a quad parent produces quad offsprings as does a tri parent producing a tri offspring. However, in comparison to r-refinement, it is easy to see that the number of points and cells increases compred to r-refinement.
Further, there are two ways of h-refinement: Isotropic and Anisotropic. Isotropic refinement, is waht was described a little back. In isotropic refinement, new points added in both the directions, say x and y. In anisotropic refinement, the division takes place in one predominant direction. Thus, in short an isotropic refinement for a quad would produce four new offsprings, while anisotropic refinement would only generate two. Anisotropic refinement is made use of, when the user knows that the flow feature is predominantly to be resolved in one direction, for eg. Boundary Layers. However, there are situations where an anisotropic refinement alone may not do the job, such as a shock-boundary layer interaction.
An additional point to be noted is that, mesh adaptation can lead to what are called as "Hanging nodes". In 2D, this happens when one of the cells sharing a face is divided and other is not. This leads to a node on the face which does not belong to one of the cells, and only to the other. The node "therefore" hangs on the face, which however is now divided, and therfore leads to arbitrary polyhedra. If we considred two quad cells, then one would be divided into four quads and other remains as it is. Though the topology seemingly remains same, the undivided cell now would have five faces rather than four due to the hanging node, leading to arbitrary polyhedra.
The simplest reifnement anyone can think of is to divide all cells in the domain. This is referred to as " Uniform Refinement". Although, it does improve the solution vastly, it is easy to realise that we are going for a huge unwanted effort in doing so. For eg., in the farfield region of an airfoil, cell division is not bringing in any imporvenment because the flow there does not experience any activity. Therefore, to achieve the goal of mesh adaptation, the refinement is done at "selected" regions alone based on certain criterion. This is referred to popularly as AMR or Adaptive Mesh Refinement. It is to be remarked that AMR does not only encompass division of cells into smaller ones ( Refinement ), but also the agglomeration of smaller cells into a larger one (De-refinement or coarsening), when the need arises.
3. p-refinement : A very popular tool in FEM rather than in FVM, it achieves increased resolution by increasing the order of accuracy of the polynomial in each element(or cell).
In AMR, the selction of "parent cells" to be divided is made on the basis of regions where there is appreciable flow activity. It is well known that in compressible flows, the major features would include Shocks, Boundary Layers and Shear Layers, Vortex flows, Mach Stem , Expansion fans and the like. It can also be seen that each feature has some "physical signature" that can be numerically exploited. For eg. shocks always involve a density/pressure jump and can be detected by their gradients, whereas boundary layers are always associated with rotationality and hence can be dtected using curl of velocity. In compressible flows, the velocity divergence, which is a measure of compressiblity is also a good choice for shocks and expansions. These sensing paramters which can indicate regions of flow where there are activity are referred to as ERROR INDICATORS and are very popular in AMR for CFD.
Just as refinement is possible by ERROR INDICATORS as mentioned above, certain other issues also assume relevance. Error Indicators do detect regions for refinement, they do not actually tell if the resolution is good enough at any given time. In fact the issue is very severe for shocks, the smaller the cell, the higher the gradient and the Indicator would keep on picking the region, unless a threshold is provided. Further, many users make use of conservtive values while refining a domain and generally end up in refining more than the essential portion of the grid, though not the complete domain. These refined regions are unneccesary and are in strict sense, contribution to unneccesary computational effort. It is at this juncture, that reliable and resonable measure of cell error become necessary to do the process of "Coarsening", which would reduce the above-said unnecessary refinement, with a view towards generatin an "Optimal mesh". The measures are given by sensors referred to as ERROR ESTIMATORS, literature on which is in abandunce in FEM, though these are very rare in FVM.