Coder Social home page Coder Social logo

bim2sim / bim2sim Goto Github PK

View Code? Open in Web Editor NEW
38.0 38.0 6.0 142.69 MB

A python tool to create simulation models for different domains based on BIM IFC models.

Home Page: https://bim2sim.github.io/bim2sim/

License: GNU Lesser General Public License v3.0

Dockerfile 1.25% Python 98.75%
bim building energyplus hacktoberfest ifc modelica modeling python simulation

bim2sim's Introduction

BIM2SIM

header bim2sim is a library to create simulation models for different purposes based on BIM models in the IFC format. The project is based on a base code that provides the possiblity to map the IFC data into a uniform meta strucuture. This structure can then be used to create simulation models for different purposes which is done by plugins. The corresponding project BIM2SIM (see founding section below) adressed the following four domains:

  • Building Performance Simulation (BPS)
  • Heating, Ventilation, Air Conditioning (HVAC)
  • Computational Fluid Dynamics (CFD)
  • Life Cycle Assessment (LCA)

The focus of the currently released tool is on BPS and HVAC but we already provide basic methods for CFD and LCA as well. The base structure is shown below: Toolchain

Installation and Usage

You can find detailed documentation and description how to install and to use in our documentation. We recommend reading at least:

Currently, bim2sim is supported for python 3.8 and python 3.9. For questions like why we don't use pip and if we support docker we refer to the linked documentation.

Related Publications

Acknowledgements

The tool was developed during the project "BIM2SIM - Methodenentwicklung zur Erstellung von Simulationsmodellen aus Daten des Building Information Modeling". The project was funded by the Federal Ministry for Economic Affairs and Energy in germany under the grant number 03ET1562A. The ongoing development is funded by the follow up project "BIM2Praxis - Integration of methods for the creation of simulation models based on Building Information Modeling into practice" with funding from the Federal Ministry for Economic Affairs and Climate Action under the grant number 3EN1050A. The authors of the tool gratefully acknowledge the financial support of the German Federal Ministry for Economic Affairs and Energy and the Federal Ministry for Economic Affairs and Climate Action in Germany.

License

bim2sim is developed and released by the following three partners under the LGPL-3.0 license:

Upcoming Features:

bim2sim is still under heavy development and you can find a lot of features that we want to improve or implement inside the issue section. Anyway here are some of the major ones that we plan to implement:

  • release of an interactive webtool that has its own inbuilt IFC viewer to support decision making along the model geenration process
  • interactive visualization of hydraulic networks graphs for HVAC part
  • implementation of curtain walls for BPS part
  • support of AHU and ventilation simulations with Modelica
  • automated integration of weather files based of location of building
  • ... have a look at the https://github.com/BIM2SIM/bim2sim/issues

bim2sim's People

Contributors

anbarz avatar d-cordoba avatar dajansengit avatar dandres03 avatar e3def avatar earnsdev1 avatar hochbean avatar marvin-kluge avatar sairabano-de avatar schluetter avatar sfreund1 avatar veronikarichter avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

bim2sim's Issues

[all] ifc data extraction

we need a more robust and flexible system for reading parameter from ifc.
Currently we e.g. search for „Muffenlänge“ in propertyset „Abmessungen“. This will fail if ifc export ist done by an other tool.
IFCunits are not used Right now. There coud be problems when parameters are stored in non si units (e.g. [m] and [mm]).

hvac-connections - [merged]

Merges hvac-connections -> master

added Connections to modelica export

  • port.connections list changed to single instance port.connection
  • port.aggregatedparent is now used. This fixed unwanted aggregated elements occurring in graph
  • HvacGraph.graph changed to nx.Graph with only ports as nodes
  • added HvacGraph.element_graph as view of .graph with elements as nodes
  • increased performance of HvacGraph by not contracting nodes any more
  • added inner_connections to Element. Used in graph. Will be used for Medium assignment.
  • added logic to get connections from graph

[all] Code task workflow

Wir haben folgende Liste an Einzelschritten zusammengestellt, die der Code abarbeiten muss. Diese Liste ist als Diskussionsgrundlage und mittelfristig als Leitfaden zu verstehen. Bisher bezieht sich die Liste auf die Anlagensimulation. Ziel sollte es sein sie soweit zu abstrahieren, dass auch Gebäudesimulation und evtl. CFD mit abgedeckt werden.

Edit:
Christian, Pooyan und Andre haben einen Entwurf zur Softwarearchitektur erstellt. Bitte schaut euch das alle einmal an bis zur nächsten Telko. Vielen Dank an ROM :)

Folie1

Folie2

Ich bitte um Einwände / Ergänzungen / Verbesserungsvorschläge.

0. Ausgangssituation

Vorgaben mit denen der Code zu Beginn versorg wird

Aufgabenstellung

Was ist von Interesse? Wo liegt der Focus? Bestimmt den notwendigen Detailierungsgrad von Teilbereichen.

  • Funktion überprüfen
  • Konzept optimieren

IFC

Model in mittelmäßiger Qualität

Tool

  • AixLib
  • HKESim
  • EnergyPlus

Manuelle Vorgaben / Config File

  • Gebäudetyp (z.B. Wohngebäude?)
  • Besondere Komponenten (z.B. relevante Zone?)
  • Standard Antworten auf Rückfragen (z.B. soll X in Y konvertiert werden?)
  • ...

1. Vorbereitung

Verarbeiten und Auswerten der Ausgangsituation

  • Aus Aufgabe und Tool ergibt sich eine Liste relevanter Elemente
  • Oder auch komplexerer Filter
  • Mindestanforderungen an IFC Daten
  • Festlegen von notwendigen detailierungsgraden in Teilbereichen
  • Auswahl von Plausibilitätstests zur späteren Anwendung

2. Sichtung des IFC

Nutzung von 1. um IFC zu verarbeiten

  • Einlesen des IFC (als Graphen Netzwerk? Für Gebäudesimulation sinnvoll?)
  • Auflistung einzelner (Teil-) Kreisläufe mit entsprechenden Komponenten zum manuellen überprüfen
    • Startpunkte zum Suchen könnten kreislauftrennende Elemente wie Wärmetau-scher oder KKM sein
  • Gibt es mehrere potenziell interessante Systeme? Auswahl Zone o.ä. (ggf. Filter aus 1.)
  • Was ist vorhanden
  • Was fehlt
  • Was ist überflüssig
  • Was kann vereinfacht werden
  • Nächster Schritt möglich?

3. Fehlende Daten anreichern

  • Default Werte
  • Datenbank
  • Manuelle Eingabe
  • Proxy Block für unvollständiges Model zum späteren manuellen Ausfüllen im Simulation Tool

4. Vereinfachen

  • Entsprechend 1. Modell reduzieren. Z.B.:
    • Kanal / Rohrleitung vereinfachen
    • Verbraucher zusammenfassen
  • Gruppierung von gleichen / ähnlichen Bauteilen
    • Z.B. vier parallele Pumpen -> eine Pumpe mit entsprechendem Volumenstrom
    • Gesamtes Verbraucher System in einer Komponente mit Lastprofil zusammenfassen

5. Zusammenstellen

  • Gesamtsystem aufbereiten

6. Überprüfen

(einzelne Prüfschritte auch schon vorher)

  • Teilsysteme prüfen
  • Gesamtsystem prüfen
  • Parameter prüfen

7. Exportieren

  • Teilkreisläufe in Untermodellen (Modelica)

[all] function: ifc export

We need a function that writes the results we created in the different sim tools back to the ifc file. This will mainly be time series data. We could implement this in the simulationbase.py because it won't depent on the used sim tool.

[BPS] [HVAC] [CFD] Weatherdata

We need a database for weatherdata or an API to use existing databases to include them later into our Modelica models.
DWD provides weather data as .dat here: https://kunden.dwd.de/obt/

  • For AixLib we use .mos weather data and have a converter.
  • What format is used for HKESim?
  • What format does EnergyPlus use?
  • Is weather data relevant for CFD?

Todo:
create a new task in common that has city, format and target path as input

[UseCase]-CFD2

Überprüfung Lüftungskonzept (Treppenhausdruckbelüftung)

Numerische Strömungssimulation eines Treppenraumes. Es werden die Druckverluste der Treppenhausdurchströmung bestimmt. Über den ermittelten Druck im Treppenraum wird die Einhaltung der Türöffnungskräfte überprüft. Außerdem wird die Türdurchströmgeschwindigkeit bei einem definierten Szenario geöffneter Türen ermittelt.

LoD: 100

Demoprojekte

  • Treppenhaus Bundeskanzlerplatz

Beispielmodelle

  • Vereinfachter Treppenhausauschnitt

Benötigte Daten

  • 3D-Modell der Gesamtgeometrie
  • Angaben zur RDA

Arbeitsschritte

  1. 3D-Modell der Gesamtgeometrie (Detaillierungsgrad unterschiedlich je nach Planstand der Architektur)
  2. Auswahl des zu betrachtenden Bereiches (Treppenraum, Zuluftschacht)
  3. Export des ausgewählten Bereiches.
  4. Öffnen von Klappen, Jalousien usw.
  5. Ggf. Hinzufügen fehlender Details
  6. Extraktion des Strömungsvolumens (Strömungsvolumen als Körper). Wichtig ist hier eine wasserdichte Geometrie.
  7. Übergabe des Volumenkörpermodells an die Vernetzung.
  8. Benennung von Flächen (z.B. Ein- und Auslässe) zur späteren Aufprägung der Randbedingungen in Fluent. Wichtig ist hier, dass die Flächen noch nicht facettiert sind. Ansonsten ist die Zuweisung der Randbedingungen nur schwer möglich.
  9. Einfügen von Zellgrößenvorgaben für das Volumen und verschiedene Oberflächen (z.B. 0,1 m Zellgröße im Volumen und 0,01 m an den Wänden). Dieser Schritt hängt von der Größe des zu betrachtenden Gebietes ab. In bestimmten Bereichen können auch kleinere oder größere Zellen erforderlich sein.
  10. Erstellung des unstrukturierten Berechnungsnetzes (Tetraeder, Patch-Conforming).
  11. Überprüfen der Netzqualität (skewness < 0,9).
  12. Identifizieren von „schlechten“ Zellen anhand der skewness. Eventuell ist eine Anpassung der Geometrie in diesem Bereich erforderlich. Anschließend erfolgt eine Neuvernetzung.
  13. Übergabe des Netzes an Fluent.
  14. Fluent-Setup-Models: Transient, Energiegleichung aktiviert, k-w-SST Turbulenzmodell
  15. Fluent-Setup-Materials: inkompressibles ideales Gas
  16. Vorgabe der Randbedingungen: Oberflächentemperaturen, Volumenströme, Zullufttemperaturen, Turbulenz am Eintritt
  17. Vorgabe eines Gegendrucks an der Druckhalteklappe im Kopf des Treppenhauses
  18. Fluent-Setup-Methods: Druck: Body-Force-Weighted, ansonsten Verfahren zweiter Ordnung.
  19. Fluent Definition von Reports (Monitor): z.B. Temperatur/Volumenstrom/Drücke
  20. Initialisieren des Solvers und abspeichern.
  21. Simulation auf einer festgelegten Anzahl Kerne starten. Die Simulation kann mittels Journal-File auch im Batch-Mode im Hintergrund ausgeführt werden.
  22. Speichern und herausschreiben einer funs Datei mit ausgewählten Strömungsvariablen (Druck, Temperatur, Geschwindigkeit)
  23. Laden der funs Dateien in Fieldview und Auswertung (z.B. Druckverlust des Treppenraumes)
  24. Erstellen von Geschwindigkeit und Temperaturplots.
  25. Erstellen eines Berichtes.

Automatisierungspotenziale

  • Automatisierte Modell Erstellung

Ergebnisse

Sonstiges

[UseCase]-RLTBedarfsanalyse

Bedarfsanalyse

Bedarfsanalyse der Lüftungsanlage für z.B. weiterführende Simulationen oder zum Vergleich mit bestehenden Verbrauchsdaten der Anlage, Die Verbrauchsdaten der RLT-Anlagen sollen ermittelt werden, um weiterführende Auslegungen für Wärme- oder Kälteerzeugungssysteme zu ermöglichen.

LoD: 300

Demoprojekte

Beispielmodelle

  1. UseCase_TriCad_4x0.ifc:
  • IFC Export aus TriCad
  • Komponenten werden als Duct-Fittings exportiert anstatt RLT-Komponenten
  1. UseCase_Wolf_Konfigurator_2x3.ifc
  • IFC von der WOLF Website
  • Nur Lüftungsanlage, Informationen gehen verloren bei Import nach TriCad
  • Komponeten sind in richtige IFC Components geschrieben (2x3)

Benötigte Daten

  • Anlagendaten
  • Betriebszeiten/Zeitpläne
  • Sollwerte/Regelungsbeschreibung
  • Wetterdaten
  • innere Lasten (inkl. Personenanzahl)
  • Nutzfläche

Arbeitsschritte

  1. Modellierung der Anlagenkomponenten
  2. Modellierung der Regelsequenzen
  3. Jahressimulation
  4. Auswertung der Energieverbräuche

Automatisierungspotenziale

  • Automatisierte Modell Erstellung

Ergebnisse

  • Zeitreihe Lasten

Sonstiges

[UseCase]-TGS1-Anlagendim

Anlagendimensionierung

Ziel ist die Berechnung von Heiz- und Kühlbedarfen für neue oder Bestandsgebäude unter klimatischen Randbedingungen für ganzes Jahr oder bestimmte Auslegungsbedingungen und -zeiträume. Dabei werden die werden sowohl die bauphysikalischen Randbedingungen als auch die jeweiligen nutzungs- und nutzerspezifischen Vorgaben berücksichtigt. Grundlage ist mindestens ein Gebäudegrundriss und Schnitte zur Darstellung der Geometrie. Die Schichtaufbauten der Raumumfassungsflächen mit stofflichen Eigenschaften wie Wärmeleitfähigkeit oder Wärmespeicherkapazität sind vorzugeben. Die Art des Sonnen- oder Blendschutzes (innen oder außen, Regelung) muss definiert werden. Die Personenbelegung und Wärmeabgabe von Beleuchtung und anderen elektrischen Geräten muss mit Zeitplänen belegt werden. Die Heiz- und Kühlbedarfe werden unter Einhaltung von Sollwerten für die Raumlufttemperatur oder die operative Raumtemperatur ermittelt. Dabei kann der energetische Einfluss einer maschinelle Lüftung (Zuluftvolumenstrom auf einem bestimmten Temperaturniveau) berücksichtigt werden.

Je nach Anforderung kann bspw. eine Betonkernaktivierung in die Simulation aufgenommen werden. Dann müssen Kenntnisse über den genauen Schichtaufbau der aktivierten Bauteile sowie die Dimensionierung (Rohre, Massenstrom) der Betonkernaktivierung inklusive Regelung vorhanden sein.

Je nach Bauphase können viele Randbedingungen mit Schätzungen angenähert werden. Absoulte Grundlage ist jedoch die Kenntnis über die Gebäudegeometrie und die Gebäudenutzung.

LoD: 100

Demoprojekte

  • Log4Real / DLH Trebur - Logistikhalle
  • Olympus Hamburg - Bürogebäude

Beispielmodelle

  • Testmodell 1: Ein-Raum-Modell mit Außenwand, Fenstern, Sonnenschutz, inneren Lasten, Temperatursollwerten
  • Testmodell 2: Regelgeschoss mit mehreren Räumen und Zonierung
  • Testmodell 3: Gesamtgebäude mit sämtlichen Räumen, Nutzungen und Zonierungen, sowie ggf. umliegender Bebauung

Benötigte Daten

  • Lageplan mit Nordpfeil und ggf. Nachbarbebauung
  • Bauzeichnungen, Raumpläne, Gebäudeschnitte sowie Dach- und Fassadenansichten mit den Angaben zum Typ und zur Verteilung von Fenstern
  • Konstruktiver Aufbau von Decken, Fußböden, Außen- und Innenwänden (Schichtaufbau: Baustoffe und Schichtdicken)
  • Art der Verglasung für die Fenster (U-Wert der Verglasung und des Rahmens, g-Wert der Verglasung, Rahmenanteil und Rahmenkonstruktion)
  • Angaben zum Luftwechsel durch natürliche Lüftung und gezielte Fensterlüftung
  • Vorgabe der Belegung mit aktiver Kühlfläche im Fußboden- und Deckenbereich
  • Vorgesehene Einrichtungen für den Sonnenschutz (außenliegend, innenliegend, Fc-Werte oder Transmissions- bzw. Reflexionskennwerte)
  • Belegung der betrachteten Räume mit Personen, Nutzungsprofil über die Woche
  • Vorgaben zur installierten Beleuchtung (z.B. Anschlussleistung in W/m²Fußbodenfläche, Art und Anbringung der Leuchten)
  • Wärmeabgabe durch in den Räumen befindliche elektrische Geräte
  • Gewünschte Werte der Raumlufttemperatur oder operativen Raumtemperatur (Ober- und Untergrenze) über das Jahr oder zu Auslegungsbedingungen

Arbeitsschritte

  1. Erstellung eines 3D-Modell der Gesamtgeometrie (Detaillierungsgrad unterschiedlich je nach Planstand der Architektur) auf Grundlage der Bauzeichnungen. Dabei werden vorzugsweise Gebäudestockwerke als Blöcke erstellt und Wände gezeichnet. Vorlage ist häufig ein pdf, dwg oder auch ein dxf, was auch in das Zeichentool (Designbuilder) hingeingeladen werden kann und als Vorlage dient.
  2. Einzeichnen von Fenstern, entweder indivuduell pro Raum oder über die Angabe eines Fensteranteils bzw. der Fensterabmessungen und Abstände
  3. Erstellen einer oder mehrerer Dummyzonen für die Simulation des energeitischen Einflusses einer maschinelle Belüftung von Räumen und Zonen
  4. Eingabe der Schichtaufbauten für alle Umfassungsflächen
  5. Eingabe der Fenstereigenschaften inkl. Verschattung durch Blend- oder Sonnenschutzsysteme
  6. Vorgabe von Zeitplänen für Belegung und innere Lasten und Gebäudeklimatisierung und -lüftung
  7. Personenbelegung und metabolic rate der Personen
  8. Wärmeabgabe der Beleuchtung über elektrische Anschlussleistung und Definition von Wärmeabgabeanteilen an Konvektion und Strahlung
  9. Wärmeabgabe der elektrischen Geräte über elektrische Anschlussleistung und Definition von Wärmeabgabeanteilen an Konvektion und Strahlung
  10. Eingabe des Luftwechsels durch natürliche Infiltration
  11. Einstellung der energetischen Betrachtung der maschinellen Lüftung über Mixingobjekte (Mischung der Raumluft des Zielraumes mit einem Volumenstrom bestimmter Temperatur aus der Dummyzone)
  12. Festelegung des Zeitschrittes
  13. Wahl von Outputs (ausgegebene Werte aus der Simulation zur späteren Auswertung wie Heiz- und Kühlbedarf oder Raumlufttemperaturen)
  14. "ggf. Eingabe aller Randbedingungen für eine Betonkernaktivierung:
  15. Schichtaufbau der Decke
  16. Rohrdichte und Geometrie
  17. Auslegungsdaten zum Massenstrom und Fluidtemperaturen bei bestimmtem dT
  18. Flächenbelegung
  19. Aufbau eines Kühl/-Heizkreises sowie eines Erzeugerkreises in EnergyPlus mittels unterschiedlicher Objekte (Pipes, Pumps, Loops, Nodes, Connections, disctrct cooling/heating)"
  20. Konvertierung der Wetterdaten (.dat) in .epw
  21. Simulation
  22. Auswertung (Erzeugung einer Outputauswahl über Vorlagedateien (.rvi))

Automatisierungspotenziale

  • Automatisierte Modell Erstellung:
    • Geometrie,
    • Bauphysik,
    • Zonierung,
    • innere Lasten,
    • Nutzung (Zeitpläne),
    • Sollwerte

Ergebnisse

  • Heiz- und Kühlbedarfe der Räume und Zonen
  • Raumlufttemperaturen
  • Oberflächentemperaturen
  • Wärmeabgabe von Personen und elektrischen Geräten

Sonstiges

Energiebilanz um Zonen und Räume, Einschätzung der Beiträge zum Heiz- bzw. Kühlbedarf

[UseCase]-SchnittstelleCoSim

Modell Kopplung

Für erweiterte Fragestellungen kann es sinnvoll sein verschiedene Simulationstools miteinander zu koppeln. Dazu bietet sich z.B. FMU/FMI an. Der Export als FMU muss von den jeweiligen Simulationstools gewährleistet werden. Ein Mehrwert wäre es, bei der Modellerstellung für die einzelnen Simulationstools die notwendigen Schnittstellen bereitzustellen, um die FMU's leichter miteinander verknüpfen zu können. Kopplung kann ebenfalls bedeuten, dass Mehrere einzelne Modelle innerhalb eines Simulationstools zu einem Complex zusammengeführt werden (z.B. Stadtquarier). Das Vorgehen ist dabei prinzipiell ähnlich, nur dass das FMI entfallen kann.

LoD: 100

Demoprojekte

Beispielmodelle

Benötigte Daten

  • Kenntnis über benötigte und mögliche Schnittstellen aus den jeweiligen Tools

Arbeitsschritte

  1. Festlegen der Schnittstellen / Auszutauschenden Größen
  2. Festlegen der Kopplungsmethodik CS/ME, Master/Slave, Simulator, Solver, …
  3. Anpassen der Modellierung für kopplung
  4. Export bzw. Import
  5. Simulation

Automatisierungspotenziale

  • Automatisierte Modellierung im Hinblick auf FMU Im-/Export

Ergebnisse

  • wie einzelne Simulationen

Sonstiges

[hvac] aggregation / separation

We need filters or criteria to identify relevant subsets of elements for aggregation and separation.

Usecases for Aggregation:

  • Pipe strand

  • Consumer circuit (Andre) - see #35

  • underfoor heating - idea: pipedensity rho_pipe = l_pipe / A_used are

  • Pumps

  • Generation modules (circuits) e.g. boiler including pump, pipes, etc. (David)

  • Multiple recoolers (niedrige Prio) (David) - IfcCoolingTower

Filter / criteria should be applied on the list of python (ifc)elements.

[all] project management system

We'll need some kind of basic project management system.

This should cover at least folder structure for:

  • IFCs
  • logs
  • results
  • config
  • resources like weather data

And some managing functions like

  • create
  • clean

[hvac] Mapping between ifc and modelica

List of functions for many to one mapping that is needed:

Many to one:

  • underfloor heating systems - idea: pipedensity rho_pipe = l_pipe / A_used area

Additional information from system

  • position of ports in storages - idea: geometrical informations can be used

[hvac] class: HVAC

A class that holds an object with all needed information about the HVAC for the later export to modelica

List of needed features

In this issue we can document which classes and functions we need to implement and link them to specific sub-issues. This should be used intensivly by all members of the project to create a good overview of the project status and discussion

Completion

(implemented but not yet ready)

General

  • #11 Entry point
  • #10 Data extraction
  • #12 Aggregatin / Seperation system

HVAC

  • #9 Circuit analytic
  • #3 Plantsystem

Features

(not implemented)

  • #13 Checking system
  • #2 ifcexport

Testing / tuning

  • #14 decision System
  • #15 Management System

[hvac] Domestic hot water

Do we want to include domestic hot water for the hvac simulation? We won't have any data in the ifc files but we could you use premade profiles for different building sizes. Just an idea. @rom Do you usually include domestic hot water needs in your investigations or is this not considered for large installations?

[UseCase]-RLTVariantenvergleich

Variantenvergleich

Energetischer und/oder wirtschaftlicher Vergleich /Bewertung eines Komponententausches innerhalb der Lüftungsanlage, Es soll überprüft werden wie hoch die Einsparungen ausfallen, falls einzelne Komponenten ausgetauscht werden.

LoD: 300

Demoprojekte

Beispielmodelle

  • Modell mit RLT Anlage (TODO)

Benötigte Daten

  • Anlagendaten für beide Varianten
  • Betriebszeiten/Zeitpläne
  • Sollwerte/Regelungsbeschreibung
  • Wetterdaten
  • innere Lasten (inkl.Personenanzahl)
  • Nutzfläche

Arbeitsschritte

  1. Modellierung der Anlagenkomponenten
  2. Modellierung der Regelsequenzen
  3. Jahressimulation beider Varianten
  4. Auswertung/Gegenüberstellung der Energieverbräuche und/oder der Kosten

Automatisierungspotenziale

  • Automatisierte Modell Erstellung

Ergebnisse

  • Zeitreihe Lasten

Sonstiges

[BPS/hvac] create modelica model for example case

I will create a reduced order model with TEASER for the test building provided from e3d. I will try to do this with the multizone approach so that we have a zone for each radiator from the hvac file.

[UseCase]-HVACFunktionPruefung

Funktionsprüfung

Untersuchen ob das geplante System hydraulisch in der Lage ist die Anforderungen zu gewährleisten und die Sollwerte einzuhalten.

LoD: 300

Demoprojekte

  • Log4Real / DLH Trebur - Logistikhalle

Beispielmodelle

  • Testmodell 1 (noch zu erstellen) - Eine Kältemaschine in Verbindung mit einem Rückkühler und Kälteverbraucher
  • Testmodell 2 (noch zu erstellen) - Eine Wärmepumpe in Verbindung mit einem Heizkessel und Wärmeverbraucher
  • Testmodell 3 (noch zu erstellen) - Zwei Kältemaschinen in Verbindung mit mehreren Rückkühlern und einem Kälteverbraucher inkl. Bypässe zur freien Kühlung und Eine Wärmepumpe in Verbindung mit einem Heizkessel und Wärmeverbraucher

Benötigte Daten

  • Hydraulikschema
  • Wärme- und Kälteerzeuger mit Herstellerdaten
  • Lastprofile
  • Temperaturschiene
  • Temperatur bzw. Massenstromsollwerte
  • Pumpen Eigenschaften und Einstellungen
  • Ventile Eigenschaften und Einstellungen
  • Pufferspeicher- und Weische-Daten
  • Ausdehnungsgefäße
  • Druckeinstellungen
  • Rohrleitungdimensionen
  • Anlagenfahrweise
  • Regelung

Arbeitsschritte

  1. Die Wärme- und Kältevernraucher identifizieren
  2. Temperaturniveaus der Verbraucher festlegen
  3. Nach bedarf, Verbraucher mit einheitlichen Temperaturniveaus kombinieren
  4. Wärme- und Kälteerzeugern identifizieren
  5. Rückkühlern identifizieren
  6. Verbindungen zwischen Erzeugern und Verbraucher sowie Rückkühlern als hydraulische Kreise identifizieren
  7. Pumpen identifizieren
  8. Wichtige Bypässe und Ventilatoren, Mischventile, … identifizieren
  9. Nicht relevante Bypässe und Ventile vernachlässigen
  10. Massenstromquellen identifizieren
  11. Rohre und Wiederstände in jeweiligen Hydraulikkreise kombinieren
  12. Wärmetauschern für Kleinverbraucher vernachlässigen
  13. Nach bedarf, ähnliche Komponenten in einem Kreis kombinieren
  14. Ähnliche Komponenten die nicht kombiniert sein könnten in einem Modellblock einfügen
  15. Geeignete Verteilung für die Zuteilung des Massenstroms im Modellblock einfügen
  16. Die Komponenten in dem Modellblock nach identifizierten hydraulichen Verbindungen verbinden
  17. Ein- und Ausgänge der Komponenten für die Randbedignungen und Regelung mit Input und Output Ports im Modellblock verbinden
  18. Die Komponenten Parametrisieren
  19. Modellblock mit geeigneten Senken und Quellen und konstante Randbedignungen simulieren und testen lassen
  20. Schritte 14 bis 19 für alle weitere Komponentengruppen wiederholen
  21. Kälte- und Wärmeerzeugern im Hauptmodell einfügen und Parametrisieren
  22. Kälte- und Wärmeverbraucher im Hauptmodell einfügen und Parametrisieren, bzw. mit Konstante Randbedignungen verbinden
  23. Pumpen bzw. Pumpenblocks im Hauptmodell einfügen und Parametrisieren
  24. Wärmetauschern bzw. WT-Blocks im Hauptmodell einfügen und Parametrisieren
  25. Rückkühlern bzw. RK-Blocks im Hauptmodell einfügen und Parametrisieren
  26. Temperatursensoren für jeweiligen Vor- und Rückläufe einfügen
  27. Komponenten Verbinden
  28. Nach Schritt 10 die Pumpen die Massenstrom produzieren als Massenstromquelle setzen
  29. Alle freie Eingänge mit Konstanten Werte verbinden
  30. Das Modell simulieren und testen
  31. Verbrauchern mit Bedarfsprofile verbinden
  32. Außentemperatur- und Luftfeuchte-Eingänge mit Wetterprofil verbinden
  33. Das Modell simulieren und testen
  34. Regelung nachbauen und separat mit verschiedenen Eingänge testen
  35. Regelung Schritt für Schritt mit jeweiligen Komponenten verbinden
  36. Implementierte Regelung Schritt für Schritt testen
  37. Gesamtmodell Simulieren

Automatisierungspotenziale

  • Automatisierte Modell Erstellung ohne Regelung
  • Vereinfachung und Parametrisierung einzelne Anlagenteile

Ergebnisse

  • Temperaturen
  • Massenströme
  • Energiebedarf

Sonstiges

Manage refactor - [merged]

Merges manage-refactor -> master

  • implemented Workflow class
  • integrated Workflow into BIM2SIMManager class
  • refactored HvacGraph class and it's integration

[BPS] Teaser integration

I want to implement TEASER to build reduced order models (ROMs (acronym might be a bit confusing for the guys from hamburg :) ) based on the IFC data. The basic information that will be needed are:

Overall building information:

  • number of floors
  • height of floors
  • total net leased area

Zone wise inforations:

  • net leased area per zone
  • window areas per orientation and zone
  • outer wall areas per orientation and zone
  • inner wall areas per zone
  • floor areas per zone
  • ceiling areas per zone
  • set temperature for heating and cooling per zone

Wall constructions:

  • layer thickness
  • layer material

... to be continued

List of needed features

In this issue we can document which classes and functions we need to implement and link them to specific sub-issues. This should be used intensivly by all members of the project to create a good overview of the project status and discussion

Completion

(implemented but not yet ready)

General

  • #11 Entry point
  • #10 Data extraction
  • #12 Aggregatin / Seperation system

HVAC

  • #9 Circuit analytic
  • #3 Plantsystem

Features

(not implemented)

  • #13 Checking system
  • #2 ifcexport

Testing / tuning

  • #14 decision System
  • #15 Management System

[CI] Pipelines fail for ROM commits

The CI is not working probably if someone without read rights for the CI templates does a commit. This should hopefully be solved by granting guest access to the repository.

[UseCase]-CFD1

Konzentrationsverteilung Brandentrauchung

Numerische Simulation der Brandrauchausbreitung für ein Atrium eines Bürogebäudes. Hierzu wird ein Brandherd nach VDI 6019 Blatt 1 und 2 definiert. Die Berechnung erfolgt transient. Die Auswertung erfolgt anhand von Temperatur- und Geschwindigkeitsverteilungen auf unterschiedlichen Schnittebenen. Weiterhin wird die optische Dichte des Brandrauches auf verschiedenen Schnittebenen und als Isosurface für definierte Zeitpunkte dargestellt.

LoD: 100

Demoprojekte

  • Olympus Hamburg - Bürogebäude

Beispielmodelle

  • Brand in einem sehr einfachen quadratischen Raum

Benötigte Daten

  • 3D-Modell der Gesamtgeometrie
  • Angaben zur Entrauchungstechnik
  • Angaben zum Brandherd

Arbeitsschritte

  1. 3D-Modell der Gesamtgeometrie (Detaillierungsgrad unterschiedlich je nach Planstand der Architektur)
  2. Auswahl des zu betrachtenden Bereiches (Brandraum und ggf. anschließende Räume, Türen müssen eventuell geöffnet werden)
  3. Export des ausgewählten Bereiches. Hierbei Beachtung des LOD (Nur die die Rauchausbreitung betreffenden Einbauten exportieren).
  4. Extraktion des Strömungsvolumens (Strömungsvolumen als Körper). Wichtig ist hier eine wasserdichte Geometrie. Ggf. ist eine Optimierung der Geometrie erforderlich.
  5. Hinzufügen der Entrauchungstechnik (öffnen von RWA-Flächen, öffnen von Nachströmöffnungen, hinzufügen von Zuluftöffnungen und Abluftöffnungen bei maschineller Entrauchung). Weiterhin falls erforderlich einen Ausschnitt der Umgebung hinzufügen (z.B. an den RWA Öffnungen). Substruktion vom Strömungsvolumen.
  6. Auswahl der Brandherdposition und Herausschneiden eines Brandherdes (z.B. zylindrisch)
  7. Übergabe des Volumenkörpermodells an die Vernetzung.
  8. Benennung von Flächen (z.B. Ein- und Auslässe) und Volumen (z.B. Brandherd) zur späteren Aufprägung der Randbedingungen in Fluent. Wichtig ist hier, dass die Flächen noch nicht facettiert sind. Ansonsten ist die Zuweisung der Randbedingungen nur schwer möglich.
  9. Einfügen von Zellgrößenvorgaben für das Volumen und verschiedene Oberflächen (z.B. 0,1 m Zellgröße im Volumen und 0,01 m an den Wänden). Dieser Schritt hängt von der Größe des zu betrachtenden Gebietes ab. In bestimmten Bereichen können auch kleinere oder größere Zellen erforderlich sein.
  10. Erstellung des unstrukturierten Berechnungsnetzes (Tetraeder, Patch-Conforming).
  11. Überprüfen der Netzqualität (skewness < 0,9)
  12. Identifizieren von „schlechten“ Zellen anhand der skewness. Eventuell ist eine Anpassung der Geometrie in diesem Bereich erforderlich. Anschließend erfolgt eine Neuvernetzung.
  13. Übergabe des Netzes an Fluent.
  14. Einladen der Brandherd-UDF (Zeitabhängige Brandleistung und Rauchproduktion)
  15. Fluent-Setup-Models: Transient, Energiegleichung aktiviert, k-w-SST Turbulenzmodell, Species Transport Modell
  16. Fluent-Setup-Materials: inkompressibles ideales Gas (mixture Luft und Rauch)
  17. Vorgabe der Randbedingungen: Oberflächentemperaturen, Volumenströme, Zullufttemperaturen, Turbulenz am Eintritt
  18. Fluent-Cell-Zone-Conditions: Aktivieren eines Quellterms für Energie und Masse im Brandherdvolumen und Auswahl der Werte aus der UDF
  19. Vorgabe der Operating Conditions: zur Berücksichtigung des thermischen Auftriebes eine Referenzdichte durch Fluent berechnen lassen oder vorgeben
  20. Fluent-Setup-Methods: Druck: Body-Force-Weighted, ansonsten Verfahren zweiter Ordnung.
  21. Fluent Definition von Reports (Monitor): z.B. Temperatur/Volumenstrom an einer Tür oder mittlere Temperatur im Brandraum.
  22. Unter Fluent Calculation-Activities vorgeben, dass alle paar Sekunden eine funs (fieldview unstructured) Datei herausgeschrieben wird (Zur Erstellung der Darstellung der Rauchausbreitung, z.B. im Video).
  23. Initialisieren des Solvers und abspeichern.
  24. Simulation auf einer festgelegten Anzahl Kerne starten. Die Simulation kann mittels Journal-File auch im Batch-Mode im Hintergrund ausgeführt werden.
  25. Laden der funs Dateien in Fieldview und Auswertung (z.B. Isosurface einer optischen Brandrauchdichte von 0,1 1/m.
  26. Erstellen von Geschwindigkeit-, Brandrauch-, und Temperaturplots.
  27. Erstellen eines Berichtes.

Automatisierungspotenziale

  • Automatisierte Modell Erstellung

Ergebnisse

Sonstiges

[all] thermal zones definition

we need to define a way how to get a common definition of the thermal zones inside the building so that both, HVAC and buildingsimulation use the same definitions

[all] entry point

We need all potentialy relevant elements from the ifc as an entry point.
For HVAC we are currently searching for all elements that match a set of ifc classes.

Problems can occure when using classes that are not in the set. This can lead to gaps in circuits.
Other filters or a method for filling gaps are required.

Entry points for building etc. are not yet defined.

[hvac] Restructering ifc load and network construction

I wan't to restructure the current workflow to load and work with the ifc file. At this moment the worklow does the following steps:

  1. Load ifc file directly into networkx where every ifc element is represented by a networkx node
  2. Apply functions at this network to reduce the amount of nodes (e.g. mapping multiple pipes into one). Because we don't have an own structure at this point and the ifcopenshell data can't be manipulated the information about the contracted nodes need to be stored in the network
  3. create generic elements based on the ifc elements by iterating over the network
  4. create port elements and connect the generic elements based on the connections of the hvac network

This way is way to complicated because it creates three worlds (networkx, generic and ifcfile) where data is stored. Also the amount of iterations over the different worlds is too big which leads to slow running times. An other and easier way would be:

  1. Create generic elements directly based on the ifc file (these elements hold the methods for contractions etc.) and gather all information needed. The unique id can still be the ifc GUID
  2. Create the port elements of the generic elements and connect them
  3. Now we can create a networkx network we have all information needed, stored in the generic elements already and we don't link the ifc elements but the generic elements to the nodes. Then we can use the nice functions of networkx

@EARNSdev1 what do you think about this?

[all] decision system

We Need a System to handle multiple Options to solve a Problem.
E.g. Parameter xyz is missing in ifc and we have some Options:

  1. Exit program
  2. continue with None value and solve later
  3. use default value
  4. check for similar elements and use xyz from them
  5. ask user to input value

Features (tbd)

  • A way to disable some option will be helpful (e.g. config file disables option 2 and 4).
  • Problems should be listed and grouped (user may prefer option 1 over 5 if 194361 problems are listed)
  • Decisions should be stored for easy reproduction on later program calls

[UseCase]-SchnittstelleResEx

Austausch von Ergebnissen

Austausch von Ergebnissen zwischen verschiedenen Simulationstools. Ein gängiges Beispiel ist die Bestimmung von Oberflächentemperaturen über eine Gebäudesimulation um diese für eine CFD Simulation zu nutzen. Für die CFD Simulation ist dieses Modul damit eine Art erweiterte Datenanreicherung. Funktionell muss dieses Modul über diverse konvertierungs Methoden verfügen, um entsprechende Ergebnisdateien lesen und Inputdateien schreiben zu können. Ein neutrales Datenformat zum zwischenspeichern bietet sich ebenfalls an (IFC, CSV, etc.). Mögliche Datenstrukturen sind: Skalare, Zeitreihen, Tensoren, ggf. auch Text.

LoD: 100

Demoprojekte

  • beliebig

Beispielmodelle

  • beliebig

Benötigte Daten

  • keine zusätzlichen Daten aus IFC
  • sollte sich aus Tool A und B sowie Verwendungszweck ergeben

Arbeitsschritte

  1. Ergebnisdatei von Tool A einlesen
  2. Relevante Größen ermitteln
  3. ggf. Aggregation (z.B. max Heizlast für Auslegung)
  4. Konvertierung in Input Dateiformat von Tool B

Automatisierungspotenziale

  • Zeitersparnis durch vorgefertigte Konvertierungsmethoden

Ergebnisse

  • Input Daten

Sonstiges

[all] checking system

We need a system for different checks.

Element wise:

  • Are all necessary parameters available?
  • Are parameters in valid range?
  • Are parameters consistent? (e.g. Pipe: diameter=3.0, length=0.15)
  • ...

System wise:

  • Are circuits closed?
  • For HVAC: Are Ports included for hvac elements?
  • ...

File wise:

  • Are IfcBuildingElementProxy elements in the file? If yes give a warning, that those components wont be used

The results should be listed and the user should be able to fix them.

Network recreation & Aggregation #9 #12 - [merged]

Merges NetworkRecreation -> master

The hvac graph is now a representation of the instances we create by ifc. It consists of an node for each element which holds more "subnodes" for every port. These subnodes can be rediscovered easily by function. I also implemented functions to update the subnodes. The whole class itself is still a bit unstructured but it works for now.
I simply did the aggregation together with the recreation task, so this is now working for pipestrands. @EARNSdev1 Can you take a look at it, then we can merge the whole thing afterwards?

[hvac] class: HVAC

A class that holds an object with all needed information about the HVAC for the later export to modelica

List of needed features

In this issue we can document which classes and functions we need to implement and link them to specific sub-issues. This should be used intensivly by all members of the project to create a good overview of the project status and discussion

Completion

(implemented but not yet ready)

General

  • #11 Entry point
  • #10 Data extraction
  • #12 Aggregatin / Seperation system

HVAC

  • #9 Circuit analytic
  • #3 Plantsystem

Features

(not implemented)

  • #13 Checking system
  • #2 ifcexport

Testing / tuning

  • #14 decision System
  • #15 Management System

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.