From 18aa83c546a9b5b78e159436095105bb4945a355 Mon Sep 17 00:00:00 2001 From: Michael Wetter Date: Wed, 6 Dec 2023 08:47:42 -0800 Subject: [PATCH] Revised model and documentation --- .../LargeScaleWaterToWaterDeclarations.mo | 19 ++++++----- .../LargeScaleWaterToWater_OneRoomRadiator.mo | 34 ++++++++++--------- .../LargeScaleWaterToWater.mo | 23 ++++++------- 3 files changed, 38 insertions(+), 38 deletions(-) diff --git a/IBPSA/Fluid/HeatPumps/ModularReversible/BaseClasses/LargeScaleWaterToWaterDeclarations.mo b/IBPSA/Fluid/HeatPumps/ModularReversible/BaseClasses/LargeScaleWaterToWaterDeclarations.mo index b99e67b1a6..0a7995e25a 100644 --- a/IBPSA/Fluid/HeatPumps/ModularReversible/BaseClasses/LargeScaleWaterToWaterDeclarations.mo +++ b/IBPSA/Fluid/HeatPumps/ModularReversible/BaseClasses/LargeScaleWaterToWaterDeclarations.mo @@ -25,15 +25,15 @@ initial equation //Control and feedback for the auto-calculation of condenser and evaporator data assert( autCalMasEva_flow > autCalMMin_flow and autCalMasEva_flow < 90, - "Given nominal heat output (QUse_flow_nominal) for auto-calculation of + "In " + getInstanceName() + ": Given nominal heat output (QUse_flow_nominal) for auto-calculation of evaporator and condenser data is outside the range of data sheets - considered. Please control the auto-calculated mass flows!", + considered. Verify the auto-calculated mass flows.", level=AssertionLevel.warning); assert( autCalVEva > autCalVMin and autCalVEva < 0.43, - "Given nominal heat output (QUse_flow_nominal) for auto-calculation of evaporator + "In " + getInstanceName() + ": Given nominal heat output (QUse_flow_nominal) for auto-calculation of evaporator and condenser data is outside the range of data sheets considered. - Please control the auto-calculated volumes!", + Verify the auto-calculated volumes.", level=AssertionLevel.warning); @@ -45,15 +45,16 @@ initial equation and time constants (i.e. volumes) of the heat exchange based on the nominal electric power consumption of the chiller or heat pump. It is based on more than 20 datasets of water-to-water heat pumps - from multiple manufacturers ranging from about 25 kW - to 1 MW in nominal electric power consumption. The linear regressions with coefficients - of determination above 91 % give a good approximation of these + from multiple manufacturers ranging from about 25 kW + to 1 MW in nominal electric power consumption. The linear regressions with coefficients + of determination above 91% give a good approximation of these parameters. Nevertheless, estimates for machines outside the given range should be checked for plausibility during simulation.

-For more information, please refer to: -IBPSA\\Resources\\Data\\Fluid\\HeatPumps\\BaseClasses\\LargeScaleWaterToWaterParameters.xlsx +For more information, see + +IBPSA/Resources/Data/Fluid/HeatPumps/BaseClasses/LargeScaleWaterToWaterParameters.xlsx.

", revisions=" -")); +"), + Diagram(coordinateSystem(extent={{-240,-220},{100,100}})), + Icon(coordinateSystem(extent={{-100,-100},{100,100}}))); end LargeScaleWaterToWater_OneRoomRadiator; diff --git a/IBPSA/Fluid/HeatPumps/ModularReversible/LargeScaleWaterToWater.mo b/IBPSA/Fluid/HeatPumps/ModularReversible/LargeScaleWaterToWater.mo index b297564326..b231266af0 100644 --- a/IBPSA/Fluid/HeatPumps/ModularReversible/LargeScaleWaterToWater.mo +++ b/IBPSA/Fluid/HeatPumps/ModularReversible/LargeScaleWaterToWater.mo @@ -2,14 +2,14 @@ within IBPSA.Fluid.HeatPumps.ModularReversible; model LargeScaleWaterToWater "Model with automatic parameter estimation for large scale water-to-water heat pumps" extends IBPSA.Fluid.HeatPumps.ModularReversible.ModularReversible( + redeclare package MediumCon = IBPSA.Media.Water, + redeclare package MediumEva = IBPSA.Media.Water, dpEva_nominal=datTab.dpEva_nominal*scaFac^2, dpCon_nominal=datTab.dpCon_nominal*scaFac^2, final safCtrPar=safCtrParEurNor, final dTEva_nominal=(QUse_flow_nominal - PEle_nominal)/cpEva/ mEva_flow_nominal, final dTCon_nominal=QUse_flow_nominal/cpCon/mCon_flow_nominal, - redeclare package MediumCon = IBPSA.Media.Water, - redeclare package MediumEva = IBPSA.Media.Water, final GEvaIns=0, final GEvaOut=0, final CEva=0, @@ -21,9 +21,9 @@ model LargeScaleWaterToWater redeclare model RefrigerantCycleHeatPumpCooling = IBPSA.Fluid.Chillers.ModularReversible.RefrigerantCycle.BaseClasses.NoCooling, redeclare model RefrigerantCycleHeatPumpHeating = - IBPSA.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.TableData2D (redeclare - IBPSA.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Frosting.NoFrosting - iceFacCal, datTab=datTab), + IBPSA.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.TableData2D ( + redeclare IBPSA.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Frosting.NoFrosting iceFacCal, + final datTab=datTab), final use_rev=false, final QCoo_flow_nominal=0, redeclare model RefrigerantCycleInertia = @@ -34,22 +34,19 @@ model LargeScaleWaterToWater final tauEva=autCalVEva*rhoEva/autCalMasEva_flow); extends IBPSA.Fluid.HeatPumps.ModularReversible.BaseClasses.LargeScaleWaterToWaterDeclarations( - final autCalMasCon_flow=max(4E-5*QUse_flow_nominal - 0.6162, - autCalMMin_flow), - final autCalMasEva_flow=max(4E-5*QUse_flow_nominal - 0.3177, - autCalMMin_flow), + final autCalMasCon_flow=max(4E-5*QUse_flow_nominal - 0.6162, autCalMMin_flow), + final autCalMasEva_flow=max(4E-5*QUse_flow_nominal - 0.3177, autCalMMin_flow), final autCalVCon=max(1E-7*QUse_flow_nominal - 94E-4, autCalVMin), final autCalVEva=max(1E-7*QUse_flow_nominal - 75E-4, autCalVMin)); replaceable parameter IBPSA.Fluid.HeatPumps.ModularReversible.Data.TableData2D.GenericHeatPump datTab - "Data Table of HP" annotation (choicesAllMatching=true, + "Data table of heat pump" annotation (choicesAllMatching=true, Placement(transformation(extent={{42,12},{58,28}}))); replaceable parameter - IBPSA.Fluid.HeatPumps.ModularReversible.Controls.Safety.Data.Wuellhorst2021 - safCtrParEurNor constrainedby - IBPSA.Fluid.HeatPumps.ModularReversible.Controls.Safety.Data.Generic( + IBPSA.Fluid.HeatPumps.ModularReversible.Controls.Safety.Data.Wuellhorst2021 safCtrParEurNor + constrainedby IBPSA.Fluid.HeatPumps.ModularReversible.Controls.Safety.Data.Generic( final tabUppHea=datTab.tabUppBou, final tabLowCoo=datTab.tabUppBou, final use_TUseSidOut=datTab.use_TConOutForOpeEnv,