ThrustLab is undergoing final reviews and closed beta testing, full release scheduled for 1-2 weeks. Check back soon.Join the waitlist

Solver

Solver Changelog

Every simulation result is stamped server-side with the solver version that produced it — the PROM v{N} chip on the results page links here. The version bumps whenever any simulation model (propeller, motor, battery, or system solver) changes results.

The solver lineage predates ThrustLab by several versions; this public changelog starts at v4.0 — the model-accuracy release — and earlier history is not retro-seeded.

v4.1Propeller power accuracy

2026-06-13 · propeller

  • Improved the accuracy of predicted propeller power against wind-tunnel data. Reported propeller power rises by about 0.5% across the propeller catalog; thrust is unchanged.

The propeller photo-to-geometry importer was also hardened in the same release window; those changes do not affect simulation results and are not a results-version change on their own.

v4.0Model-accuracy release

2026-06-10 · propeller, motor, PROM

This release closes a systemic thrust over-prediction / current under-prediction bias identified against wind-tunnel and manufacturer bench data. Models changed: propeller, motor, and the PROM system solver.

Propeller: high-tip-speed thrust accuracy

Removed thrust over-prediction at high tip speeds — the propeller model no longer extrapolates beyond its validated operating envelope. Results inside the envelope are unchanged. Pitch-to-diameter is now derived from the actual blade geometry instead of the propeller name.

System: ESC losses now drawn on the DC bus

ESC losses are now fully accounted as current on the DC bus, closing an energy-balance leak. Displayed bus current, voltage sag, SOC depletion, flight time, and pack heating rise by the ~3–7% the bus previously under-read.

Motor: realistic electrical resistance

Catalog motor resistance is now interpreted the way manufacturers publish it, and a realistic ESC + wiring series-resistance default replaces the previous zero-resistance assumption, alongside a wire-gauge preset. Full-throttle RPM median error against bench data: +0.4%.

Motor: realistic temperature prediction

Motor temperature prediction now accounts for motor size and cooling airflow, replacing a one-size-fits-all assumption that produced unrealistically high temperatures on large motors. Each rotor group can select its cooling condition: cowled (still air), propeller exit airflow (default), or a custom air velocity / direct thermal resistance. The results page flags any rotor group that reaches the winding (155 °C) or magnet (120 °C) thermal limits.

Motor: part-throttle accuracy

Part-throttle current and RPM for six-step (BLDC) ESCs now match published bench data substantially better (40–70% throttle band current median improved from 0.94 to 0.99); full-throttle results are unchanged. See the throttle-semantics note below.

Results

Results now carry solver_version (this stamp), the per-rotor applied motor cooling air velocity, and thermal-limit flags when the 155 °C / 120 °C caps are hit.

ESC type: API default vs app default

The web app defaults to esc_type="six_step" (the hobby BLDC ESC model), while the public API defaults to esc_type="foc". The two models differ by roughly +4.7% RPM / +9.6% thrust (FOC higher). API and SDK users who want results matching the app should set esc_type="six_step" explicitly.

Throttle semantics

"Throttle %" in ThrustLab means inverter duty %, not transmitter stick %. The throttle you enter is the modulation duty command the ESC applies to the DC bus — it is not a radio/transmitter percentage, which real ESCs remap through their own endpoint and minimum-throttle calibration.

For six-step (BLDC) ESCs, ThrustLab additionally applies a small bench-derived endpoint adjustment: real hobby ESC "throttle %" corresponds to a slightly higher effective duty than the commanded fraction, and the adjustment absorbs that convention so part-throttle current and RPM match published bench data. At 100% throttle the adjustment vanishes — full-throttle results are unchanged. FOC ESCs are untouched (duty = throttle exactly).

We use cookies and analytics tools to understand how you use ThrustLab and improve the experience. Privacy Policy

Solver Changelog — ThrustLab | ThrustLab