CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Main CFD Forum (
-   -   Mesh smoothing schemes (

Tony November 28, 2001 13:05

Mesh smoothing schemes
Hi there,

I am looking for a robust mesh smoothing technique for 2D unstructured grids, with fixed boundary nodes. I used the Laplacian smoothing. However, when the original internal mesh is very much distorted (nearly overlapped), the smoothing simply does not work. Any suggestion?

Thanks in advance.

Tony ,

Pete November 28, 2001 16:51

Re: Mesh smoothing schemes
For each interior grid point, consider all triangles incident to the point. Then place the vertex at the centroid of the polygon formed by these triangules.

A few iterations on this procedure (less than 5?) may do the trick.

Tony November 28, 2001 17:41

Re: Mesh smoothing schemes
Thanks kindly.

In fact, I am using this method. However, since the interior grid is so bad that it does not work very properly. Sometime the "smoothed" grid may run out of the boundary. Any comment?

Thanks again.


Pete November 28, 2001 18:31

Re: Mesh smoothing schemes
How about using a spring analogy method based on torsional springs? This may preserve positive volumes as the angle between edges (and hence area) becomes small. The vertices are then displaced by summing the moments and computing a change in angle.

Perhaps you could post an image of the mesh somewhere to give a better picture of what's happening.

Tony November 28, 2001 18:46

Re: Mesh smoothing schemes

What is the spring analogy method? Could you please provide some references?

I am doing some landslide simulations in Lagrangian frame. Whenever the mesh becomes nearly overlapping, I need to map it to a better mesh (it is activated automatically). The boundary is somewhat complicated, therefore I want the mapping robust.


Oliver November 28, 2001 19:41

Re: Mesh smoothing schemes
What exactly is the problem? Do your elements get inverted? Would it be allowed to change the mesh topology?

A very simple approach would be to check if any of the adjacent elements of a node get inverted. If that happens simply move the node as far as you can without inverting anything. By doing so, you will "push away" nodes which would otherwise block your smoother.

The best mesh smoother I know for triangular grids, would be to minimize the circum-circles of your triangles. This is more difficult to implement, though.


Pete November 28, 2001 19:56

Re: Mesh smoothing schemes
Before you jump to this approach, a simple technique you may want to try with your current method is to under-relax the change in node coordinates. This may be helpful if the computed change is too abrupt initially.

The basic concept of spring analogies, lineal or torsional, is that the mesh is represented as a system of interconnected springs, whose stiffness is inversely proportional to the edge length or the angle between edges. Forces/moments are then summed to zero as F = k*(delta x) for all edges incident to a given node, and a change in coordinate or angle is computed.

I can get those references to you tomorrow if the under-relaxation doesn't work.

As a last resort, if the change in grid topology is too great, a mesh movement may simply not be sufficient and you may have to resort to a local or complete mesh regeneration, which in 2D isn't that bad.

Pete November 29, 2001 08:12

Re: Mesh smoothing schemes
Along these lines, Tony, you may attempt to remove the high aspect ratio triangles (which have large circumradii) by performing edge swaps. This would apply to interior edges only, of course, but this operation will improve mesh quality as Oliver suggessted. A combination of edge swapping and node smoothing could help things.

Again, keep in mind that for large changes in boundary motion and/or topology, some degree of mesh reconstruction/regeneration is likely required. Good luck.

Helge November 29, 2001 08:51

Re: Mesh smoothing schemes
1) I worked on grid generation in my diploma thesis and that is many years ago so my comments may not be technical enough but may be they help. 2) Laplacian smooting is a bit like placing nodes on a 3rd order polynom in a 2D plane, hoping that

y_node_i - y_node_i+1

is always positiv or always negativ. This of course is not always the case since 3rd order polynoms are monotonous not very often 3) On of my teachers had the idea to develop a smooting scheme which behaves more in a exponential way. And as you know the exponential function always is monotonous 4) I implemented that scheme and it worked perfectly. 5) Unfortunately I do not have any papers or code listings of that work anymore. But I can offer to bring you in touch with him. If you like to talk to him please write me a personal email.

Tony November 29, 2001 12:54

Re: Mesh smoothing schemes

I tried under-relax. It did work.

The under-relax parameter must be small though, so that the iteration converges. I am thinking of incorporating a mesh generator later. Anyway, it solves my current problems.

Thanks to all.


Unstructured December 7, 2001 01:55

Re: Mesh smoothing schemes
Hello, Tony.

More efficient grid post smoothing algorithms are : 1. Topological clean up algorithm 2. Optimization based smoothing U can find related articles in Finite Element Arena. Algorithm 1 is very efficient even though grid quality was very unsatisfactory.

Good Luck.

All times are GMT -4. The time now is 22:48.