New simulation
The New Simulation page is where you describe a powertrain and the conditions it runs in, then press run. This page documents every control on it — what it does, what a reasonable value looks like, and when you would change it. Each section below matches a field on the form, and the ⓘ next to that field links straight here.
If you are new, you only have to touch a few things: pick a motor and propeller for each rotor, set a throttle, choose a battery, and run. Everything flagged Advanced can stay at its default until you have a reason to change it.
Simulation mode
Choose whether you want a single steady operating point (or a sweep of them) or a flight that changes over time. Steady-state holds throttle and airspeed constant and returns one result per point — it is the right choice for "how much thrust at this throttle?" Dynamic plays a throttle/airspeed schedule over time and tracks how the battery drains and the motors heat up — the right choice for "how long can it fly this mission?"
| Type | input · select |
| Options | Steady-state, Dynamic |
| Default | Steady-state |
When to change it. Switch to Dynamic when you care about endurance, battery sag over a flight, or thermal build-up across a mission rather than a single instant.
Related: Stop when · Schedule input
Run name
A label for this simulation so you can find it later in the project list. It is purely organizational and has no effect on the physics.
| Type | input · text |
| Default | "New simulation" |
When to change it. Whenever you want a memorable name (e.g. "6S hover sweep") instead of the default.
Rotor label
An optional name for a rotor so multi-rotor results are easy to read — for example "Front-left" or "Pusher". It does not change the physics.
| Type | input · text |
| Default | (blank) |
When to change it. On builds with several different rotors, label them so the results cards are self-explanatory.
Throttle
How hard a rotor is commanded to run, as a percent of full power. 100% is wide-open throttle; a typical multirotor hovers well below that. This is the single most common knob to turn.
| Type | input · number |
| Units | % |
| Range | 1–100 |
| Default | 50 |
| Typical | 40–70% at hover |
When to change it. Set it to the operating point you care about, or switch to Sweep (below) to see the whole thrust-and-power curve in one run.
Fixed / Sweep
Decides whether throttle is a single value or a range. Fixed runs one throttle; Sweep runs a list or range of throttles and returns one result per point, so you can plot thrust and power across the band.
| Type | input · select |
| Options | Fixed, Sweep |
| Default | Fixed |
When to change it. Use Sweep when you want a curve (e.g. thrust vs throttle) rather than a single answer. Each swept axis multiplies the grid-point count.
Tilt
The angle of this rotor's thrust axis above the horizontal-forward (flight) direction — how the rotor is oriented relative to the way the aircraft is travelling.
- 0° = Cruise — the prop axis points straight forward, aligned with the direction of travel: a fixed-wing or pusher propeller. All airspeed becomes axial inflow (flow straight through the disk).
- 90° = Lift — the prop axis points straight up: a pure lifting rotor, such as a hovering multirotor or a helicopter main rotor. Forward airspeed becomes pure edgewise (in-plane) inflow.
- In between (≈ 75–85°) — a multirotor pitched forward to cruise: mostly lifting, with a forward component.
Vertical speed sign: + = climb (up), − = descent. In Ground-relative mode the flow through the disk works out to V_axial = V_h·cosθ + V_v·sinθ and V_edge = |V_v·cosθ − V_h·sinθ|, where θ is the tilt. Use the Cruise 0° / Lift 90° presets for the two common poses, or type any angle.
| Type | input · number |
| Units | ° |
| Range | 0–90 |
| Default | 0 (Cruise) |
| Typical | 0° fixed-wing, 90° hover, 75–85° cruising multirotor |
When to change it. Set it to match how each rotor is mounted: 0° for a forward-facing pusher, 90° for a lift rotor, or an intermediate angle for a multirotor cruising nose-down. On a tilt-rotor / VTOL build, sweep the lift rotors' tilt while leaving a pusher fixed.
Related: Airspeed · Vertical speed
Inflow diagram
The sketch beside each rotor's Tilt input is a side view of that rotor in the oncoming air. The thick bar is the rotor disc seen edge-on, drawn at the entered tilt; the dashed arrow is its thrust axis, and the small arc marks the tilt angle against the horizontal flight direction.
The solid arrow flying into the hub is the freestream — built from the page's airspeed and vertical speed. The two dashed arrows are its exact decomposition into the components the solver uses: the axial component through the disc (green) and the edgewise in-plane component (red). The numbers underneath are the same V∞ / V_axial / V_edge values, in m/s.
| Type | readout · diagram |
The diagram updates live as you edit tilt, airspeed, or vertical speed. When airspeed or vertical speed is swept, it previews the sweep's start value; a rotor whose tilt is swept hides the diagram (there is no single angle to draw).
Related: Tilt · Airspeed · Vertical speed
Axial inflow
In Direct-components mode, the air speed flowing straight through this rotor's disk, along its thrust axis. Positive means air advancing into the disk (forward flight or a climb); negative means a descent, with air moving back through the disk. This is the flow the propeller screws through. Use it instead of airspeed + tilt when you want to enter the rotor-frame flow directly.
| Type | input · number |
| Units | m/s |
| Range | −30 to 100 |
| Default | 0 (hover) |
When to change it. Set it when you are working in Direct-components mode and already know the through-disk flow for this rotor.
Related: Flight-condition mode · Edgewise inflow
Edgewise inflow
In Direct-components mode, the air speed flowing across this rotor's disk, in the plane of the blades (sideways rather than through it). It is always zero or positive. A hovering rotor moving forward, or a helicopter main rotor in forward flight, sees a large edgewise inflow; a rotor pointed straight into the wind sees none. Use it instead of airspeed + tilt when you want to enter the rotor-frame flow directly.
| Type | input · number |
| Units | m/s |
| Range | 0–100 |
| Default | 0 (hover) |
When to change it. Set it when you are working in Direct-components mode and know the in-plane flow across this rotor.
Related: Flight-condition mode · Axial inflow
Motor
The electric motor driving this rotor. Pick one from the catalog or open its properties to enter a custom motor. The motor converts electrical power from the battery into shaft power for the propeller; its velocity constant (Kv) sets how fast it spins per volt.
| Type | input · picker |
When to change it. Pick the motor you plan to build with; switch to a swept set to compare several motors at once.
Related: Kv · Glossary: Kv
Propeller
The propeller this rotor spins. Pick one from the catalog or enter a custom one. Its diameter and pitch set how much air it moves and therefore how much thrust you get for a given shaft power.
| Type | input · picker |
When to change it. Match the prop to your frame; sweep a set to find the best diameter/pitch for your motor and battery.
Related: Diameter · Pitch · Glossary: advance ratio (J)
Synced
On a multi-rotor build, Synced ties this rotor's swept component set to the shared group, so every rotor sweeps the same parts together. Unlink it to sweep this rotor on its own axis. It only affects the swept dimension — fixed picks always stay per-rotor.
| Type | input · toggle |
| Options | Synced, Unlinked |
| Default | Synced |
When to change it. Unlink a rotor when you want it to sweep a different set of parts than the rest of the aircraft (e.g. a different pusher motor).
Kv
The motor's speed constant — the RPM it spins per volt with no load. Higher Kv spins faster on the same battery but makes less torque, so it pairs with smaller propellers. (Kv = velocity constant.)
| Type | input · number |
| Units | rpm/V |
| Range | 1–15000 |
| Typical | 900–2500 for 5-inch quads |
When to change it. Only when entering a custom motor. Match the manufacturer's Kv; it is the dominant driver of RPM and current draw.
Related: Glossary: Kv
Phase-to-phase R advanced
The motor's terminal resistance — what a meter reads across any two of its three leads. It sets the copper (I²R) loss that turns into heat — lower resistance means a more efficient, cooler-running motor. Advanced — most users can leave this at default.
| Type | input · number |
| Units | Ω |
| Range | 0.0002–20 |
| Typical | 0.01–0.2 Ω for hobby motors |
When to change it. Enter the phase-to-phase resistance when modeling a custom motor; it noticeably affects efficiency and heating predictions.
Reading it off a datasheet. Vendors are inconsistent about resistance conventions, so:
- A plain "internal resistance" or "winding resistance" with no convention stated is almost always the phase-to-phase (terminal) value — use it as-is.
- If the datasheet explicitly says per-phase for a wye-terminated motor, enter double that value.
- If you are unsure, measure across any two motor leads with a milliohm meter and enter that reading — it is the right value regardless of how the motor is wound (wye or delta).
Pole count advanced
The number of magnetic poles in the motor. It links electrical RPM to mechanical RPM and affects iron loss at high speed. Advanced — most users can leave this at default.
| Type | input · number |
| Units | poles |
| Range | 2–100 |
| Typical | 12–14 for hobby outrunners |
When to change it. Set it to the motor's actual pole count when modeling a custom motor, especially for accurate high-RPM iron loss.
Weight
The motor's mass. It feeds the thrust-to-weight and efficiency bookkeeping and the motor's thermal mass (how fast it heats up).
| Type | input · number |
| Units | g |
| Range | 1–10000 |
| Typical | 20–60 g for a 5-inch quad motor |
When to change it. Match the published weight; it matters most for thrust-to-weight and transient heating.
Inductance advanced
The motor winding's inductance, which resists fast changes in current. It matters mainly at high switching speeds and for the ESC's commutation timing.
| Type | computed |
| Units | H |
| Typical | 5–30 µH for hobby motors |
Auto-computed. There is no input for inductance: the solver estimates it from Kv, pole count, and the motor's diameter and length using a bench-calibrated model — published inductance figures are unreliable, so a consistent estimate beats a datasheet copy.
Inertia advanced
The rotational inertia of the motor's rotor. Together with the propeller inertia it sets how quickly the rotor can spin up or down, which dynamic (time-domain) runs require.
| Type | computed |
| Units | kg·m² |
| Typical | computed from bell dimensions + mass |
Auto-computed. There is no input for rotor inertia: the solver estimates it from the motor's diameter, length, and weight (outer-shell rotor model).
Nom voltage advanced
The nominal voltage the motor's published specs were rated at. It is used as a fallback reference when deriving ESC resistance and current limits. Advanced — most users can leave this at default.
| Type | input · number |
| Units | V |
| Range | 1–100 |
| Typical | 14.8 V (4S) – 22.2 V (6S) |
When to change it. When a custom motor's specs were measured at a specific voltage that differs from your pack.
Nom current advanced
The motor's nominal (continuous) current rating. It anchors the efficiency curve and helps the Auto ESC-resistance derivation. Advanced — most users can leave this at default.
| Type | input · number |
| Units | A |
| Range | 0–500 |
| Typical | 10–40 A continuous for hobby motors |
When to change it. Enter the motor's rated continuous current for a custom motor.
I limit
The maximum phase current the motor is allowed to draw. The solver clamps current to this ceiling, which can cap thrust at high throttle. Set either a current limit or a power limit — entering one clears the other.
| Type | input · number |
| Units | A |
| Range | 0.1–1000 |
| Typical | the motor's rated burst current |
When to change it. Set it to your motor or ESC's burst-current rating to model a realistic ceiling.
Related: P limit
P limit
The maximum electrical power the motor is allowed to draw, as an alternative to a current limit. Entering a power limit clears the current limit — the backend accepts one or the other, not both.
| Type | input · number |
| Units | W |
| Range | 0–50000 |
| Typical | the motor's rated max power |
When to change it. Use this instead of a current limit when the motor is power-rated rather than current-rated.
Related: I limit
Gear ratio advanced
The reduction between the motor and the propeller for geared drives. 1 means direct-drive (the prop turns at motor RPM); values above 1 step the prop down to a lower speed. Advanced — most users can leave this at default.
| Type | input · number |
| Units | ratio |
| Range | 0.01–100 |
| Default | 1 (direct drive) |
When to change it. Only for a geared powertrain — leave it at 1 for the usual direct-drive setup.
Winding temp advanced
The motor winding (copper) temperature. Leave it on Auto and the solver finds the steady-state temperature; pin a value to evaluate the motor at a specific known temperature. Hotter windings have higher resistance and lower efficiency. Advanced — most users can leave this on Auto.
| Type | input · number |
| Units | °C |
| Range | -40–300 |
| Default | Auto |
When to change it. Pin it when you want to evaluate the motor at a measured operating temperature rather than the solved one.
Magnet temp advanced
The rotor magnet temperature. Leave it on Auto for the solved steady-state value, or pin a value. Magnets weaken as they heat, and above about 120 °C the loss can become permanent — watch the magnet-temperature warning. Advanced — most users can leave this on Auto.
| Type | input · number |
| Units | °C |
| Range | -40–300 |
| Default | Auto |
When to change it. Pin it to study performance at a hot magnet temperature, or to reproduce a bench measurement.
Blades
How many blades the propeller has. More blades move more air for a given diameter but add drag and weight; two- and three-blade props are most common.
| Type | input · number |
| Units | blades |
| Range | 1–12 |
| Typical | 2–3 |
When to change it. Match the blade count of a custom propeller.
Diameter
The propeller's overall diameter — the single biggest driver of how much thrust it can make. It is read from the selected propeller's geometry and cannot be edited directly.
| Type | output · derived |
| Units | in |
| Typical | 5 in (FPV) to 30+ in (large multirotor) |
When to change it. You don't edit it here — pick a different propeller to change the diameter.
Related: Glossary: disk loading
Pitch
How far the propeller would screw forward in one ideal revolution. Higher pitch trades static thrust for top speed. It is read from the propeller geometry and cannot be edited directly.
| Type | output · derived |
| Units | in |
| Typical | lower for thrust, higher for speed |
When to change it. Pick a different propeller — pitch comes from the geometry.
Related: Glossary: advance ratio (J)
Max RPM
The propeller's mechanical RPM limit. The solver flags operating points above it so you don't trust a result where the prop would physically come apart.
| Type | input · number |
| Units | RPM |
| Range | 100–100000 |
| Typical | from the manufacturer's rating |
When to change it. Set it to the prop's rated maximum when entering a custom propeller.
Propeller weight
The propeller's mass. It feeds the total-weight bookkeeping and the rotor-inertia estimate for dynamic (time-domain) runs.
| Type | input · number |
| Units | g |
| Range | 0.1–10000 |
| Typical | a few grams for small props |
When to change it. Match the published prop weight — it drives the spin-up inertia estimate in dynamic runs.
ESC resistance advanced
How the ESC's internal resistance (its loss) is set. Auto derives it from the motor's current/power rating; Preset picks a value from a current rating; Custom lets you enter the resistance directly. (ESC = electronic speed controller.) Advanced — most users can leave this on Auto.
| Type | input · select |
| Options | Auto, Preset (A), Custom (Ω) |
| Default | Auto |
When to change it. Use Custom or Preset when you have a measured ESC resistance or current rating you trust more than the Auto estimate.
ESC type advanced
How the ESC drives the motor. FOC (field-oriented control) shapes the current smoothly for the best efficiency; Six-step is the simpler trapezoidal scheme used by most hobby ESCs and lets you set a timing advance. Advanced — most users can leave this at FOC.
| Type | input · select |
| Options | FOC, Six-step |
| Default | FOC |
When to change it. Switch to Six-step to model a typical hobby BLHeli/AM32 ESC and unlock the timing-advance control.
Related: Timing advance · Glossary: six-step vs FOC
Timing advance advanced
How far ahead of the rotor angle the ESC energizes each phase, which trades torque against efficiency at high RPM (six-step only). FOC sets this automatically. Advanced — most users can leave this at default.
| Type | input · select |
| Options | Low (7.5°), Medium (15°), High (22.5°), Auto |
| Default | Medium (15°) |
When to change it. Raise it to chase RPM at high speed, or lower it for cooler running — only relevant for a six-step ESC.
Switching freq advanced
How fast the ESC switches its transistors, in kilohertz. Higher frequencies run the motor more smoothly but add a little switching loss. Advanced — most users can leave this at default.
| Type | input · select |
| Units | kHz |
| Options | 8, 16, 24, 32, 48 |
| Default | 24 |
When to change it. Match the ESC's configured PWM frequency when you want exact loss accounting.
Synchronous rectification advanced
When on, the ESC actively switches its low-side transistors instead of relying on their body diodes, which cuts conduction loss. Advanced — most users can leave this on.
| Type | input · toggle |
| Default | On |
When to change it. Turn it off only to model an ESC that does not use synchronous (complementary) PWM.
ESC → motor wire advanced
The resistance of the wire from the ESC to the motor. Pick a gauge and length and it is computed for you, or enter the resistance directly. Longer, thinner wire adds loss and heat. Advanced — most users can leave this at default.
| Type | input · select |
| Options | Wire gauge + length, Custom resistance |
| Default | Wire gauge + length |
When to change it. Enter your actual wire run when modeling long motor leads.
Motor cooling advanced
How air moves over the motor to carry heat away. Cowling means still air (runs hottest); Prop exit velocity uses the propeller's slipstream (the default); Custom lets you set the airflow yourself. Advanced — most users can leave this at the default.
| Type | input · select |
| Options | Cowling (No Airflow), Prop exit velocity, Custom |
| Default | Prop exit velocity |
When to change it. Pick Cowling for an enclosed motor with no airflow, or Custom when you know the real cooling air speed.
Related: Cooling velocity · Thermal resistance
Cooling velocity advanced
The air speed blowing over the motor when you set cooling to Custom. Faster airflow cools the motor more, lowering its steady-state temperature. Advanced — most users can leave cooling on Auto.
| Type | input · number |
| Units | m/s |
| Range | 0–200 |
| Default | Auto |
When to change it. Set it when you have a known forced-air or slipstream velocity over the motor.
Thermal resistance advanced
The motor's thermal resistance — how many degrees it heats up per watt of waste heat (R_th). Pin it directly under Custom cooling to override the model. Advanced — most users can leave cooling on Auto.
| Type | input · number |
| Units | K/W |
| Range | 0–100 |
| Default | Auto |
When to change it. Pin a measured thermal resistance when you trust it more than the model's estimate.
Battery
Picks the battery pack for the whole powertrain. Choose one from the catalog or define a custom pack — its chemistry, cell count (S/P), capacity, and internal resistance set the bus voltage and how much current it can deliver, which in turn bounds the power available to the motors. Switch to Sweep to compare several packs in a single run.
| Type | input · picker |
When to use it. Always — every simulation needs a pack. Use Sweep when you want to see how different packs change thrust, runtime, or efficiency.
Related: Chemistry · Cells (S) · Capacity · Charge level
Chemistry
The battery cell chemistry, which sets the voltage curve and how the pack sags under load. LiPo and LiHV are the usual hobby choices; Source is an ideal supply with zero internal resistance for what-if studies.
| Type | input · select |
| Options | LiPo, LiHV, NMC, NCA, LFP, NiMH, Source |
| Default | LiPo |
When to change it. Match your pack's chemistry; use Source to test a powertrain against an ideal, sag-free supply.
Related: Glossary: C-rating
Series (S)
How many cells are wired in series, written as the "S" count. More cells in series means a higher pack voltage (about 3.7 V nominal per cell), which spins the motor faster.
| Type | input · number |
| Units | S |
| Range | 1–24 |
| Typical | 4S–6S for most quads |
When to change it. Set it to your pack's S count — it is the dominant driver of pack voltage and RPM.
Related: Parallel (P)
Parallel (P)
How many cells are wired in parallel, written as the "P" count. More cells in parallel multiplies capacity and current capability without changing the pack voltage.
| Type | input · number |
| Units | P |
| Range | 1–20 |
| Typical | 1P for quads, higher for long-endurance packs |
When to change it. Increase P to model a higher-capacity, higher-current pack (common on larger aircraft).
Related: Series (S)
Capacity
How much charge the pack holds, in milliamp-hours. Larger capacity means longer flight time but more weight. This is the total pack capacity, not per cell.
| Type | input · number |
| Units | mAh |
| Range | 50–100000 |
| Typical | 1300–6000 mAh for quads |
When to change it. Match your pack's rated capacity; it drives endurance and (with C-rating) the current limit.
Battery weight
The pack's mass. It feeds the thrust-to-weight and endurance bookkeeping and the pack's thermal mass.
| Type | input · number |
| Units | g |
| Range | 1–50000 |
| Typical | scales with capacity and S count |
When to change it. Match your pack's actual weight — it is part of the all-up weight the thrust must lift.
Length
The pack's longest dimension. The bounding box (length × width × height) sets the pack's surface area for the thermal model.
| Type | input · number |
| Units | mm |
| Range | 1–2000 |
| Typical | from the pack's spec sheet |
When to change it. Enter the pack's real dimensions when its temperature matters.
Width
The pack's width. Part of the bounding box (length × width × height) used to size the pack's cooling surface area.
| Type | input · number |
| Units | mm |
| Range | 1–2000 |
| Typical | from the pack's spec sheet |
When to change it. Enter the real width for an accurate thermal surface area.
Height
The pack's height (thickness). Part of the bounding box (length × width × height) used by the thermal model to estimate how the pack sheds heat.
| Type | input · number |
| Units | mm |
| Range | 1–2000 |
| Typical | from the pack's spec sheet |
When to change it. Enter the real height for an accurate thermal surface area.
Cell model advanced
For cylindrical chemistries, the standard cell size. The options follow the chemistry: Li-ion packs (NMC/NCA) use the numeric sizes (18650, 21700, …); NiMH packs use the RC staples (AAA, AA, 2/3A, 4/5A, A, Sub-C, 4/5SC, C, D). Leave it on Auto and the solver snaps to the nearest standard size from your dimensions — a NiMH pack always snaps to a NiMH size, never to a Li-ion one. Advanced — most users can leave this on Auto.
| Type | input · select |
| Options (Li-ion) | Auto, 14500, 18350, 18650, 20700, 21700, 26650, 32650, 32700 |
| Options (NiMH) | Auto, AAA, AA, 2/3A, 4/5A, A, Sub-C, 4/5SC, C, D |
| Default | Auto |
When to change it. Pick the exact cell when modeling a cylindrical-cell pack and you know the size.
Pack style advanced
How a cylindrical pack's cells are physically arranged. Flat is a regular grid (the default). Hump nests a second row of cells in the base row's valleys — the classic receiver/car-pack hump (a 5-cell hump is 3+2; a 7-cell hump is 6+1 with the top cell at one end). T puts a stem of cells above a crossbar row. The pack thermal model builds its cell-to-cell conduction mesh from the arrangement, and the topology drawing shows it.
| Type | input · select |
| Options | Flat, Hump, T |
| Default | Flat |
When to change it. Set it to match the real pack — hump and T packs expose more cell surface than a flat brick, which changes how the pack sheds heat.
Cell resistance grid advanced
Per-cell internal resistance, one entry per cell in the S×P pack. Use it to model a pack with uneven or aged cells; otherwise the single pack-resistance value is simpler. Advanced — most users can leave this at default.
| Type | input · grid |
| Units | mΩ per cell |
| Default | 10 mΩ each |
When to change it. Only when you want to model cell-to-cell variation (e.g. a worn pack with one weak cell).
Related: Pack resistance
Pack resistance
How much the pack's voltage sags under current draw. Enter it as a C-rating (higher C = stiffer pack, less sag) or directly in milliohms. A stiffer pack delivers more usable power at high throttle.
| Type | input · select |
| Options | C-rating, Resistance (mΩ) |
| Default | C-rating |
When to change it. Enter a measured milliohm value when you have one; otherwise the C-rating from the pack label is a good estimate.
Related: Glossary: C-rating
Charge level
How full the pack is at the start of the run. Set it as a state-of-charge percent (SOC) or as a resting volts-per-cell. A fuller pack holds a higher voltage, so the motor spins faster early in the flight. (SOC = state of charge.)
| Type | input · select |
| Options | SOC %, V/cell |
| Default | 4.2 V/cell (full) |
When to change it. Lower it to study performance on a partly drained pack, e.g. mid-flight conditions.
Related: Glossary: state of charge (SOC)
Battery → ESC wire advanced
The resistance of the wire and connectors from the battery to the ESC. Pick a gauge and length or enter the resistance directly — this loss adds up across the whole pack current. Advanced — most users can leave this at default.
| Type | input · select |
| Options | Wire gauge + length, Custom resistance |
| Default | Wire gauge + length |
When to change it. Enter your real battery lead length and connector when modeling a long power run.
Battery cooling advanced
How air moves over the battery to carry heat away. Static is still air (hottest); Airspeed uses the freestream; Prop slipstream uses the prop wash; Forced air lets you set a fixed cooling velocity. Advanced — most users can leave this at the default.
| Type | input · select |
| Options | Static / in-housing, Airspeed, Prop slipstream, Forced air |
| Default | Static / in-housing |
When to change it. Pick the option that matches where your pack sits in the airflow; thermal results depend on it.
Related: Battery cooling velocity
Battery cooling velocity advanced
The air speed over the pack when battery cooling is set to Forced air. Faster airflow keeps the pack cooler under sustained current draw. Advanced — most users can leave cooling on the default.
| Type | input · number |
| Units | m/s |
| Range | 0–200 |
| Default | 5 |
When to change it. Set it to your known fan or duct velocity when using forced-air cooling.
Air density
The density of the air the propeller is working in — thinner air (high altitude or hot days) makes less thrust for the same RPM. Enter it directly or via an altitude. Switch to Sweep to evaluate a range of densities.
| Type | input · number |
| Units | kg/m³ |
| Range | 0.1–2.0 |
| Default | 1.225 (sea level, 15 °C) |
When to change it. Set it for your field's altitude and temperature, or sweep it to see altitude sensitivity.
Flight-condition mode
Chooses how you describe the air flowing into the rotors. Ground-relative (the usual choice) lets you enter the aircraft's forward airspeed, its climb or descent rate, and each rotor's tilt — the app works out how much air flows through and across every disk for you. Direct components skips that and lets you type each rotor's axial and edgewise inflow straight in; in that mode there is no ground-frame (vertical / horizontal force) readout.
| Type | input · select |
| Options | Ground-relative, Direct components |
| Default | Ground-relative |
When to change it. Stay on Ground-relative for almost everything — it is the natural way to describe a flight. Switch to Direct components only when you already know each rotor's through-disk and in-plane inflow and want to enter them by hand.
Related: Airspeed · Vertical speed · Tilt
Airspeed
The forward (horizontal) flight speed — how fast the aircraft moves through the air along its direction of travel (V_h). 0 is static/hover; higher airspeed unloads the prop and changes its efficiency. Pair it with Vertical speed for a climb or descent.
| Type | input · number |
| Units | m/s |
| Range | 0–100 |
| Default | 0 (static / hover) |
When to change it. Set it to your cruise speed, or sweep it to build a thrust-vs-airspeed curve.
Related: Vertical speed · Glossary: advance ratio (J)
Vertical speed
How fast the aircraft is climbing or descending, on top of its forward airspeed (V_v). Positive is a climb (moving up), negative is a descent (moving down), and 0 is level flight. Together with the forward airspeed and each rotor's tilt it sets how much air flows straight through each disk versus across it.
| Type | input · number |
| Units | m/s |
| Range | −30 to 30 |
| Default | 0 (level flight) |
| Typical | a few m/s for a normal climb or descent |
When to change it. Set it to model a climb-out or a descent; sweep it to see how the climb / descent rate changes thrust, power, and efficiency.
Battery charge condition
Sweeps the starting charge level across a run (steady-state only) so you can see how performance changes from a full pack to a nearly empty one.
| Type | input · select |
| Options | Fixed, Sweep |
| Default | Fixed |
When to change it. Sweep it to map how thrust and RPM fall off as the pack drains.
Related: Charge level · Glossary: state of charge (SOC)
Ambient temperature
The temperature of the air around the powertrain. It is the baseline the thermal model cools toward — the motor and battery shed their waste heat to this air, so a hotter ambient leaves the parts hotter for the same load. It is independent of air density: a hot day is both less dense and warmer, but here you set the warmth, while Air density (or an altitude) sets the density separately, since density also depends on pressure.
| Type | input · number |
| Units | °C |
| Range | -60 to 85 |
| Default | 25 |
When to change it. Set it to the real air temperature you expect to fly in — a hot summer day raises motor and battery temperatures (and the magnet-temperature warning) even at the same throttle.
Related: Air density · Motor start · Battery start
Motor start
The motor's starting temperature for a dynamic run. By default it equals the ambient temperature — a cold start, which is the usual case. Set it higher to begin the run with a motor that is already warm, for example starting a second flight before the first one's heat has dissipated. It only sets the initial state; from there the run heats or cools the motor according to the load and cooling you specify.
| Type | input · number |
| Units | °C |
| Range | -60 to 85 |
| Default | = ambient (cold start) |
When to change it. Raise it to model a back-to-back flight or a pre-warmed motor; leave it at ambient for a normal cold start.
Related: Ambient temperature · Battery start
Battery start
The battery pack's starting temperature for a dynamic run. Like the motor, it defaults to the ambient temperature — a cold start. Set it higher to begin with a warm pack, for example one straight off a charger or fresh from a previous flight. It only sets the initial state; the run then tracks how the pack heats under current draw from there, which affects its internal resistance and voltage sag.
| Type | input · number |
| Units | °C |
| Range | -60 to 85 |
| Default | = ambient (cold start) |
When to change it. Raise it to model a freshly-charged or already-warm pack; leave it at ambient for a normal cold start.
Related: Ambient temperature · Motor start
Schedule input
How you describe the flight profile for a dynamic run. Segments builds it as a few constant-or-ramping steps; CSV lets you upload a fine-grained throttle/airspeed timeline.
| Type | input · select |
| Options | Segments, CSV |
| Default | Segments |
When to change it. Use Segments for a simple mission you describe by hand; switch to CSV when you have a recorded or generated timeline.
Interpolation
Controls how throttle and airspeed move between the rows of your CSV (CSV mode only). Linear ramps smoothly from each row's value to the next, so two rows define a straight ramp. Hold keeps each row's value constant until the next row, then steps to it — a zero-order hold, so the profile looks like a staircase.
| Type | input · select |
| Options | Linear, Hold (step) |
| Default | Linear |
When to change it. Use Hold for a stepped or recorded command log where each row is a discrete setpoint; keep Linear for a smoothly-varying timeline where values glide between samples.
Related: Schedule input
Segment throttle
The throttle target for a rotor group during a segment, with a Step or Linear ramp. Step holds it constant; Linear ramp glides from the previous segment's value to this one over the segment's duration. The diagram below shows how steps and ramps chain into a profile:
| Type | input · number |
| Units | % |
| Range | 0–100 |
| Default | 50 |
When to change it. Set the throttle each segment of your mission needs; use a Linear ramp to model a smooth power change.
Related: Segment airspeed · Segment duration
Segment airspeed
The airspeed target for a segment, with a Step or Linear ramp shared across all rotors. Use ramps to model a climb-out or acceleration.
| Type | input · number |
| Units | m/s |
| Range | 0+ |
| Default | 0 |
When to change it. Set the flight speed for each segment; ramp it to model accelerating or decelerating flight.
Related: Segment throttle
Segment vertical speed
The climb or descent rate for a segment, with a Step or Linear ramp shared across all rotors. Positive is a climb (moving up), negative is a descent (moving down), and 0 is level flight. Together with the segment airspeed and each group's tilt it sets how much air flows straight through each disk versus across it.
The solver consumes both components at every step of the run: the scheduled vertical speed, airspeed, and tilt decompose into the axial and edgewise inflow each rotor sees at that instant. Use the Inflow playback below the preview charts to watch the decomposition move through the schedule.
| Type | input · number |
| Units | m/s |
| Range | −30 to 30 |
| Default | 0 (level flight) |
When to change it. Ramp it to fly a climb-out or a descent over a segment; leave it at 0 for level flight.
Related: Segment airspeed · Segment tilt
Segment tilt
The tilt angle for a rotor group during a segment, with a Step or Linear ramp. 0° points the prop axis straight forward (cruise); 90° points it straight up, a lifting rotor. Ramp it from 90° toward 0° across a segment to model a VTOL transition from hover into forward flight. Each rotor group tilts on its own schedule, so a lift rotor can rotate forward while a pusher stays fixed.
The tilt decomposes the scheduled airspeed and vertical speed into the axial and edgewise inflow each rotor sees, and the solver consumes both components at every step — a mid-transition schedule (tilt between 0° and 90° with forward airspeed) runs with its real oblique inflow.
| Type | input · number |
| Units | ° |
| Range | 0–90 |
| Default | 0 (cruise) |
When to change it. Schedule a tilt ramp to fly a VTOL transition; leave it at 0° for a fixed-orientation multirotor or fixed-wing run.
Related: Tilt · Segment vertical speed
Inflow playback
Below the preview charts in the schedule editor, the Inflow playback animates one inflow diagram per rotor group through the schedule: each disc follows its group's scheduled tilt while the freestream arrow tracks the scheduled airspeed and vertical speed, decomposed into the axial (green) and edgewise (red) components the solver will integrate.
| Type | control · playback |
| Default | paused at t = 0 |
Press Play to sweep the whole schedule (about eight seconds of wall-clock regardless of schedule length) or drag the slider to inspect any instant — the time readout shows schedule seconds. Editing the schedule updates the playback immediately.
Related: Inflow diagram · Segment tilt · Segment vertical speed
Segment duration
How long a segment lasts before the schedule moves to the next one. The last segment can instead run until the battery is depleted.
| Type | input · number |
| Units | s |
| Range | 0.001+ |
| Default | 10 |
When to change it. Set the real-world length of each mission phase.
Related: Stop when
Stop when
Sets when a dynamic run ends. Run until depleted flies until the battery hits a cutoff; Run for a fixed time stops at a set duration. Whichever limit trips first ends the run.
| Type | input · select |
| Options | Run until depleted, Run for a fixed time |
| Default | Run until depleted |
When to change it. Use "until depleted" for an endurance question; use "fixed time" for a set-length mission. A Source supply can't deplete, so it always uses a fixed time.
Related: SOC cutoff · Cell voltage cutoff · Fixed duration
SOC cutoff
Ends the run when the pack's state of charge drops to this percent. It is the usual way to stop at a safe reserve (for example, land at 20%). (SOC = state of charge.)
| Type | input · number |
| Units | % |
| Range | 0–100 |
| Default | 20 |
When to change it. Set it to the reserve you actually land with; lower values fly longer but stress the pack.
Related: Glossary: state of charge (SOC)
Cell voltage cutoff
Ends the run when any cell sags to this resting voltage. It protects against over-discharge — most LiPo cells should not drop below about 3.3–3.5 V under load.
| Type | input · number |
| Units | V |
| Range | 0–5 |
| Default | 3.3 |
When to change it. Raise it for gentler treatment of the pack, or match your own low-voltage cutoff.
Fixed duration
How long the run lasts when you choose Run for a fixed time. Use this when you want a set flight time rather than flying until the battery cuts off.
| Type | input · number |
| Units | s |
| Range | 0.001+ |
| Default | from your schedule |
When to change it. Set the exact mission length you want to simulate.
Related: Stop when
Estimated cost
The compute units this dynamic run will reserve, charged up front — 3 compute units per physical rotor. Updates as you change the rotors, schedule, and termination.
| Type | output · estimate |
| Units | compute units |
| Typical | 3 compute units per rotor |
When to change it. You don't set it — it reflects your build. Fewer rotors means a smaller reservation.
Grid points
How many operating points this sweep will compute — the product of every swept axis (throttle × airspeed × density × battery charge × component sets). More points means a richer result but a longer, more expensive run; the run is blocked above 10,000 points.
| Type | output · count |
| Units | points |
| Range | 1–10000 (blocked above) |
When to change it. Reduce a swept axis's step count, or unlink rotors, when the grid grows too large. The counter and the over-limit message tell you exactly which axes to trim.
Related: Fixed / Sweep