Problem definition
Canonical benchmark implementation
Canonical RHS excerpt from the registered callable used for this benchmark cell. Expand it to verify the state equations; it is not a standalone runnable fixture.
Show canonical RHS excerpt
def rhs(t, y):
x, yp, z = y[0], y[1], y[2]
vx, vy, vz = y[3], y[4], y[5]
omega = y[6]
CD = y[7]
integ = y[8]
V = np.sqrt(vx**2 + vy**2 + vz**2 + 0.01)
q_dyn = 0.5 * _RHO * V**2
D = q_dyn * CD * A_ref / m
wx = np.interp(t, _noise_ts, wind_noise[0])
wy = np.interp(t, _noise_ts, wind_noise[1])
wz = np.interp(t, _noise_ts, wind_noise[2])
d = np.empty(9)
# Position
d[0] = vx
d[1] = vy
d[2] = vz
# Velocity: drag + gravity + optional thrust + tumble-induced lift scatter
f_thrust = thrust * integ
d[3] = -D * vx / max(V, 0.01) + f_thrust * np.cos(heading) / m + wx
d[4] = -D * vy / max(V, 0.01) + f_thrust * np.sin(heading) / m + wy
d[5] = -D * vz / max(V, 0.01) + _G + wz
# Tumble spin-up
d[6] = (omega_target - omega) / tau_tumble
# Drag coefficient transition
d[7] = (CD_target - CD) / tau_damage
# Integrity decay
d[8] = -(integ - (0.0 if mode == "ballistic" else 0.3)) / 5.0 if mode != "intact" else 0.0
return d- Parameters
- A_ref = 0.05
- CD_target = 1.5
- _G = 9.81
- _RHO = 1.225
- _noise_ts = [0, 0.01, 0.02, 0.03, 0.04, 0.05, …] [shape=(3001,), min=0, max=30]
- heading = 0.3
- m = 3
- mode = 'damaged'
- omega_target = 5
- tau_damage = 0.5
- tau_tumble = 1
- thrust = 10
- wind_noise = [0.0628651105467, -0.0660524316457, 0.320211325222, 0.0524500585765, -0.267834686581, 0.180797527455, …] [shape=(3, 3001), min=-1.94971086503, max=1.62859953736]
- Initial condition
- y(0) = [0, 0, -100, 47.7668244563, 14.7760103331, -5, 0, 0.3, 0.5]
- Horizon
- t ∈ [0, 30]
Canonical RHS excerpt captured from the same registered callable used for the published benchmark. Frozen closure values are summarized below; helper imports and solver settings are intentionally omitted.
Cite this page
Replace the access date. Pin the freeze ID and library versions when comparing against a later export. Cite it as what it is — a self-reported vendor benchmark, not an independently verified result. The note field says so; please keep it.
@misc{resonix_evidence_bda_dam_fst_lo_2026,
title = {Resonix Evidence Portal: BDA (DAM.FST.LO)},
author = {{Resonix Labs (Canada) Inc.}},
year = {2026},
howpublished = {\url{https://resonix.tech/evidence/problems/bda-dam-fst-lo}},
note = {Self-reported vendor benchmark; internally generated by Resonix Labs and not independently verified. Accessed YYYY-MM-DD. Freeze 2026-08-13; libsolvsrk 2.3.0; SciPy 1.14.}
}TRL 4–5 · simulation-lab validated · 398 problems · 14 solver arms · clean + 5 noise levels
Freeze: 2026-08-13 · scipy 1.14 · libsolvsrk 2.3.0 · Methodology
Self-reported by Resonix Labs · not independently verified · Verification status