modelTableData2D
Extends from Buildings.Fluid.HeatPumps.ModularReversible.Modular (Grey-box model for reversible and non-reversible heat pumps).
Information
Heat pump based on two-dimensional data from manufacturer data, (e.g. based on EN 14511), using the Buildings.Fluid.HeatPumps.ModularReversible.Modular approach.
For more information on the approach, see Buildings.Fluid.HeatPumps.ModularReversible.UsersGuide.
Internal inertias and heat losses are typically neglected, as these are implicitly obtained in measured data from manufacturers. Also, icing is disabled as the performance degradation is already contained in the data.
Sizing
At the nominal conditions, the refrigerant cycle model will
calculate the unscaled nominal heat flow rate, which is
named QHeaNoSca_flow_nominal for heat pumps and
QCooNoSca_flow_nominal for chillers.
This value is probably
different from QHea_flow_nominal and
QCoo_flow_nominal which is for sizing.
For example, suppose you need a 7.6 kW heat pump,
but the datasheets only provides 5 kW and 10 kW options.
In such cases, the performance data and relevant parameters
are scaled using a scaling factor scaFac.
Resulting, the refrigerant machine can supply more or less heat with
the COP staying constant. However, one has to make sure
that the movers in use also scale with this factor.
Note that most parameters are scaled linearly. Only the
pressure differences are scaled quadratically due to
the linear scaling of the mass flow rates and the
basic assumption:
k = ṁ ⁄ √ Δp
Both QHeaNoSca_flow_nominal or QCooNoSca_flow_nominal
and scaFac
are calculated in the refrigerant cycle models.
Please read the documentation of the model for heating at Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.TableData2D.
For cooling, the assumptions are similar, and described at Buildings.Fluid.Chillers.ModularReversible.RefrigerantCycle.TableData2D
References
EN 14511-2018: Air conditioners, liquid chilling packages and heat pumps for space heating and cooling and process chillers, with electrically driven compressors https://www.beuth.de/de/norm/din-en-14511-1/298537524
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | use_rev (from PartialReversibleRefrigerantMachine) | true | =true if the chiller or heat pump is reversible |
| Buildings.Fluid.HeatPumps.ModularReversible.Controls.Safety.Data.Wuellhorst2021 | safCtrPar (from PartialReversibleRefrigerantMachine) | ||
| Modelica.Units.SI.Density | rhoCon (from PartialReversibleRefrigerantMachine) | MediumCon.density(staCon_nominal) | Condenser medium density |
| Modelica.Units.SI.SpecificHeatCapacity | cpCon (from PartialReversibleRefrigerantMachine) | MediumCon.specificHeatCapacityCp(staCon_nominal) | Condenser medium specific heat capacity |
| Modelica.Units.SI.Density | rhoEva (from PartialReversibleRefrigerantMachine) | MediumEva.density(staEva_nominal) | Evaporator medium density |
| Modelica.Units.SI.SpecificHeatCapacity | cpEva (from PartialReversibleRefrigerantMachine) | MediumEva.specificHeatCapacityCp(staEva_nominal) | Evaporator medium specific heat capacity |
| Real | scaFacHea | refCyc.refCycHeaPumHea.scaFac | Scaling factor of heat pump |
| Real | scaFacCoo | refCyc.refCycHeaPumCoo.scaFac | Scaling factor for cooling mode |
| Buildings.Fluid.HeatPumps.ModularReversible.Data.TableData2D.GenericHeatPump | datTabHea | ||
| Buildings.Fluid.Chillers.ModularReversible.Data.TableData2D.Generic | datTabCoo | ||
| Assumptions | |||
| Boolean | allowFlowReversal1 (from PartialFourPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 |
| Boolean | allowFlowReversal2 (from PartialFourPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 |
| Nominal condition | |||
| Modelica.Units.SI.MassFlowRate | m1_flow_nominal (from PartialFourPortInterface) | Nominal mass flow rate | |
| Modelica.Units.SI.MassFlowRate | m2_flow_nominal (from PartialFourPortInterface) | Nominal mass flow rate | |
| Modelica.Units.SI.HeatFlowRate | PEle_nominal (from PartialReversibleRefrigerantMachine) | Nominal electrical power consumption | |
| Modelica.Units.SI.HeatFlowRate | QHea_flow_nominal (from Modular) | Nominal heating capacity | |
| Modelica.Units.SI.Temperature | TConHea_nominal (from Modular) | Nominal temperature of the heated fluid during heating mode | |
| Modelica.Units.SI.Temperature | TEvaHea_nominal (from Modular) | Nominal temperature of the cooled fluid during heating mode | |
| Advanced | |||
| Medium1.MassFlowRate | m1_flow_small (from PartialFourPortInterface) | 1E-4*abs(m1_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Medium2.MassFlowRate | m2_flow_small (from PartialFourPortInterface) | 1E-4*abs(m2_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Boolean | allowDifferentDeviceIdentifiers (from PartialReversibleRefrigerantMachine) | false | if use_rev=true, device data for cooling and heating need to entered. Set allowDifferentDeviceIdentifiers=true to allow different device identifiers devIde |
| Boolean | calEff (from PartialReversibleRefrigerantMachine) | true | =false to disable efficiency calculation, may speed up the simulation |
| Real | limWarSca (from PartialReversibleRefrigerantMachine) | 0.05 | Allowed difference in scaling '|scaFacHea - scaFacCoo| / scaFacHea', if exceeded, a warning will be issued |
| Modelica.Blocks.Types.Smoothness | smoothness | Modelica.Blocks.Types.Smoothness.LinearSegments | Smoothness of table interpolation |
| Modelica.Blocks.Types.Extrapolation | extrapolation | Modelica.Blocks.Types.Extrapolation.LastTwoPoints | Extrapolation of data outside the definition range |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialFourPortInterface) | false | = true, if actual temperature at port is computed |
| Real | ySet_small (from PartialReversibleRefrigerantMachine) | 0.01 | Threshold for relative speed for the device to be considered on |
| Safety control | |||
| Boolean | use_intSafCtr (from PartialReversibleRefrigerantMachine) | true | =true to enable internal safety control |
| Condenser › Dynamics | |||
| Modelica.Units.SI.Time | tauCon (from PartialReversibleRefrigerantMachine) | 30 | Condenser heat transfer time constant at nominal flow |
| Nominal condition - Pressure losses | |||
| Modelica.Units.SI.TemperatureDifference | dTCon_nominal (from PartialReversibleRefrigerantMachine) | Nominal temperature difference in condenser medium, used to calculate mass flow rate | |
| Modelica.Units.SI.MassFlowRate | mCon_flow_nominal (from PartialReversibleRefrigerantMachine) | Nominal mass flow rate of the condenser medium | |
| Modelica.Units.SI.PressureDifference | dpCon_nominal (from PartialReversibleRefrigerantMachine) | Pressure drop at nominal mass flow rate | |
| Modelica.Units.SI.TemperatureDifference | dTEva_nominal (from PartialReversibleRefrigerantMachine) | Nominal temperature difference in evaporator medium, used to calculate mass flow rate | |
| Modelica.Units.SI.MassFlowRate | mEva_flow_nominal (from PartialReversibleRefrigerantMachine) | Nominal mass flow rate of the evaporator medium | |
| Modelica.Units.SI.PressureDifference | dpEva_nominal (from PartialReversibleRefrigerantMachine) | Pressure drop at nominal mass flow rate | |
| Condenser › Flow resistance | |||
| Real | deltaMCon (from PartialReversibleRefrigerantMachine) | 0.1 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Real | nCon (from PartialReversibleRefrigerantMachine) | 2 | Flow exponent, n=1 for laminar, n=2 for turbulent |
| Condenser › Heat Losses | |||
| Boolean | use_conCap (from PartialReversibleRefrigerantMachine) | true | =true if using capacitor model for condenser heat loss estimation |
| Modelica.Units.SI.HeatCapacity | CCon (from PartialReversibleRefrigerantMachine) | 0 | Heat capacity of the condenser |
| Modelica.Units.SI.ThermalConductance | GConOut (from PartialReversibleRefrigerantMachine) | 0 | Outer thermal conductance for condenser heat loss calculations |
| Modelica.Units.SI.ThermalConductance | GConIns (from PartialReversibleRefrigerantMachine) | 0 | Inner thermal conductance for condenser heat loss calculations |
| Evaporator › Dynamics | |||
| Modelica.Units.SI.Time | tauEva (from PartialReversibleRefrigerantMachine) | 30 | Evaporator heat transfer time constant at nominal flow |
| Evaporator › Flow resistance | |||
| Real | deltaMEva (from PartialReversibleRefrigerantMachine) | 0.1 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Real | nEva (from PartialReversibleRefrigerantMachine) | 2 | Flow exponent, n=1 for laminar, n=2 for turbulent |
| Evaporator › Heat Losses | |||
| Boolean | use_evaCap (from PartialReversibleRefrigerantMachine) | true | =true if using capacitor model for evaporator heat loss estimation |
| Modelica.Units.SI.HeatCapacity | CEva (from PartialReversibleRefrigerantMachine) | 0 | Heat capacity of the evaporator |
| Modelica.Units.SI.ThermalConductance | GEvaOut (from PartialReversibleRefrigerantMachine) | 0 | Outer thermal conductance for evaporator heat loss calculations |
| Modelica.Units.SI.ThermalConductance | GEvaIns (from PartialReversibleRefrigerantMachine) | 0 | Inner thermal conductance for evaporator heat loss calculations |
| Assumptions › Evaporator | |||
| Boolean | allowFlowReversalEva (from PartialReversibleRefrigerantMachine) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Assumptions › Condenser | |||
| Boolean | allowFlowReversalCon (from PartialReversibleRefrigerantMachine) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Initialization › Parameters | |||
| Modelica.Blocks.Types.Init | initType (from PartialReversibleRefrigerantMachine) | Modelica.Blocks.Types.Init.InitialState | Type of initialization for refrigerant cycle dynamics (InitialState and InitialOutput are identical) |
| Initialization › Condenser | |||
| Modelica.Media.Interfaces.Types.AbsolutePressure | pCon_start (from PartialReversibleRefrigerantMachine) | MediumCon.p_default | Start value of pressure |
| Modelica.Media.Interfaces.Types.Temperature | TCon_start (from PartialReversibleRefrigerantMachine) | MediumCon.T_default | Start value of temperature |
| Modelica.Units.SI.Temperature | TConCap_start (from PartialReversibleRefrigerantMachine) | MediumCon.T_default | Initial temperature of heat capacity of condenser |
| Modelica.Media.Interfaces.Types.MassFraction[MediumCon.nX] | XCon_start (from PartialReversibleRefrigerantMachine) | MediumCon.X_default | Start value of mass fractions m_i/m |
| Initialization › Evaporator | |||
| Modelica.Media.Interfaces.Types.AbsolutePressure | pEva_start (from PartialReversibleRefrigerantMachine) | MediumEva.p_default | Start value of pressure |
| Modelica.Media.Interfaces.Types.Temperature | TEva_start (from PartialReversibleRefrigerantMachine) | MediumEva.T_default | Start value of temperature |
| Modelica.Units.SI.Temperature | TEvaCap_start (from PartialReversibleRefrigerantMachine) | MediumEva.T_default | Initial temperature of heat capacity at evaporator |
| Modelica.Media.Interfaces.Types.MassFraction[MediumEva.nX] | XEva_start (from PartialReversibleRefrigerantMachine) | MediumEva.X_default | Start value of mass fractions m_i/m |
| Dynamics › Equation | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics (from PartialReversibleRefrigerantMachine) | Modelica.Fluid.Types.Dynamics.DynamicFreeInitial | Type of energy balance: dynamic (3 initialization options) or steady state (only affects fluid-models) |
| Advanced › Flow resistance | |||
| Boolean | from_dp (from PartialReversibleRefrigerantMachine) | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Boolean | linearized (from PartialReversibleRefrigerantMachine) | false | = true, use linear relation between m_flow and dp for any flow rate |
| Nominal condition - Cooling | |||
| Modelica.Units.SI.HeatFlowRate | QCoo_flow_nominal (from Modular) | 0 | Nominal cooling capacity |
| Modelica.Units.SI.Temperature | TConCoo_nominal (from Modular) | Nominal temperature of the cooled fluid during cooling mode | |
| Modelica.Units.SI.Temperature | TEvaCoo_nominal (from Modular) | Nominal temperature of the heated fluid during cooling mode | |
Connectors
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Medium1.MassFlowRate | m1_flow (from PartialFourPortInterface) | port_a1.m_flow | Mass flow rate from port_a1 to port_b1 (m1_flow > 0 is design flow direction) |
| Modelica.Units.SI.PressureDifference | dp1 (from PartialFourPortInterface) | port_a1.p - port_b1.p | Pressure difference between port_a1 and port_b1 |
| Medium2.MassFlowRate | m2_flow (from PartialFourPortInterface) | port_a2.m_flow | Mass flow rate from port_a2 to port_b2 (m2_flow > 0 is design flow direction) |
| Modelica.Units.SI.PressureDifference | dp2 (from PartialFourPortInterface) | port_a2.p - port_b2.p | Pressure difference between port_a2 and port_b2 |
| Medium1.ThermodynamicState | sta_a1 (from PartialFourPortInterface) | if allowFlowReversal1 then Medium1.setState_phX(port_a1.p, noEvent(actualStream(port_a1.h_outflow)), noEvent(actualStream(port_a1.Xi_outflow))) else Medium1.setState_phX(port_a1.p, inStream(port_a1.h_outflow), inStream(port_a1.Xi_outflow)) | Medium properties in port_a1 |
| Medium1.ThermodynamicState | sta_b1 (from PartialFourPortInterface) | if allowFlowReversal1 then Medium1.setState_phX(port_b1.p, noEvent(actualStream(port_b1.h_outflow)), noEvent(actualStream(port_b1.Xi_outflow))) else Medium1.setState_phX(port_b1.p, port_b1.h_outflow, port_b1.Xi_outflow) | Medium properties in port_b1 |
| Medium2.ThermodynamicState | sta_a2 (from PartialFourPortInterface) | if allowFlowReversal2 then Medium2.setState_phX(port_a2.p, noEvent(actualStream(port_a2.h_outflow)), noEvent(actualStream(port_a2.Xi_outflow))) else Medium2.setState_phX(port_a2.p, inStream(port_a2.h_outflow), inStream(port_a2.Xi_outflow)) | Medium properties in port_a2 |
| Medium2.ThermodynamicState | sta_b2 (from PartialFourPortInterface) | if allowFlowReversal2 then Medium2.setState_phX(port_b2.p, noEvent(actualStream(port_b2.h_outflow)), noEvent(actualStream(port_b2.Xi_outflow))) else Medium2.setState_phX(port_b2.p, port_b2.h_outflow, port_b2.Xi_outflow) | Medium properties in port_b2 |
| PartialModularRefrigerantCycle | refCyc (from PartialReversibleRefrigerantMachine) | ||
| Modelica.Units.SI.HeatFlowRate | Q1_flow (from PartialReversibleRefrigerantMachine) | QCon_flow | Heat transferred into the medium 1 |
| Modelica.Units.SI.HeatFlowRate | Q2_flow (from PartialReversibleRefrigerantMachine) | QEva_flow | Heat transferred into the medium 2 |
| Buildings.Fluid.HeatPumps.ModularReversible.BaseClasses.EvaporatorCondenserWithCapacity | con (from PartialReversibleRefrigerantMachine) | Heat exchanger model for the condenser | |
| Buildings.Fluid.HeatPumps.ModularReversible.BaseClasses.EvaporatorCondenserWithCapacity | eva (from PartialReversibleRefrigerantMachine) | Heat exchanger model for the evaporator | |
| Buildings.HeatTransfer.Sources.PrescribedTemperature | varTOutEva (from PartialReversibleRefrigerantMachine) | Forces heat losses according to ambient temperature | |
| Buildings.HeatTransfer.Sources.PrescribedTemperature | varTOutCon (from PartialReversibleRefrigerantMachine) | Forces heat losses according to ambient temperature | |
| Buildings.Fluid.HeatPumps.ModularReversible.Controls.Safety.Safety | safCtr (from PartialReversibleRefrigerantMachine) | Safety control models | |
| Buildings.Fluid.Sensors.MassFlowRate | mEva_flow (from PartialReversibleRefrigerantMachine) | Mass flow sensor at the evaporator | |
| Buildings.Fluid.Sensors.MassFlowRate | mCon_flow (from PartialReversibleRefrigerantMachine) | Mass flow sensor at the condenser | |
| RefrigerantCycleInertia | refCycIneCon (from PartialReversibleRefrigerantMachine) | Inertia model for condenser side | |
| RefrigerantCycleInertia | refCycIneEva (from PartialReversibleRefrigerantMachine) | Inertia model for evaporator side | |
| Modelica.Blocks.Sources.RealExpression | senTConIn (from PartialReversibleRefrigerantMachine) | Real expression for condenser inlet temperature | |
| Modelica.Blocks.Sources.RealExpression | senTEvaIn (from PartialReversibleRefrigerantMachine) | Real expression for evaporator inlet temperature | |
| Buildings.Fluid.HeatPumps.ModularReversible.BaseClasses.CalculateEfficiency | eff (from PartialReversibleRefrigerantMachine) | Calculate efficiencies of device | |
| Modelica.Blocks.Sources.BooleanConstant | conHea (from Modular) | Locks the device in heating mode if designated to be not reversible | |
| Modelica.Blocks.Logical.Hysteresis | hys (from Modular) | Outputs whether the device is on based on the relative speed |