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.1.tar.gz (32.0 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.1-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: iso52016-0.0.1.tar.gz
  • Upload date:
  • Size: 32.0 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.1.tar.gz
Algorithm Hash digest
SHA256 a4904a20a6711387a449f7fbf8463e9ededf8e24d660f8c64a68f1cd9e064a66
MD5 13ae74457caa7dd4b119ae926ef6ae2c
BLAKE2b-256 1f7298fbcace81b5ab2f6a182130eb8382b04161ea7cc61de0a9ab83943c1fb5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: iso52016-0.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2fc558a090608bbbddd1f776965a5ee7dd3221a25d40b2325dbb8b181a278ac8
MD5 2091ef74cae7eb5f8824aa63568d651d
BLAKE2b-256 8e3750f6013f9c92b19720d500cb2ce7508537384b7e65b8b87a8613f171c6ae

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