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.