# -*- coding: utf-8 -*- """ Created on Tue Mar 24 10:54:09 2026 @author: Grabow """ import numpy as np import matplotlib.pyplot as plt # ----------------------------- # Lüfterparameter (identisch) # ----------------------------- dp0 = 500.0 # Pa (Sperrdruck bei V=0) R_fan = 2000.0 # Pa / (m^3/s) # ----------------------------- # Systemkennlinie # ----------------------------- R_sys = 3000.0 # Pa / (m^3/s)^2 def fan_pressure(V): return dp0 - R_fan * V def system_pressure(V): return R_sys * V**2 # ----------------------------- # Kombinationen # ----------------------------- # 1. Einzellüfter def single_fan(V): return fan_pressure(V) # 2. Reihenschaltung (Drücke addieren sich) def series_fans(V): return 2 * fan_pressure(V) # 3. Parallelschaltung (Volumenströme addieren sich) # -> Druck gleich, aber jeder Lüfter liefert V/2 def parallel_fans(V): return fan_pressure(V / 2) # ----------------------------- # Arbeitspunkt finden # ----------------------------- def find_operating_point(fan_func): V = np.linspace(0, 1.0, 1000) dp_fan = fan_func(V) dp_sys = system_pressure(V) idx = np.argmin(np.abs(dp_fan - dp_sys)) return V[idx], dp_fan[idx] # ----------------------------- # Berechnung # ----------------------------- V_single, dp_single = find_operating_point(single_fan) V_series, dp_series = find_operating_point(series_fans) V_parallel, dp_parallel = find_operating_point(parallel_fans) print("Einzellüfter: V = %.3f m³/s, Δp = %.1f Pa" % (V_single, dp_single)) print("Reihenschaltung: V = %.3f m³/s, Δp = %.1f Pa" % (V_series, dp_series)) print("Parallelschaltung: V = %.3f m³/s, Δp = %.1f Pa" % (V_parallel, dp_parallel)) # ----------------------------- # Plot # ----------------------------- V = np.linspace(0, 1.0, 500) plt.figure() plt.plot(V, single_fan(V), label="Einzellüfter (ideal)") plt.plot(V, series_fans(V), label="2 Lüfter in Reihe") plt.plot(V, parallel_fans(V), label="2 Lüfter parallel") plt.plot(V, system_pressure(V), label="System", linestyle="--") plt.xlabel("Volumenstrom [m³/s]") plt.ylabel("Druck [Pa]") plt.legend() plt.grid() plt.show()