forked from 1b-agent/fieldcraft-upstream
The oracle binary (modelcraft-testkit) runs each case's recipe through the command engine, measures its quantities by JSON pointers into step outputs or commands, compares them with the cited references and the frozen fixtures, and writes docs/oracle.md. 20 theory cases (patch tests of every solid element, Timoshenko cantilevers, Lame, Kirsch, beam frequencies, torsion and bending through couplings, explicit waves and impact, CDT invariants), 8 published benchmarks (MacNeal-Harder patch, straight and curved cantilevers, thick cylinder, Scordelis-Lo with solids, NAFEMS LE1, LE10, FV32) and 10 pending cases with citations. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm
45 lines
1.6 KiB
JSON
45 lines
1.6 KiB
JSON
{
|
||
"title": "Pure bending through a distributing coupling",
|
||
"kind": "theory",
|
||
"source": "Euler–Bernoulli pure bending, σ = M_y z/I, θ = ML/(EI) (exact in elasticity for ν = 0); Timoshenko and Goodier, Theory of Elasticity, 3rd ed., 1970, §102",
|
||
"quantities": [
|
||
{
|
||
"id": "sigma_top",
|
||
"quantity": "bending stress σ_xx at mid-span, top fibre (10, 0.5, 1)",
|
||
"measure": {
|
||
"command": "solve.probe",
|
||
"params": {
|
||
"step": "Bend",
|
||
"at": [
|
||
[
|
||
10.0,
|
||
0.5,
|
||
1.0
|
||
]
|
||
]
|
||
},
|
||
"pointer": "/nodes/0/stress/0"
|
||
},
|
||
"value": 15.0,
|
||
"tolerance": {
|
||
"relative": 0.005
|
||
},
|
||
"reason": "with ν = 0 pure bending is a quadratic displacement field that hex20 represents exactly; the coupling's nodal force pattern differs from the linear traction only within a depth or two of the end (Saint-Venant), five depths from the probe"
|
||
},
|
||
{
|
||
"id": "rotation",
|
||
"quantity": "rotation of the reference point about y",
|
||
"measure": {
|
||
"from": "solve",
|
||
"pointer": "/reference_points/0/displacement/4"
|
||
},
|
||
"value": 0.30000000000000004,
|
||
"tolerance": {
|
||
"relative": 0.01
|
||
},
|
||
"reason": "the reference point follows the best-fit rigid motion of the end section, which the end zone's local deformation disturbs by well under 1%",
|
||
"known_failure": "1.2% high: the distributing coupling weights every node of the end face equally, corner and mid-side nodes of hex20 alike, which is not the consistent linear traction; the end face deforms locally and the fitted rotation includes it. Area-consistent weights would remove it"
|
||
}
|
||
]
|
||
}
|