Page actions
instrument / verified-clean
Truss Solver (Method of Joints)
The current ledger marks this instrument verified clean within the source-bound verification corpus.
Inspectable records
Ledger state
The current ledger marks this instrument verified clean within the source-bound verification corpus.
- Area
- Mechanical, Civil & Structural Engineering — Statics/Dynamics, Strength of Materials, Machine Design, Civil, HVAC, Vibration
- Tranche
- tranche-8
- Evidence ID
- t8-011
- Ledger rows
- 1
No ledger note is attached.
Review findings
The equilibrium formulation and stated application are correct for ideal, stable, statically determinate 2D pin-jointed trusses. Verdict is NEEDS_REVIEW because the specification omits required unit conventions, member-force sign convention, ideal-truss assumptions, and a stability/singularity test; the m+r=2j honest label must not be treated as a sufficient validity check.
Formula and scope findings
- The stated equilibrium equations are the standard method, but m+r=2j is only a necessary determinacy count, not a sufficient stability test; the solver must also detect mechanisms, geometric instability, duplicate or dependent equilibrium equations, and singular matrices.
- The specification does not explicitly state the member-force sign convention, assumed here as positive=tension and negative=compression.
- The method assumes an ideal pin-jointed planar truss: loads and reactions act at joints, members are straight two-force members, joints are frictionless pins, and self-weight is either omitted or converted to equivalent joint loads.
- The reaction equations and support constraints must be assembled consistently with the support types; the formula description does not state how pin, roller, or other restraints map into unknown reactions.
- A singular or ill-conditioned linear system must be rejected rather than solved as a valid truss result.
Unit assumptions
- All joint coordinates must use one consistent length unit, and all applied loads must use one consistent force unit; member forces and reactions are returned in the force unit of the loads.
- Direction cosines are dimensionless, so coordinates in millimetres produce the same force ratios as equivalent coordinates in metres, provided all coordinates use the same length unit.
- Moments used for reaction checks have force-length units, such as N·mm or kN·m, with consistent conversion.
- Test vectors use positive x to the right, positive y upward, counterclockwise positive moments, and positive member force for tension.
Boundary hardening
BREAK_CLAIMED · SELF_FLAGGED
A coincident pair of joints creates a zero-length member whose direction cosines contain 0/0, so the solver must reject the input rather than pass it to the matrix solver. Sign and directional conventions also require explicit handling to avoid reversed tension/compression and reaction signs.
Errata and corrections
No applied erratum is attached to this unique-name record.
Inspectable example
4 review vectors are recorded. One source-bound sample is shown below.
{
"inputs": {
"joints": {
"A": [
0,
0
],
"B": [
4,
0
],
"C": [
2,
3
]
},
"members": {
"AB": [
"A",
"B"
],
"AC": [
"A",
"C"
],
"BC": [
"B",
"C"
]
},
"supports": {
"A": {
"type": "pin"
},
"B": {
"type": "roller",
"restrained_direction": "y"
}
},
"loads": {
"C": {
"Fx": 0,
"Fy": -10
}
},
"coordinate_unit": "m",
"force_unit": "kN",
"sign_convention": "positive=tension",
"determinacy_check": "m+r=2j"
},
"expected_outputs": {
"member_forces": {
"AB": "10/3 kN (tension)",
"AC": "-5*sqrt(13)/3 kN (compression)",
"BC": "-5*sqrt(13)/3 kN (compression)"
},
"reactions": {
"A": {
"Rx": "0 kN",
"Ry": "5 kN"
},
"B": {
"Ry": "5 kN"
}
},
"determinacy": {
"m": 3,
"r": 3,
"j": 3,
"m_plus_r": "6",
"two_j": "6"
},
"joint_residuals": {
"A": [
"0 kN",
"0 kN"
],
"B": [
"0 kN",
"0 kN"
],
"C": [
"0 kN",
"0 kN"
]
}
},
"reference_data": {
"member_lengths": {
"AB": "4 m",
"AC": "sqrt(13) m",
"BC": "sqrt(13) m"
},
"direction_cosines": {
"AC": {
"from_A_to_C": [
"2/sqrt(13)",
"3/sqrt(13)"
]
},
"BC": {
"from_B_to_C": [
"-2/sqrt(13)",
"3/sqrt(13)"
]
}
}
},
"working": "Global reactions: sum M_A=0 gives 4*B_y-10*2=0, so B_y=5 kN. Sum F_y=0 gives A_y+5-10=0, so A_y=5 kN. Sum F_x=0 gives A_x=0. At joint C, let F_AC=F_BC by horizontal equilibrium: (-2/sqrt(13))F_AC+(2/sqrt(13))F_BC=0. Vertical equilibrium gives (-3/sqrt(13))F_AC+(-3/sqrt(13))F_BC-10=0. Therefore F_AC=F_BC=-5*sqrt(13)/3 kN. At joint A, F_AB+(2/sqrt(13))F_AC=0, so F_AB-10/3=0 and F_AB=10/3 kN. Residuals: A: (0+10/3-10/3, 5-5)=(0,0); B: (-(10/3)+10/3, 5-5)=(0,0); C: (10/3-10/3, 5+5-10)=(0,0)."
}Related workflows
No source-defined multi-instrument workflow membership is recorded.
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.json · VERIFIED_CLEANevidence-tranche8/tranche8-results.jsonBOUNDARY_HAZARD_CATALOG.json