Skip to main content

Python package for a ISO 52016 calculation

Project description

DIN EN ISO 52016

pipeline status coverage report Documentation Status Code style: black

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


Download files

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

Source Distribution

iso52016-0.0.2.tar.gz (32.1 kB view details)

Uploaded Source

Built Distribution

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

iso52016-0.0.2-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

Details for the file iso52016-0.0.2.tar.gz.

File metadata

  • Download URL: iso52016-0.0.2.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

Hashes for iso52016-0.0.2.tar.gz
Algorithm Hash digest
SHA256 d56ce19a74e8e81a4a342e29d8f10f393ae60132235f5358780c2a834fff510c
MD5 c0a3a3dd66ac5ea295696f700e96a583
BLAKE2b-256 da277ffbb44e56023d6912f60b407ed1c7e3ce0d40de705fe3b92771f24c1041

See more details on using hashes here.

File details

Details for the file iso52016-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: iso52016-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for iso52016-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c57647d320f3e1c8184b19c13bff3705663d1ceef2fa0ad4392c79882e98ef7d
MD5 8559f8940727128481aef9267bc47f8d
BLAKE2b-256 74e4a15e63fb7e8d0869bdab3ccc1f9e86628944902bcb9a0986e818fdcd5c6b

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