Python package for a ISO 52016 calculation
Project description
DIN EN ISO 52016
Python implementation of the DIN EN ISO 52016 standard for calculating the energy performance of buildings. The package computes hourly heating and cooling loads for thermal zones using a 5-node thermal-network model per opaque element, solar irradiation via pvlib, and ground-temperature coupling per ISO 13370.
Installation
pip install .
Or for development:
pip install -e ".[dev]"
Quick start
import numpy as np
from iso52016 import (
Building, Layer, Material, OpaqueElement, Orientation,
Ventilation, Weather, Window, Zone,
)
# Create materials and layers
concrete = Material(density_kg_m3=2300, thermal_capacity_J_kgK=880, conductivity_W_mK=1.7)
insulation = Material(density_kg_m3=20, thermal_capacity_J_kgK=1450, conductivity_W_mK=0.035)
wall_layers = [Layer(0.2, concrete), Layer(0.1, insulation)]
# Set up weather (8760 hourly values)
weather = Weather(air_temperature=t_air, wind=wind)
# Define building envelope
wall = OpaqueElement(area=50, orientation=Orientation(90, 0), layers=wall_layers)
# ... add more walls, roof, floor
zone = Zone(
opaque_elements=[wall, ...],
usable_floor_area=100,
internal_gains=[np.zeros(8760)],
lower_temperature_limit=20,
upper_temperature_limit=26,
)
building = Building(zones=zone, weather=weather)
building.calculate()
print(f"Heating: {zone.heat_load.sum() / 1000:.0f} kWh")
print(f"Cooling: {zone.cool_load.sum() / 1000:.0f} kWh")
See examples/easy_example.py for a complete working example.
Features
- Hourly heating and cooling load calculation per ISO 52016
- 5-node thermal network for opaque elements, 2-node for windows
- Solar irradiation via
pvlib(any orientation/tilt) - Ground-temperature coupling per ISO 13370
- Multi-zone support
- Ventilation with heat recovery
License
BSD 3-Clause.
Independent implementation of the calculation method described in DIN EN ISO 52016-1. This project is not affiliated with, authorized by, or endorsed by ISO, CEN, or DIN, and does not reproduce the text of the standard.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iso52016-0.0.3.tar.gz.
File metadata
- Download URL: iso52016-0.0.3.tar.gz
- Upload date:
- Size: 32.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b680eae3918a63893ba203ce245b9bfe5b05838ca356dac246c05b0fc09e3026
|
|
| MD5 |
976a144486dd007966e93f01806ce1f9
|
|
| BLAKE2b-256 |
d89062ec5e450c7be2bb0ab56893d116f411010b8caff822fbb48cbb820ee340
|
File details
Details for the file iso52016-0.0.3-py3-none-any.whl.
File metadata
- Download URL: iso52016-0.0.3-py3-none-any.whl
- Upload date:
- Size: 23.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
340f52da26328b97f561aad97f2fe17edce0627dc773ba6d46a5895a303f70c2
|
|
| MD5 |
e3413a76960d91fa15f6edd74e20930d
|
|
| BLAKE2b-256 |
3b9e79e72430dd55a9302521f035bbc8ee2b18045ec9317f7b88a80943917ce6
|