DistrictHeatingSim
Introduction
Welcome to the DistrictHeatingSim project, a comprehensive tool for planning and optimizing sustainable district heating networks. This README provides an overview of the project's functionality, installation instructions, and usage guidelines.
DistrictHeatingSim is developed by Dipl.-Ing. (FH) Jonas Pfeiffer as part of the SMWK-NEUES TG70 project, which focuses on the development and testing of methods and tools for the conceptualization of sustainable heating networks. The software integrates technical and economic simulations to support the design and evaluation of district heating systems. Besides the technical methods for calculations, a huge focus lies on implementing a GUI for this process steps. The Tool is implemented as an PyQt5-GUI.
Table of Contents
- Features
- Installation
- Usage
- Requirements
- Project Structure
- Contribution Guidelines
- License
- Contact Information
Features
User Interface
- Project Definition: Create croject project folders, your data input and track your project progress
- Building Heat Demand Profile Calculation: Calculate the heat demand profiles for your buildings
- Geocoding: Convert addresses to coordinates and visualize them on a map.
- OSM Data Integration: Download and process OpenStreetMap data for streets and buildings.
- Automatic Heat Network Generation: Generate heating networks based on building and generator locations.
- GIS Data Handling: Uniformly manage and store GIS data in the GeoJSON format.
- LOD2 Data Processing: Work with detailed 3D building data to analyze heating demands and simulate renovation options.
- Thermohydraulic Network Calculation: Simulate the generated heat networks with pandapipes.
- Cost Calculation: Calculate heat generation costs based on VDI 2067 methodology and various cost inputs.
- Renovation Calculation: Calculate the cost of building renovation based on calculated renovation variants.
- Individual supply calculation: Besides to district heating variants, individual supply options can be calculated
- PDF Report Generation: Create detailed PDF reports with economic and technical results.
- Save/Load Project Results: Integrated options to save and load calculated results in main parts of the software
Technical Capabilities
- Heat Requirement Calculation: Calculate heat demands based on different profiles and weather data.
- Economic Scenario Analysis: Evaluate the economic feasibility of various heating scenarios.
- Optimization Algorithms: Optimize heating network configurations for cost efficiency.
- Integration of Renewable Technologies: Support for solar thermal, biomass, geothermal, and other renewable sources.
Installation
To install DistrictHeatingSim, ensure you have Python installed on your system. Follow the steps below:
-
Clone the repository:
git clone https://github.com/JonasPfeiffer123/DistrictHeatingSim.git
-
Navigate to the project directory:
cd DistrictHeatingSim
-
Install the required packages:
pip install -r requirements.txt
Usage
Building Heat Demand Profile Calculation
- Load CSV-File: Create/Load CSV-file with project specific building informations.
- Choose Profiles: Choose profiles for these building if not defined previously.
- Calculate Profiles: Calculate the profiles based on weather data.
- View in Diagram: Results are shown in the diagramm and saved as JSON
Spatial Analysis
- Load Project: Start the application and select or create a new project.
- Geocoding: Use the built-in tool to convert address data in CSV format to coordinates.
- OSM Data: Download and integrate street and building data from OpenStreetMap.
- Heat Network Generation: Automatically generate a heat network based on building and generator locations.
LOD2-Data Processing
- Filter LOD2 Data: Filter LOD2 3D building data based on polygon or adresses
- Process LOD2 Data: Process detailed 3D building data for heat demand analysis. Calculating building areas.
- Load TABULA Data: Combine LOD2 data with TABULA building data.
- Calculate Heat Demand: Use the LOD2 and TABULA data to calculate heat demands for different renovation options.
Heat Network Calculation
- Load Data: Import the generated heat network data into Pandapipes.
- Simulation: Perform thermohydraulic calculations to simulate the heat network.
- Optimization: Optimize the network for cost efficiency and operational performance.
- Results: Visualize the results, including flow rates, pressures, and temperatures.
Generator Sizing and Economic Analysis
- Define Parameters: Set up economic parameters and cost factors.
- Generator Configuration: Configure different types of heat generators and their capacities.
- Simulation: Simulate the performance and cost of different heating scenarios.
- Report Generation: Generate a PDF report with the simulation results, economic analysis, and recommendations.
Buidling Renovation Cost Calculation
- Load Renovation Variants: Load LOD2 results from LOD2 processing.
- Cost definition: Define specifc renovation costs.
- Simulation: Calculate total costs of renovation options.
Requirements
Project Structure
-
src/districtheatingsim: Source code for DistrictHeatingSim
-
docs: Documentation for DistrictHeatingSim
-
flow_chart: Shows two flow charts describing data processing in DistrictHeatingSim
-
requirements.txt: List of dependencies
-
README.md: This README file
-
currently_not_used: Contains multiple python files with various functionality which are currently not integrated in DistrictHeatingSim
PyInstaller
Documentation
The Code is documented with docstrings which are readable by Sphinx and therefore a documentation can be created by doing
-
Directing to the docs folder:
cd docs
-
Generating the .rst-files:
sphinx-apidoc -o source/ ../src/districtheatingsim
-
Generate the htmls:
make clean
make html
Contribution Guidelines
I welcome contributions from the community. To contribute:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them with descriptive messages.
- Push your changes to your forked repository.
- Open a pull request to the main repository.
Please ensure that your contributions align with the project's coding standards and add tests for new functionalities.
License
DistrictHeatSim is licensed under the MIT License. See the LICENSE
file for more details.
Contact Information
For further information, questions, or feedback, please contact the project maintainer:
Dipl.-Ing. (FH) Jonas Pfeiffer
GitHub Profile
Email: jonas.pfeiffer(at)hszg.de
LinkedIn