Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.6%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: HTWK-Interconnected-Energy-Systems
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 234 MB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 3
Created 8 months ago · Last pushed 8 months ago
Metadata Files
Readme License Citation

README.md

BURN4H2-Framework

Python License Pyomo

Table of Contents


Overview

The BURN4H2-Framework is an open-source optimization framework for industrial energy systems with a focus on sector coupling between power and heat. The framework enables detailed modeling and optimization of complex energy systems including hydrogen integration, combined heat and power units, heat pumps, renewable energy sources, and various storage technologies.

Project Background

This framework was developed as part of the BURN4H2 project, specifically within the sub-project "Systemmodellierung und Regelungskonzeptentwicklung" (System Modeling and Control Concept Development). The framework is based on scientifically established methods and utilizes the Python programming language in combination with the algebraic modeling language Pyomo to formulate a mixed-integer linear programming (MILP) problem, which is solved using the Gurobi solver.

Key Features

  • Optimization Objective: Minimization of total system operating costs
  • Modeling Approach: Bottom-up analytical approach with detailed component modeling
  • Sector Coupling: Integration of electrical, thermal, and hydrogen energy sectors
  • Modularity: Flexible framework structure allowing easy adaptation without core modifications
  • Real-world Data: Integration of actual plant data, load profiles, and site-specific infrastructure conditions
  • Transparency: Complete disclosure of model structure and technical assumptions

The modular design enables flexible adaptation of energy system models without intervention in the core structure. High site-specific modeling depth is achieved through the use of real plant data, load profiles, and infrastructural site conditions. Complete disclosure of the model structure and technical assumptions ensures transparency and traceability of results.

Framework Architecture

The framework follows a modular structure with the following core components:

burn4h2/ ├── main.py # Main optimization model and execution logic └── blocks/ # Modular component definitions ├── chp.py # Combined Heat and Power units ├── grid.py # Grid connections (electrical, heat, hydrogen) ├── heatpump.py # Heat pump systems ├── storage.py # Storage systems (battery, thermal, hydrogen) ├── res.py # Renewable energy sources ├── collector.py # Solar thermal collectors └── electrolyzer.py # Hydrogen production

System Boundaries and Assumptions

General Model Assumptions

  • Optimization Method: Mixed-integer linear programming (MILP)
  • Forecast Quality: Perfect forecast assumed
  • Temporal Resolution: Hourly time steps
  • Transmission: No transmission losses between system components
  • Grid Infrastructure: Unlimited flow capacity in network connections
  • System Operation: No ramp rate constraints
  • Energy Balance: Perfect balancing of supply and demand at each time step
  • Component Operation: Ideal operation without degradation effects (unless specified)

Components

The framework includes the following energy system components:

Power Generation

  • Combined Heat and Power (CHP): Two identical units with configurable hydrogen admixture (0%, 30%, 50%, 100%)
  • Photovoltaics: Solar power generation with capacity factor profiles
  • Grid Connection: Electrical import/export capabilities

Heat Generation

  • Heat Pumps: Two-stage ammonia-based heat pump system
  • Solar Thermal: Collector systems for thermal energy generation
  • Waste Heat Recovery: Integration of waste heat from CHP units

Storage Systems

  • Battery Storage: Electrical energy storage
  • Thermal Storage: Heat storage for district heating
  • Stratified Heat Storage: Multi-zone thermal storage
  • Geothermal Storage: Ground-coupled heat storage
  • Hydrogen Storage: Hydrogen energy storage

Grid Infrastructure

  • Electrical Grid: Power import/export and distribution
  • Heat Grid: District heating network
  • Local Heat Grid: Localized heat distribution
  • Hydrogen Grid: Hydrogen supply infrastructure
  • Natural Gas Grid: Natural gas supply
  • Waste Heat Grid: Waste heat collection and distribution

Topology

The energy system topology demonstrates the interconnection of all components through a network of energy flows:

System Topology Figure 1: Schematic topology of the energy system model

The system uses a port-based connection approach where each component has defined input and output ports for different energy carriers (electrical power, heat, hydrogen, natural gas).

Installation and Usage

Prerequisites

  • Python 3.8 or higher
  • Gurobi optimization solver (license required)
  • Required Python packages (see requirements.txt)

Installation

  1. Clone the repository: bash git clone https://github.com/0815Paul/BURN4H2.git cd burn4h2-framework

  2. Install dependencies: bash pip install -r requirements.txt

  3. Configure Gurobi solver according to your license.

Configuration

Configuration files are located in config/templates/. Each configuration defines: - System parameters (prices, capacities, etc.) - Time series data references - Component specifications - Scenario-specific settings

Available configurations: - dummy.json - Basic demonstration scenario - Scenario-specific configurations for different use cases

Running Simulations

Default Configuration

bash python main.py

Specific Configuration

bash python main.py --config your_config.json

Use Case Batch Processing

bash python main.py --use-case uc1

Output and Results

Result Files

The framework generates timestamped output files:

  • CSV Output: {config}_{timestamp}_output.csv

    • Time series results for all variables and parameters
    • Component operational states and energy flows
    • Cost and emission data
  • Metadata: {config}_{timestamp}_metadata.json

    • Solver settings and performance
    • Configuration parameters
    • System specifications
  • Cost Analysis: {config}_{timestamp}_costs.json

    • Detailed cost breakdown
    • Revenue analysis
    • Economic performance indicators

Directory Structure

data/output/ ├── use_case_1/ │ ├── scenario_1/ │ │ ├── config_timestamp_output.csv │ │ ├── config_timestamp_metadata.json │ │ └── config_timestamp_costs.json │ └── scenario_2/ └── dummy/

Contributing

Please note: This project is now closed and is no longer under active development.

This framework was developed as part of the BURN4H2 research project and represents a completed research deliverable. While the code is made available for transparency and reproducibility, no further development or feature additions are planned.

Data Availability

The framework includes sample data in the dummy.json configuration for demonstration purposes. However, please note:

  • Real operational data (electricity prices, gas prices, load profiles, etc.) used in the original research cannot be shared due to data protection and confidentiality agreements
  • Only anonymized dummy data is provided in the public repository
  • The dummy configuration demonstrates the framework's functionality but does not represent actual operational scenarios

Acknowledgements

The repository is a result of the research and development activities within the "Burn4H2" project (FKZ: 03EE5140C), which was funded by the German Federal Ministry of Economic Affairs and Climate Action (BMWK). We gratefully acknowledge the support provided by the BMWK in enabling the research and development and wish to thank all our project partners for helpful comments and fruitful discussions.

License

This project is licensed under the MIT License - see the LICENSE file for details.


Contact: This is an archived research project. For technical questions, please refer to the documentation within the repository.

Owner

  • Name: HTWK - Interconnected Energy Systems
  • Login: HTWK-Interconnected-Energy-Systems
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.0.1
message: "If you use this software, please cite it as below."
doi: 10.5281/zenodo.15920960
authors:
  - family-names: Hafemann
    given-names: Martin
    orcid: https://orcid.org/0009-0006-8433-0817
  - family-names: Wilhelm
    given-names: Paul
  - family-names: Reker
    given-names: Sophia
  - family-names: Huhn
    given-names: Robert
  - family-names: Schneider
    given-names: Jens
title: HTWK-Interconnected-Energy-Systems/BURN4H2
version: v1.0.1
date-released: 2025-07-15

GitHub Events

Total
  • Release event: 1
  • Member event: 1
  • Push event: 2
  • Create event: 2
Last Year
  • Release event: 1
  • Member event: 1
  • Push event: 2
  • Create event: 2

Dependencies

requirements.txt pypi
  • Pyomo ==6.6.1
  • Pyomo ==6.7.1
  • pandas ==2.0.3