JonasPfeiffer123 / DistrictHeatingSim

This project focuses on generating and analyzing heating networks using geospatial data. It integrates geographic information system (GIS) functionality with network analysis to model and simulate heating networks.
MIT License
0 stars 1 forks source link
district-heating qgis simulation

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

  1. Features
  2. Installation
  3. Usage
  4. Requirements
  5. Project Structure
  6. Contribution Guidelines
  7. License
  8. Contact Information

Features

User Interface

Technical Capabilities

Installation

To install DistrictHeatingSim, ensure you have Python installed on your system. Follow the steps below:

  1. Clone the repository:

    git clone https://github.com/JonasPfeiffer123/DistrictHeatingSim.git
  2. Navigate to the project directory:

    cd DistrictHeatingSim
  3. Install the required packages:

    pip install -r requirements.txt

Usage

Building Heat Demand Profile Calculation

  1. Load CSV-File: Create/Load CSV-file with project specific building informations.
  2. Choose Profiles: Choose profiles for these building if not defined previously.
  3. Calculate Profiles: Calculate the profiles based on weather data.
  4. View in Diagram: Results are shown in the diagramm and saved as JSON

Spatial Analysis

  1. Load Project: Start the application and select or create a new project.
  2. Geocoding: Use the built-in tool to convert address data in CSV format to coordinates.
  3. OSM Data: Download and integrate street and building data from OpenStreetMap.
  4. Heat Network Generation: Automatically generate a heat network based on building and generator locations.

LOD2-Data Processing

  1. Filter LOD2 Data: Filter LOD2 3D building data based on polygon or adresses
  2. Process LOD2 Data: Process detailed 3D building data for heat demand analysis. Calculating building areas.
  3. Load TABULA Data: Combine LOD2 data with TABULA building data.
  4. Calculate Heat Demand: Use the LOD2 and TABULA data to calculate heat demands for different renovation options.

Heat Network Calculation

  1. Load Data: Import the generated heat network data into Pandapipes.
  2. Simulation: Perform thermohydraulic calculations to simulate the heat network.
  3. Optimization: Optimize the network for cost efficiency and operational performance.
  4. Results: Visualize the results, including flow rates, pressures, and temperatures.

Generator Sizing and Economic Analysis

  1. Define Parameters: Set up economic parameters and cost factors.
  2. Generator Configuration: Configure different types of heat generators and their capacities.
  3. Simulation: Simulate the performance and cost of different heating scenarios.
  4. Report Generation: Generate a PDF report with the simulation results, economic analysis, and recommendations.

Buidling Renovation Cost Calculation

  1. Load Renovation Variants: Load LOD2 results from LOD2 processing.
  2. Cost definition: Define specifc renovation costs.
  3. Simulation: Calculate total costs of renovation options.

Requirements

Project Structure

PyInstaller

Documentation

The Code is documented with docstrings which are readable by Sphinx and therefore a documentation can be created by doing

  1. Directing to the docs folder:

    cd docs
  2. Generating the .rst-files:

    sphinx-apidoc -o source/ ../src/districtheatingsim
  3. Generate the htmls:

    make clean
    make html

Contribution Guidelines

I welcome contributions from the community. To contribute:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and commit them with descriptive messages.
  4. Push your changes to your forked repository.
  5. 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