Mesh Smoothing

A new local optimization approach to the mesh smoothing problem that can easily serve as the kernel for an efficient parallel algorithm.


An Optimization Approach to Mesh Smoothing

Mesh smoothing techniques are used to improve mesh quality by changing the locations of grid points in the mesh without changing the mesh topology. The most common approaches to mesh smoothing are variants on Laplacian smoothing. While these smoothers are often effective, they operate heuristically with no effort to locate points specifically to improve some quality measure. We have developed a low cost,optimization-based smoothing alternative dor simplicial meshes that is effective in eliminating extremal angles in the mesh and guarantees improved mesh quality. We adjust grid point location in a local submesh consisting of the elements incident to the vertex to be smoothed by maximizing or minimizing a mesh quality measure that's expressed as an analytic function of grid point location. There are several mesh quality indicators that can be expressed in this way including element angle size and element aspect ratio. Any of these indicators can be used within the framework of our smoothing technique.

The local solution space for the optimization technique is the union of elements that are incident to the vertex to be moved. As the location of the vertex changes in the solution space, the mesh quality function in the corresponding submesh is given by a nonsmooth composite function ( click here for an example). This function is non-differentiable at points where the set of active points change. We formulate this as a nonsmooth optimization problem which is solved using an analogue of the steepest descent method. A quadratic subproblem is solved to find the direction of steepest descent from the set of linear combinations of the active gradients. The initial step size for each iteration is chosen by predicting the points at which the active set changes using the gradient information available.

This algorithm can be used as the kernel of an efficient parallel technique. Care must be taken to synchronize the processors to avoid corrupted neighbor information. It is clear that two adjacent vertices cannot be smoothed simultaneously since the optimal position for the vertex in its local submesh depends critically on the positions of the incident vertices. This synchronization problem can be avoided if vertices that are not adjacent to each other are adjusted in parallel. Such a set of vertices is called an independent set. Once the vertices in the independent set are adjusted and incident vertices are notified of the new vertex location, another independent subset can be chosen for adjustment.


Previous: Mesh Generation
Next: Adaptive Mesh Refinement
Back: Unstructured Mesh Home Page