Giter Site home page Giter Site logo

rwth-ebc / aixlib Goto Github PK

View Code? Open in Web Editor NEW
171.0 28.0 79.0 227.04 MB

A Modelica model library for building performance simulations

Home Page: https://ebc-tools.eonerc.rwth-aachen.de/aixlib

Modelica 97.57% HTML 0.37% Python 0.96% Makefile 0.03% CSS 0.23% Java 0.08% C 0.40% C++ 0.02% Shell 0.04% Batchfile 0.04% TeX 0.05% JavaScript 0.20%
hacktoberfest

aixlib's Introduction

E.ON EBC RWTH Aachen University OM

AixLib

AixLib is a Modelica model library for building performance simulations.
The library contains models of HVAC systems as well as high and reduced order building models.
It is being developed at RWTH Aachen University, E.ON Energy Research Center, Institute for Energy Efficient Buildings and Indoor Climate (EBC) in Aachen, Germany.

As the library is developed at RWTH Aachen University's EBC, the library's name AixLib is derived from the city's French name Aix-la-Chapelle, which the people of Aachen are very fond of and use a lot. With the name AixLib we follow this local tradition.

If you have any questions regarding AixLib, feel free to contact us at [email protected].

Clone repository

  • To clone the repository for the first time run:
    git clone --recurse-submodules https://github.com/RWTH-EBC/AixLib.git
  • If you have already cloned the repository, run:
    git submodule update --init --recursive
  • The default branch of AixLib is the development branch. This means that after cloning the repository, you always checked out the development branch.

Release versions

The latest version is always available on the release page and defined in AixLib's package.mo.

How to cite AixLib

We continuously improve AixLib and try to keep the community up-to-date with citable papers. Please use the following article for citations when using or enhancing AixLib.

@article{doi:10.1080/19401493.2023.2250521,
author = {Laura Maier and David Jansen and Fabian Wüllhorst and Martin Kremer and Alexander Kümpel and Tobias Blacha and Dirk Müller},
title = {AixLib: an open-source Modelica library for compound building energy systems from component to district level with automated quality management},
journal = {Journal of Building Performance Simulation},
volume = {0},
number = {0},
pages = {1-24},
year = {2023},
publisher = {Taylor & Francis},
doi = {10.1080/19401493.2023.2250521},
URL = {https://doi.org/10.1080/19401493.2023.2250521 },
eprint = {https://doi.org/10.1080/19401493.2023.2250521 }
}

Publications using AixLib

Please see the publications list

How to contribute to the development of AixLib

You are invited to contribute to the development of AixLib. Issues can be reported using this site's Issues section. Furthermore, you are welcome to contribute via Pull Requests. The workflow for changes is described in our Wiki.

License

The AixLib Library is released by RWTH Aachen University, E.ON Energy Research Center, Institute for Energy Efficient Buildings and Indoor Climate and is available under a 3-clause BSD-license. See AixLib Library license.

Acknowledgements

Parts of AixLib have been developed within public funded projects and with financial support by BMWi (German Federal Ministry for Economic Affairs and Energy).

aixlib's People

Contributors

alexanderaku avatar arnoldfuetterer avatar cvering avatar dajansengit avatar ebc-aixlib-bot avatar fwuellhorst avatar georgferdinandschneider avatar hannahromberg avatar julianmatthes avatar jun-jiang-92 avatar katharinabr avatar konstantinaxanthopoulou avatar kremermartin avatar larissakuehn avatar lauramaier avatar martinkremer avatar martinraetz avatar mbaranskiebc avatar michamans avatar mirkoengelpracht avatar mlauster avatar nilsneuland avatar patrickhenkel avatar pmehrfeld avatar premmen avatar sarahleidolf avatar svenhinrichs avatar tbeu avatar thorade avatar tobiasblacha 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  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  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  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

aixlib's Issues

Add acknowledgements

In our acknowledgement section, we should reference our public financial support

Typos in radiator

Had a quick look at the radiator model - will fix the typos in the commented code.

Building.LowOrder.BaseClasses.equalAirTemp

working on issue #24 i recognized some potential for enhancement in the current version of the equalAirTemp (e.g. right now only one view factor [phiprivate=0.5 for vertical alignment] is considered)

Should we discuss this in this issue or also in #24

name clash: HVAC used twice

Your AixLib.package.mo has an annotation which libraries it uses:

annotation(uses(Modelica(version = "3.2.1"), HVAC(version="2.2")));

But HVAC is also used for AixLib.HVAC (and for the directory that contains that sub-package), resulting in an error message when opening AixLib in Dymola. Maybe the library should be renamed LibHVAC or something more meaningful and unique.
Maybe you want, in addition, completely remove the uses HVAC annotation, because most users of AixLib do not have access to that library.

Accessing Output of airload

Dear AixLib,
I am really confused about this. I want to use the simulated airload Temperature ( reducedOrderModel.airload.T ) of "AixLib.Building.LowOrder.Examples.LOEM" and use it to get an estimate of Cooling required using the equation ( Q=m.c.dT) where dT=AT-ST
AT=Airload Temperatue
ST=Set Temperature.

How do i access AT, the simulated airload temperatue?

Illegal inheritance

Warning while loading the file .\AixLib\AixLib\Utilities\HeatTransfer.mo.
The Modelica class of AixLib.Utilities.HeatTransfer.HeatConv_inside (class) and its base class Modelica.Thermal.HeatTransfer.Interfaces.Element1D (model) are not compatible.

HeatConv_inside should be of type model, too.

LOM.SplitterThermPercentAir

I have to objections:

  • For what is "AirPercent" in the name?
  • The loop connecting input and output can be more efficiently handled by a vectorized equation using .* if necessary
  • In the sum equation, the multiplication needs to be done via .*. This might cuase errors if input is a scalar.

Rename variable for differential pressure from p to dp

In AixLib.HVAC.Interfaces.TwoPort, the differential pressure is calculated as variable p, which is described as "Pressure drop between the two ports (= port_a.p - port_b.p)". Renaming to dp would be more coherent with standard conventions and thus less irritating.

Clean up of low order models

  • delete unnecessary models
    • EqAirTempSimple
    • ReducedOrderModelStar
  • delete name affix EBCMod
  • rename the parameters to be uniform
    • EqAirTemp package
    • ReducedOrderModel package
    • SolarRadWeightedSum
    • ThermalZonePhysics
    • ThermalZone
    • ZoneBaseRecord
  • make ReducedOrderModel replaceable, implement choice in higher level models and change default reduced order model in ThermalZonePhysics to the one with decoupled RWin
  • clean up ZoneBaseRecord
    • No default values
    • clean up white spaces
    • delete old, unused parameter
  • implement choice between CorrG and NoCorrG for higher level models

LowOrder Building - Validation

-translation into English and proper naming
-update CombiTimeTable for inner loads in test cases 5,8,9,10,12 (split the persons share into peopleConvective and peopleRadiative)

Revise LowOrder.ThermalZone

Revise the structure or add additional ThermalZone models (e.g. like it is done in LowOrder.BaseClasses.ReducedOrderMolde/EqAirTemp) in order to operate the ThermalZone with all the different modeling options of #24 and #25

Validation according to ASHRAE 140

Wouldn't it be absolutely wonderful if this awesome building models would be validated according to some standard, let's say ASHRAE 140?
PRemmen, are you feeling up to it?

Implementing HVAC from another Library

Dear AixLib Team,
I want to implement a HVAC system from another library inside one of the AixLib
LowOrderModels. The Chiller model and all the components have flow ports(fluids) involved. Is there a way in which i can implement this by modifying the LowerOrderModel? Something like below but instead of getting the temperature from the temperature sensor.. include the chiller(through the flow ports) inside the building.
I would really appreciate the help and any ideas regarding this.

fluid flow

High order examples: Division by zero in pipe

When trying to simulate the high order building model's examples RoomGFOw2 and Appartment_VoWo, simulation fails because the static pipe model divides by zero with lambda2 = 0.

This seems to be a problem with the pipe rather than with the high order examples. For a quick solution, I suggest to replace the static pipe in the examples by the pipe model from MSL.

For the future development an important question is whether to revise the models Pipe and StaticPipe or replace them systematically by other pipe models (from Annex 60 or MSL, for example).
What do you guys think @mlauster, @PRemmen? Others' input is also very welcome of course!

Boundaries of example for dynamic pipe

Both boundaries are set to atmospheric pressure, forward side has h = 1e6. I think this might be an error and instead the forward side should have a slightly higher pressure than the return side boundary?

Update several models to newer versions

Several models also used in AixLib have been improved in another projects. The AixLib models should be updated. All further development of these models shall hence on be done only in AixLib.

Implement Unit Tests

The library should have unit tests for all models as a means of quality control. This should use buildingsPy unit testing routines

package.order

Your package.order is currently broken.
Dymola will silently fix this when opening the library,
OpenModelica will complain, and it will tell you what is broken where.

So, opening the library in OpenModelica from time to time (e.g. after running the integration scripts)
is a good test to see whether the package.order is correct.

HTML tidy

BuildingsPy can call HTML tidy and check the HTML documentation.
The following Python script will print a couple of warnings and errors that should be fixed.

import os
import buildingspy.development.validator as v
moLibsDir = "C:\Users\mthorade\Documents\Dymola"
moLib = "AixLib\Aixlib"
moLibPath = os.path.join(moLibsDir, moLib)
print(moLibPath)

val = v.Validator()
errStr = val.validateHTMLInPackage(moLibPath)
print(errStr)

Remember to change the path.
Before running the script you need to pip install -U buildingspy.
You might also need to pip install -U pytidylib and get tidylib.dll from http://www.html-tidy.org/

LowOrderModel remarks from Annex 60

We got some remarks mainly regarding LOM from the Annex 60 group and should consider them.
Mainly, the following items should be done:

  • Do not use cardinality as it will be removed from Modelica
  • Replace Airload in ReducedOrderModel with Mixed Air volume
  • use assert instead of .stream to state warnings

Naming of thermal mass inconsistent

Most Rooms in the Building.HighOrder Library of AixLib offer a simple radio button to select the Thermal Mass Class. Unlike the whole GUI, the labels assigned (S, M, L) are abbreviations for the German "Schwer", "Mittel" and "Leicht". This is a possible source of confusion, as it could be misunderstood as "Small", "Medium" and "Large".

It suggest renaming the abbreviations to:
S --> high
M --> medium
L --> low

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.