🔥 Trano: Automated Building Energy Simulation (BES) Model Generation 🚀
📖 Full Documentation: 👉 Trano Docs
Trano is an innovative Python package that automates the creation of complex Building Energy Simulation (BES) Modelica models from simplified information contained in widely used data formats like YAML, JSON, or RDF. Unlike traditional tools that directly convert BIM to BES, Trano introduces an intermediate step, paving the way for seamless integration with IFC translators.
Trano is Modelica library agnostic but is natively designed to work with:
✅ Validated detailed Modelica libraries (e.g., Buildings, IDEAS,...)
✅ Reduced-order models (e.g., AIXLIB, ISO13790,...)
✅ Models for optimal control (the RC models of mpc, and FastModel: close to Buildings, closed loop or for optimal control, translated to CasADi)
✅ your library...
🧪 Supported libraries and validation
| Library | Version | Zone model | Role |
|---|---|---|---|
| Buildings | 13.0.0 | Buildings.ThermalZones.Detailed.MixedAir |
detailed, validated |
| IDEAS | 3.0.0 | IDEAS.Buildings.Components.Zone |
detailed, validated |
AixLib reduced order (reduced_order) |
3.0.1 | AixLib.ThermalZones.ReducedOrder.ThermalZone |
simplified, informational |
ISO 13790 (iso_13790) |
AixLib 3.0.1 | ISO13790.Zone5R1C |
simplified, informational |
mpc |
- | RC models (R1C1, R3C2, R4C3, ISO 13790) |
control-oriented, CasADi ready |
FastModel |
- | FastModel.Zones.Zone (the physics of MixedAir), with the hydronic and ventilation systems and their controllers |
close to Buildings, closed loop, CasADi ready |
FastModelMPC |
- | the same, the controls of the systems as inputs | optimal control, CasADi ready |
The HVAC components (radiators, valves, pumps, boilers, heat pumps, air handling units) come from the Buildings library for every Modelica library. The Modelica name of every parameter in every library is listed in the parameter reference.
The models trano generates are validated against ASHRAE Standard 140 (BESTEST): the 27 single-zone cases are simulated for a year with every library and compared with the acceptance limits of the standard and the spread of the reference programs. Buildings and IDEAS pass every case (see the validation results and the walk through the cases); the two simplified zones are reported for information. Simulations run in the official OpenModelica image.
✨ Key Features
🛠️ Built for Open-Source BES
- Designed with widespread adoption in mind.
- Optimized for OpenModelica, but also compatible with Dymola.
🔥 Full Thermal & Electrical Modeling
- Generates both thermal and electrical models.
- Supports building envelope, systems, and electricity.
- Models:
- Envelope (geometry & materials) 🏢
- HVAC systems (emission, hydronic distribution, boilers) ❄️🔥
- Electrical components (PV systems, electrical loads) ⚡
🎨 Easy to Use & Modify
- Generates graphical representations of components & connections 🎭.
- Fully modular design for seamless modifications:
- Envelope 🏠
- Emission 💨
- Hydronic Distribution 🚰
- Production & Electricity ⚡
🎛️ Control-oriented RC models for MPC
mpclibrary:trano create-model house.yaml mpcgenerates simple RC models (R1C1,R3C2,R4C3,ISO13790fromTrano.MPC) from the same building description, with the energy systems (heat pump, chiller, DHW tank, PV, battery, EV charger) inlined as CasADi-ready equations.building_mpcis CasADi/IPOPT ready (flat explicit ODE);buildingis directly runnable with the same weather file, solar gains, occupancy and external data as the other libraries (see the RC models for MPC tutorial).FastModellibrary:trano create-model house.yaml FastModelgenerates a model close to Buildings (layered walls, windows with their angular optics, long-wave and solar exchanges in the rooms, radiators, valves, boilers, heat pumps, ventilation with heat recovery, PV) that rumoca translates to a CasADi ODE.FastModelsimulates the building in closed loop with its controllers and pressure-driven water circuits;FastModelMPCleaves the controllers out, so thattrano.optimizationdecides the controls: it simulates the model, estimates its state and solves optimal control problems with IPOPT. In closed loop, FastModel follows Buildings within 0.05–0.39 K on the zone temperatures (0.05–0.25 K with controlled heating) (see the FastModel reference).
🚀 With Trano, creating and modifying detailed BES models has never been easier!
📖 Full Documentation: 👉 Trano Docs
Metadata
Release files for trano 0.49.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| trano-0.49.0.tar.gz | 275.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| trano-0.49.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 608.9 kB
Release files / trano-0.49.0.tar.gz
| Download URL | trano-0.49.0.tar.gz |
|---|---|
| Size | 275.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
054f78e3b358f81d5ea674f5bdd0c7ebe6570bd46ff300f63c0bdeb2136cf3a8
|
|
BLAKE2b-256 checksum How to use checksums |
22342c5d604317aac34b8a33acf446621d3768ccb7a13115a4d0264180aa5bee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / trano-0.49.0-py3-none-any.whl
| Download URL | trano-0.49.0-py3-none-any.whl |
|---|---|
| Size | 333.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c28e86b9f37efd63daebb815d68edf611480ebd5cae186e8d16b6738f261666b
|
|
BLAKE2b-256 checksum How to use checksums |
87990f33c98d3c8d7a4051120c0abb4dcc51a254831fe4abb1ebf7975ff59259
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|