Sliding on a box

With boundary="slide" (a fitted OnSurface per face, a fitted OnCurve per edge) a boundary vertex moves within the boundary as meshed: on its face plane, along its edge line, or not at all at a corner.

input 0.09 frozen 0.30 slide 1.00
Minimum scaled Jacobian (higher is better)

Key points

  • Face vertices stay on their planes (largest distance 7.8e-16, round-off) and edge vertices on their lines (0); the 8 corners do not move (0).

  • Sliding lets the boundary spacing even out: minimum scaled Jacobian 1.00 against 0.30 with the boundary frozen.

  • The constraints come from the mesh: with no target passed, resolve found 6 planar patches, 12 edge lines and 8 frozen corners.

  • A box is the easy case: every hex can become a cube, so sliding reaches a perfect grid.

The numbers

Distances are each boundary vertex’s distance to its input face plane or edge line; corner move is the largest corner displacement.

boundary

inverted

min SJ

mean SJ

worst 5 % SJ

face off-plane

edge off-line

corner move

input

0

0.0887

0.6640

0.3174

—

—

—

frozen

0

0.3008

0.8737

0.6208

0

0

0

slide

0

1.0000

1.0000

1.0000

7.8e-16

0

0

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/02_slide_box.py to reproduce; it prints these numbers.