Name | Description |
---|---|
Examples | Collection of models that illustrate model use and test models |
HeatingCurve | Block to compute the supply and return set point of heating systems |
The parameter dTOutHeaBal can be used to shift the heating curve to account for the fact that solar heat gains and heat gains from equipment and people make up for some of the transmission losses. For example, in energy efficient houses, the heating may not be switched on above 12 degree Celsius, even if a room temperature of 20 degree is required. In such a situation, set dTOutHeaBal=20-12=8 Kelvin to shift the heating curve.
Extends from Modelica.Blocks.Interfaces.BlockIcon (Basic graphical layout of input/output block).
Type | Name | Default | Description |
---|---|---|---|
Real | m | 1.3 | Exponent for heat transfer |
Boolean | use_TRoo_in | false | Get the room temperature set point from the input connector |
Temperature | TRoo | 293.15 | Fixed value of room air temperature set point [K] |
TemperatureDifference | dTOutHeaBal | 8 | Offset for heating curve [K] |
Nominal conditions | |||
Temperature | TSup0 | Supply temperature [K] | |
Temperature | TRet0 | Return temperature [K] | |
Temperature | TRoo0 | 293.15 | Room temperature [K] |
Temperature | TOut0 | Outside temperature [K] |
Type | Name | Description |
---|---|---|
input RealInput | TRoo_in | Room air temperature set point [K] |
input RealInput | TOut | Outside temperature [K] |
output RealOutput | TSup | Setpoint for supply temperature [K] |
output RealOutput | TRet | Setpoint for return temperature [K] |
block HeatingCurve "Block to compute the supply and return set point of heating systems" extends Modelica.Blocks.Interfaces.BlockIcon; parameter Real m = 1.3 "Exponent for heat transfer"; parameter Modelica.SIunits.Temperature TSup0 "Supply temperature"; parameter Modelica.SIunits.Temperature TRet0 "Return temperature"; parameter Modelica.SIunits.Temperature TRoo0 = 293.15 "Room temperature"; parameter Modelica.SIunits.Temperature TOut0 "Outside temperature"; parameter Boolean use_TRoo_in = false "Get the room temperature set point from the input connector"; parameter Modelica.SIunits.Temperature TRoo = 293.15 "Fixed value of room air temperature set point"; parameter Modelica.SIunits.TemperatureDifference dTOutHeaBal = 8 "Offset for heating curve"; Modelica.Blocks.Interfaces.RealInput TRoo_in(final quantity="ThermodynamicTemperature", final unit = "K", displayUnit = "degC", min=0) if use_TRoo_in "Room air temperature set point"; Modelica.Blocks.Interfaces.RealInput TOut(final quantity="ThermodynamicTemperature", final unit = "K", displayUnit = "degC", min=0) "Outside temperature"; Modelica.Blocks.Interfaces.RealOutput TSup(final quantity="ThermodynamicTemperature", final unit = "K", displayUnit = "degC", min=0) "Setpoint for supply temperature"; Modelica.Blocks.Interfaces.RealOutput TRet(final quantity="ThermodynamicTemperature", final unit = "K", displayUnit = "degC", min=0) "Setpoint for return temperature"; protected Modelica.Blocks.Interfaces.RealInput TRoo_in_internal(final quantity="ThermodynamicTemperature", final unit = "K", displayUnit = "degC", min=0) "Needed to connect to conditional connector"; Real qRel "Relative heat load = Q_flow/Q0_flow"; Modelica.SIunits.Temperature TOutOffSet "Effective outside temperature for heat transfer (takes into account room heat gains)"; parameter Modelica.SIunits.Temperature TOutOffSet0 = TOut0 + dTOutHeaBal "Effective outside temperature for heat transfer at nominal conditions (takes into account room heat gains)"; equation connect(TRoo_in, TRoo_in_internal); if not use_TRoo_in then TRoo_in_internal = TRoo; end if; TOutOffSet = TOut + dTOutHeaBal; // Relative heating load, compared to nominal conditions qRel = max(0, (TRoo_in_internal-TOutOffSet)/(TRoo0-TOutOffSet0)); TSup = TRoo_in_internal + ((TSup0+TRet0)/2-TRoo_in_internal) * qRel^(1/m) + (TSup0-TRet0)/2 * qRel; TRet = TSup - qRel * (TSup0-TRet0); end HeatingCurve;