forked from 1b-agent/fieldcraft-upstream
mesh: one transfinite interpolation for mapped hex and mesh.block; stable oracle report (#52)
* mesh: one transfinite interpolation for mapped hex and mesh.block; stable oracle report mesh.block's lattice is now built from the structured hex mesher's transfinite code: faces by quad::transfinite_grid, the interior by the new quad::transfinite_volume (Gordon-Thiel, blended by the block's graded parameters), which hex::mapped now calls too. 2D patches are the transfinite_grid of their sides. Edge curves return their corners exactly. Oracle: a zero-reference quantity (rounding noise) keeps its absolute tolerance as its fixture band, and docs/oracle.md shows such noise and relative errors inside the fixture band as bounds, so the report no longer changes with the order of floating-point operations (it failed the 'docs/oracle.md is current' check on main after #50). Scordelis-Lo moved by 1.4e-9 relative (an ill-conditioned thin shell of solids: sub-ulp node changes) and is re-blessed. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm * simplify: shared face filling and lattice index; faces blended like the volume; exact ends for every edge quad::transfinite_faces fills a block's six faces (with a per-face hook that hex::mapped uses to project onto its B-rep faces) and quad::lattice_index fixes the lattice layout for all three users. transfinite_grid_blended blends faces by the block's graded parameters, so faces and interior use one parametrisation and mesh.block reproduces its earlier Gordon-Hall lattice (the Scordelis-Lo fixture is back to its blessed value). Straight edges also return their corners exactly. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm --------- Co-authored-by: jyviko <[email protected]> Co-authored-by: Claude Opus 5.5 <[email protected]>
This commit is contained in:
16 files changed
+331
-239
No files matched your search
@@ -2,7 +2,7 @@
|
||||
"note": "ModelCraft's accepted results for this case, written by `cargo xtask oracle --bless`. A result outside its band fails CI.",
|
||||
"values": {
|
||||
"balance": {
|
||||
"band": 0.000010000001527014124,
|
||||
"band": 0.01,
|
||||
"value": 0.0015270141220584757
|
||||
},
|
||||
"u_end": {
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"value": 19.999999999992152
|
||||
},
|
||||
"rigid_6": {
|
||||
"band": 8.126420325076649e-8,
|
||||
"band": 8.1264203095911e-5,
|
||||
"value": 1.5485547377408235e-7
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"value": 1.0000000000000002
|
||||
},
|
||||
"sxy": {
|
||||
"band": 1.000000000000374e-12,
|
||||
"band": 1e-9,
|
||||
"value": -3.738573156315291e-16
|
||||
},
|
||||
"syy": {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"value": 1.0000000000000033
|
||||
},
|
||||
"sxy": {
|
||||
"band": 1.0000000000005828e-12,
|
||||
"band": 1e-9,
|
||||
"value": 5.826462044860843e-16
|
||||
},
|
||||
"syy": {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"value": 1.0000000000000004
|
||||
},
|
||||
"sxy": {
|
||||
"band": 1.000000000000215e-12,
|
||||
"band": 1e-9,
|
||||
"value": -2.1490555370965863e-16
|
||||
},
|
||||
"syy": {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"value": 0.9999999999999999
|
||||
},
|
||||
"sxy": {
|
||||
"band": 1.0000000000001601e-12,
|
||||
"band": 1e-9,
|
||||
"value": -1.5987023023967256e-16
|
||||
},
|
||||
"syy": {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"value": 0.9999999999999987
|
||||
},
|
||||
"sxy": {
|
||||
"band": 1.0000000000027301e-12,
|
||||
"band": 1e-9,
|
||||
"value": 2.7299366180215153e-15
|
||||
},
|
||||
"syy": {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"value": 0.9999999999999988
|
||||
},
|
||||
"sxy": {
|
||||
"band": 1.0000000000000236e-12,
|
||||
"band": 1e-9,
|
||||
"value": 2.3335757696855974e-17
|
||||
},
|
||||
"syy": {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"value": 1.0000000000000007
|
||||
},
|
||||
"sxy": {
|
||||
"band": 1.000000000000084e-12,
|
||||
"band": 1e-9,
|
||||
"value": -8.37913026900662e-17
|
||||
},
|
||||
"syy": {
|
||||
|
||||
Reference in new issue
Block a user