Breguet Endurance (flight-mechanics/performance/breguet-endurance)
Use when the task is loiter endurance (holding time) estimation from the Breguet endurance equation: specific fuel consumption, lift-to-drag, and the initial and final weights, plus the final weight after an endurance segment and the fuel burn for the loiter requirement.
Domain quick reference
- The Breguet endurance equation computes loiter endurance (holding time) E from the specific fuel consumption sfc, the lift to drag ratio L/D, and the initial and final weights W0 and W1: E = (1 / sfc) * (L/D) * ln(W0 / W1).
- Units: sfc in 1/s (kg of fuel per newton of thrust per second for a jet, kg of fuel per watt of shaft power per second for a propeller), weights in newtons, endurance in seconds. All SI.
- Final weight after an endurance segment at constant L/D: W1 = W0 * exp(-E * sfc / (L/D)).
- Fuel burn for the segment: W0 - W1.
- Endurance is maximized at the maximum lift to drag ratio (L/D)max, the minimum-thrust condition; the loiter performance check compares the achievable endurance against the required holding time.
- Endurance analysis sits in the FAR-25 / CS-25 transport performance context for holding fuel planning.
Workflow
- Collect the specific fuel consumption, the lift to drag ratio, and the initial and final weights.
- Compute the endurance with jet_endurance (or prop_endurance for a propeller aircraft).
- Compute the final weight after the holding segment with final_weight_after_endurance.
- Compute the fuel burn with endurance_fuel_burn.
- Check the loiter requirement with loiter_check before gating.
Pitfalls
- Confusing the SFC basis: jet endurance needs thrust specific fuel consumption in kg/(N s) (1/s), propeller endurance needs the consumption referred to shaft power in kg/(W s), also 1/s. Mixing the bases misstates the endurance.
- Using SFC in 1/h or lb/(lbf h); the equation needs per-second units, so convert before computing.
- Confusing endurance with range: endurance is a loiter (holding) time problem, E = (1/sfc) * (L/D) * ln(W0/W1), while the Breguet range equation adds speed and a gravity conversion for cruise distance. Do not apply the range equation to holding.
- Flipping the weight ratio: endurance requires burning fuel, so W1 must stay below W0; W1 >= W0 makes ln(W0/W1) undefined or negative.
- Assuming endurance grows with speed: holding time depends on L/D and SFC only, not on speed; (L/D)max is the maximum-endurance condition.
Behavior contract (gate 3)
The loiter endurance logic is exercised by the gate 3 contract test: scripts/test_breguet_endurance_logic.py against scripts/breguet_endurance_logic.py (stdlib unittest, offline). Run:
python3 scripts/test_breguet_endurance_logic.py
Compliance
- Standards referenced, not reproduced: FAR-25 is US government work (public domain) and CS-25 is a free EASA download; the Breguet endurance equation is common endurance methodology, summary-only per standards-map.yaml.
- compliance: STANDARDS-REF, gated: false.