Buildings.Fluid.HeatPumps.ModularReversible.Validation.BaseClasses

Partial validation models

Information

Package with partial models for heat pump validations.

Extends from Modelica.Icons.BasesPackage (Icon for packages containing base classes).

Package Content

Name Description
Buildings.Fluid.HeatPumps.ModularReversible.Validation.BaseClasses.PartialValidation PartialValidation Validation base case for the reversible heat pump model.

Buildings.Fluid.HeatPumps.ModularReversible.Validation.BaseClasses.PartialValidation Buildings.Fluid.HeatPumps.ModularReversible.Validation.BaseClasses.PartialValidation

Validation base case for the reversible heat pump model.

Buildings.Fluid.HeatPumps.ModularReversible.Validation.BaseClasses.PartialValidation

Information

Partial model for the validation of different modular heat pump approaches based on measured data of a brine-to-water heat pump at the Institute for Energy Efficient Building and Indoor Climate.

If questions regarding the data or model arises, please raise an issue and link FWuellhorst.

Parameters

TypeNameDefaultDescription
replaceable package MediumSinBuildings.Media.WaterMedium of sink side
replaceable package MediumSouBuildings.Media.WaterMedium of source side

Connectors

TypeNameDescription
replaceable package MediumSinMedium of sink side
replaceable package MediumSouMedium of source side
output RealOutputTConOutMeaMeasured condenser outlet [K]
output RealOutputTEvaOutMeaMeasured evaporator outlet [K]
output RealOutputPEleMeaMeasured electrical power consumption [W]
output RealOutputPEleSimSimulated electrical power consumption [W]
output RealOutputTConOutSimSimulated condenser outlet [K]
output RealOutputTEvaOutSimSimulated evaporator outlet [K]

Modelica definition

partial model PartialValidation "Validation base case for the reversible heat pump model." replaceable package MediumSin = Buildings.Media.Water constrainedby Modelica.Media.Interfaces.PartialMedium "Medium of sink side"; replaceable package MediumSou = Buildings.Media.Water constrainedby Modelica.Media.Interfaces.PartialMedium "Medium of source side"; Buildings.Fluid.Sources.MassFlowSource_T souSidMasFlowSou( use_m_flow_in=true, use_T_in=true, m_flow=1, nPorts=1, redeclare final package Medium = MediumSou, T=275.15) "Ideal mass flow source at the inlet of the source side"; Buildings.Fluid.Sources.Boundary_pT souSidFixBou( nPorts=1, redeclare package Medium = MediumSou) "Fixed boundary at the outlet of the source side"; Buildings.Fluid.HeatPumps.ModularReversible.Modular heaPum( redeclare final package MediumCon = MediumSin, redeclare final package MediumEva = MediumSou, final use_intSafCtr=false, TConHea_nominal=303.15, dTCon_nominal=5, CCon=0, GConOut=0, GConIns=0, TEvaHea_nominal=290.15, dTEva_nominal=5, mEva_flow_nominal=0.8, dpEva_nominal=0, dpCon_nominal=0, use_conCap=false, final use_rev=false, CEva=0, GEvaOut=0, GEvaIns=0, TEva_start=290.15, use_evaCap=false, energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, TCon_start=303.15, redeclare model RefrigerantCycleHeatPumpCooling = Buildings.Fluid.Chillers.ModularReversible.RefrigerantCycle.BaseClasses.NoCooling) "Heat pump"; Buildings.Fluid.Sources.Boundary_pT sinSidFixBou(redeclare final package Medium = MediumSin, nPorts=1) "Fixed boundary at the outlet of the sink side"; Buildings.Fluid.Sources.MassFlowSource_T sinSidMasFlowSou( use_m_flow_in=true, use_T_in=true, m_flow=1, nPorts=1, redeclare final package Medium = MediumSin, T=275.15) "Ideal mass flow source at the inlet of the source side"; Modelica.Blocks.Math.Gain mEva_flow(final k=heaPum.mEva_flow_nominal) "Gain to scale the time table output to flow rate"; Modelica.Blocks.Math.Gain mCon_flow(final k=heaPum.mCon_flow_nominal) "Gain to scale the time table output to flow rate"; Modelica.Blocks.Sources.CombiTimeTable tabMea( tableOnFile=true, tableName="MeasuredData", fileName=Modelica.Utilities.Files.loadResource("modelica://Buildings/Resources/Data/Fluid/HeatPumps/Validation/MeasuredHeatPumpData.txt"), columns=2:10, extrapolation=Modelica.Blocks.Types.Extrapolation.HoldLastPoint) "Table with measurement data"; Modelica.Blocks.Interfaces.RealOutput TConOutMea(unit="K", displayUnit="degC") "Measured condenser outlet"; Modelica.Blocks.Interfaces.RealOutput TEvaOutMea(unit="K", displayUnit="degC") "Measured evaporator outlet"; Modelica.Blocks.Interfaces.RealOutput PEleMea(unit="W") "Measured electrical power consumption"; Modelica.Blocks.Interfaces.RealOutput PEleSim(unit="W") "Simulated electrical power consumption"; Modelica.Blocks.Interfaces.RealOutput TConOutSim(unit="K", displayUnit="degC") "Simulated condenser outlet"; Modelica.Blocks.Interfaces.RealOutput TEvaOutSim(unit="K", displayUnit="degC") "Simulated evaporator outlet"; Modelica.Blocks.Sources.RealExpression reaPEle(y=heaPum.refCyc.PEle) "Use of internal heat pump state for PEle"; Modelica.Blocks.Sources.RealExpression reaTEvaOut(y=heaPum.eva.T) "Use of internal heat pump state for TEvaOut"; Modelica.Blocks.Sources.RealExpression reaTConOut(y=heaPum.con.T) "Use of internal heat pump state for TConOut"; equation connect(souSidMasFlowSou.ports[1], heaPum.port_a2); connect(heaPum.port_b2, souSidFixBou.ports[1]); connect(heaPum.port_b1, sinSidFixBou.ports[1]); connect(heaPum.port_a1, sinSidMasFlowSou.ports[1]); connect(mEva_flow.y, souSidMasFlowSou.m_flow_in); connect(sinSidMasFlowSou.m_flow_in, mCon_flow.y); connect(tabMea.y[5], mEva_flow.u); connect(tabMea.y[7], mCon_flow.u); connect(tabMea.y[6], heaPum.ySet); connect(tabMea.y[9], souSidMasFlowSou.T_in); connect(sinSidMasFlowSou.T_in, tabMea.y[1]); connect(tabMea.y[2], TConOutMea); connect(tabMea.y[8], TEvaOutMea); connect(tabMea.y[3], PEleMea); connect(reaPEle.y, PEleSim); connect(TEvaOutSim, reaTEvaOut.y); connect(TConOutSim, reaTConOut.y); end PartialValidation;