Skip to content

[BHE] Advanced BHE boundary condition with cop curves

This MR introduces an advanced BHE boundary condition for the different building heat load sources heating, hot_water and cooling. It is flexible, so not always all definitions are needed - e.g. if no hot water load, this section can be removed from the prj-file.

The basis behind this implementation is the COP, which defines the ratio of building thermal load and the consumed electrical energy of the heat pump: COP = \frac{\dot{Q}_{\mathrm{building}}}{P_{\mathrm{el.}}} .

With the assumption of \dot{Q}_{\mathrm{building}}=P_{\mathrm{el.}}+\dot{Q}_{\mathrm{geo}} it follows (see also VDI 4640): \dot{Q}_{\mathrm{geo}} = \dot{Q}_{\mathrm{building}} - \frac{\dot{Q}_{\mathrm{building}}}{COP}

Depending on the source of the heat load different temperature levels are needed, e.g for space heating 35°C or for hot water 55°C.

The COP varies depending on the needed temperature level of the building and the source temperature delivered by the BHEs. See for example this COP curves taken from Max Weishaupt GmbH (2024):

Bildschirmfoto_2025-01-31_um_07.53.53

Looks in the project file as follows:

<flow_and_temperature_control>
    <type>AdvancedBuildingPowerCurvesFlowCurve</type>
    <heating>
        <power_curve>heat_power</power_curve>
        <cop_curve>cop_heating</cop_curve>
    </heating>
    <hot_water>
        <power_curve>dhw_power</power_curve>
        <cop_curve>cop_dhw</cop_curve>
    </hot_water>
    <cooling>
        <active>true</active>
        <power_curve>cool_power</power_curve>
        <cop_curve>cop_cool</cop_curve>
    </cooling>
    <flow_rate_curve>flow_curve</flow_rate_curve>
</flow_and_temperature_control>

Power smaller than a user definable threshold <power_min> and flow rates smaller than a user definable <flo_rate_min> are treated as zero.

Flow rates remain all the time constant, if it is specified as a constant flow rate.

  1. Feature description was added to the changelog
  2. Tests covering your feature were added? added a pytest to capture all combinations
  3. Any new feature or behaviour change was documented?
Edited by Max Jäschke

Merge request reports

Loading