Nautilus — Pumpentechnik, simuliert statt geraten.
Ein öffentlicher Web-Simulator mit eigenem Python-Solver: Interessenten und Vertrieb modellieren ihr hydraulisches Netzwerk selbst und finden in Sekunden die passende KNF-Flodos-Pumpe — inkl. NPSH/Kavitation und Betriebsgrenzen.
Ausgangslage
KNF Flodos entwickelt Präzisions-Membranpumpen. Ob eine Pumpe im hydraulischen System eines Kunden funktioniert, mussten bisher Ingenieure mit Überschlagsrechnungen oder eigenen kleinen Simulationen abklären — aufwändig und nur mit Fachwissen möglich.
Lösung
Wir haben Nautilus gebaut: einen browserbasierten Simulator, der das komplette hydraulische Netzwerk (Pumpe, Leitungen, Widerstände, Gegendruck) numerisch löst. Der eigene Python-Solver löst das nichtlineare Gleichungssystem mittels mehrdimensionaler Newton-Iteration — inkl. Monte-Carlo-Unsicherheitsanalysen sowie Erkennung von NPSH/Kavitation und Betriebsgrenzen. Das Nuxt-Frontend (Vue 3) liefert Resultate in Sekunden, ganz ohne Installation; Betrieb cloud-unabhängig im Docker-Container.
Ergebnis
Interessenten und der Vertrieb rechnen Betriebspunkte selbst durch, vergleichen Varianten und finden die passende Pumpe — auch ohne tiefes Strömungs-Fachwissen.
Wie wir dieses Projekt einordnen.
Nichtlineares hydraulisches Gleichungssystem mit gekoppelten Komponenten — gelöst mit einem eigenen Python-Solver über mehrdimensionale Newton-Iteration (inkl. NPSH/Kavitation und Betriebsgrenzen).
Betriebspunkt-Berechnung, Variantenvergleich und Report-Erstellung laufen vollautomatisch; nur die Eingabeparameter kommen vom Anwender.
Eine physikalisch korrekte Strömungssimulation mit eigenem numerischen Python-Solver als reine Web-App — das kann kaum ein zweiter Anbieter.
- Pumpen KennliniendatenbankStammdaten der Pumpenmodelle
- PDF-Report-ExportErgebnis-Dokumentation für den Kunden
Ein Blick auf ein kniffliges Detail.
def Lambda(w, d, k, nu):
# returns the pipe friction coefficient according to Moody / Darcy-Weisbach
# w: flow velocity [m/s]
# d: Pipe diameter [m]
# k: Pipe roughness [m]
# nu: kinematic viscosity [m^2/s]
Re = Reynolds(w,d,nu)
# define the flow regions according to moody
B1 = 2320
B2 = d/k * math.log10( 0.1 * d/k )
B3 = 400 * d/k * math.log10( 3.715 * d/k )
if Re <= 2320:
return 64/Re, Re, 'laminar'
elif (Re > B1) and (Re <= B2):
return 0.309/(math.log10(Re/7))**2, Re, 'turbulent: hyraulic smooth'
elif (Re > B2) and (Re <=B3):
return 0.25/(math.log10(15/Re+k/(3.715*d)))**2, Re, 'turbulent: Transition'
elif Re > B3:
return 0.25/(math.log10(3.715*d/k))**2, Re, 'turbulent: hydraulic rough'

