From 8ad8297bce4c18bb40e2a8378181be6179a8e3cc Mon Sep 17 00:00:00 2001 From: mistangl Date: Tue, 24 Mar 2026 16:56:56 +0100 Subject: [PATCH] Gleichungen und Bilder zum Variofoerderer dazu --- Doku/bilder/Variofoerderer_abwaerts.svg | 452 +++++++++++++++++++++++ Doku/bilder/Variofoerderer_aufwaerts.svg | 452 +++++++++++++++++++++++ Doku/variofoerderer.md | 287 ++++++++++++++ 3 files changed, 1191 insertions(+) create mode 100644 Doku/bilder/Variofoerderer_abwaerts.svg create mode 100644 Doku/bilder/Variofoerderer_aufwaerts.svg create mode 100644 Doku/variofoerderer.md diff --git a/Doku/bilder/Variofoerderer_abwaerts.svg b/Doku/bilder/Variofoerderer_abwaerts.svg new file mode 100644 index 0000000..46a5584 --- /dev/null +++ b/Doku/bilder/Variofoerderer_abwaerts.svg @@ -0,0 +1,452 @@ + + + + + + + + + + + + + + + + F + + S + + + Ho + H + 1 + + + + + L + F + L + S + + + + + + + + H + S + H + AS + L + AS + + + + + H + F + + H + ES + + + L + ES + + + + + + + + + L + 1 + + + + + diff --git a/Doku/bilder/Variofoerderer_aufwaerts.svg b/Doku/bilder/Variofoerderer_aufwaerts.svg new file mode 100644 index 0000000..d66b6fd --- /dev/null +++ b/Doku/bilder/Variofoerderer_aufwaerts.svg @@ -0,0 +1,452 @@ + + + + + + + + + + + + + + L + F + L + S + + + + + + H + S + H + ES + L + ES + + + + + H + F + + H + AS + + + L + AS + + + + + + L + 1 + + + + + + + + + F + + S + + + Ho + H + 1 + + + + + + + + diff --git a/Doku/variofoerderer.md b/Doku/variofoerderer.md new file mode 100644 index 0000000..e0c0057 --- /dev/null +++ b/Doku/variofoerderer.md @@ -0,0 +1,287 @@ +# Gleichungen Förderer aufwärts + +![Varioförderer aufwärts](bilder/Variofoerderer_aufwaerts.svg) +**violett** ist F wie _Förderer_ +**hellblau** ist S wie _Strecke_ +**AS** ist _Ausschleus_- Element +**ES** ist _Einschleus_- Element + + +## Gegeben + +$H_0$, $H_1$, $L_1$, $\alpha_F$, $\alpha_S$, $L_{ES}$, $H_{ES}$, $L_{AS}$, $H_{AS}$ + +## Gesucht + +$L_F$, $L_S$, $H_F$, $H_S$ + +--- + +## Grundgleichungen ($H_1 > H_0$, Förderrichtung: von $H_0$ nach $H_1$) + +**(1) Horizontal:** + +$$L_1 = L_{ES} + L_F + L_S + L_{AS}$$ + +**(2) Vertikal:** + +$$H_1 - H_0 = H_F - H_S - H_{ES} - H_{AS}$$ + +**(3) Neigung F:** + +$$\tan(\alpha_F) = \frac{H_F}{L_F} \quad \Rightarrow \quad H_F = L_F \cdot \tan(\alpha_F)$$ + +**(4) Neigung S:** + +$$\tan(\alpha_S) = \frac{H_S}{L_S} \quad \Rightarrow \quad H_S = L_S \cdot \tan(\alpha_S)$$ + +--- + +## Lösung (Einsetzen von (3),(4) in (1),(2)) + +**(I)** + +$$L_F + L_S = L_1 - L_{ES} - L_{AS}$$ + +**(II)** + +$$L_F \cdot \tan(\alpha_F) - L_S \cdot \tan(\alpha_S) = (H_1 - H_0) + H_{ES} + H_{AS}$$ + +--- + +## Ergebnis + +$$L_F = \frac{(H_1 - H_0 + H_{ES} + H_{AS}) + (L_1 - L_{ES} - L_{AS}) \cdot \tan(\alpha_S)}{\tan(\alpha_F) + \tan(\alpha_S)}$$ + +$$L_S = (L_1 - L_{ES} - L_{AS}) - L_F$$ + +$$H_F = L_F \cdot \tan(\alpha_F)$$ + +$$H_S = L_S \cdot \tan(\alpha_S)$$ + + +# Gleichungen Förderer abwärts + +![Varioförderer abwärts](bilder/Variofoerderer_abwaerts.svg) + +## Gegeben + +$H_0$, $H_1$, $L_1$, $\alpha_F$, $\alpha_S$, $L_{ES}$, $H_{ES}$, $L_{AS}$, $H_{AS}$ + +## Gesucht + +$L_F$, $L_S$, $H_F$, $H_S$ + +--- + +## Grundgleichungen ($H_0 > H_1$, Förderrichtung: von $H_0$ nach $H_1$) + +**(1) Horizontal:** + +$$L_1 = L_{ES} + L_F + L_S + L_{AS}$$ + +**(2) Vertikal:** + +$$H_0 - H_1 = H_{ES} + H_F + H_S + H_{AS}$$ + +**(3) Neigung F:** + +$$\tan(\alpha_F) = \frac{H_F}{L_F} \quad \Rightarrow \quad H_F = L_F \cdot \tan(\alpha_F)$$ + +**(4) Neigung S:** + +$$\tan(\alpha_S) = \frac{H_S}{L_S} \quad \Rightarrow \quad H_S = L_S \cdot \tan(\alpha_S)$$ + +--- + +## Lösung (Einsetzen von (3),(4) in (1),(2)) + +**(I)** + +$$L_F + L_S = L_1 - L_{ES} - L_{AS}$$ + +**(II)** + +$$L_F \cdot \tan(\alpha_F) + L_S \cdot \tan(\alpha_S) = (H_0 - H_1) - H_{ES} - H_{AS}$$ + +--- + +## Ergebnis + +$$L_F = \frac{(H_0 - H_1 - H_{ES} - H_{AS}) - (L_1 - L_{ES} - L_{AS}) \cdot \tan(\alpha_S)}{\tan(\alpha_F) - \tan(\alpha_S)}$$ + +$$L_S = (L_1 - L_{ES} - L_{AS}) - L_F$$ + +$$H_F = L_F \cdot \tan(\alpha_F)$$ + +$$H_S = L_S \cdot \tan(\alpha_S)$$ + +# Zusammenfassung + +Wobei $\alpha_S$ normalerweise immer bei 3° liegt und $\alpha_F$ von 3,6,9,12,15.. 51° läuft. + +```python +#!/usr/bin/env python3 +""" +Förderer-Berechnung in 2D – Markdown-Ausgabe +============================================= +""" + +import math + +# ============================================================ +# KONSTANTEN [alle in Meter / Grad] +# ============================================================ +H0 = 2.0 +H1 = 5.0 +L1 = 8.0 +L_ES = 1.0 +H_ES = 0.3 +L_AS = 1.0 +H_AS = 0.3 + +ALPHA_S = 3.0 +ALPHA_F_LIST = [3, 6, 9, 12, 15, 18, 24, 27, 33, 39, 45, 51] + + +def berechne(delta_h, l1, l_es, h_es, l_as, h_as, alpha_f_deg, alpha_s_deg): + alpha_f = math.radians(alpha_f_deg) + alpha_s = math.radians(alpha_s_deg) + tan_f = math.tan(alpha_f) + tan_s = math.tan(alpha_s) + l_rest = l1 - l_es - l_as + + if abs(tan_f - tan_s) < 1e-12: + return None + + l_f = (delta_h - h_es - h_as - l_rest * tan_s) / (tan_f - tan_s) + l_s = l_rest - l_f + h_f = l_f * tan_f + h_s = l_s * tan_s + return {"L_F": l_f, "L_S": l_s, "H_F": h_f, "H_S": h_s} + + +def validierung(erg): + probleme = [] + for key in ("L_F", "L_S", "H_F", "H_S"): + if erg[key] < 0: + probleme.append(f"{key} < 0") + return (len(probleme) == 0, probleme) + + +def md_tabelle(fall_name, h_anfang, h_ende): + """Erzeugt eine Markdown-Tabelle. ΔH = |H_Ende - H_Anfang| (immer positiv).""" + delta_h = abs(h_ende - h_anfang) + + lines = [] + lines.append(f"### {fall_name}") + lines.append(f"H_Anfang = {h_anfang:.3f} m, H_Ende = {h_ende:.3f} m, " + f"ΔH = {delta_h:+.4f} m\n") + lines.append("| α_F [°] | L_F [m] | L_S [m] | H_F [m] | H_S [m] | Status |") + lines.append("|--------:|--------:|--------:|--------:|--------:|--------|") + + for alpha_f_deg in ALPHA_F_LIST: + erg = berechne(delta_h, L1, L_ES, H_ES, L_AS, H_AS, alpha_f_deg, ALPHA_S) + if erg is None: + lines.append(f"| {alpha_f_deg} | — | — | — | — | ⚠ α_F = α_S |") + continue + gueltig, probleme = validierung(erg) + status = "✓ gültig" if gueltig else f"✗ {', '.join(probleme)}" + lines.append( + f"| {alpha_f_deg} " + f"| {erg['L_F']:.4f} " + f"| {erg['L_S']:.4f} " + f"| {erg['H_F']:.4f} " + f"| {erg['H_S']:.4f} " + f"| {status} |" + ) + lines.append("") + return "\n".join(lines) + + +def main(): + md = [] + md.append("# Förderer-Berechnung (2D-Modell)\n") + md.append("## Gegebene Werte\n") + md.append("| Parameter | Wert |") + md.append("|-----------|-----:|") + md.append(f"| H₀ | {H0:.3f} m |") + md.append(f"| H₁ | {H1:.3f} m |") + md.append(f"| L₁ | {L1:.3f} m |") + md.append(f"| L_ES | {L_ES:.3f} m |") + md.append(f"| H_ES | {H_ES:.3f} m |") + md.append(f"| L_AS | {L_AS:.3f} m |") + md.append(f"| H_AS | {H_AS:.3f} m |") + md.append(f"| α_S | {ALPHA_S:.1f}° |") + md.append("") + md.append("## Ergebnisse\n") + + # Fall 1: aufwärts – von H0 nach H1 + md.append(md_tabelle("Aufwärts (H₀ → H₁)", h_anfang=H0, h_ende=H1)) + + # Fall 2: abwärts – von H1 nach H0, ΔH ebenfalls +3.0 + md.append(md_tabelle("Abwärts (H₁ → H₀)", h_anfang=H1, h_ende=H0)) + + result = "\n".join(md) + + with open("/mnt/user-data/outputs/foerderer_ergebnisse.md", "w", encoding="utf-8") as f: + f.write(result) + + print(result) + + +if __name__ == "__main__": + main() + ``` + +# Förderer-Berechnung +## Gegebene Werte + +| Parameter | Wert | +|-----------|-----:| +| H₀ | 2.000 m | +| H₁ | 5.000 m | +| L₁ | 8.000 m | +| L_ES | 1.000 m | +| H_ES | 0.300 m | +| L_AS | 1.000 m | +| H_AS | 0.300 m | +| α_S | 3.0° | + +## Ergebnisse + +### Aufwärts (H₀ → H₁) +H_Anfang = 2.000 m, H_Ende = 5.000 m, ΔH = +3.0000 m + +| α_F [°] | L_F [m] | L_S [m] | H_F [m] | H_S [m] | Status | +|--------:|--------:|--------:|--------:|--------:|--------| +| 3 | — | — | — | — | ⚠ α_F = α_S | +| 6 | 39.5767 | -33.5767 | 4.1597 | -1.7597 | ✗ L_S < 0, H_S < 0 | +| 9 | 19.6794 | -13.6794 | 3.1169 | -0.7169 | ✗ L_S < 0, H_S < 0 | +| 12 | 13.0226 | -7.0226 | 2.7680 | -0.3680 | ✗ L_S < 0, H_S < 0 | +| 15 | 9.6759 | -3.6759 | 2.5926 | -0.1926 | ✗ L_S < 0, H_S < 0 | +| 18 | 7.6531 | -1.6531 | 2.4866 | -0.0866 | ✗ L_S < 0, H_S < 0 | +| 24 | 5.3092 | 0.6908 | 2.3638 | 0.0362 | ✓ gültig | +| 27 | 4.5624 | 1.4376 | 2.3247 | 0.0753 | ✓ gültig | +| 33 | 3.4934 | 2.5066 | 2.2686 | 0.1314 | ✓ gültig | +| 39 | 2.7537 | 3.2463 | 2.2299 | 0.1701 | ✓ gültig | +| 45 | 2.2009 | 3.7991 | 2.2009 | 0.1991 | ✓ gültig | +| 51 | 1.7637 | 4.2363 | 2.1780 | 0.2220 | ✓ gültig | + +### Abwärts (H₁ → H₀) +H_Anfang = 5.000 m, H_Ende = 2.000 m, ΔH = +3.0000 m + +| α_F [°] | L_F [m] | L_S [m] | H_F [m] | H_S [m] | Status | +|--------:|--------:|--------:|--------:|--------:|--------| +| 3 | — | — | — | — | ⚠ α_F = α_S | +| 6 | 39.5767 | -33.5767 | 4.1597 | -1.7597 | ✗ L_S < 0, H_S < 0 | +| 9 | 19.6794 | -13.6794 | 3.1169 | -0.7169 | ✗ L_S < 0, H_S < 0 | +| 12 | 13.0226 | -7.0226 | 2.7680 | -0.3680 | ✗ L_S < 0, H_S < 0 | +| 15 | 9.6759 | -3.6759 | 2.5926 | -0.1926 | ✗ L_S < 0, H_S < 0 | +| 18 | 7.6531 | -1.6531 | 2.4866 | -0.0866 | ✗ L_S < 0, H_S < 0 | +| 24 | 5.3092 | 0.6908 | 2.3638 | 0.0362 | ✓ gültig | +| 27 | 4.5624 | 1.4376 | 2.3247 | 0.0753 | ✓ gültig | +| 33 | 3.4934 | 2.5066 | 2.2686 | 0.1314 | ✓ gültig | +| 39 | 2.7537 | 3.2463 | 2.2299 | 0.1701 | ✓ gültig | +| 45 | 2.2009 | 3.7991 | 2.2009 | 0.1991 | ✓ gültig | +| 51 | 1.7637 | 4.2363 | 2.1780 | 0.2220 | ✓ gültig | \ No newline at end of file