Hi everyone,
I was wondering are there any mesh smoothing options in Netgen? If so, what do they do (Laplace smoothing ?)
Is there a way to access them via the Python interface?
Best,
Umberto
Hi Umberto,
there is
Mesh.OptimizeMesh2d`
and
Mesh.OptimizeVolumeMesh
for the netgen-Mesh. The argument MeshingParameters has strings optimize2d and optimze3d, which specify a sequence of optimization steps.
There is smoothing (which optimizes mesh quality), and topological optimization like swapping, point collapsing, or point insertion.
It is already explained in the original Netgen paper, I think.
Joachim
Thank you! Indeed I found this also described in the original netgen paper.
From the docs I see the options used are “cmdmustm” but I can’t find the meaning of “u” and “t”.
| optimize3d: str = "cmdmustm"
| 3d optimization strategy:
| m .. move nodes
| M .. move nodes, cheap functional
| s .. swap faces
| c .. combine elements
| d .. divide elements
| p .. plot, no pause
| P .. plot, Pause
| h .. Histogramm, no pause
| H .. Histogramm, pause
|
| optsteps3d: int = 3
| Number of 3d optimization steps.
|
| optimize2d: str = "smcmSmcmSmcm"
| 2d optimization strategy:
| s .. swap, opt 6 lines/node
| S .. swap, optimal elements
| m .. move nodes
| p .. plot, no pause
| P .. plot, pause
| c .. combine
t
is now the same as capital D
SplitImprove2
: Split two opposite edges of very flat tet and let all 4 new segments have one common vertex
u
doesn’t do anything right now (commented out) it was a step to swapimprove the surface in between. But already out before 2009 (since we don’t change the surface mesh in volume meshing any more)