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.

folder_structure_1_de

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 - Konstruktionsdatenbank
  • db_materials.xml - Materialdatenbank
  • db_shadingTypes.xml - Datenbank für Verschattungssysteme
  • db_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 - Konstruktionsdatenbank
  • db_materials.xml - Materialdatenbank
  • db_shadingTypes.xml - Datenbank für Verschattungssysteme
  • db_windows.xml - Datenbank für Fenster bzw. Verglasungen
  • Therakles.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:

results_folder_1_de

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 und wall_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 Dateien flux_integrals.tsv und wall_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 Klimadatenformat
  • epw - 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 beim epw-Format wird die direkte Solarstrahlung in Normalenrichtung angegeben, während beim wac 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).

Export einer Konstruktion als DELPHIN 6-Projekt

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:

Export Dialog

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):

Simulationszeitdiagramm

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.