Inhaltsverzeichnis

std.aero.perf — Flugleistung: Steigen, Sinken, Reiseflug, Wind

std.aero Übersicht · Guide: Flugführungsrechner bauen · std.aero.atmos · std.aero.vnav · Standard Library

Was ein Flugführungsrechner an Bord ausrechnet, aufgebaut auf std.aero.atmos: Bahngeometrie, Zwangspunkte, Kurven, Pseudo-Wegpunkte, Steigleistung aus dem Energieüberschuss, Reiseflugoptimierung und Wind.

Musterabhängige Kennzahlen kommen vom Aufrufer — Gleitzahl, spezifischer Verbrauch, Schub und Widerstand stehen im Flughandbuch. Ein eingebauter „typischer„ Wert wäre für jedes Muster falsch und würde nirgends auffallen.

Quelle: std/aero/perf.lyx · Autor: Andreas Röne · Copyright: 2026 Andreas Röne


1. Bahngeometrie

Signatur Beschreibung
AvGradZuRad(grad: f64): f64 · AvRadZuGrad(rad: f64): f64 Winkelmaße
AvSinkrateFpm(grundgeschwKt: f64, bahnwinkelGrad: f64): f64 Rate, die einen gegebenen Bahnwinkel hält. 3° bei 140 kt → rund 743 fpm. Die Faustformel „halbe Grundgeschwindigkeit mal 10“ (700 fpm) liegt drei Prozent daneben — sie taugt zum Nachrechnen im Kopf, nicht als Rechnung im Gerät
AvBahnwinkelGrad(grundgeschwKt: f64, rateFpm: f64): f64 die Umkehrung
AvGradientProzent(hoehenaenderungFt: f64, streckeNm: f64): f64 Gradient in Prozent — die Größe, in der Hindernisfreiheit und Startsteigflug-Vorgaben ausgedrückt sind
AvRateFuerGradientFpm(grundgeschwKt: f64, gradientProzent: f64): f64 Rate für einen geforderten Gradienten. Abflugverfahren sind so geschrieben („3,3 % bis 2000 ft„) — die Frage an Bord lautet, welche Rate das ist

2. Zwangspunkte

Signatur Beschreibung
AvNoetigeSinkrateFpm(hoeheJetztFt, hoeheZielFt, streckeNm, grundgeschwKt): f64 Rate für „FL100 bei 30 NM“. Kennt keine Gleitzahl — sie sagt nur, was nötig ist
AvNoetigerWinkelGrad(hoeheJetztFt, hoeheZielFt, streckeNm): f64 derselbe Zwangspunkt als Bahnwinkel — die Form, in der ein Anflugprofil beurteilt wird („steiler als 3,5°„ heißt: umplanen)
AvZwangspunktErreichbar(hoeheJetztFt, hoeheZielFt, streckeNm, gleitzahl, eigengeschwKt, windKomponenteKt): bool ist er überhaupt erreichbar? Verglichen wird der nötige Bahnwinkel mit dem, den das Flugzeug im Leerlauf schafft
AvAbweichungVomProfilFt(hoeheJetztFt, hoeheZielFt, streckeNm, gleitzahl, eigengeschwKt, windKomponenteKt): f64 wie viel Höhe bis zum Zwangspunkt zu viel ist. Positiv = so viele Fuß über dem Profil

Ob das Flugzeug die nötige Rate kann, entscheidet der Aufrufer, indem er das Ergebnis gegen die Leerlauf-Sinkrate hält. Die Frage „wir sind zu hoch“ stellt sich an Bord ständig — und ist der Grund, warum ein FMS eine Meldung ausgibt, statt still ein unmögliches Profil zu zeichnen.


3. Sinkflugbeginn im Leerlauf

Signatur Beschreibung
AvTodStreckeNmFaustformel(hoeheJetztFt, hoeheZielFt): f64 die 3:1-Regel („3 mal die abzubauenden Tausend Fuß„, FL350 → 105 NM), rund 3,2°. Steht als eigene Funktion da, weil sie im Cockpit tatsächlich benutzt wird
AvTodStreckeNm(hoeheJetztFt, hoeheZielFt, gleitzahl, eigengeschwKt, windKomponenteKt): f64 die Rechnung mit Gleitzahl und Wind. gleitzahl ist Strecke je Höhe (L/D im Sinkflug, für Verkehrsflugzeuge typisch 15 bis 18) und kommt aus dem Handbuch. windKomponenteKt ist positiv bei Rückenwind — Rückenwind schiebt, die Strecke wird länger, der Punkt liegt früher
AvTodSinkrateFpm(gleitzahl, eigengeschwKt, windKomponenteKt): f64 die Sinkrate, die zu diesem Leerlaufprofil gehört

Genauer als die Gleitzahl über den ganzen Höhenbereich ist die Integration in std.aero.vnav (AvTodStreckeAusProfilNm).


4. Steigen

Signatur Beschreibung
AvSteigrateFpm(schubN, widerstandN, tasKt, masseKg): f64 Steigrate aus dem Energieüberschuss — keine Geometrie und keine Faustformel, sondern die Definition. Sie erklärt, warum die Rate mit der Höhe abnimmt (der Schub fällt) und mit dem Gewicht (der Nenner wächst)
AvSteigwinkelGrad(schubN, widerstandN, masseKg): f64 Steigwinkel aus derselben Bilanz — mit Arkussinus, weil die Näherung sin γ ≈ (T−D)/W bei hohem Schub-Gewicht-Verhältnis mehrere Grad danebenliegt
AvSteigzeitMin(vonFt, bisFt, mittlereRateFpm): f64 Zeit für einen Steigabschnitt
AvSteigstreckeNm(vonFt, bisFt, mittlereRateFpm, grundgeschwKt): f64 zurückgelegte Strecke
AvDienstgipfelhoeheM(schubSlN, widerstandN, tasKt, masseKg, restrateFpm): f64 Höhe, in der nur noch restrateFpm übrig ist. Per Bisektion gesucht: die Steigrate fällt mit der Höhe, ist aber nicht geschlossen umkehrbar. Der Schub wird proportional zum Druckverhältnis δ angesetzt — wer eine bessere Schubkurve hat, rechnet damit selbst

Schub und Widerstand bringt der Aufrufer aus seinem Handbuch mit; sie sind musterabhängig und haben in einer allgemeinen Unit nichts verloren.


5. Reiseflug

Signatur Beschreibung
AvSpezifischeReichweiteNmProKg(tasKt, verbrauchKgProH): f64 Strecke je Treibstoffmasse — die Größe, die im Reiseflug maximiert wird
AvBreguetReichweiteNm(tasKt, sfcProH, gleitzahl, masseStartKg, masseEndeKg): f64 R = (V/c)·(L/D)·ln(m_start/m_ende)
AvBreguetFlugdauerH(sfcProH, gleitzahl, masseStartKg, masseEndeKg): f64 Flugdauer nach Breguet
AvOptimaleHoeheM(masseKg, wProDeltaOptN: f64): f64 optimale Reiseflughöhe aus W/δ
AvStufensteigGewinnM(masseVorherKg, masseNachherKg, wProDeltaOptN): f64 Höhengewinn eines Stufensteigflugs, wenn Treibstoff verbrannt ist

W/δ ist im Optimum konstant. Wird das Flugzeug leichter, muss δ kleiner werden — die optimale Höhe steigt im Verlauf des Fluges. Genau deshalb gibt es Stufensteigflüge; wer die Höhe als feste Zahl führt, fliegt die zweite Hälfte zu tief. wProDeltaOpt ist die musterabhängige Kennzahl aus dem Handbuch (Gewicht in Newton bei δ = 1).

Cost Index

Signatur Beschreibung
AvGesamtkostenKgAequiv(flugzeitH, treibstoffKg, costIndex): f64 Zeitkosten plus Treibstoffkosten in „kg-Äquivalent“ — der Einheit, in der ein FMS vergleicht
AvGuenstigere(zeit1H, kraftstoff1Kg, zeit2H, kraftstoff2Kg, costIndex): int64 welche von zwei Geschwindigkeiten günstiger ist: 1, 2 oder 0 bei Gleichstand

CI 0 heißt „Treibstoff ist alles„ — maximale Reichweite; ein hoher CI heißt „Zeit ist teuer“ — schneller und mit mehr Verbrauch. Zwei Angebote zu vergleichen ist die Form, in der die Frage an Bord tatsächlich auftritt, nicht als geschlossene Optimierung: dafür bräuchte man die vollständige Verbrauchskurve des Musters.


6. Wind

Signatur Beschreibung
AvWindkomponenteKt(kursGrad, windRichtungGrad, windStaerkeKt): f64 Gegen-/Rückenwind. Positiv = Rückenwind
AvSeitenwindKt(kursGrad, windRichtungGrad, windStaerkeKt): f64 Seitenwind, immer als Betrag — für den Vergleich mit der zulässigen Grenze
AvVorhaltewinkelGrad(kursGrad, tasKt, windRichtungGrad, windStaerkeKt): f64 Vorhaltewinkel aus dem Winddreieck
AvGrundgeschwindigkeitKt(kursGrad, tasKt, windRichtungGrad, windStaerkeKt): f64 Grundgeschwindigkeit aus demselben Dreieck

7. Kurven

Signatur Beschreibung
AvKurvenradiusNm(tasKt, querneigungGrad): f64 r = v² / (g · tan φ)
AvKurvenrateGradProS(tasKt, querneigungGrad): f64 ω = g · tan φ / v
AvQuerneigungFuerRateGrad(tasKt, rateGradProS): f64 welche Querneigung eine gewünschte Rate ergibt. Die Standardkurve mit 3°/s bräuchte bei 480 kt TAS eine Querneigung, die kein Verkehrsflugzeug fliegt — deshalb wird oben herum mit fester Querneigung gekurvt und die Rate fällt
AvKurvenvorhaltNm(tasKt, querneigungGrad, kursaenderungGrad): f64 Kurvenvorhalt (turn anticipation): wie weit vor dem Knickpunkt die Kurve beginnt, d = r · tan(Δψ/2)
AvKurvenabkuerzungNm(tasKt, querneigungGrad, kursaenderungGrad): f64 Streckengewinn: zweimal der Vorhalt minus der Bogen
AvKurvendauerS(tasKt, querneigungGrad, kursaenderungGrad): f64 Dauer der Kurve — geht in die Zeitvorhersage ein
 
Ab 180° Kursänderung liefert AvKurvenvorhaltNm den Fehlerwert, keine sehr große Zahl: die Tangente wäre unendlich, eine Kehrtwende lässt sich nicht abkürzen. Eine große Zahl sähe aus wie ein Ergebnis.

8. Pseudo-Wegpunkte

Sie liefern Positionen entlang der Route in NM — die Größe, an der das Symbol auf der Flugroute gezeichnet wird.

Signatur Beschreibung
AvTopOfClimbNm(startPositionNm, hoeheStartFt, reiseflughoeheFt, mittlereRateFpm, grundgeschwKt): f64 T/C — wo die Reiseflughöhe erreicht ist
AvTopOfDescentNm(zwangspunktNm, hoeheJetztFt, hoeheZielFt, gleitzahl, eigengeschwKt, windKomponenteKt): f64 T/D — er liegt um die Sinkstrecke vor dem Zwangspunkt
AvDecelPunktNm(anflugPunktNm, vonKt, aufKt, verzoegerungKtProMin, grundgeschwKt): f64 DECEL — wo die Verzögerung auf die Anfluggeschwindigkeit beginnen muss. verzoegerungKtProMin ist musterabhängig (im Leerlauf, sauber, typisch 10 bis 20 kt/min)

Liegt der T/D vor dem jetzigen Ort, ist die Antwort ein Fehler und keine negative Zahl: „der Sinkflug hätte schon begonnen haben müssen„ ist eine Lage, keine Position.


9. Umkehrpunkte

Signatur Beschreibung
AvPunktGleicherZeitNm(gesamtstreckeNm, tasKt, windKomponenteKt): f64 Punkt gleicher Zeit: von hier dauert Weiterfliegen genauso lang wie Umkehren. Wichtig über Wasser und in der Wüste — der Wind verschiebt ihn erheblich, weil er in eine Richtung hilft und in die andere bremst. Rückgabe: Strecke vom Startpunkt
AvPunktOhneWiederkehrNm(nutzbareStundenH, tasKt, windKomponenteKt): f64 Punkt ohne Wiederkehr: der letzte Punkt, von dem der Treibstoff noch zur Rückkehr reicht

Letzte Aktualisierung: 2026-09-05 — Seite neu angelegt; erhoben aus std/aero/perf.lyx (Stand 2026-09-04).

Prüflauf 2026-09-05 mit doku-pruefer.py über den gesamten Aero-Bereich (Repo-Compiler lyxc 1.2.2A): 13 Vollprogramme, 13 übersetzen, 0 echte Fehler; 193 Aufrufe gegen die pub fn-Signaturen in aurum/std gehalten, 0 Abweichungen.