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.0.tar.gz (31.5 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.0-py3-none-any.whl (40.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: buildyn-1.0.0.tar.gz
  • Upload date:
  • Size: 31.5 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.0.tar.gz
Algorithm Hash digest
SHA256 0f68f560f881822bff8defae62a89b52302e19656b0a084e0603da95ed5891cf
MD5 7100c511422ae1ea656a068fea050eaf
BLAKE2b-256 58f19e11e1e7b3ea79ed8d56917be978cd10d6197537cc8564d135d3c362cf04

See more details on using hashes here.

File details

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

File metadata

  • Download URL: buildyn-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 40.4 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d394c8d63074323c3fb91104455609c938a1e7768ac4deb8097c04b1ef72163e
MD5 c5ab551934ea25cc354efeb355f9f486
BLAKE2b-256 26ec54b49764cd428f61e7c94eaf777a49085ddf7a1a0ba91abdd0c9b68acf35

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