Page actions
instrument / verified-clean
Projectile Motion Solver
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-6
- Evidence ID
- t6-084
- Ledger rows
- 1
No ledger note is attached.
Review findings
The honest-label vacuum trajectory unless drag model enabled is appropriate, but the current specification is not sufficient for a correct optional-drag implementation. The declared height input is ignored by the listed no-drag formulas, and the listed drag equation is not a valid complete 2D projectile model. Verdict is FAIL until the nonzero-height equations and a fully specified vector drag integrator are implemented.
Formula and scope findings
- The no-drag formulas R=v²sin(2θ)/g, h=v²sin²(θ)/(2g), and t=2v sin(θ)/g assume launch and landing elevations are equal and launch height is zero. They do not correctly use the declared height input.
- For nonzero launch height H, the no-drag flight time must be t=(v0 sinθ+sqrt((v0 sinθ)²+2gH))/g, range=v0 cosθ·t, and absolute maximum height is H+(v0 sinθ)²/(2g).
- The stated drag equation dv/dt=-g-kv|v|/m is a one-dimensional scalar equation, not a complete 2D projectile model. Quadratic air drag should use vector acceleration ax=-(k/m)|v|vx and ay=-g-(k/m)|v|vy, where |v|=sqrt(vx²+vy²).
- The drag implementation does not specify a numerical integration algorithm, timestep, landing-event interpolation, or convergence/termination tolerance, so drag outputs are not deterministic or reproducible.
- The drag parameter k is ambiguous: it could be a quadratic-drag parameter rho·Cd·A, with units kg/m, or another coefficient. If Cd is supplied, air density and reference area are also required.
Unit assumptions
- Angles are assumed to be in radians by the trigonometric formulas; if the UI accepts degrees, it must explicitly convert degrees to radians.
- v0 is in m/s, height and range are in m, g is in m/s², mass is in kg, and flight time is in s.
- The no-drag formulas assume a uniform gravitational field and no air resistance.
- For a quadratic drag model written as k|v|v, k has units kg/m; k/m therefore has units 1/m.
- The supplied standard-atmosphere air density is unused unless k is derived from rho, drag coefficient Cd, and frontal area A.
Boundary hardening
BREAK_CLAIMED · SELF_FLAGGED
The optional-drag branch is not reproducible from the specification because its numerical integration settings and drag-vector interpretation are unspecified. The solver also needs explicit validation for zero mass and explicit angle units; otherwise it can produce undefined or physically nonsensical results.
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": {
"mode": "no_drag",
"v0_m_per_s": 20,
"angle_deg": 45,
"launch_height_m": 0,
"g_m_per_s2": 9.81,
"sample_x_m": [
0,
10,
20,
40.77472
]
},
"expected_outputs": {
"range_m": 40.77472,
"max_height_above_launch_m": 10.19368,
"absolute_max_height_m": 10.19368,
"flight_time_s": 2.883208,
"trajectory_y_m": [
0,
7.5475,
10.19,
0
],
"apex_x_m": 20,
"roots_m": [
0,
40.77472
]
},
"working": "Convert angle: theta=45*pi/180=pi/4. sin(theta)=sqrt(2)/2 and sin(2theta)=1. Range=(20^2)(1)/9.81=400/9.81=40.77472 m. Maximum height=20^2(0.5)/(2*9.81)=200/19.62=10.19368 m. Flight time=2*20*(sqrt(2)/2)/9.81=28.284271/9.81=2.883208 s. With y(x)=x*tan(theta)-g*x^2/(2*v0^2*cos^2(theta))=x-9.81*x^2/400: y(0)=0; y(10)=10-981/400=7.5475 m; y(20)=20-3924/400=10.19 m; y(40.77472) is approximately 0. The apex occurs at half the range, x=20 m."
}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-tranche6/tranche6-results.jsonBOUNDARY_HAZARD_CATALOG.json