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:
Dabei ist der Zustandsvektor (eine lange Liste aller Erhaltungsgrößen), deren zeitliche Änderung und 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 (1. Kirchhoffsches Gesetz):
- 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 :
mit den Enthalpieströmen und dem Wärmeverlust ans 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-Vektor | Bedeutung |
|---|---|
| Rohrsegmente | Energie (Masse × spez. Enthalpie) je Finite-Volumen-Segment einer Leitung |
| Komponenten mit Fluidvolumen | Wärmeübertrager, Speicher, Erzeugerkreise |
| Erdreich | Temperaturen 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:
- Wähle die Erhaltungsgröße
y(Energie, Masse, …), nicht die Temperatur. - Schreibe die Bilanz: d(Gespeichertes)/dt = Σ Zuflüsse − Σ Abflüsse.
- Drücke jeden Fluss durch den Zustand aus (physikalische Gesetze).
- Löse nach
dy/dtauf: das istydot.
Beispiel: ein Rohrsegment
Ein Segment mit Fluidmasse und Wärmekapazität wird vom Massenstrom durchströmt und verliert Wärme ans Erdreich:
Links die Speicheränderung, rechts Advektion (das warme Fluid aus dem vorherigen Segment) minus Verlust. Nach 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:
| Stufe | im Wärmenetz |
|---|---|
| Head | Energie → Temperaturen aller Segmente |
| Mitte | hydraulisches Unterproblem lösen (Newton-Raphson → Massenströme), dann Enthalpieströme, Wärmeverluste, Wärmeübertrager, Regelung |
| Tail | Bilanz 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 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
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:
📖 Begriffe in einem Satz (jederzeit nachschlagen)
Zustand → Temperatur
Energie y „auspacken“
- Rohrsegmente
- Komponenten
- Erdreich
Flüsse berechnen
Physik bei bekannter T
- Hydraulik: ṁ, p (Newton-Raphson)
- Wärmeverluste ans Erdreich
- Wärmeübertrager, Regelung
Σ Flüsse → ẏ
Bilanz schließen
- Rohrsegmente
- Komponenten
- Erdreich
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.
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. 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.
$\dfrac{dT_i}{dt} = \dfrac{\alpha}{\Delta x^2}\,\bigl(T_{i-1} - 2T_i + T_{i+1}\bigr)$
// nur die direkten Nachbarn → tridiagonal
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 ε.
$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.
dt hochziehen, bis CFL > 1 — dann zwischen Explizit/Implizit umschalten. $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.
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
dtund geht vontnacht+dt. - Mitte, die Newton-Iteration: löst die nichtlineare implizite Gleichung nach
y_{n+1}(meist 1–3 Iterationen). - Innen, das lineare Gleichungssystem (LES): in jeder Newton-Iteration wird einmal 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
- Der Solver beschreibt das Wärmenetz als Graph; jedes Element bringt ein hydraulisches und ein thermisches Modell mit.
- 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 .
ydotbilanziert die Energie jedes Fluidvolumens — Advektion minus Wärmeverlust — und wird zur Laufzeit in drei Stufen ausgewertet, inklusive des hydraulischen Unterproblems.- Integriert wird mit CVODE (implizites BDF-Verfahren) und adaptiver Schrittweite plus Fehlerkontrolle — nötig, weil Netzmodelle steif sind.
- 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?
Warum werden Hydraulik und Thermik getrennt formuliert?
Was ist ydot in der Wärmenetzsimulation?
Warum rechnet die Netzsimulation implizit und nicht explizit?
Wie groß werden die Gleichungssysteme?
Verwandte Artikel
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.