Main application

Main entry point for the DistrictHeatingSim application.

This module provides a PyQt6-based GUI application for planning and optimizing district heating networks. It implements the Model-View-Presenter (MVP) pattern with clear separation between data management, business logic, and user interface.

author:

Dipl.-Ing. (FH) Jonas Pfeiffer

The application provides:

  • Project management with variant support

  • Building heat demand calculation using BDEW profiles

  • Network generation from GIS data (OpenStreetMap)

  • Thermohydraulic simulation with pandapipes

  • Heat generator sizing and economic analysis

  • Multi-variant comparison

Architecture:

  • Model: ProjectConfigManager, DataManager, ProjectFolderManager

  • View: HeatSystemDesignGUI (main window with tab-based interface)

  • Presenter: HeatSystemPresenter (coordinates business logic)

Note

The application uses time-based theme selection (light/dark mode) and supports Windows taskbar integration when available.

districtheatingsim.DistrictHeatingSim.main()[source]

Initialize and launch the DistrictHeatingSim application.

This function sets up the Qt application, initializes all managers (config, data, folder), creates the main GUI window, connects the MVP components, applies the theme, and starts the event loop.

Raises:
  • SystemExit – Normal application termination

  • Exception – Caught by global exception handler for user-friendly error reporting

Note

Windows-specific taskbar integration is applied if available but fails gracefully on other platforms.