Which method when¶
The smoother has three methods, Laplace smoothing, Winslow smoothing and an optimizer, and a schedule that combines Laplace and the optimizer. Each runs here on the same inputs with the same constraints, so the differences are the method’s own.
The four runs¶
method |
call |
runs |
at most |
|---|---|---|---|
Laplace only |
|
one Laplace stage |
100 Laplace passes |
Winslow only |
|
one Winslow stage at its defaults |
200 Winslow sweeps |
Optimizer only |
|
one optimizer stage at the default |
200 optimizer iterations |
Combined |
|
|
30 Laplace passes, 200 optimizer iterations, 10 local Laplace passes; plus 300 optimizer iterations when a quad starts inverted |
Side by side¶
One row per input, every panel on the row at one scale. The L-shape is a concave outline meshed as one block; its reflex corner is the point (1, 1).
annulus
min J 0.24
min J 0.99
min J 0.94
min J 0.94
min J 0.94
free disk
min J 0.27 · area +0.0 %
min J 0.72 · area +0.0 %
min J 0.85 · area +0.0 %
min J 0.86 · area +0.0 %
min J 0.86 · area +0.0 %
tangled square
min J -0.98 · 4 inverted
min J 1.00 · 0 inverted
min J 1.00 · 0 inverted
min J -0.98 · 4 inverted
min J 1.00 · 0 inverted
sphere
min J -0.32 · 3 inverted
min J 0.83 · 0 inverted
min J 0.87 · 0 inverted
min J 0.87 · 0 inverted
min J 0.87 · 0 inverted
graded layer
min J 0.46 · layer as meshed
min J 0.86 · layer +229 %
min J 0.86 · layer +207 %
min J 0.32 · layer +584 %
min J 0.36 · layer +746 %
L-shape
min J -0.32 · 10 inverted (9 off the corner)
min J -0.95 · 6 inverted (5 off the corner)
min J -0.68 · 1 inverted, at the corner
min J -0.35 · 9 inverted (8 off the corner)
min J -0.72 · 3 inverted (2 off the corner)
Scoreboard¶
The shape and size rows count the inputs (of 6) on which each method is best; the others are one input’s reading. Best in bold; readings within 0.1 % of each other tie, and a tie counts for each method.
reading |
Laplace only |
Winslow only |
Optimizer only |
Combined schedule |
|
|---|---|---|---|---|---|
shape |
min scaled J |
2 |
2 |
3 |
3 |
shape |
mean phi |
0 |
4 |
3 |
5 |
size |
size ratio max |
1 |
4 |
1 |
2 |
size |
CV of area |
3 |
1 |
1 |
3 |
tangled input |
tangled squares repaired (of 8) |
8 |
8 |
1 |
8 |
concave |
L-shape, inverted quads left (input 10) |
6 |
1 |
9 |
3 |
free boundary |
area change, free disk (%) |
+0.0 |
+0.0 |
+0.0 |
+0.0 |
grading |
graded layer, thickness change (%) |
+229 |
+207 |
+584 |
+746 |
cost |
seconds per run, mean |
0.03 |
0.15 |
0.39 |
0.44 |
What this shows¶
Shape. On the 4 inputs every method leaves valid, the optimizer (alone or combined) has the lowest mean phi, the quantity it minimises. Winslow comes within 0.001 of it on the annulus and sphere, in 56 % of its time. By min scaled J, Laplace wins on the annulus and graded layer, the optimizer on the free disk and sphere: the scaled J reads angles only.
Concave outline. The L-shape’s Coons patch starts with 10 inverted quads. Laplace leaves 6, the optimizer alone 9, the combined schedule 3; Winslow leaves 1, only at the reflex corner, where two quads share a 270-degree turn.
Size. No method evens element size everywhere: Laplace has the lowest spread of area (CV) on the annulus, free disk and L-shape, another method on the tangled square, sphere and graded layer.
Tangled squares. Of 8 tangled squares, Laplace repaired 8, Winslow 8, the optimizer alone 1 (at the default
deltait stops after 1 iteration), the combined schedule 8.Free boundary. The disk has
boundary="tangent": a boundary vertex slides along the boundary and never moves inward, so the area is kept (Laplace +0.0 %, Winslow +0.0 %, optimizer +0.0 %). The optimizer works there too: it runs 200 iterations to min scaled J 0.857, against a frozen boundary’s 0.857 andboundary="slide"’s 0.856. Withboundary="free"Laplace pulls the boundary onto its chords (-15.7 %) and the optimizer lets the rim cells grow (+61.7 %). Geometry you know goes on the boundary asOnCurve(Constraints and projection).Grading. Every method thickens the graded layer: Laplace +229 %, Winslow +207 % (its guard stopped it after 3 sweeps), the optimizer +584 %; see Boundary layers and grading.
Cost. A Laplace pass costs 0.4 ms, a Winslow sweep 0.9 ms, an optimizer iteration 4.3 ms with its line search. Medians over the inputs; single runs on a laptop, running serial.
Every reading, per input
annulus
reading |
input |
Laplace only |
Winslow only |
Optimizer only |
Combined schedule |
|---|---|---|---|---|---|
min scaled J |
0.238 |
0.986 |
0.944 |
0.940 |
0.940 |
mean scaled J |
0.812 |
0.996 |
0.987 |
0.986 |
0.986 |
mean phi |
4.915 |
1.504 |
1.447 |
1.446 |
1.447 |
size ratio max |
1.88 |
1.11 |
1.07 |
1.08 |
1.08 |
CV of area |
0.350 |
0.295 |
0.419 |
0.424 |
0.426 |
area change (%) |
+0.0 |
+0.0 |
+0.0 |
+0.0 |
+0.0 |
inverted |
0 |
0 |
0 |
0 |
0 |
seconds |
– |
0.04 |
0.13 |
0.44 |
0.39 |
free disk
reading |
input |
Laplace only |
Winslow only |
Optimizer only |
Combined schedule |
|---|---|---|---|---|---|
min scaled J |
0.266 |
0.725 |
0.855 |
0.857 |
0.857 |
mean scaled J |
0.863 |
0.970 |
0.979 |
0.978 |
0.978 |
mean phi |
3.522 |
1.604 |
1.063 |
1.060 |
1.059 |
size ratio max |
1.72 |
1.31 |
1.45 |
1.41 |
1.41 |
CV of area |
0.477 |
0.316 |
0.695 |
0.643 |
0.650 |
area change (%) |
+0.0 |
+0.0 |
+0.0 |
+0.0 |
+0.0 |
inverted |
0 |
0 |
0 |
0 |
0 |
seconds |
– |
0.04 |
0.19 |
0.71 |
0.41 |
tangled square
reading |
input |
Laplace only |
Winslow only |
Optimizer only |
Combined schedule |
|---|---|---|---|---|---|
min scaled J |
-0.983 |
0.999 |
1.000 |
-0.983 |
1.000 |
mean scaled J |
0.832 |
1.000 |
1.000 |
0.832 |
1.000 |
mean phi |
1.1e+04 |
1.001 |
1.000 |
1.2e+11 |
1.000 |
size ratio max |
4.34 |
1.02 |
1.00 |
4.33 |
1.00 |
CV of area |
0.283 |
0.019 |
0.000 |
0.283 |
0.000 |
area change (%) |
+0.0 |
+0.0 |
+0.0 |
+0.0 |
+0.0 |
inverted |
4 |
0 |
0 |
4 |
0 |
seconds |
– |
0.03 |
0.04 |
0.00 |
0.26 |
tangled squares repaired (of 8) |
0 |
8 |
8 |
1 |
8 |
sphere
reading |
input |
Laplace only |
Winslow only |
Optimizer only |
Combined schedule |
|---|---|---|---|---|---|
min scaled J |
-0.319 |
0.826 |
0.868 |
0.868 |
0.868 |
mean scaled J |
0.787 |
0.973 |
0.973 |
0.973 |
0.973 |
mean phi |
3.786 |
1.067 |
1.059 |
1.060 |
1.060 |
size ratio max |
3.56 |
1.31 |
1.26 |
1.24 |
1.24 |
CV of area |
0.468 |
0.234 |
0.204 |
0.193 |
0.193 |
area change (%) |
+0.0 |
+0.7 |
+0.6 |
+0.7 |
+0.7 |
inverted |
3 |
0 |
0 |
0 |
0 |
seconds |
– |
0.04 |
0.36 |
0.44 |
0.70 |
graded layer
reading |
input |
Laplace only |
Winslow only |
Optimizer only |
Combined schedule |
|---|---|---|---|---|---|
min scaled J |
0.465 |
0.862 |
0.858 |
0.317 |
0.358 |
mean scaled J |
0.915 |
0.995 |
0.994 |
0.925 |
0.903 |
mean phi |
18.544 |
7.490 |
8.349 |
4.070 |
3.997 |
size ratio max |
3.61 |
1.97 |
1.92 |
2.55 |
2.49 |
CV of area |
0.690 |
0.547 |
0.564 |
0.397 |
0.368 |
area change (%) |
+0.0 |
+0.0 |
+0.0 |
+0.0 |
+0.0 |
inverted |
0 |
0 |
0 |
0 |
0 |
seconds |
– |
0.03 |
0.01 |
0.74 |
0.74 |
layer thickness change, max (%) |
0 |
229 |
207 |
584 |
746 |
L-shape
reading |
input |
Laplace only |
Winslow only |
Optimizer only |
Combined schedule |
|---|---|---|---|---|---|
min scaled J |
-0.316 |
-0.948 |
-0.678 |
-0.352 |
-0.722 |
mean scaled J |
0.806 |
0.832 |
0.887 |
0.806 |
0.818 |
mean phi |
2.0e+12 |
1.0e+12 |
2.471 |
4.5e+11 |
768.719 |
size ratio max |
8.06 |
3.12 |
2.24 |
9.79 |
4.29 |
CV of area |
0.530 |
0.483 |
0.493 |
0.538 |
0.515 |
area change (%) |
+0.0 |
+0.0 |
+0.0 |
+0.0 |
+0.0 |
inverted |
10 |
6 |
1 |
9 |
3 |
seconds |
– |
0.03 |
0.17 |
0.01 |
0.14 |
inverted away from the reflex corner |
9 |
5 |
0 |
8 |
2 |
Trade-offs¶
method |
good at |
weak at |
cost |
use when |
|---|---|---|---|---|
Laplace only |
cheap; never adds an inverted quad; best min scaled J on simple planar patches; repaired every tangled square here |
blind to phi; folds stay on a concave outline (6 left on the L-shape); relaxes grading |
0.4 ms a pass |
a cheap first pass, or a valid result is enough |
Winslow only |
a concave outline: only the reflex-corner quad stays folded (1 left on the L-shape); the optimizer’s shape on valid, ungraded input in 56 % of its time; repaired every tangled square |
erases grading once its guard lets it run (+778 % with |
0.9 ms a sweep |
Laplace fails: a concave outline, a thin curved block (Winslow smoothing) |
Optimizer only |
lowest phi; weights and constraints act inside it |
stalls on a tangle at the default |
4.3 ms an iteration |
a valid input whose shape is the goal |
Combined |
optimizer passes with a wide-to-narrow |
the optimizer’s cost, grading and boundary behaviour |
0.44 s a run (mean) |
the default; any damaged or unknown input |
In practice¶
Attach geometry first (Constraints and projection), or use
boundary="slide"when there is none:"free"shrinks a convex boundary under Laplace and grows it under the optimizer;"tangent"holds it for every method.Start from
s.suggest(): when a quad starts inverted it leads with optimizer passes over a wide-to-narrowdelta.Add a Winslow stage by hand where Laplace fails: a concave outline, a thin curved block (Winslow smoothing).
Protect designed grading with
KeepLayer(Boundary layers and grading); Winslow needs it most.Judge by more than one reading: the scaled Jacobian is blind to edge ratio, size and grading.
References¶
K. Mittal, P. Fischer, “Mesh smoothing for the spectral element method”, J. Sci. Comput. 78(2), 1152-1173 (2019), doi:10.1007/s10915-018-0812-9. Used for: The approach this smoother follows for spectral-element meshes. Cited as a record; its method is not summarised here.
K. Mittal, “Spectral element mesh generation and improvement methods”, M.S. thesis, University of Illinois at Urbana-Champaign (2016), hdl:2142/95509. Used for: With the paper above, the mesh-improvement approach this smoother follows for spectral-element meshes.
S. A. Canann, J. R. Tristano, M. L. Staten, “An approach to combined Laplacian and optimization-based smoothing for triangular, quadrilateral, and quad-dominant meshes”, 7th International Meshing Roundtable, Sandia National Laboratories (1998); no DOI. Used for: A combination of constrained Laplacian smoothing with an optimization-based smoother for triangle, quad and mixed meshes: the idea of the combined schedule.