Installationsverzeichnisse
Wärend der Installation wird das Programm sowie diverse Zusatzdateien in einem Ordner abgelegt.
Windows Installationsverzeichniss
Seit Version 3.2 wird THERAKLES als 64 Bit-Programm vertrieben. Dies hat unter Windows Auswirkungen auf den Namen des Installationsordners. Er würde dann für die Programmversion 3.2 folgendermaßen lauten:
C:\Program Files\IBK\Therakles Professional 3.2
wobei dieser Pfad im Explorer als
C:\Programme\IBK\Therakles Professional 3.2
angezeigt wird.
Der Installationsordner enthält die originalen Übersetzungs-und Klimadateien sowie die Bauteil-, Material-, Fenster-und Verschattungsdatenbanken.
Im Hauptordner werden unter Windows folgende Dateien angelegt:
Dateiname | Erläuterung |
---|---|
Therakles 3.2 Modell-Dokumentation.pdf | Dokumentation des physikalischen Modells |
Therakles.exe | Das Programm |
TheraklesFMI2.dll | Bibliothek für FMU Export |
TheraklesSolver.exe | Kommandozeilenversion von THERAKLES |
Qt...dll | Laufzeitbibliotheken für Oberflächenkomponenten |
unins000.* | Programm zur Deinstallation |
vc...dll | Laufzeitbibliotheken vom Compiler |
lib...dll, opengl32sw.dll etc. | Laufzeitbibliotheken für Grafik |
Im Verzeichnis resources
befinden sich die Datein für die Datenbanken, die Übersetzungen und die Klimadateien. Alle anderen Verzeichnisse enthalten weitere Laufzeitbibliotheken.
MAC Anwendungs-Bundle und Resourcenverzeichnis
Auf dem Mac sind die Programmresourcen im Application-Bundle enthalten, d.h. im Pfad
TheraklesApp.app/Contents/resources
Der Inhalt des resources
Verzeichnis stimmt mit dem des unten gezeigten Linux-Verzeichnisbaums überein.
Linux-Installationsverzeichniss
Unter Linux wird THERAKLES als komprimierte Verzeichnisstruktur verteilt. Nach dem Entpacken sieht diese Verzeichnisstruktur wie folgt aus:
Therakles-3.2/
├── bin
│ ├── TheraklesApp
│ ├── TheraklesFMI2.so
│ └── TheraklesSolver
├── doc
│ └── Therakles_Modell-Dokumentation.pdf
└── resources
├── DB_climate
│ ├── TRY
│ │ ├── 01_Bremerhaven.c6b
│ │ ├── 02_Rostock_Warnemuende.c6b
│ │ ├── 03_Hamburg-Fuhlsbuettel.c6b
│ │ ├── 04_Potsdam.c6b
│ │ ├── 04_Potsdam_Sommer.c6b
│ │ ├── 04_Potsdam_Winter.c6b
│ │ ├── 05_Essen.c6b
│ │ ├── 06_Bad_Marienberg_withoutRain.c6b
│ │ ├── 07_Kassel.c6b
│ │ ├── 08_Braunlage.c6b
│ │ ├── 09_Chemnitz.c6b
│ │ ├── 10_Hof.c6b
│ │ ├── 11_Fichtelberg.c6b
│ │ ├── 12_Mannheim.c6b
│ │ ├── 13_Muehldorf-Inn.c6b
│ │ └── 14_Stoetten.c6b
│ └── Validation
│ ├── DIN_EN_ISO_13791_Fall01.c6b
│ └── DIN_EN_ISO_13791_Fall02.c6b
├── db_constructions.xml
├── db_materials.xml
├── db_shadingTypes.xml
├── db_windows.xml
├── license.txt
├── Therakles-32.png
├── Therakles-48.png
├── Therakles-64.png
└── translations
├── qt_de.qm
└── Therakles_de.qm
Programmresourcen
Eingebaute Datenbanken
Die Programmressourcen befinden sich im Unterverzeichnis resources
. Dort finden Sie direkt die Dateien für die THERAKLES-Datenbanken:
db_constructions.xml
- Konstruktionsdatenbankdb_materials.xml
- Materialdatenbankdb_shadingTypes.xml
- Datenbank für Verschattungssystemedb_windows.xml
- Datenbank für Fenster bzw. Verglasungen
Eine genaue Beschreibung des Aufbaues dieser Dateien finden Sie in der Programmreferenz.
Die eingebauten Datenbanken werden bei Programmaktualisierungen überschrieben und sollten daher nicht verändert werden. Daher werden auch alle benutzerdefinierten Materialien, Konstruktionen, Fenster- und Verschattungstypen in benutzerdefinierten Datenbankdateien abgespeichert, siehe Benutzerdefinierte Datenbanken
Im Unterverzeichnis translations
befinden sich die Dateien, die für das Umschalten der Benutzeroberfläche in andere Sprachen notwendig sind. Für Englisch ist keine gesonderte Datei notwendig. Zwischen Sprachen schaltet mit in der Programmoberfläche mit der entsprechenden Schaltfläche in der rechten Menüleiste um, oder durch Aufruf von THERAKLES mit dem Kommandozeilenparameter --lang=<sprachkürzel>
(siehe )
Im Unterverzeichnis DB_climate liegen die Klimadateien. Für jeden vorhandenen Klimadatensatz ist in einem Unterverzeichnis eine c6b
- Klimadatei vorhanden. Diese Klimadatei enthält die (Jahres-) Zeitreihen der Klimadaten und eine Standortbeschreibung. Als Unterverzeichnisse werden standardmäßig bei der Installation das Verzeichnis Validation
, DIN4108-2
und das Verzeichnis TRY_2010
(„Test Reference Year“ =Testreferenzjahres- Datensätze, Deutscher Wetterdienst) angelegt. Der Ordner TRY_2010
enthält die für die ingenieursmäßige Auslegung von Räumen ausgelegten Bemessungsklimadatensätze für unterschiedliche Referenzstandorte der Bundesrepublik Deutschland. Unterverzeichnis DIN4108-2
befinden sich die Daten der 3 Klimaregionen der Norm.
Es können alternativ zu diesem internen THERAKLES- Format auch Klimadateien im Format *.ccd
oder *.epw
abgelegt und eingelesen werden (siehe Programmreferenz).
Benutzerdefinierte Datenbanken
Sobald man in THERAKLES eine neue Definition (Material, Konstruktion, ...) anlegt und das Programm beendet, wird diese in einer benutzerspezifischen Datenbankdatei gespeichert. Diese Datenbankdateien befinden sich je nach Betriebssystem in folgendem Ordner:
Plattform | Verzeichnis der Benutzerdaten |
---|---|
Windows | %APPDATA%\Therakles Beispiel: c:\Users\<Benutzername>\AppData\Roaming\Therakles |
Linux | $HOME/.local/share/Therakles |
MacOS | $HOME/.local/share/Therakles |
In diesem Verzeichnis befinden sich die Dateien:
db_constructions.xml
- Konstruktionsdatenbankdb_materials.xml
- Materialdatenbankdb_shadingTypes.xml
- Datenbank für Verschattungssystemedb_windows.xml
- Datenbank für Fenster bzw. VerglasungenTherakles.log
- Programmlogdatei
und das Verzeichnis mit benutzerspezifischen Klimadateien DB_climate
.
Beim Einlesen der Datenbanken liest THERAKLES grundsätzlich die eingebauten Datenbankdateien und Klimadaten zuerst ein, und hängt danach die benutzerdefinierten Daten an die Listen an.
Hinweis: Die Datenbankeinträge müssen eindeutig sein, d.h. man darf nicht die gleichen Daten-IDs in der gleichen Datenbankdatei verwenden, aber auch nicht die gleiche ID in der eingebauten und nutzerdefinierten Datenbankdatei (siehe Programmreferenz)!
Die Log-Datei ist insbesondere bei der Fehlersuche hilfreich. Wenn also die Berechnung abbricht oder Fehler beim Einlesen einer Datenbankdatei oder Projektdatei gemeldet werden, steht zumeist in der Logdatei etwwas mehr über das Problem bzw. die Ursache.
Projektergebnisdateien
Projekt-Verzeichnisstruktur
Die Ergebnisse einer THERAKLES-Simulation können als Dateien gespeichert werden. Dies erfolgt entweder automatisch am Ende der Simulation wenn im Startdialog die entsprechende Option ausgewählt wurde, oder durch Klick auf die Schaltfläche 'Ausgabedateien speichern'. Im letzteren Fall kann der Ausgabeordner selbst gewählt werden.
Beim automatischen Speichern der Ergebnisdateien werden die Dateien im gleichen Ordner abgelegt, in welchem auch die Projektdatei gespeichert wurde.
Beispiel:
# Projektdatei
/Projekte/Gebäude_1.rmxml
# entsprechendes Ergebnisverzeichnis
/Projekte/Gebäude_1/
In beiden Fällen, Einzeljahr- und Zweijahressimulation, werden die Berechnungsergebnisse eines ganzen Jahres, bei der Zweijahressimulation die des letzten Jahres abgelegt. Dabei wird folgende Verzeichnisstruktur verwendet:
Im Ordner log
befinden sich folgende Dateien:
Dateiname | Beschreibung |
---|---|
integrator_cvode_stats.tsv |
Daten zur Beschreibung des Verhaltens der Zeitintegration (Zeitschritte, Fehler etc.) |
LES_direct_stats.tsv bzw.LES_iterative_stats.tsv |
Daten zum Verhalten des Gleichungssystemlösers |
screenlog.txt |
Interne Fortschrittsanzeige, Berechnungsstatistik, Fehlermeldungen |
summary.txt |
Gesamtauswertung des verhaltens des Lösungsverfahrens (Zusammenfassung der beiden ersten Dateien) |
Die Solverstatistiken sind insbesondere für die Performanceanalyse und -optimierung (siehe Kapitel Diagnose und Performanceoptionen) hilfreich.
Im Ordner results
befinden sich die Stundenwerte der Berechnungsergebnisse als tsv-Dateien. Die Daten sind spaltenweise angeordnet und durch Tabulatoren getrennt. Dadurch lassen sie sich leicht in Tabellenkalkulationsprogramme einlesen. Die Ergebnisse sind dabei in folgende Bereiche aufgeteilt:
Dateiname | Beschreibung |
---|---|
states.tsv |
Stundenwerte der Zustandsgrößen (Raumluftzustände, Außenklima, ...) |
fluxes.tsv |
Stundenwerte der aktuellen Lasten (Flüsse) in den Raum |
flux_integrals.tsv |
Zeitintegrale der Lasten in den Raum |
wall_states.tsv |
Stundenwerte der inneren und äußeren Oberflächentemperaturen der einzelnen Konstruktionen |
wall_fluxes.tsv |
Stundenwerte der aktuellen Wärmeströme der einzelnen Konstruktionen |
wall_flux_integrals.tsv |
Zeitintegrale der Wärmeströme der einzelnen Konstruktionen |
Hinweis zu Zeitintegralen: Die Dateien
fluxes.tsv
undwall_fluxes.tsv
enthalten die Momentanwerte der Wärme-/Feuchteströme zu jeder Stunde. Da THERAKLES mit zeitlich höherer Genauigkeit rechnet, werden dabei auch Änderungen der Ströme und Lasten während einer Stunde berücksichtigt, z.B. das zunächst starke Ansteigen und danach Abklingen der Heizleistung beim Einschalten einer Heizung. Die Integralwerte in den Dateienflux_integrals.tsv
undwall_flux_integrals.tsv
werden numerisch (Trapezregel) unter Berücksichtigung der tatsächlichen Zeitintegrationsschritte berechnet. Würde man stattdessen die Stundenwerte einfach Aufsummieren, würde man im Allgemeinen andere und vor allem möglicherweise falsche Integralwerte erhalten (eine häufige Fehlerursache in anderen Simulationsprogrammen!). Für die Berechnung von Bilanzen (Stunden, Monate etc.) muss man die Differenzen der Integralwerte berechnen. Wenn man die mittleren Lasten berechnen möchte, müssen diese Differenzen noch durch die Zeitspanne (z.B. Stunde) geteilt werden.
Für die Auswertung der tsv
-Dateien ist die IBK-Software PostProc 2 zu empfehlen (siehe bauklimatik-dresden.de/postproc).
Weiterhin ist dort noch die Datei RoomTemperature.ccd
gespeichert. Diese enthält die Raumlufttemperaturen als Stundenwerte im Format einer DELPHIN
Klimadatei. Falls die Feuchteberechnung bei erweiterte Einstellungen aktiviert war, wird außerdem noch die relative Luftfeuchte in der Datei RoomRelativeHumidity.ccd
gespeichert. Beide Dateien können dann in einer DELPHIN
-Simulation für das Innenklima verwendet werden.
Klimadateien und Einpflegen eigener Klimadaten
THERAKLES verwendet Klimadatensätze für die Gebäudeenergiesimulation, d.h. Klimadateien, welche alle benötigten Klimakomponenten zur Verfügung stellen. Aktuell werden die folgenden Formate unterstützt:
c6b
- binäres IBK Klimadatenformatepw
- EnergyPlus Weather Files, nur die Variante mit stündlichen Jahresdaten (8760 Einträgen, beginnend mit<Jahr>,1,1,1,60
, wobei das Jahr ignoriert wird)wac
- Klimadatenformat für hygrothermische Simulation (IBK-Variante der Spezifikation mit den benötigten Klimakomponenten für DELPHIN)
Hinweis: Sowohl beim
c6b
als auch beimepw
-Format wird die direkte Solarstrahlung in Normalenrichtung angegeben, während beimwac
Format (wie auch in TRY Dateien) die Solarstrahlung auf die Horizontalfläche angegeben werden muss!
Einbinden eigener Klimadaten
Die neue Klimadatei wird dafür einfach in ein beliebiges Unterverzeichnis unterhalb der benutzerdefinierten Klimadatenbankpfades kopiert (siehe Benutzerdefinierte Datenbanken). Beispielsweise könnte die Klimadatei für Dresden Dresden.epw
in folgendes Verzeichnis kopiert werden:
C:\Users\<benutzername>\AppData\Local\IBK\Therakles\DB_climate\Dresden.epw
Es wäre aber auch möglich, zusätzliche Unterverzeichnisse zu verwenden:
C:\Users\<benutzername>\AppData\Local\IBK\Therakles\DB_climate\Germany\Saxony\Dresden.epw
In THERAKLES würde diese Klimadatei unabhängig vom Standort in der Liste der Klimadaten angezeigt werden. Dabei wird der in der Datei angegebene Standortname angezeigt.
Hinweis: Es sollten nicht mehrere Klimadateien mit der gleichen Standortbeschreibung existieren, da sonst Verwechslungsgefahr besteht.
Überschreiben/Ersetzen eingebauter Klimadaten
Warnung: Diese Funktionalität sollte mit Bedacht und nur in besonderen Fällen verwendet werden!
Innerhalb von THERAKLES werden Klimastandorte über den Dateinamen referenziert. Damit Projekte zwischen verschiedenen Rechnern ausgetauscht werden können, werden nur die relativen Pfade (zum eingebauten Datenbankverzeichnis bzw. zum benutzerdefinierten Datenbankverzeichnis) zur Identifikation der Klimadaten verwendet. Wenn im benutzerdefinierten Datenbankverzeichnis also die gleiche Verzeichnisstruktur und gleiche Klimadateinamen existieren, so gibt es eine Doppeldeutigkeit bei der Referenzierung.
Deswegen gibt es in THERAKLES die Regel, dass benutzerdefinierte Klimadaten die eingebauten überlagern. Beispiel (Linux/Mac-Pfade, gilt für Windows analog):
# Klimadatenpfad im eingebauten Klimadatenverzeichnis
<Therakles-Installdir>/data/DB_climate/DIN4108_2/Region_A.c6b
# Klimadatenpfad im Benutzerverzeichnis
~/.ibk/THERAKLES/DB_climate/DIN4108_2/Region_A.c6b
Der relative Pfad zu beiden Klimadateien ist jeweils DIN4108_2/Region_A.c6b
und wird auch so in der Projektdatei abgelegt. Das XML-Tag ClimateLocation
definiert den relativen Pfad zur Klimadatei im Datenbankverzeichnis der eingebauten bzw. benutzerdefinierten Klimadaten:
...
<ClimateLocation>DIN4108_2/Region_A.c6b</ClimateLocation>
...
Beim Einlesen der Klimadaten werden zuerst die eingebauten Klimadaten eingelesen, dann die im Benutzer-Datenbankverzeichnis, wodurch die bereits eingelesenen eingebauten Klimadaten ersetzt werden.
Erstellung und Bearbeitung von Klimadaten
Auf [bauklimatik-dresden.de] gibt es das Klimadatentool CCMEditor herunterzuladen, mit dem man Klimadateien erstellen kann, deren Daten in eine Tabellenkalkulation (z.B. Excel, Calc, ...) kopieren und von dort wieder zurückführen kann.
Für thermische Berechnungen im THERAKLES sind folgende Klimadaten zwingend notwendig:
- Temperatur
- direkte und diffuse Solarstrahlung
Für hygrothermische Berechnungen (Feuchtebilanz eingeschaltet) ist zusätzlich notwendig:
- relative Luftfeuchtigkeit
Alle anderen Klimadaten werden derzeit von THERAKLES ignoriert.
Konvertieren von CCD-Dateien
Es ist auch möglich, die im DELPHIN verwendeten CCD-Dateien in eine der von THERAKLES verwendeten Klimadatendateien zu konvertieren. Dazu müssen die CCD-Dateien korrekt benannt werden und in ein Verzeichnis kopiert werden:
Temperature.ccd
RelativeHumidity.ccd
DirectRadiation.ccd
DiffuseRadiation.ccd
WindDirection.ccd
WindVelocity.ccd
SkyRadiation.ccd
TotalPressure.ccd
VerticalRain.ccd
Die Datei DirectRadiation.ccd
beinhaltet die direkte Strahlung auf eine Horizontalfläche. Fehlt eine Datei, so wird beim Import die entsprechende Spalte komplett auf 0 gesetzt.
Sind die Dateien erstellt, kann im CCMEditor im Dateimenü die Option "CCD Verzeichnis importieren..." gewählt werden. Für die Umrechnung von Horizontal- auf Normalstrahlung wird der Standort der Klimastation (Längengrad und Breitengrad und die Zeitzone) benötigt.
Modellexport
DELPHIN 6 Projektexport
Es besteht die Möglichkeit einzelne Wandkonstruktionen als DELPHIN 6
Projektdateien zu exportieren um damit weitere Analysen zum feuchtetechnischen Verhalten durchzuführen. Dies geht von der Datenbankansicht für Konstruktionen aus (siehe Konstruktionsdatenbank).
Bei Klick auf die Schaltfläche rechts unten (siehe Bild oben) öffnet sich ein Dialog um den Ordner und den Dateinamen auszuwählen. THERAKLES schlägt hier schon einen Dateinamen, bestehend aus dem Konstruktionsnamen und einer ID, vor.
Hinweis: Da die Materialdaten von THERAKLES exportiert werden, enthalten sie auch nur die dafür notwendigen Kennwerte. Das bedeutet, das alle erweiterten feuchtetechnischen Kennwerte fehlen. Da THERAKLES und DELPHIN auf die gleiche zentrale Materialdatenbank benutzen besteht die Möglichkeit mittels der Material-ID die vollständigen Datensätze in DELPHIN zu identifizieren.
Projektexportoptionen
Alle Optionen zum Projektexport werden durch den Kommandozeilensolver durchgeführt. Die dafür notwendigen Kommandozeilenargumente sind im Kapitel Kommandozeilenargumente des Konsolensolvers beschrieben.
NANDRAD Projektexport
Das Mehrzonengebäudesimulationsprogramme NANDRAD (siehe bauklimatik-dresden.de/nandrad) ist in der Lage, die gleichen Berechungen wie THERAKLES durchzuführen. Es enthält jedoch viel mehr Möglichkeiten und Flexibilität hinsichtlich der Modellierung und Ausgaben.
Ein NANDRAD Projekt enthält zum die Projektdatei, alle verwendeten Materialien und Konstruktionen (welche jeweils DELPHIN 6 Projekte sind) und Klimadaten.
Der Export wird aus dem Hauptfenster durch den Tastaturkurzbefehl Strg+E
gestartet.
Hinweis:
Falls das aktuelle Projekt bisher noch nicht gespeichert wurde, fordert das Programm jetzt zum Speichern des Projekts auf. Erst danach wird der Exportdialog geöffnet.
Es öffnet sich der Exportdialog mit drei Optionen:
Options (1) wählt den NANDRAD Export aus. Der Export startet mit dem Klick auf Exportieren, wobei der Projektname der NANDRAD-Projektdatei ausgewählt werden muss.
Im Verzeichnis der zu erstellenden Projektdatei werden die folgenden Unterverzeichnisse erstellt:
- climate
- constructions
- materials
Darin befinden sich die aus der NANDRAD-Projektdatei referenzierten Dateien.
Modelica-Export
THERAKLES berechnet die dynamischen Temperaturprofile und Wärmeströme in den Raumumschließungsbauteilen mittels der Finite-Volume-Methode. Wenn man ein solches Modell in Modelica aufsetzen möchte, muss man sehr mühselig die einzelnen Schichten und deren Materialparameter verknüpfen.
THERAKLES bietet daher einen Modellexport, welche die opaken Bauteile und deren Verknüpfung mit dem Raumknoten mit den gleichen Gleichungen des THERAKLES-Modells als Modelica-Modell exportiert.
Hinweis: Das exportierte Modelica-Model enthält nur eine Untermenge des THERAKLES-Modells, konkret den Raumluftknoten und die thermischen Bilanzgleichungen der Umfassungskonstruktionen. Alle weiteren Modelle (Quellen- und Senken für den Raumluftknoten) werden über einen abstrakten Wärmeport abgebildet. Damit lassen sich in Modelica geschriebene Anlagenkomponenten hinzufügen.
Analog zum NANDRAD-Export wird ein Modelica-Modell über den Exportdialog (Strg+E
) erstellt. Bei Auswahl der Modelica-Modell Exportoption muss man noch den Namen des Modelica-Packages angeben. Nach Klick auf Exportieren muss man dann noch das Zielverzeichnis für das Modelica-Package auswählen. In diesem Verzeichnis werden folgende Dateien erstellt:
<Modelica Package Verzeichnis>
├── climate_data.txt # Klimadaten
├── Climate.mo # Liest und interpoliert Klimadaten
├── package.mo # Das Package
├── Room.mo # Raumluftknoten
├── schedule_data.txt # Heizungssetpoints
├── Schedules.mo # Liest und liefert Setpoints
├── Therakles.mo # Verknüpft alle Teilkomponenten
├── Wall1.mo # 1. Konstruktion
├── Wall2.mo # 2. Konstruktion
├── ...
└── WallX.mo # letzte Konstruktion
FMU-Export
Eine weitere Exportoption ist die Erstellung einer Functional Mockup Unit, d.h. einer Simulationskomponenten, welche FMI (Functional Mockup Interface) unterstützt. THERAKLES kann hierbei als ModelExchange und CoSimulation-FMU eingesetzt werden, und unterstützt die Schnittstellenspezifikation in der Version 2.0, einschließlich des Zurücksetzens des FMU-Zustands.
Beim Export einer THERAKLES-FMU wird der Rechenkern und alle benötigten Resource, d.h. Projektdatei und Klimadaten.
Bei Auswahl der FMU-Export-Option im Exportdialog (Strg+E
) muss man einen Modellnamen eingeben. Dieser wird dann als Bezeichner der FMU in der Modellbeschreibungsdatei verwendet. In Version 3.2 ist die Schnittstelle der FMU festgelegt und kann noch nicht angepasst werden. Daher sind die entsprechenden Optionen ausgegraut.
Bei Klick auf Exportieren muss man noch den Dateinamen der zu generierenden FMU auswählen.
Die generierte FMU (zip-Archiv) enthält dann die Projektdatei, die benötigten Klimadaten, die Laufzeitbibliothek mit der implementierten FMU-Schnittstelle und zusätzlich benötigte Resourcen.
Diagnose und Performanceoptionen
Hintergrund zur Numerik
THERAKLES enthält ein modulares System von numerischen Zeitintegratoren und Gleichungssystemlösern. Solver-Statistiken bieten ein geeignetes Analyseinstrument im Fall einer nicht-performanten Simulation. Häufig ist zu beobachten, dass eine ungewöhnlich lange Simulationszeit ein Indiz für falsche/ungünstige Modellparameter oder ungeeignete Solvereinstellungen sind.
Bei der Fehleranalyse ist zu beachten, dass das Lösungsverfahren aus meheren Komponenten besteht. Hierzu gehören
- Integrator: Zeitintegrationsverfahren für instationäre Gleichungen (nachfolgend Integrator)
- Lösungsverfahren für nichtlineare Zusammenhänge: Newton-Verfahren ist in implizite Integratoren integriert, nicht bei expliziten Methoden
- LES-Solver: Lösungsverfahren für lineare Gleichungssysteme, die das Newton-Verfahren erzeugt (nachfolgend LESSolver)
Für alle Komponenten existieren verschiedene Auswahlmöglichkeiten. Für nichtlineare Gleichungssysteme (wie bei THERAKLES) wird standardmäßig ein Newton-Verfahren verwendet. Dieses erzeugt eine Sequenz linearer Gleichungssysteme, die durch einen Gleichungslöser (LESSolver) behandelt werden müssen.
Bei den linearen Gleichungssystemlösern stehen direkte und iterative Methoden (Krylow-Unterraum-Methoden) zur Verfügung. Krylow-Unterraum-Methoden erzeugen eine Näherungslösung des linearen Gleichungssystems, die in der Regel nur bei Konditionierung des Gleichungssystems zu einer schnellen Lösung führt.
Standardmäßig verwendet THERAKLES den CVODE-Integrator in Verbindung mit einem direkten Gleichungsystemlöser für schwach-besetzte Matrizen.
Auswahl alternativer Integratoren und LES-Solver
Mittels der Kommandozeilenargumente --les-solver=<LES-ID>
und --integrator=<integrator-ID>
lassen sich anderen Komponenten für die numerische Lösung auswählen. Es werden folgende Optionen unterstützt:
Integrator-ID | Integrator/Algorithmus |
---|---|
CVODE |
Verwende den CVODE Integrator (aus der SUNDIALS Bibliothek) |
ImplicitEuler |
Verwende das klassische implizite Euler Verfahren mit modifiziertem Newton-Algorithmus (strengere Konvergenzregelung und nur Einschrittverfahren, sinnvoll bei extremen Sprungbedingungen im Modell) |
LES-ID | LES-Solver/Algorithmus |
---|---|
Dense |
Verwende Gauss-Algorithmus mit dicht besetzter Jacobimatrix (nur für Implementierungstests sinnvoll da sonst viel zu langsam) |
Band |
Verwende Bandstruktur für Jacobimatrix und direkten Solver |
BTridiag |
Verwende Block-Tridiagonale Struktur für Jacobimatrix und direkten Solver |
KLU |
Verwende direkten Solver mit schwach besetzter Matrix (nur CVODE) |
GMRES |
Verwende GMRES Algorithmus |
BiCGStab |
Verwende BiCGStab Algorithmus (nur CVODE) |
Bei den iterativen Lösern kann noch ein Vorkonditionierer mittels Kommandozeilenargument --precond=<precond-ID>
angegeben werden:
precond-ID | Vorkonditionierer |
---|---|
ILU |
Unvollständige LU Zerlegung |
Band |
Bandstruktur |
Band(<hbw>) |
Bandstruktur mit Halb-Bandbreite hbw |
Allgemeine Statistiken (Metrics)
Zur Analyse der Simulationsperformance werden Statistik- und Zeitmessungsdaten in die Dateien log/summary.txt
bzw. log/screenlog.txt
geschrieben.
Die Simulationszeiten für verschiedene Schritte werden vom Programm aufgezeichnet und in Form einer Statistik in die Logdateien geschrieben. Bei Ausführung des Kommandozeilensolvers wird diese Statistik auf dem Bildschirm zu Ende jeder Simulation ausgegeben.
Nachfolgend ist ein Beispiel für diese Statistik bei Verwendung eines direkten LES-Solvers angegeben (495 Bilanzgleichungen/Unbgekannte):
------------------------------------------------------------------------------
Wall clock time = 11.458 s
------------------------------------------------------------------------------
Framework: Output writing = 0.187 s ( 1.63 %)
Framework: Step-completed calculations = 2.057 s (17.95 %)
Integrator: Steps = 114478
Integrator: Newton iterations = 197150
Integrator: Newton convergence failures = 181
Integrator: Error test failures = 12371
Integrator: Function evaluation (Newton) = 3.529 s (30.80 %) 197151
Integrator: LES setup = 1.802 s (15.73 %) 30137
Integrator: LES solve = 2.095 s (18.28 %) 197150
LES: Jacobian matrix evaluations = 2548
LES: Matrix factorization = 0.639 s ( 5.57 %) 30137
LES: Function evaluation (Jacobian gen.) = 0.835 s ( 7.28 %) 48412
------------------------------------------------------------------------------
Bei einer hygrothermischen Simulation dauert die Berechnung etwas länger (990 Bilanzgleichungen/Unbgekannte):
------------------------------------------------------------------------------
Wall clock time = 69.521 s
------------------------------------------------------------------------------
Framework: Output writing = 0.398 s ( 0.57 %)
Framework: Step-completed calculations = 10.588 s (15.23 %)
Integrator: Steps = 252180
Integrator: Newton iterations = 463610
Integrator: Newton convergence failures = 583
Integrator: Error test failures = 29295
Integrator: Function evaluation (Newton) = 19.316 s (27.78 %) 463611
Integrator: LES setup = 21.753 s (31.29 %) 80260
Integrator: LES solve = 10.878 s (15.65 %) 463610
LES: Jacobian matrix evaluations = 7418
LES: Matrix factorization = 7.314 s (10.52 %) 80260
LES: Function evaluation (Jacobian gen.) = 11.487 s (16.52 %) 281884
------------------------------------------------------------------------------
Alle Arbeitsschritte in der Kategorie Framework
und Integrator
summieren sich auf die gesamte Simulationszeit auf (Wall clock time
) (eine kleine Differenz kann sich durch den nicht erfassten Overhead ergeben):
Die unter der Kategorie LES
aufgeführten Zeiten zeigen, wie sich der Aufwand für die Erstellung der Jacobi-Matrix (LES setup) zusammensetzt.
Interessant für die Simulationsanalyse sind vor allem die Zähler für die Konvergenzfehler (Integrator: Newton convergence failures) und die Fehlerschätzerüberschreitungen (Integrator: Error test failures). Eine sehr große Anzahl von Konvergenzfehlern deutet auf eine ungültige/schlechte Parametrisierung des Modells hin. Die konkreten Werte der Statistiken und Verhältnisse der Zählervariablen hängen jedoch maßgeblich vom berechneten Problem ab.
Feuchtetransport in Konstruktionen
Bei THERAKLES kann zusätzlich zur Energiebilanz auch noch eine Feuchtebilanz berechnet werden. Dabei werden im Raumluftknoten und in allen Raumumschließungskonstruktionen gekoppelte Wärme- und Feuchtetransportgleichungen gelöst.
Das Feuchtetransportmodell in den Konstruktionen berücksichtigt hygroskopische Feuchtespeicherung unter Verwendung einer Sorptionsisotherme und Feuchtetransport durch Dampfdiffusion.
Hinweis: Über die Bilanzierung der von THERAKLES ausgewiesenen Feuchteströme raumseitig (in die Konstruktion in der Heizperiode) und außenseitig (aus der Konstruktion)
Definition einer detaillierten Feuchtespeicherfunktion in der Materialdatenbank
Normalerweise wird im THERAKLES eine idealisierte Sorptionsisotherme mit 3 Stützstellen verwendet:
- 0 kg/m3 bei 0% RH
- w80 bei 80% RH
- wsat bei 100% RH
w80 und wsat sind Teil der Standardmaterialparametrisierung und sollten für alle Materialien, die prinzipiell feuchtetransportfähig sind (d.h. kein Stahl oder Glas), definiert sein.
Es ist aber auch möglich, in der Projektdatei bzw. benutzerdefinierten Materialdatenbank eine detailliertere Sorptionsisotherme zu definieren. Dafür sind im Material XML-Tag einfach weitere wXXX Attribute einzuführen, wobei XXX eine ganzzahlige relative Luftfeuchtigkeit ist.
Beipiel:
<Material id="10120" category="13" name="Material with sorptionisotherm"
lambda="0.45" rho="1208" cT="980" mu="12"
w33="7.3" w43="22.2" w58="24" w75="36.8" w80="40.3" w84="45.45" w90="55.96" w96="85" wsat="380"
HPCM="0" TPCMLow="23"/>
Die 3. Zeile, beginnend mit w33=...
definiert die Sorptionsisotherme, wobei die Feuchtegehalte und dazugehörigen Luftfeuchten streng monoton steigend angegeben sein müssen. Der letzte Wert muss zwingend immer wsat sein. w80 muss für diverse Konsistenztests ebenfalls gültig definiert sein.
Bei der Berechnung wird zwischen diesen Stützstellen linear über der relativen Luftfeuchte interpoliert.
Dampfdiffusionsübergangskoeffizienten
Die Eingabe der Dampfdiffusionsübergangskoeffizienten ist in der Programmoberfläche nicht möglich. In der Projektdatei müssen dafür die XML-Attribute beta_e
(außenseitig) und beta_i
(innenseitig) angepasst werden:
<RoomConstruction>
<orientation>270</orientation>
<inclination>90</inclination>
<R_ue>0.04</R_ue>
<R_ui>0.13</R_ui>
<beta_e>2e-07</beta_e>
<beta_i>3e-08</beta_i>
...
Die Dampfdiffusionsübergangskoeffizienten werden in der Einheit s/m angegeben.