modelHP_WaterWater_TSet
A water (or brine) to water heat pump with temperature setpoint
Extends from IDEAS.Fluid.HeatPumps.BaseClasses.PartialHeatPump (Heat pump partial).
Information
This model implements a heat pump as described in IDEAS.Fluid.HeatPumps.BaseClasses.PartialHeatPump. The heat pump is switched on or off based on a temperature set point.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | homotopyInitialization (from FourPortHeatMassExchanger) | true | = true, use homotopy method |
| Modelica.Units.SI.TemperatureDifference | deltaT_security (from ModulationSecurity) | if use_modulation_security then 1 else 5 | Temperature difference from the boundary at which the security hysteresis will be released |
| Modelica.Units.SI.Temperature | T_max (from ModulationSecurity) | 373.15 | Maximum fluid temperature |
| Modelica.Units.SI.Temperature | T_min (from ModulationSecurity) | 273.15 | Minimum fluid temperature |
| Boolean | use_onOffSignal (from OnOffInterface) | false | Set to true to switch device on/off using external signal |
| Boolean | onOff (from OnOffInterface) | true | Set to true if device is on |
| IDEAS.Fluid.HeatPumps.BaseClasses.HeatPumpData | heatPumpData (from PartialHeatPump) | ||
| Boolean | use_TSet (from PartialHeatPump) | false | True if the heat pump uses a set point temperature control |
| Real | sca (from PartialHeatPump) | if use_scaling then P_the_nominal/heatPumpData.P_the_nominal else 1 | scaling factor for the nominal power of the heat pump |
| Real | uLow | -2.5 | Lower bound of the hysteresis in the tempeature controller |
| Real | uHigh | 2.5 | Upper bound of the hysteresis in the tempeature controller |
| 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.PressureDifference | dp1_nominal (from FourPortFlowResistanceParameters) | Pressure difference | |
| Modelica.Units.SI.PressureDifference | dp2_nominal (from FourPortFlowResistanceParameters) | Pressure difference | |
| 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 | use_scaling (from PartialHeatPump) | false | scale the performance data based on the nominal power |
| Boolean | perfFromTout (from PartialHeatPump) | false | = true, then recompute performance based on evaporator outlet temperature instead of directly using the inlet temperature |
| Boolean | use_modulationSignal (from PartialHeatPump) | false | enables an input for modulating the heat pump ideally (no change of COP, just scaling of the electrical and thermal power) |
| Modelica.Units.SI.Power | P_the_nominal (from PartialHeatPump) | heatPumpData.P_the_nominal | nominal thermal power of the heat pump |
| Real | mSenFac (from PartialHeatPump) | 1 | Factor to scale the thermal mass of the evaporator and condensor |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialFourPortInterface) | false | = true, if actual temperature at port is computed |
| Flow resistance › Medium 1 | |||
| Boolean | computeFlowResistance1 (from FourPortFlowResistanceParameters) | true | =true, compute flow resistance. Set to false to assume no friction |
| Boolean | from_dp1 (from FourPortFlowResistanceParameters) | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Boolean | linearizeFlowResistance1 (from FourPortFlowResistanceParameters) | false | = true, use linear relation between m_flow and dp for any flow rate |
| Real | deltaM1 (from FourPortFlowResistanceParameters) | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
| Flow resistance › Medium 2 | |||
| Boolean | computeFlowResistance2 (from FourPortFlowResistanceParameters) | true | =true, compute flow resistance. Set to false to assume no friction |
| Boolean | from_dp2 (from FourPortFlowResistanceParameters) | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Boolean | linearizeFlowResistance2 (from FourPortFlowResistanceParameters) | false | = true, use linear relation between m_flow and dp for any flow rate |
| Real | deltaM2 (from FourPortFlowResistanceParameters) | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
| Dynamics › Nominal condition | |||
| Modelica.Units.SI.Time | tau1 (from FourPortHeatMassExchanger) | 30 | Time constant at nominal flow |
| Modelica.Units.SI.Time | tau2 (from FourPortHeatMassExchanger) | 30 | Time constant at nominal flow |
| Dynamics › Conservation equations | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics (from FourPortHeatMassExchanger) | Modelica.Fluid.Types.Dynamics.DynamicFreeInitial | Type of energy balance: dynamic (3 initialization options) or steady state |
| Initialization › Medium 1 | |||
| Medium1.AbsolutePressure | p1_start (from FourPortHeatMassExchanger) | Medium1.p_default | Start value of pressure |
| Medium1.Temperature | T1_start (from FourPortHeatMassExchanger) | Medium1.T_default | Start value of temperature |
| Medium1.MassFraction[Medium1.nX] | X1_start (from FourPortHeatMassExchanger) | Medium1.X_default | Start value of mass fractions m_i/m |
| Medium1.ExtraProperty[Medium1.nC] | C1_start (from FourPortHeatMassExchanger) | fill(0, Medium1.nC) | Start value of trace substances |
| Medium1.ExtraProperty[Medium1.nC] | C1_nominal (from FourPortHeatMassExchanger) | fill(1E-2, Medium1.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
| Initialization › Medium 2 | |||
| Medium2.AbsolutePressure | p2_start (from FourPortHeatMassExchanger) | Medium2.p_default | Start value of pressure |
| Medium2.Temperature | T2_start (from FourPortHeatMassExchanger) | Medium2.T_default | Start value of temperature |
| Medium2.MassFraction[Medium2.nX] | X2_start (from FourPortHeatMassExchanger) | Medium2.X_default | Start value of mass fractions m_i/m |
| Medium2.ExtraProperty[Medium2.nC] | C2_start (from FourPortHeatMassExchanger) | fill(0, Medium2.nC) | Start value of trace substances |
| Medium2.ExtraProperty[Medium2.nC] | C2_nominal (from FourPortHeatMassExchanger) | fill(1E-2, Medium2.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
| Advanced › Events | |||
| Boolean | use_modulation_security (from ModulationSecurity) | false | Set to true if power modulation should be used to avoid exceeding temperature. |
| Flow resistance | |||
| Boolean | computeFlowResistance (from PartialHeatPump) | true | =true, compute flow resistance. Set to false to assume no friction |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_a1 (from PartialFourPort) | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b1 (from PartialFourPort) | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) | |
| Modelica.Fluid.Interfaces.FluidPort_a | port_a2 (from PartialFourPort) | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b2 (from PartialFourPort) | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) | |
| Modelica.Blocks.Interfaces.RealOutput | modulation_security (from ModulationSecurity) | IDEAS.Utilities.Math.Functions.spliceFunction(x = min(limLow.y, limUp.y)/max(Modelica.Constants.eps, deltaT_security) - 1, pos = 1, neg = 0, deltax = 0.5) | Modulation to avoid reaching temperature boundaries |
| Modelica.Blocks.Interfaces.BooleanInput | on (from OnOffInterface) | ||
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a | heatLoss (from PartialHeatPump) | ||
| Modelica.Blocks.Interfaces.RealOutput | P (from PartialHeatPump) | Electrical power consumption | |
| Modelica.Blocks.Interfaces.RealInput | mod (from PartialHeatPump) | Modulation level | |
| Modelica.Blocks.Interfaces.RealInput | TSet | Condensor temperature setpoint |
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 |
| Modelica.Units.SI.HeatFlowRate | Q1_flow (from FourPortHeatMassExchanger) | vol1.heatPort.Q_flow | Heat flow rate into medium 1 |
| Modelica.Units.SI.HeatFlowRate | Q2_flow (from FourPortHeatMassExchanger) | vol2.heatPort.Q_flow | Heat flow rate into medium 2 |
| IDEAS.Fluid.MixingVolumes.BaseClasses.MixingVolumeHeatPort | vol1 (from FourPortHeatMassExchanger) | ||
| IDEAS.Fluid.MixingVolumes.MixingVolume | vol2 (from FourPortHeatMassExchanger) | ||
| IDEAS.Fluid.FixedResistances.PressureDrop | preDro1 (from FourPortHeatMassExchanger) | Flow resistance of fluid 1 | |
| IDEAS.Fluid.FixedResistances.PressureDrop | preDro2 (from FourPortHeatMassExchanger) | Flow resistance of fluid 2 | |
| Modelica.Blocks.Tables.CombiTable2Ds | powerTable (from PartialHeatPump) | Interpolation table for finding the electrical power | |
| Modelica.Blocks.Tables.CombiTable2Ds | copTable (from PartialHeatPump) | ||
| Modelica.Blocks.Sources.RealExpression | QEvap (from PartialHeatPump) | ||
| Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow | prescribedHeatEvap (from PartialHeatPump) | ||
| Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow | prescribedHeatCond (from PartialHeatPump) | ||
| Modelica.Thermal.HeatTransfer.Components.ThermalConductor | thermalConductorLosses (from PartialHeatPump) | ||
| Modelica.Blocks.Sources.RealExpression | QCond (from PartialHeatPump) | ||
| Modelica.Units.SI.Power | P_el (from PartialHeatPump) | Electrical power consumption | |
| Modelica.Units.SI.Power | P_evap (from PartialHeatPump) | Thermal power of the evaporator (positive) | |
| Modelica.Units.SI.Power | P_cond (from PartialHeatPump) | Thermal power of the condensor (positive) | |
| Modelica.Units.SI.Temperature | TEvapIn (from PartialHeatPump) | Evaporator inlet temperature | |
| Real | cop (from PartialHeatPump) | COP of the heat pump | |
| Modelica.Blocks.Sources.RealExpression | PElec (from PartialHeatPump) | ||
| Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensor | T_out_cond (from PartialHeatPump) | ||
| Modelica.Blocks.Sources.RealExpression | TEvapInExp (from PartialHeatPump) | ||
| Modelica.Blocks.Sources.RealExpression | TSetLimit | ||
| Modelica.Blocks.Logical.Hysteresis | hysteresisTSetLimit |
Revisions
- November 2014 by Filip Jorissen:
Added documentation