Page actions
instrument implementation / implementation-contract
Mohr's Circle for 3D Stress (Principal Stresses) implementation
A source-bound implementation contract for Mohr's Circle for 3D Stress (Principal Stresses); deployment and executable qualification remain separate.
Binding contract
This record describes what an executable surface must bind and validate. It does not claim that a public calculator, package, or production route is deployed.
- Record owner
- Guth Instruments
- Lifecycle
- verified-clean
- Evidence ID
- t8-007
- Effect
- Computation or source lookup only
Input and validation requirements
The extreme-magnitude vector exposes a numeric hazard: although the exact mathematical principal stresses are finite, binary64/JavaScript arithmetic overflows the τmax subtraction to Infinity, and cubic characteristic-equation coefficient formation can also overflow.
Required corrections
No binding erratum is attached to this unique-name record. Implementers must still preserve the declared units, domain, and failure behavior.
Inspectable interface fixture
The sample below is evidence for interface and validation tests, not a production implementation.
{
"inputs": {
"sigma_x": "0 MPa",
"sigma_y": "0 MPa",
"sigma_z": "0 MPa",
"tau_xy": "0 MPa",
"tau_yz": "0 MPa",
"tau_zx": "0 MPa"
},
"expected_outputs": {
"principal_stresses": [
"0 MPa",
"0 MPa",
"0 MPa"
],
"tau_max": "0 MPa",
"canonical_exact_result": {
"characteristic_polynomial": "lambda^3",
"eigenvalues": [
"0",
"0",
"0"
],
"ordering": "sigma1 = sigma2 = sigma3 = 0"
},
"eigenvector_verification": {
"A_v1": [
"1.000000000",
"0.000000000",
"0.000000000"
],
"lambda1_v1": [
"0.000000000",
"0.000000000",
"0.000000000"
],
"A_v2": [
"0.000000000",
"1.000000000",
"0.000000000"
],
"lambda2_v2": [
"0.000000000",
"0.000000000",
"0.000000000"
],
"A_v3": [
"0.000000000",
"0.000000000",
"1.000000000"
],
"lambda3_v3": [
"0.000000000",
"0.000000000",
"0.000000000"
]
},
"spot_checks": [
{
"at": "zero tensor, eigenvalue 1",
"input_side": 0,
"answer_side": 0
},
{
"at": "zero tensor, eigenvalue 2",
"input_side": 0,
"answer_side": 0
}
]
},
"reference_data": {
"stress_tensor": "[[0,0,0],[0,0,0],[0,0,0]] MPa",
"eigenvectors": [
"[1,0,0]",
"[0,1,0]",
"[0,0,1]"
]
},
"working": "A = [[0,0,0],[0,0,0],[0,0,0]] MPa.\n det(lambda I - A) = det([[lambda,0,0],[0,lambda,0],[0,0,lambda]]) = lambda^3.\n Therefore lambda = 0, 0, 0 MPa, so sigma1 = sigma2 = sigma3 = 0 MPa.\n tau_max = (sigma1 - sigma3)/2 = (0 - 0)/2 = 0 MPa.\n Verification: A times each coordinate-basis eigenvector is [0,0,0], equal to lambda times that eigenvector."
}Other records
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.jsonevidence-tranche8/tranche8-results.json