A free curved wall

A cylinder whose wall and caps may move, under the same Laplace passes: boundary="free", "tangent", "slide", and "slide" with an exact cylinder target.

free -4.48 % tangent +0.07 % slide -0.57 % exact wall +0.20 %
Volume change against the input, in % (closer to zero is better)

Key points

  • free shrinks a convex wall: the volume falls by 4.5 % and wall vertices leave the cylinder by up to 3.1e-02.

  • tangent keeps the volume (+0.07 %) but follows no target: wall vertices drift 3.2e-03 off the cylinder and rim vertices 0.0e+00 off the cap planes.

  • slide holds the boundary as meshed: caps exactly planar, wall vertices on the input’s faceted wall (2e-16) and rim vertices on a spline through the input rim (6.8e-03 off its chords); 1.3e-02 off the true cylinder is the facet chord error (sagitta 1.9e-02).

  • An exact Surface holds the true wall: with a cylinder target the wall vertices sit 1e-16 off it.

The numbers

boundary applies to every method; the runs here are Laplace only, where free and tangent differ most. Distances are the largest over the wall vertices to the exact cylinder and (rims excluded) to the input’s faceted wall, and over the cap vertices to the input cap planes.

variant

volume change (%)

off cylinder

off input facets (wall)

cap off-plane

inverted

min SJ

mean SJ

input

—

—

—

—

0

0.1418

0.6895

free

-4.48

3.1e-02

2.4e-02

0

0

0.4699

0.8687

tangent

+0.07

3.2e-03

9.1e-03

0

0

0.4700

0.8737

slide

-0.57

1.3e-02

1.9e-16

0

0

0.4700

0.8742

exact wall

+0.20

1.1e-16

1.2e-02

0

0

0.4700

0.8734

Bold: the best value in each column among the results (highest scaled Jacobian; lowest count, objective, time, change or distance); the input row is for reference.

Run python examples/smoother/hex/03_free_boundary.py to reproduce; it prints these numbers.