modelPartialReversibleRefrigerantMachine
Model for reversible heat pumps and chillers with a refrigerant cycle
Extends from AixLib.Fluid.Interfaces.PartialFourPortInterface.
Information
This partial model defines all components which are equally required for heat pump and chillers. This encompasses
- the heat exchangers (evaporator and condenser),
- sensors for temperature and mass flow rates,
- the replaceable model for refrigerant inertia,
- safety controls,
- connectors and parameters,
- and the replaceable refrigerant cycle model
refCyc
The model refCyc is replaced in the ModularReversible
model for heat pumps and chillers, e.g. by
AixLib.Fluid.HeatPumps.ModularReversible.BaseClasses.RefrigerantCycle
in
AixLib.Fluid.HeatPumps.ModularReversible.Modular.
For more information on the approach, please read the UsersGuide.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | use_rev | true | =true if the chiller or heat pump is reversible |
| AixLib.Fluid.HeatPumps.ModularReversible.Controls.Safety.Data.Wuellhorst2021 | safCtrPar | ||
| Modelica.Units.SI.Density | rhoCon | MediumCon.density(staCon_nominal) | Condenser medium density |
| Modelica.Units.SI.SpecificHeatCapacity | cpCon | MediumCon.specificHeatCapacityCp(staCon_nominal) | Condenser medium specific heat capacity |
| Modelica.Units.SI.Density | rhoEva | MediumEva.density(staEva_nominal) | Evaporator medium density |
| Modelica.Units.SI.SpecificHeatCapacity | cpEva | MediumEva.specificHeatCapacityCp(staEva_nominal) | Evaporator medium specific heat capacity |
| Nominal condition | |||
| Modelica.Units.SI.HeatFlowRate | PEle_nominal | Nominal electrical power consumption | |
| Advanced | |||
| Boolean | allowDifferentDeviceIdentifiers | 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 | true | =false to disable efficiency calculation, may speed up the simulation |
| Real | limWarSca | 0.05 | Allowed difference in scaling '|scaFacHea - scaFacCoo| / scaFacHea', if exceeded, a warning will be issued |
| Safety control | |||
| Boolean | use_intSafCtr | true | =true to enable internal safety control |
| Condenser › Dynamics | |||
| Modelica.Units.SI.Time | tauCon | 30 | Condenser heat transfer time constant at nominal flow |
| Nominal condition - Pressure losses | |||
| Modelica.Units.SI.TemperatureDifference | dTCon_nominal | Nominal temperature difference in condenser medium, used to calculate mass flow rate | |
| Modelica.Units.SI.MassFlowRate | mCon_flow_nominal | Nominal mass flow rate of the condenser medium | |
| Modelica.Units.SI.PressureDifference | dpCon_nominal | Pressure drop at nominal mass flow rate | |
| Modelica.Units.SI.TemperatureDifference | dTEva_nominal | Nominal temperature difference in evaporator medium, used to calculate mass flow rate | |
| Modelica.Units.SI.MassFlowRate | mEva_flow_nominal | Nominal mass flow rate of the evaporator medium | |
| Modelica.Units.SI.PressureDifference | dpEva_nominal | Pressure drop at nominal mass flow rate | |
| Condenser › Flow resistance | |||
| Real | deltaMCon | 0.1 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Condenser › Heat Losses | |||
| Boolean | use_conCap | true | =true if using capacitor model for condenser heat loss estimation |
| Modelica.Units.SI.HeatCapacity | CCon | 0 | Heat capacity of the condenser |
| Modelica.Units.SI.ThermalConductance | GConOut | 0 | Outer thermal conductance for condenser heat loss calculations |
| Modelica.Units.SI.ThermalConductance | GConIns | 0 | Inner thermal conductance for condenser heat loss calculations |
| Evaporator › Dynamics | |||
| Modelica.Units.SI.Time | tauEva | 30 | Evaporator heat transfer time constant at nominal flow |
| Evaporator › Flow resistance | |||
| Real | deltaMEva | 0.1 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Evaporator › Heat Losses | |||
| Boolean | use_evaCap | true | =true if using capacitor model for evaporator heat loss estimation |
| Modelica.Units.SI.HeatCapacity | CEva | 0 | Heat capacity of the evaporator |
| Modelica.Units.SI.ThermalConductance | GEvaOut | 0 | Outer thermal conductance for evaporator heat loss calculations |
| Modelica.Units.SI.ThermalConductance | GEvaIns | 0 | Inner thermal conductance for evaporator heat loss calculations |
| Assumptions › Evaporator | |||
| Boolean | allowFlowReversalEva | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Assumptions › Condenser | |||
| Boolean | allowFlowReversalCon | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Initialization › Parameters | |||
| Modelica.Blocks.Types.Init | initType | 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 | MediumCon.p_default | Start value of pressure |
| Modelica.Media.Interfaces.Types.Temperature | TCon_start | MediumCon.T_default | Start value of temperature |
| Modelica.Units.SI.Temperature | TConCap_start | MediumCon.T_default | Initial temperature of heat capacity of condenser |
| Modelica.Media.Interfaces.Types.MassFraction[MediumCon.nX] | XCon_start | MediumCon.X_default | Start value of mass fractions m_i/m |
| Initialization › Evaporator | |||
| Modelica.Media.Interfaces.Types.AbsolutePressure | pEva_start | MediumEva.p_default | Start value of pressure |
| Modelica.Media.Interfaces.Types.Temperature | TEva_start | MediumEva.T_default | Start value of temperature |
| Modelica.Units.SI.Temperature | TEvaCap_start | MediumEva.T_default | Initial temperature of heat capacity at evaporator |
| Modelica.Media.Interfaces.Types.MassFraction[MediumEva.nX] | XEva_start | MediumEva.X_default | Start value of mass fractions m_i/m |
| Dynamics › Equation | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics | 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 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Boolean | linearized | false | = true, use linear relation between m_flow and dp for any flow rate |
| Advanced › Diagnostics | |||
| Real | ySet_small | 0.01 | Threshold for relative speed for the device to be considered on |
| Input Connectors | |||
| Boolean | use_busConOnl | false | =true to allow input to bus connector, not applicable with internal safety control |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| PartialModularRefrigerantCycle | refCyc | ||
| Modelica.Units.SI.HeatFlowRate | Q1_flow | QCon_flow | Heat transferred into the medium 1 |
| Modelica.Units.SI.HeatFlowRate | Q2_flow | QEva_flow | Heat transferred into the medium 2 |
| AixLib.Fluid.HeatPumps.ModularReversible.BaseClasses.EvaporatorCondenserWithCapacity | con | Heat exchanger model for the condenser | |
| AixLib.Fluid.HeatPumps.ModularReversible.BaseClasses.EvaporatorCondenserWithCapacity | eva | Heat exchanger model for the evaporator | |
| Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature | varTOutEva | Forces heat losses according to ambient temperature | |
| Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature | varTOutCon | Forces heat losses according to ambient temperature | |
| AixLib.Fluid.HeatPumps.ModularReversible.Controls.Safety.Safety | safCtr | Safety control models | |
| Modelica.Blocks.Interfaces.RealInput | ySet | Relative compressor speed between 0 and 1 | |
| Modelica.Blocks.Interfaces.RealInput | TEvaAmb | Ambient temperature on the evaporator side | |
| Modelica.Blocks.Interfaces.RealInput | TConAmb | Ambient temperature on the condenser side | |
| AixLib.Fluid.Sensors.MassFlowRate | mEva_flow | Mass flow sensor at the evaporator | |
| AixLib.Fluid.Sensors.MassFlowRate | mCon_flow | Mass flow sensor at the evaporator | |
| RefrigerantCycleInertia | refCycIneCon | Inertia model for condenser side | |
| RefrigerantCycleInertia | refCycIneEva | Inertia model for evaporator side | |
| Modelica.Blocks.Sources.RealExpression | senTConIn | Real expression for condenser inlet temperature | |
| Modelica.Blocks.Sources.RealExpression | senTEvaIn | Real expression for evaporator inlet temperature | |
| Modelica.Blocks.Interfaces.RealOutput | QCon_flow | Actual heating heat flow rate added to fluid 1 | |
| Modelica.Blocks.Interfaces.RealOutput | P | Electric power consumed by compressor | |
| Modelica.Blocks.Interfaces.RealOutput | QEva_flow | Actual cooling heat flow rate removed from fluid 2 | |
| Modelica.Blocks.Interfaces.RealOutput | EER | Energy efficieny ratio | |
| Modelica.Blocks.Interfaces.RealOutput | COP | Coefficient of performance | |
| AixLib.Fluid.HeatPumps.ModularReversible.BaseClasses.CalculateEfficiency | eff | Calculate efficiencies of device | |
| RefrigerantMachineControlBus | sigBus | Bus with model outputs and possibly inputs |
Contents
| Name | Description |
|---|---|
| MediumCon | Medium on condenser side |
| MediumEva | Medium on evaporator side |
| RefrigerantCycleInertia |
Revisions
-
February 27, 2025 by Jianjun Hu:
Corrected conditions for removing COP and EER output connector.
This is for IBPSA #1979. -
February 25, 2025 by Antoine Gautier:
Removed hysteresis.
This is for IBPSA #1977. -
August 19, 2024 by Michael Wetter:
Changed markup commands for code merge.
This is for IBPSA #1919. -
July 15, 2024 by Fabian Wuellhorst:
Adjust hysteresis bandwidth (see issue IBPSA #1908) -
May 2, 2024, by Michael Wetter:
Refactored check for device identifiers.
This is for IBPSA, #1576. -
October 2, 2022 by Fabian Wuellhorst:
Adjusted based on the discussion in this issue #1576) -
May 22, 2019 by Julian Matthes:
Rebuild due to the introducion of the thermal machine partial model (see issue #715) -
November 26, 2018 by Fabian Wuellhorst:
First implementation (see issue #577)