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
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
Metadata Files
README.md
BURN4H2-Framework
Table of Contents
- Overview
- Project Background
- Framework Architecture
- System Boundaries and Assumptions
- Components
- Topology
- Installation and Usage
- Output and Results
- Contributing
- Acknowledgements
- License
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:
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
Clone the repository:
bash git clone https://github.com/0815Paul/BURN4H2.git cd burn4h2-frameworkInstall dependencies:
bash pip install -r requirements.txtConfigure 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
- Repositories: 1
- Profile: https://github.com/HTWK-Interconnected-Energy-Systems
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
- Pyomo ==6.6.1
- Pyomo ==6.7.1
- pandas ==2.0.3