file.sample rubber-seal: a gasket ring of hybrid hex8 elements in four mapped quarter blocks, squeezed 2.5 mm between plates bonded to it (nonlinear static, Mooney-Rivlin rubber). Its test frees the plates and matches the closed form for incompressible uniaxial compression within 3 %, and bounds the bonded ring's extra stiffness. The plates are prescribed displacements until implicit contact (#161) can press it into a groove. Closes #163 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo
3.0 KiB
Examples
Every example is a built-in sample: open it from File ▸ Samples (or the start screen), with
fieldcraft --sample NAME, or with the file.sample command ({"name": "drop-test"}), then
press Solve (solve.run). Each opens fully defined — geometry, mesh, materials, boundary
conditions, loads and steps — in mm, t, s, N and MPa, and opens and solves within half a minute. The geometry is our
own: SolidCraft scripts run when the sample opens (a recipe from tests/corpus
or one written in crates/engine/src/sample.rs). Each sample has a test in
crates/engine/src/sample.rs that opens it, checks it clean, solves it and holds its result to
the check given below.
Drop test (drop-test)
An aluminium L-bracket (60 × 40 mm foot, 50 mm upright, 8 mm thick, R6 fillet) falls 2 m onto a rigid floor tilted 15°, so the end of its foot strikes first. Explicit dynamics for 1 ms with gravity: 1 911 swept hex8 elements (one-point, stiffness hourglass control), bilinear plasticity (yield 240 MPa), the floor a rigid wall. About 8 400 increments, a few seconds.
Look at: the frames from the strike (Results ▸ Frame): the compression wave leaves the struck corner and the upright's inertia bends the fillet, where von Mises peaks near 120 MPa — below yield, so the drop leaves no permanent set. The energies plot shows the kinetic energy turning into vibration with a balance under 0.01 %.
Check: the mass equals ρ V of the bracket (0.5 %); it meets the floor at √(2 g h) = 6.26 m/s, with ½ m v² = 1 748 mJ of kinetic energy (1 %); energy is conserved (balance < 1 %); by 1 ms the floor has taken about half its downward momentum.
Rubber seal (rubber-seal)
A rubber gasket ring (20 mm inside radius, 30 mm outside, 10 mm high) squeezed 2.5 mm (25 %) between two plates bonded to it. Generic rubber, E = 6 MPa, ν = 0.49, Mooney–Rivlin with C01 = 0.2 MPa; 1 000 hybrid (u–p) hex8 elements in four mapped quarter blocks. Nonlinear static with large deformation: Newton–Raphson in nine increments, under a second.
Look at: the deformed shape at scale 1 — the free inner and outer walls bulge out, and von Mises peaks (about 7 MPa) where the bulge meets the bonded plates. Results ▸ Increment steps through the converged increments.
Check: the same ring between frictionless plates compresses evenly, and its force matches the closed form for an incompressible Mooney–Rivlin solid in uniaxial compression, P = 2 (λ − λ⁻²)(C10 + C01/λ) per original area: 3 430 N against 3 466 N (within 3 %). Bonded, the bulge makes it stiffer (shape factor 0.5): 6 518 N, held between 1.05 and 2.5 times the frictionless force. The groove and the plates are prescribed displacements today; with implicit contact (#161) the ring will be pressed by contact against a groove.

