Skip to main content

No project description provided

Project description

Python GitHub License PyPI Version

BuilDyn is an open-source free-to-use PyPI package to help simulating Functional Mockup Units (FMU) for buildings. Its primarily use is probing buildings thermal dynamics, randomizing building parameters, and demand-driven building simulation. As this is an open-source project, we encourage users and researchers to contribute with new ideas and directions to follow for future releases!

Setup

The only hard requirement for this package is python == 3.13.
Aside from that, there are two ways to build this package in your environment:

Installation via Pip

We distribute the newest version of this package over PyPI.

pip install buildyn

Installation from source code

Aside from the pip installation, you can also build the newest version of this package from scratch. First, clone this repository.

git clone https://github.com/felixmkoch/buildyn.git

After that, you can pip install this package into your python environemnt using

pip install .

Strcture

The package has two main classes to consider: FMU and BuilDyn. FMU is a modified and extended wrapper around the FmuSlave from FmPy. BuilDyn enables users full control over variations, walker distributions, and demand-dirven simulation. Multiple functionalities are inspired by BuilDa. For further information about the structure we refer to our paper.

Usage

One general use-case would be the following:

from buildyn import FMU
from buildyn.buildyn import BuilDyn
from buildyn.walker.random.random_walker import RandomWalker
from buildyn.walker.interval_walker import IntervalWalker


fmu_path = "model1.fmu"

start_variables = {
    "weaDat.filNam": "resources/Munich.mos",
    "internalGain.fileName": "resources/NoActivity.txt"
}

fmu = FMU(fmu_path, init_values=start_variables)

observables = ["thermalZone.TAir", "heatingPower"]

rw = RandomWalker(min=10, max=500, is_discrete=True)
iw = IntervalWalker(rw, 900) # 900 is the step size of the walker.

buildyn = BuilDyn(fmu, observables=observables)

buildyn.add_walker_distribution("heatingPower", iw)

print(buildyn.sample_one())

To explore all features of BuilDyn, we refer to our notebooks; each of them thematizes one key part.

Citation

If you are using BuilDyn, consider citing the corresponding paper.

@inproceedings{
  koch26buildyn,
  title={BuilDyn: Excitation-Driven Data Generation for Building Thermal Dynamics Modeling and Control},
  author={Koch, Felix and Krug, Thomas and Raisch, Fabian and Schäfer, Benjamin and Tischler, Benjamin},
  booktitle={Proceedings of the 17th ACM International Conference on Future and Sustainable Energy Systems}
  year={2026}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

buildyn-1.0.1.tar.gz (32.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

buildyn-1.0.1-py3-none-any.whl (41.0 kB view details)

Uploaded Python 3

File details

Details for the file buildyn-1.0.1.tar.gz.

File metadata

  • Download URL: buildyn-1.0.1.tar.gz
  • Upload date:
  • Size: 32.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for buildyn-1.0.1.tar.gz
Algorithm Hash digest
SHA256 24154c07ab4775af4cfd4bf708f4601c4fc0abf4b1f8985c39610b980d3bf069
MD5 6a798de538e3737ca6f8884a1e7b5be7
BLAKE2b-256 857c6778c4fa82f75f38586d3439352b21b8b2b52e10a95d0ff16c0ec633b581

See more details on using hashes here.

File details

Details for the file buildyn-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: buildyn-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 41.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for buildyn-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 96b44d2092ad6442e39378a71ab2a4f13da8e71870fa1905177d35105fc37f20
MD5 066bbf60aa8b856ccbe90910c32d7546
BLAKE2b-256 c325698379a651f21d0d996fc80d34f8da0f0bc711a305bfdbd922aa529a1c20

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page