VICUS Solver: der Rechenkern für die Wärmenetzsimulation

Wie rechnet ein Solver die thermo-hydraulische Simulation eines Fernwärmenetzes? Vom Netzgraphen über die Kopplung von Hydraulik und Thermik, CVODE und Newton-Iteration bis zum dünnbesetzten Gleichungssystem — verständlich erklärt.

Inhaltsverzeichnis

Jede thermo-hydraulische Simulation steht und fällt mit ihrem Rechenkern, dem Stück Software, das aus Netztopologie, Rohrdaten, Lastprofilen und Regelungslogik einen physikalisch belastbaren Druck-, Massenstrom- und Temperaturverlauf macht. Bei VICUS Districts ist dieser Kern der VICUS Solver, ein an der TU Dresden in über 20 Jahren Forschung gereifter Simulationslöser — derselbe Kern, der auch VICUS Buildings antreibt. Dieser Artikel öffnet die Motorhaube für den Fall Fernwärmenetz: Er zeigt Schritt für Schritt, wie der Solver ein Netz als Gleichungssystem beschreibt und dieses durch die Zeit integriert.

Sie müssen dafür keine Numerik studiert haben. Die zentrale Idee lässt sich in einem Satz sagen, und die interaktiven Demos weiter unten lassen sich selbst „durchkurbeln”.

Die Grundidee in einem Satz

Der Solver beschreibt das Wärmenetz als Graph aus Knoten und Kanten und löst darauf zwei eng gekoppelte Teilprobleme: die Hydraulik — welche Drücke und Massenströme stellen sich ein? — und den Wärmetransport — wie wandern die Temperaturen durchs Netz? Das Herzstück ist dabei immer dieselbe Frage:

„Wie schnell ändert sich die gespeicherte Energie in jedem Fluidvolumen des Netzes?”

Kennt man diese Änderungsrate, kann man einen kleinen Schritt in die Zukunft gehen, die neuen Temperaturen berechnen und das Spiel von vorne beginnen. In Vektorschreibweise, genau so „sieht” es der Zeitintegrator, lautet das:

dydt=ydot(t,y)\frac{d\mathbf{y}}{dt} = \texttt{ydot}(t,\,\mathbf{y})

Dabei ist y\mathbf{y} der Zustandsvektor (eine lange Liste aller Erhaltungsgrößen), ydot\texttt{ydot} deren zeitliche Änderung und tt die Zeit.

Das Netz als Graph

Grundlage jeder Rechnung ist der Netzaufbau als Graph: Knoten sind Verzweigungs- und Anschlusspunkte, Kanten sind die Netzelemente — Rohre, Pumpen, Ventile, Wärmeübertrager der Übergabestationen, Erzeuger. Jedes Element bringt zwei Modelle mit: ein hydraulisches (welche Druckdifferenz stellt sich bei welchem Massenstrom ein?) und ein thermisches (was passiert mit der Temperatur des durchströmenden Fluids?).

Diese Trennung ist keine Nebensächlichkeit, sondern die zentrale Architekturentscheidung des Solvers — denn beide Teilprobleme haben grundverschiedene Zeitskalen.

Zwei Teilprobleme: schnelle Hydraulik, träge Thermik

Die Hydraulik: stationär und algebraisch

Druckwellen breiten sich in nahezu inkompressiblem Wasser mit Schallgeschwindigkeit aus. Aus Sicht der träge wandernden Temperaturen stellt sich die Strömung also sofort ein. Deshalb wird die Hydraulik nicht zeitlich integriert, sondern in jedem Auswertungsschritt als stationäres, algebraisches Gleichungssystem gelöst:

  • Massenerhaltung an jedem Knoten ii (1. Kirchhoffsches Gesetz): km˙i,k=0\sum_k \dot{m}_{i,k} = 0
  • Druckverlust je Element, z. B. für Rohre nach Colebrook-White — abhängig von Massenstrom und Temperatur, denn Dichte und Viskosität des Fluids ändern sich mit ihr (siehe Druckverlustberechnung)

Dieses nichtlineare System wird mit dem Newton-Raphson-Verfahren gelöst. Bidirektionale Strömungen — die Fließrichtung kehrt sich um, etwa bei dezentraler Einspeisung — sind dabei automatisch enthalten, weil die Druckverlustgleichung vorzeichenrichtig formuliert ist.

Die Thermik: dynamisch und zeitabhängig

Temperaturen ändern sich vergleichsweise langsam: Das Fluid speichert Energie, und eine Temperaturwelle braucht je nach Fließgeschwindigkeit Minuten bis Stunden durchs Netz. Der Wärmetransport wird deshalb als System gewöhnlicher Differentialgleichungen formuliert — die Energiebilanz jedes Fluidvolumens kk:

CkdTkdt=H˙zu,kH˙ab,kQ˙Verlust,kC_k \cdot \frac{dT_k}{dt} = \dot{H}_{\text{zu},k} - \dot{H}_{\text{ab},k} - \dot{Q}_{\text{Verlust},k}

mit den Enthalpieströmen H˙=m˙cT\dot H = \dot m \, c \, T und dem Wärmeverlust ans Erdreich Q˙Verlust,k=UA(TkTErdreich)\dot{Q}_{\text{Verlust},k} = UA \cdot (T_k - T_\text{Erdreich}).

Warum nicht alles in ein einziges großes Gleichungssystem stecken? Das ist der Weg generischer Löser (etwa in Modelica): eine monolithische Jacobi-Matrix mit vielen direkten Abhängigkeiten. Der VICUS Solver geht den deutlich performanteren zweiten Weg: Das hydraulische System wird als separates Unterproblem innerhalb der thermischen Rechnung gelöst — zwei kleinere, spezialisierte Gleichungssysteme statt einem großen.

Energie statt Temperatur: die Erhaltungsgröße

Wie im Gebäudefall bilanziert der Solver nicht direkt die Temperatur, sondern die gespeicherte Energie — denn Energie ist eine Erhaltungsgröße, deren Zu- und Abflüsse sich eindeutig aufsummieren lassen. Die Temperatur ist eine daraus abgeleitete Größe.

Was steckt im Zustandsvektor y?

Anteil im y-VektorBedeutung
RohrsegmenteEnergie (Masse × spez. Enthalpie) je Finite-Volumen-Segment einer Leitung
Komponenten mit FluidvolumenWärmeübertrager, Speicher, Erzeugerkreise
ErdreichTemperaturen des gekoppelten Erdreichmodells (bei kalter Nahwärme)

Das dynamische Rohrmodell zerlegt jede Leitung in Segmente, damit die Ausbreitung von Temperaturwellen korrekt abgebildet wird; jedes Segment ist ein eigener Eintrag in y. Die thermische Kapazität der Rohrwand wird über ein Lumped Model dem Fluid zugeschlagen — die Trägheit stimmt, ohne dass ein zusätzliches Rechengitter für die Rohrwand nötig wäre. Bei großen Netzen kommen so schnell tausende Unbekannte zusammen.

Woher kommt ydot? Die Bilanz, nicht geraten

Das Rezept ist dasselbe wie bei jedem Erhaltungssatz:

  1. Wähle die Erhaltungsgröße y (Energie, Masse, …), nicht die Temperatur.
  2. Schreibe die Bilanz: d(Gespeichertes)/dt = Σ Zuflüsse − Σ Abflüsse.
  3. Drücke jeden Fluss durch den Zustand aus (physikalische Gesetze).
  4. Löse nach dy/dt auf: das ist ydot.

Beispiel: ein Rohrsegment

Ein Segment kk mit Fluidmasse MM und Wärmekapazität cc wird vom Massenstrom m˙\dot m durchströmt und verliert Wärme ans Erdreich:

McdTkdt=m˙c(Tk1Tk)    UA(TkTErdreich)M\,c\,\frac{dT_k}{dt} = \dot m\,c\,\bigl(T_{k-1} - T_k\bigr) \;-\; UA\,\bigl(T_k - T_\text{Erdreich}\bigr)

Links die Speicheränderung, rechts Advektion (das warme Fluid aus dem vorherigen Segment) minus Verlust. Nach dTk/dtdT_k/dt aufgelöst ist das ydot für dieses Segment — hergeleitet aus Energieerhaltung plus Flussgesetzen, nicht erfunden. Reiht man viele Segmente aneinander, entsteht genau das Modell, das in der Live-Demo weiter unten läuft: eine Temperaturfront, die durch ein in 50 Segmente zerlegtes Rohr wandert.

Die Auswertung zur Laufzeit — inklusive Hydraulik

Ein geschlossenes ydot-Formelblatt gibt es auch im Netzfall nicht. Der Integrator übergibt ein y und fragt nach der Änderungsrate; intern läuft die bekannte dreistufige Pipeline:

Stufeim Wärmenetz
HeadEnergie → Temperaturen aller Segmente
Mittehydraulisches Unterproblem lösen (Newton-Raphson → Massenströme), dann Enthalpieströme, Wärmeverluste, Wärmeübertrager, Regelung
TailBilanz je Fluidvolumen schließen → ydot

Bemerkenswert ist die Mitte: In jeder einzelnen ydot-Auswertung steckt eine komplette hydraulische Netzberechnung, denn ohne aktuelle Massenströme gibt es keine Enthalpieströme. Ein Abhängigkeitsgraph sortiert die Teilmodelle automatisch in die richtige Reihenfolge — Regler, die auf Größen reagieren, die sie selbst beeinflussen, werden zu Gruppen zusammengefasst und iterativ gelöst.

Das Schema interaktiv

Die folgende Visualisierung zeigt das Funktionsschema des VICUS Solvers mit den drei geschachtelten Schleifen — im Netzfall dasselbe wie im Gebäudefall, denn es ist derselbe Rechenkern. Die Live-Demo darunter zeigt das Grundelement jedes Netzmodells: ein kaltes Rohr, in Segmente zerlegt, in das ab t=0t = 0 heißes Vorlaufwasser einströmt. Sie sehen, wie die Temperaturfront mit der Fließgeschwindigkeit durchs Rohr wandert und Wärmeverluste sie unterwegs dämpfen — und wo die Stabilitätsgrenze expliziter Verfahren liegt.

Wie der VICUS Solver rechnet

Vom Netzmodell zur Lösung – drei geschachtelte Schleifen & der y→ẏ-Datenfluss
$\dfrac{d\mathbf{y}}{dt} = \texttt{ydot}(t,\,\mathbf{y})$

So liest du diese Visualisierung — erst der Überblick, dann das Netz-Grundelement als Live-Demo: So liest du diese Visualisierung — erst der Überblick, dann ein Beispiel zum Selbst-Ausprobieren:

SchemaÜberblick: die drei geschachtelten SchleifenÜberblick, wie der Solver arbeitet
RohrTemperaturwelle: N gekoppelte ODEs (Advektion + Verlust)warmes Wasser schiebt sich durchs kalte Rohr
📖 Begriffe in einem Satz (jederzeit nachschlagen)
$\mathbf{y}$ — ZustandListe aller Erhaltungsgrößen (Energie jedes Rohrsegments & jeder Komponente).die lange Liste aller Temperaturen/Energien, die sich über die Zeit ändern.
$\dot{\mathbf{y}}$ = ydot — Änderungsratedie Ableitung dy/dt: wie schnell sich jeder Zustand ändert.wie schnell sich gerade alles ändert (die Steigung).
Bilanzd(Energie)/dt = Σ Zuflüsse − Σ Abflüsse — woher jede Gleichung kommt.was reinkommt minus was rausgeht.
$F$ — Residuum$F=y-y_n-dt\,\texttt{ydot}(y)$; null, wenn der neue Zustand stimmt.wie weit ein Rateversuch noch danebenliegt (0 = richtig).
$J$ — Jacobi-Matrix$\partial F/\partial y$: wie F auf kleine Änderungen jedes Zustands reagiert.Empfindlichkeits-Tabelle: welche Stellschraube wirkt wie stark.
$\Delta y$ — Korrekturder Newton-Schritt, der den Rateversuch verbessert.um wie viel der Rateversuch korrigiert wird.
LESlineares Gleichungssystem $J\,\Delta y=-F$, einmal je Newton-Iteration.das Gleichungssystem, das die Korrektur ausrechnet.
NewtonIteration, die die nichtlineare implizite Gleichung $F(y)=0$ löst.schrittweises Annähern an die richtige Lösung.
BDF-Ordnung (1–5)Genauigkeitsgrad des impliziten Verfahrens; höher → größere Schritte.wie „schlau" der Solver schätzt — höher = größere Zeitschritte.
Steifigkeitsehr schnelle und sehr langsame Vorgänge zugleich (durchströmte Rohrsegmente vs. Erdreich).Schnelles und Träges gleichzeitig → explizit braucht Mini-Schritte.
Hydraulik-Unterproblemstationäres System aus Massenerhaltung + Druckverlust; liefert ṁ und p je ydot-Auswertung (Newton-Raphson).Nebenrechnung: welche Wassermengen fließen gerade wo?
CFL-Zahl$\text{CFL}=v\,dt/\Delta x$; explizit stabil nur für CFL ≤ 1.Maß für die Schrittweite bei Strömung — zu groß → explizit explodiert.
Programmstart
Initialisierung Modelle & Graph aufbauen, y₀ setzen
① Zeitschleife while t < t_end
wähle dt · t → t+dt
Zeitschritt rechnen
BDF, Ordnung 1–5 · adaptive Schrittweite + Fehlerkontrolle
② Newton-Iteration löse F(y)=0
② + ③ entfallen bei explizit — $y_{n+1} = y_n + dt\cdot\texttt{ydot}(t_n, y_n)$
↳ in jeder Iteration wird ydot(t, y) ausgewertet — der Netz-Datenfluss in 3 Stufen
Head · zuerst

Zustand → Temperatur

Energie y „auspacken“

  • Rohrsegmente
  • Komponenten
  • Erdreich
Mitte · Graph

Flüsse berechnen

Physik bei bekannter T

  • Hydraulik: ṁ, p (Newton-Raphson)
  • Wärmeverluste ans Erdreich
  • Wärmeübertrager, Regelung
Tail · zuletzt

Σ Flüsse → ẏ

Bilanz schließen

  • Rohrsegmente
  • Komponenten
  • Erdreich
↳ aus ẏ baut Newton beide Bestandteile des LES:
Residuum $F = y - y_n - dt\,\dot y$  →  rechte Seite $-F$
Jacobi $J = I - dt\,\dfrac{\partial \dot y}{\partial y}$  →  Koeffizientenmatrix des GLS — das $A$ in $A\,\Delta y = b$
③ Lineares Gleichungssystem (LES)
$J \cdot \Delta y = -F$  // J numerisch via Differenzenquotient + Sparsity
Direkt · dichte Matrix
Direkt · dünnbesetzt
Iterativ · Krylov
Iterativ · Krylov (Variante)
Newton-Konvergenz · ‖F‖ pro Iteration
Jede Iteration löst einmal das LES und verkleinert das Residuum ‖F‖ — meist nach 2–3 Schritten unter der Toleranz. So oft läuft Newton innerhalb eines Zeitschritts.
Schritt abschließen & ausgeben auf Ausgabezeitpunkte interpolieren
📄 Ausgabedateien
Ergebnis · Fluidtemperatur über akzeptierte Zeitschritte
Erst wenn Newton konvergiert ist, gilt der Zeitschritt als akzeptiert — und liefert einen neuen, belastbaren Temperaturwert. Hier kühlt ruhendes Fluid in einer Leitung von 22 °C Richtung Erdreichtemperatur (5 °C) aus.
① Zeit (CVODE) ② Newton ③ LES Head: Energie→T Mitte: Flüsse Tail: Σ→ẏ

Schritt für Schritt: ein Raum kühlt aus

Das kleinste denkbare Simulationsmodell: eine Zone, eine Gleichung. Ein warmer Raum (22 °C) verliert Wärme an die kalte Außenluft (5 °C): $\dfrac{dT}{dt} = -\dfrac{T - T_\text{außen}}{\tau}$. Drücke Schritt und sieh zu, wie der Integrator sich durch die Zeit hangelt — und dreh an dt, um die Stabilitätsgrenze zu finden.

💡 Was du hier lernst Explizit-Euler folgt blind der Tangente: bei großem dt schießt die Lösung über T_außen hinaus und explodiert. Implizit bleibt stabil — kostet dafür Newton + LES. Bei diesem linearen Beispiel löst sich implizit sogar direkt (ohne Newton). Macht der Solver zu große Zeitschritte, „überschießt" das einfache Verfahren und rechnet Unsinn. Das stabile Verfahren bleibt ruhig — kostet aber mehr Aufwand pro Schritt. Tipp: dt über 6 h ziehen, dann zwischen Explizit/Implizit umschalten.
MethodeExplizit Euler
Zeit t0.00 h
Schritt #0
T (Solver)22.00 °C
T (exakt)22.00 °C
Fehler |Δ|0.00 K
① Head · y → T
② Mitte · Fluss
③ Tail · ẏ & Schritt

Probier’s: Schieb dt über 6 h (= 2τ) und mach Schritte mit Explizit Euler — die Lösung beginnt zu oszillieren und explodiert, obwohl der Raum physikalisch nur sanft auskühlt. Schalte auf Implizit Euler: dieselbe große Schrittweite bleibt stabil. Genau deshalb rechnet der VICUS Solver steife Gebäudemodelle implizit (CVODE).

Zweites Beispiel: Wärmeleitung durch eine Wand

Jetzt eine partielle Differentialgleichung — die Wärmeleitungsgleichung $\dfrac{\partial T}{\partial t} = \alpha\,\dfrac{\partial^2 T}{\partial x^2}$. Eine Wand (innen warm, außen kalt) wird in N Zellen zerlegt; jede Zelle bilanziert nur mit ihren Nachbarn. So wird aus einer PDE ein System aus N gekoppelten ODEs — genau die Finite-Volumen-Wand des VICUS Solvers, jede Schicht ein Eintrag in y. Dreh an N und sieh, warum feine Netze das explizite Verfahren in die Knie zwingen.

💡 Was du hier lernst Eine PDE wird durch räumliche Zerlegung zu N gekoppelten ODEs — so entstehen die tausenden Zustände des VICUS Solvers. Feineres Netz (großes N) macht das Problem steif: explizit braucht winzige Schritte ($r\le\tfrac12$), implizit löst pro Schritt ein tridiagonales LES und bleibt stabil. Teilt man die Wand in viele Scheiben, wird aus einer Gleichung ein ganzes Bündel. Je feiner, desto kleiner muss der Zeitschritt beim einfachen Verfahren sein — sonst flackert die Lösung. Tipp: N hochschieben und eine Zelle anklicken — der Inspektor zeigt die Zahlen Schritt für Schritt.
← innen (22 °C)Wanddicke xaußen (5 °C) →
MethodeExplizit (FTCS)
Zeit t0.0 h
Schritt #0
Zustände (N)10
Δx21.8 mm
Fourier r = α·dt/Δx²0.31
// diskretisiert pro Zelle i:
$\dfrac{dT_i}{dt} = \dfrac{\alpha}{\Delta x^2}\,\bigl(T_{i-1} - 2T_i + T_{i+1}\bigr)$
// nur die direkten Nachbarn → tridiagonal
implizit → tridiagonales System, nur 3 Diagonalen besetzt:$$J=\begin{pmatrix} 1{+}2r & -r & & \\ -r & 1{+}2r & -r & \\ & -r & 1{+}2r & \ddots \\ & & \ddots & \ddots \end{pmatrix}$$Diese tridiagonale Matrix ist die Jacobi-Matrix — die Koeffizientenmatrix des LES.
🔬 Zelle 5 x = … mm Tipp: Zelle im Diagramm anklicken, dann Schritt drücken

Der Steifigkeits-Effekt: Schieb N hoch (feineres Netz, genauer!) — bei Explizit wächst r = α·dt/Δx² quadratisch, sprengt schnell die Grenze ½, und das Profil zittert und explodiert. Um stabil zu bleiben, müsstest du dt drastisch verkleinern. Implizit löst jeden Schritt ein tridiagonales Gleichungssystem (das LES!) und bleibt für jedes N und dt stabil. Genau deshalb diskretisiert der VICUS Solver Wände in viele Zellen und rechnet implizit.

Drittes Beispiel: Gegenstrom-Wärmetauscher

Zwei Fluidströme tauschen Wärme über eine Wand — heiß und kalt fließen gegeneinander. Entlang der Länge in N Segmente zerlegt, hat jedes Segment eine heiße und eine kalte Fluidtemperatur → 2N gekoppelte ODEs (Strömung + Wärmeübergang). Genau so diskretisiert der VICUS Solver Rohre und Wärmetauscher in thermischen Netzwerken. Vergleich Gegenstrom ↔ Gleichstrom und sieh den Wirkungsgrad ε.

💡 Was du hier lernst Zwei gegenläufige Ströme = 2N gekoppelte ODEs (Advektion + Wärmeübergang) — wie in den thermischen Netzwerken des VICUS Solvers. Gegenstrom ist effektiver als Gleichstrom; bei ungleichen Enthalpieströmen ändert der Strom mit kleinerem Ċ seine Temperatur stärker. Heiß und kalt fließen gegeneinander und tauschen Wärme. Gegenstrom holt mehr heraus als Gleichstrom. Wer „weniger Masse pro Zeit" hat, ändert seine Temperatur stärker. Tipp: Anordnung umschalten und NTU sowie das Ċ-Verhältnis variieren — ε vergleicht sich mit der Theorie.
AnordnungGegenstrom
Zeit t0 s
Ċ heiß : kalt418 : 418 W/K
C_r = C_min/C_max1.00
heiß ein → aus70.0 → 70.0 °C
kalt ein → aus15.0 → 15.0 °C
Wärmestrom Q0 W
ε (simuliert)0.00
ε (analytisch, ε-NTU)0.00
// pro Segment j, mit eigenem Enthalpiestrom Ċ = ṁ·c_p:
$M_h\dfrac{dT_{h,j}}{dt} = \dot C_h\,(T_{h,\text{zu}}-T_{h,j}) \;-\; UA_\text{seg}\,(T_{h,j}-T_{c,j})$
$M_c\dfrac{dT_{c,j}}{dt} = \dot C_c\,(T_{c,\text{zu}}-T_{c,j}) \;+\; UA_\text{seg}\,(T_{h,j}-T_{c,j})$
// kalt: Zustrom von der anderen Seite; $\dot C_h \ne \dot C_c$ erlaubt

Warum Gegenstrom? Beim Gleichstrom laufen beide Temperaturen aufeinander zu und enden bei einer gemeinsamen Mischtemperatur — ε ist gedeckelt. Beim Gegenstrom bleibt entlang der Länge ein nahezu konstanter Temperaturabstand, die Kaltauslauf-Temperatur kann sich der Heißeintritts-Temperatur nähern → mit großem NTU geht ε gegen 1.
Unterschiedliche Enthalpieströme: Der Strom mit dem kleineren $\dot C$ ändert seine Temperatur stärker (steilere Kurve) und bestimmt $\dot C_\text{min}$. Für $C_r\to 0$ liefern Gegen- und Gleichstrom dasselbe $\varepsilon = 1-e^{-\text{NTU}}$. Die simulierte Effektivität deckt sich mit der analytischen $\varepsilon$-NTU-Beziehung:$$\varepsilon_\text{Gegen} = \frac{1-e^{-\text{NTU}(1-C_r)}}{1-C_r\,e^{-\text{NTU}(1-C_r)}}, \qquad \varepsilon_\text{Gleich} = \frac{1-e^{-\text{NTU}(1+C_r)}}{1+C_r}.$$

Live-Demo: Temperaturausbreitung im Rohr

Das Grundelement jedes Netzmodells: ein Rohr (L = 100 m), in N = 50 Segmente zerlegt — jedes Segment ein Eintrag in y. Das Rohr startet kalt bei 10 °C; ab $t=0$ strömt links 70 °C warmes Vorlaufwasser ein. Jedes Segment bilanziert Zustrom, Abstrom und Wärmeverlust ans Erdreich. Drücke Schritt und sieh zu, wie die Temperaturfront durchs Rohr wandert — und dreh an v, dt und dem Verlust.

💡 Was du hier lernst Advektion transportiert die Front mit der Fließgeschwindigkeit v (Totzeit L/v!), Wärmeverluste dämpfen sie exponentiell mit $e^{-\beta x / v}$. Explizit ist nur für CFL = v·dt/Δx ≤ 1 stabil; implizit (bidiagonales LES, ein Vorwärtsdurchlauf) bleibt für jedes dt stabil. Das warme Wasser schiebt sich durchs kalte Rohr — hinten kommt es später und etwas kälter an. Zu große Zeitschritte lassen das einfache Verfahren „explodieren"; das stabile Verfahren verkraftet jeden Schritt. Tipp: dt hochziehen, bis CFL > 1 — dann zwischen Explizit/Implizit umschalten.
Vorlauf 70 °C ⟶L = 100 m · N = 50⟶ Auslass
MethodeExplizit (Upwind)
Zeit t0 s
Schritt #0
CFL = v·dt/Δx0.75
Frontposition v·t0 m
T am Auslass10.0 °C
// pro Segment k (Upwind-Bilanz):
$M c\,\dfrac{dT_k}{dt} = \dot m c\,(T_{k-1} - T_k) \;-\; UA\,(T_k - T_\text{Erdreich})$
// Kopplung nur zum stromauf liegenden Nachbarn → bidiagonal

Was hier passiert: Die Front wandert mit v durchs Rohr — am Auslass kommt die Temperaturänderung erst nach der Totzeit L/v an, gedämpft um den Verlustfaktor $e^{-\beta L / v}$: langsame Strömung heißt längere Laufzeit und mehr Auskühlung. Schieb dt über die Grenze CFL = 1: Explizit beginnt zu oszillieren und explodiert, Implizit löst pro Schritt ein bidiagonales LES (ein einziger Vorwärtsdurchlauf) und bleibt stabil. Dass die berechnete Front flacher ist als die exakte, ist numerische Diffusion — genau deshalb zerlegt das dynamische Rohrmodell in VICUS Districts Leitungen in viele Segmente.

Interaktives Funktionsschema des Simulationskerns hinter VICUS Districts · „▶ Ablauf abspielen" führt Schritt für Schritt durch Zeitschleife → Newton → LES.

Zeitintegration: CVODE und die Steifigkeit des Netzes

Integriert wird mit CVODE aus dem SUNDIALS-Paket: ein implizites, adaptives Mehrschrittverfahren auf Basis von BDF (Backward Differentiation Formulas) der Ordnung 1 bis 5. Die Schrittweite ist nicht konstant — bei ruhigem Sommerbetrieb macht der Solver große Schritte, beim morgendlichen Lastanstieg oder beim Zuschalten eines Erzeugers kleine. Die Ausgabe (etwa Stundenwerte) wird davon entkoppelt und sauber interpoliert.

Warum implizit? Aus demselben Grund wie bei Gebäuden: Steifigkeit. Ein kurzes, schnell durchströmtes Rohrsegment hat eine Zeitkonstante von Sekunden; das Erdreich um die Trasse reagiert über Wochen. Explizite Verfahren müssten sich an der schnellsten Zeitkonstante orientieren und winzige Schritte machen — eine Jahressimulation würde unbrauchbar langsam. Das implizite Verfahren bleibt bei großen Schritten stabil; die Schrittweite bestimmt allein die gewünschte Genauigkeit.

Drei geschachtelte Schleifen — plus ein Unterproblem

Die mentale Landkarte des impliziten Solvers gilt unverändert:

  • Außen, die Zeitschleife (CVODE): wählt die Schrittweite dt und geht von t nach t+dt.
  • Mitte, die Newton-Iteration: löst die nichtlineare implizite Gleichung F(y)=yyndtydot(y)=0F(y) = y - y_n - dt \cdot \texttt{ydot}(y) = 0 nach y_{n+1} (meist 1–3 Iterationen).
  • Innen, das lineare Gleichungssystem (LES): in jeder Newton-Iteration wird einmal JΔy=FJ \cdot \Delta y = -F gelöst.

Im Netzfall kommt die Besonderheit hinzu, dass jede ydot-Auswertung ihrerseits das hydraulische Unterproblem per Newton-Raphson löst. Es gibt also zwei getrennte Jacobi-Matrizen mit jeweils geringen Abhängigkeiten — die hydraulische wird für einfache Elemente analytisch und für geregelte Komponenten numerisch gebildet.

Beide Systeme sind dünnbesetzt: Ein Rohrsegment koppelt thermisch nur mit seinen Nachbarn entlang des Fließwegs, ein Knoten hydraulisch nur mit den angeschlossenen Kanten. Der Solver nutzt das über Sparse-Löser aus; bei sehr großen Netzen kommen iterative Krylov-Verfahren mit Präkonditionierer zum Einsatz (GMRES + ILU). Für die meisten Projekte wählt der Solver diese Einstellungen selbst — man dreht daran nur, wenn eine Simulation zu langsam ist oder nicht konvergiert.

Vom Netzmodell zur Lösung in fünf Sätzen

  1. Der Solver beschreibt das Wärmenetz als Graph; jedes Element bringt ein hydraulisches und ein thermisches Modell mit.
  2. Die Hydraulik (Drücke, Massenströme) ist ein stationäres algebraisches System und wird in jeder Auswertung per Newton-Raphson gelöst; die Thermik (Temperaturen) ist ein System gewöhnlicher Differentialgleichungen dy/dt=ydot(t,y)dy/dt = \texttt{ydot}(t, y).
  3. ydot bilanziert die Energie jedes Fluidvolumens — Advektion minus Wärmeverlust — und wird zur Laufzeit in drei Stufen ausgewertet, inklusive des hydraulischen Unterproblems.
  4. Integriert wird mit CVODE (implizites BDF-Verfahren) und adaptiver Schrittweite plus Fehlerkontrolle — nötig, weil Netzmodelle steif sind.
  5. Jeder implizite Zeitschritt erfordert eine Newton-Iteration, jede Newton-Iteration ein dünnbesetztes lineares Gleichungssystem, das direkt (Sparse-LU) oder iterativ (GMRES + ILU) gelöst wird.

Was das für die Praxis bedeutet

Für die tägliche Netzplanung müssen Sie diese Maschinerie nicht im Detail bedienen — aber sie erklärt, warum eine echte thermo-hydraulische Jahressimulation Rechenzeit braucht und trotzdem in Minuten statt Stunden fertig ist: Die domänenspezifische Aufteilung in hydraulisches und thermisches Teilproblem ist der Performance-Hebel, der auch große Netze mit hunderten Teilnehmern, dezentralen Einspeisern und Prosumer-Strukturen zuverlässig rechenbar macht. Der VICUS Solver ist der Rechenkern, auf dem VICUS Districts aufsetzt; die zugrundeliegende Methodik ist quelloffen über das Forschungsprojekt SIM-VICUS dokumentiert.

Wer tiefer einsteigen will: Der Artikel zur thermo-hydraulischen Simulation ordnet die Methodik in die Netzplanung ein, die Druckverlustberechnung zeigt die hydraulischen Gleichungen im Detail, und der Artikel VICUS Solver: der Rechenkern von VICUS Buildings erklärt denselben Kern aus der Gebäudeperspektive — mit weiteren interaktiven Demos zu Newton-Iteration und linearem Gleichungssystem.

Häufig gestellte Fragen

Was berechnet der VICUS Solver bei einem Wärmenetz?
Der VICUS Solver beschreibt das Wärmenetz als Graph aus Knoten und Kanten (Rohre, Pumpen, Ventile, Erzeuger, Verbraucher) und berechnet gleichzeitig Drücke, Massenströme und Temperaturen über den Simulationszeitraum — typischerweise ein Jahr. Die Hydraulik wird als stationäres algebraisches Gleichungssystem gelöst, der Wärmetransport als System gewöhnlicher Differentialgleichungen. Der VICUS Solver ist der Rechenkern, auf dem VICUS Districts aufsetzt.
Warum werden Hydraulik und Thermik getrennt formuliert?
Druckwellen breiten sich in nahezu inkompressiblem Wasser sehr schnell aus — die Hydraulik stellt sich aus Sicht der Temperaturen quasi sofort ein und wird deshalb als stationäres Unterproblem mit dem Newton-Raphson-Verfahren gelöst. Temperaturen ändern sich dagegen träge und werden zeitabhängig integriert (CVODE). Diese domänenspezifische Aufteilung ist deutlich performanter als ein monolithisches Gleichungssystem, wie es generische Modelica-Solver aufstellen.
Was ist ydot in der Wärmenetzsimulation?
ydot ist die rechte Seite der Differentialgleichung dy/dt = ydot(t, y): die Änderungsrate der gespeicherten Energie in jedem Fluidvolumen des Netzes. Für ein Rohrsegment lautet die Bilanz: Enthalpiezustrom minus Enthalpieabstrom minus Wärmeverlust ans Erdreich. In jeder ydot-Auswertung wird zuerst das hydraulische Unterproblem gelöst, denn die Massenströme bestimmen die Enthalpieströme.
Warum rechnet die Netzsimulation implizit und nicht explizit?
Netzmodelle sind steif: Kleine Rohrsegmente mit schnell durchströmtem Fluid haben Zeitkonstanten von Sekunden, das umgebende Erdreich reagiert über Wochen. Explizite Verfahren müssten aus Stabilitätsgründen winzige Zeitschritte machen und wären für Jahressimulationen unbrauchbar langsam. Implizite Verfahren wie CVODE (BDF) bleiben auch bei großen Schritten stabil — die Schrittweite wird von der gewünschten Genauigkeit bestimmt, nicht von der Stabilität.
Wie groß werden die Gleichungssysteme?
Das dynamische Rohrmodell zerlegt jede Leitung in Finite-Volumen-Segmente; jedes Segment ist ein eigener Eintrag im Zustandsvektor y. Bei großen Netzen mit hunderten Teilnehmern kommen so schnell tausende Unbekannte zusammen. Die Jacobi-Matrix ist jedoch dünnbesetzt — jedes Segment koppelt nur entlang des Fließwegs — und wird mit Sparse-Lösern effizient gelöst, bei sehr großen Netzen iterativ mit Präkonditionierer (GMRES + ILU).

Verwandte Artikel

Thermo-Hydraulische Simulation: Ein Deepdive

Fernwärme-Simulation und thermo-hydraulische Berechnung von Wärmenetzen: Methoden, Modelle und Solver für die dynamische Netzberechnung.

Hinweis: Die Inhalte dieser Seite dienen ausschließlich der allgemeinen Information und stellen keine Rechts-, Planungs- oder Ingenieurberatung dar. Alle Angaben ohne Gewähr. Trotz sorgfältiger Recherche übernimmt die VICUS Software GmbH keine Haftung für die Richtigkeit, Vollständigkeit und Aktualität der bereitgestellten Informationen. Produktnamen und Marken Dritter werden nur zu Informationszwecken genannt und sind Eigentum der jeweiligen Rechteinhaber.

VICUS Districts

Von der Theorie zur Praxis

Mit VICUS Districts setzen Sie Ihr Wissen direkt um.

Bleiben Sie auf dem Laufenden

Neue Features, Tutorials und Updates direkt in Ihr Postfach.