From 8e8ce9e676ba21727be5abce0b8eddad2ec4b0b6 Mon Sep 17 00:00:00 2001 From: Michael Stangl Date: Wed, 6 May 2026 19:16:13 +0200 Subject: [PATCH] Test der Grenzen impl. Doku erweitert --- Doku/variofoerderer.md | 91 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) diff --git a/Doku/variofoerderer.md b/Doku/variofoerderer.md index 1ed3498..1b3bef5 100644 --- a/Doku/variofoerderer.md +++ b/Doku/variofoerderer.md @@ -258,6 +258,51 @@ def md_tabelle(fall_name, h0_val, h1_val): return "\n".join(lines) +def grenzen(): + """Erzeugt Übersichtstabellen: für welche (ΔH, L1) Kombinationen + existieren gültige Lösungen? Zeigt den kleinsten gültigen α_F. + ΔH von 0..5 m, L1 von 3..15 m.""" + delta_h_list = [0, 1, 2, 3, 4, 5] + l1_list = [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] + lines = [] + + for richtung in ("aufwärts", "abwärts"): + lines.append(f"### {richtung.capitalize()}\n") + lines.append("Zelle = kleinster gültiger α_F [°], " + "**—** = keine Lösung\n") + + # Header + header = "| ΔH \\ L₁ |" + "|".join(f" {l1} m " for l1 in l1_list) + "|" + sep = "|--------:|" + "|".join("------:" for _ in l1_list) + "|" + lines.append(header) + lines.append(sep) + + for dh in delta_h_list: + if richtung == "aufwärts": + h0, h1 = 0, dh + else: + h0, h1 = dh, 0 + + row = f"| {dh} m |" + for l1 in l1_list: + min_alpha = None + for alpha_f_deg in ALPHA_F_LIST: + erg = berechne(h0, h1, l1, L_ES, H_ES, L_AS, H_AS, + alpha_f_deg, ALPHA_S) + if erg is not None: + gueltig, _ = validierung(erg) + if gueltig: + min_alpha = alpha_f_deg + break + if min_alpha is not None: + row += f" {min_alpha}° |" + else: + row += " — |" + lines.append(row) + lines.append("") + return "\n".join(lines) + + def main(): md = [] md.append("# Förderer-Berechnung (2D-Modell)\n") @@ -283,6 +328,9 @@ def main(): # Fall 2: Abwärts – H0=5 → H1=2 (vertauscht!) md.append(md_tabelle("Fall 2: Abwärts", h0_val=H1, h1_val=H0)) + md.append("## Grenzen der Varianten\n") + md.append(grenzen()) + result = "\n".join(md) print(result) @@ -349,3 +397,46 @@ Probe: H_ES + H_F + H_S + H_AS = ΔH | 39 | 2.7537 | 3.2463 | 2.2299 | 0.1701 | 3.0000 | ✓ gültig | | 45 | 2.2009 | 3.7991 | 2.2009 | 0.1991 | 3.0000 | ✓ gültig | | 51 | 1.7637 | 4.2363 | 2.1780 | 0.2220 | 3.0000 | ✓ gültig | + + +## Grenzen der Varianten + +| Parameter | Wert | +|-----------|-----:| +| ΔH | 0 … 5 m | +| L₁ | 3 … 15 m | +| α_S | 3° | +| L_ES, L_AS | 1.000 m | +| H_ES, H_AS | 0.300 m | + +Zelle = kleinster gültiger α_F [°], **—** = keine Lösung + +### Aufwärts + +| ΔH \ L₁ | 3 m | 4 m | 5 m | 6 m | 7 m | 8 m | 9 m | 10 m | 11 m | 12 m | 13 m | 14 m | 15 m | +|--------:|------:|------:|------:|------:|------:|------:|------:|------:|------:|------:|------:|------:|------:| +| 0 m | 33° | 18° | 12° | 9° | 9° | 6° | 6° | 6° | 6° | 6° | 6° | 3° | 3° | +| 1 m | — | 39° | 33° | 24° | 18° | 15° | 15° | 12° | 12° | 12° | 9° | 9° | 9° | +| 2 m | — | — | 45° | 39° | 33° | 24° | 24° | 24° | 18° | 15° | 15° | 15° | 12° | +| 3 m | — | — | 51° | 45° | 39° | 33° | 33° | 27° | 24° | 24° | 24° | 18° | 18° | +| 4 m | — | — | — | 51° | 45° | 39° | 39° | 33° | 33° | 27° | 24° | 24° | 24° | +| 5 m | — | — | — | — | 51° | 45° | 39° | 39° | 33° | 33° | 27° | 27° | 24° | + +### Abwärts + +| ΔH \ L₁ | 3 m | 4 m | 5 m | 6 m | 7 m | 8 m | 9 m | 10 m | 11 m | 12 m | 13 m | 14 m | 15 m | +|--------:|------:|------:|------:|------:|------:|------:|------:|------:|------:|------:|------:|------:|------:| +| 0 m | 33° | 18° | 12° | 9° | 9° | 6° | 6° | 6° | 6° | 6° | 6° | 3° | 3° | +| 1 m | 24° | 12° | 9° | 6° | 6° | 6° | 6° | — | — | — | — | — | — | +| 2 m | — | 39° | 27° | 24° | 18° | 15° | 12° | 12° | 9° | 9° | 9° | 9° | 9° | +| 3 m | — | 51° | 39° | 33° | 27° | 24° | 24° | 18° | 15° | 15° | 15° | 12° | 12° | +| 4 m | — | — | 51° | 45° | 39° | 33° | 27° | 24° | 24° | 24° | 18° | 18° | 15° | +| 5 m | — | — | — | 51° | 45° | 39° | 33° | 33° | 27° | 24° | 24° | 24° | 24° | + +**Lücke bei ΔH = 1 m, L₁ ≥ 10 m:** Im Abwärts-Fall ist der Zähler der L_F-Formel +$(ΔH - H_{ES} - H_{AS}) - L_{rest} \cdot \tan(α_S)$. Bei ΔH = 1 m und L₁ = 10 m wird +$L_{rest}$ = 8 m und der Zähler = (1 − 0,3 − 0,3) − 8 · tan 3° = 0,4 − 0,419 = −0,019. +Da der Nenner für alle α_F > 3° positiv ist, wird L_F negativ — es gibt keine gültige Lösung. + +Weil bei so kleinem Höhenunterschied die Reststrecke mit 3°-Neigung allein schon mehr Höhe verbraucht als verfügbar ist. +Die Reststrecke allein erzeugt durch die 3°-Neigung der S-Strecke plus H_ES + H_AS bereits mehr Höhe als der verfügbare Höhenunterschied ΔH = 1 m hergibt. \ No newline at end of file