modelPartialOperationalEnvelope
Extends from BaseClasses.PartialSafetyWithCounter.
Information
Model to check if the operating conditions are inside the given boundaries. If not, the heat pump or chiller will switch off.
This safety control is mainly based on the operational envelope of the compressor. Refrigerant flowsheet and type will influence these values.
Limitations
- Only three sides of the real envelope are implemented (Figures 2 and 3). The real operational envelope implies continuous operation. This means start-up from e.g. a cold heat pump supply temperature is possible. To avoid additional equations for startup and continuous operation, we neither implement the lower boundary for heating nor the upper boundary for cooling devices. This avoids the situation where the device can never be turned on.
- From all the influences on the real envelope, the compressor frequency impacts the possible range of operation. However, the compressor speed-dependent envelopes are typcially not provided in datasheets. Further, including a third dimension requires 3D-table data. This is currently not supported by BuildingSystems or Modelica Standard Library.
Existing envelopes
Technical datasheets often contain information about the operational envelope. The device records for heat pumps ( BuildingSystems.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.TableData2DData) and chillers ( BuildingSystems.Fluid.Chillers.ModularReversible.RefrigerantCycle.TableData2DData) contain typical values. Older devices typically have lower limits while new refrigerant machines based on propane or advanced flowsheets are able to achieve temperature over 70 °C for heating.
Parameterization from datasheets
Depending on the underlying datasheet in use, you have to think thoroughly if you need inlet or outlet conditions, and if you are modelling a heat pump or chiller. Figure 1 depicts possible upper and lower boundaries as well as what variables the boundaries are defined with. Depending on your setup, you may have to transpose existing boundaries. For instance, when using an envelope designed for a heat pump in a chiller model, the useful side (column 2 of the data) is not the condenser but the evaporator. Thus, you have to switch columns 1 and 2. The following examples aim to explain how to obtain the envelopes:
If the model in use is a heat pump,
the useful side is always the side of
TConOutMea and TConInMea.
In the chiller, the useful side is always the side of
TEvaOutMea or TEvaInMea.
-
The envelopes for air-to-water heat pumps
often contain water supply temperature (
TConOutMea) on the y-axis and ambient temperatures (TEvaInMea) on the x-axis. In these cases,tabUppHeais based on the y-axis maximal values andtabLowCoobased on the y-axis minimal values. Figure 2 depicts this setup. -
The envelopes for air-to-air devices often
contain ambient inlet (
TConInMea) as y and room (TEvaInMea) inlet temperatures as x. In these cases,tabUppHeais based on the x-axis maximal values and tabLowCoo based on the x-axis minimal values. Figure 3 depicts this setup. -
Compressor datasheets often provide evaporating and condensing
temperatures or pressure levels. Those are not avaiable in the
simpified model approach. Thus, you have to assume pinch
temperatures to convert it to either in- or outflow temperature
levels of the secondary side temperatures
(i.e.
TConOutMea,TConInMea,TEvaInMea,TEvaOutMea).
Figure 1: Possible upper and lower boundaries as well as temperature specifications in datasheets
Figure 2: Example for an air-to-water heat pump or chiller. The supply temperature is the temperature leaving the device into the hydraulic circuit of the building. Red crosses indicate the point to write into the 2D table in Modelica.
Figure 3: Example for an air-to-air heat pump or chiller. The room temperature acts as an inflow to the device. Red crosses indicate the point to write into the 2D table in Modelica.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.Temperature[:,2] | tabUppHea | Upper boundary for heating with second column as useful temperature side | |
| Modelica.Units.SI.Temperature[:,2] | tabLowCoo | Lower boundary for cooling with second column as useful temperature side | |
| Modelica.Units.SI.TemperatureDifference | dTHys | 5 | Temperature deadband in the operational envelope |
| Operational Envelope | |||
| Boolean | use_TConOutHea | true | =true to use condenser outlet temperature for envelope in heating mode, false for inlet |
| Boolean | use_TEvaOutHea | false | =true to use evaporator outlet temperature for envelope in heating mode, false for inlet |
| Boolean | use_TConOutCoo | false | =true to use useful side outlet temperature for envelope in cooling mode, false for inlet |
| Boolean | use_TEvaOutCoo | true | =true to use evaporator outlet temperature for envelope in cooling mode, false for inlet |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| BuildingSystems.Fluid.HeatPumps.ModularReversible.Controls.Safety.BaseClasses.BoundaryMap | bouMapHea | Operational boundary map for heating operation | |
| BuildingSystems.Fluid.HeatPumps.ModularReversible.Controls.Safety.BaseClasses.BoundaryMap | bouMapCoo | Operational boundary map for cooling operation | |
| Modelica.Blocks.Logical.LogicalSwitch | swiHeaCoo | Switch between heating and cooling envelope |
Revisions
-
November 26, 2018 by Fabian Wuellhorst:
First implementation (see issue AixLib #577)