Buildings.Fluid.HeatPumps.ModularReversible.Validation

Collection of validation models

Information

This package contains validation models for the classes in Buildings.Fluid.HeatPumps.ModularReversible.

Note that most validation models contain simple input data which may not be realistic, but for which the correct output can be obtained through an analytic solution. The examples plot various outputs, which have been verified against these solutions. These model outputs are stored as reference data and used for continuous validation whenever models in the library change.

Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).

Package Content

Name Description
Buildings.Fluid.HeatPumps.ModularReversible.Validation.ConstantCarnotEffectiveness ConstantCarnotEffectiveness  
Buildings.Fluid.HeatPumps.ModularReversible.Validation.TableData2D TableData2D  
Buildings.Fluid.HeatPumps.ModularReversible.Validation.Comparative Comparative Package for comparative model validation
Buildings.Fluid.HeatPumps.ModularReversible.Validation.BaseClasses BaseClasses Partial validation models

Buildings.Fluid.HeatPumps.ModularReversible.Validation.ConstantCarnotEffectiveness Buildings.Fluid.HeatPumps.ModularReversible.Validation.ConstantCarnotEffectiveness


Buildings.Fluid.HeatPumps.ModularReversible.Validation.ConstantCarnotEffectiveness

Information

This validation case uses a constant Carnot effectiveness to model the efficiency of the heat pump.

The approach was calibrated as a comparison to table-based data in the conference paper for the heat pump model: https://doi.org/10.3384/ecp21181561

Extends from Modelica.Icons.Example (Icon for runnable examples), Buildings.Fluid.HeatPumps.ModularReversible.Validation.BaseClasses.PartialValidation (Validation base case for the reversible heat pump model.).

Parameters

TypeNameDefaultDescription
replaceable package MediumSinWaterMedium of sink side
replaceable package MediumSouWaterMedium of source side
RealetaCarnot_nominal0.4318Calibrated constant Carnot effectiveness
PowerPEle_nominal1884.218212Calibrated nominal electrical power consumption [W]
MassFlowRatemCon_flow_nominal0.407396Calibrated condenser nominal mass flow rate [kg/s]
VolumeVCon0.0015972Calibrated condenser volume [m3]
FrequencyrefIneFreConst13.2e-3Calibrated cut off frequency for inertia of refrigerant cycle [Hz]

Connectors

TypeNameDescription
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

model ConstantCarnotEffectiveness extends Modelica.Icons.Example; extends Buildings.Fluid.HeatPumps.ModularReversible.Validation.BaseClasses.PartialValidation ( heaPum( QHea_flow_nominal=etaCarnot_nominal*PEle_nominal*heaPum.TConHea_nominal/(heaPum.TConHea_nominal - heaPum.TEvaHea_nominal), mCon_flow_nominal=mCon_flow_nominal, tauCon=VCon*heaPum.rhoCon/mCon_flow_nominal, redeclare model RefrigerantCycleInertia = Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Inertias.VariableOrder ( refIneFreConst=refIneFreConst, nthOrd=2, initType=Modelica.Blocks.Types.Init.InitialState), redeclare model RefrigerantCycleHeatPumpHeating = Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.ConstantCarnotEffectiveness (TAppCon_nominal=0, TAppEva_nominal=0, etaCarnot_nominal=etaCarnot_nominal))); parameter Real etaCarnot_nominal=0.4318 "Calibrated constant Carnot effectiveness"; parameter Modelica.Units.SI.Power PEle_nominal=1884.218212 "Calibrated nominal electrical power consumption"; parameter Modelica.Units.SI.MassFlowRate mCon_flow_nominal=0.407396 "Calibrated condenser nominal mass flow rate"; parameter Modelica.Units.SI.Volume VCon=0.0015972 "Calibrated condenser volume"; parameter Modelica.Units.SI.Frequency refIneFreConst=13.2e-3 "Calibrated cut off frequency for inertia of refrigerant cycle"; end ConstantCarnotEffectiveness;

Buildings.Fluid.HeatPumps.ModularReversible.Validation.TableData2D Buildings.Fluid.HeatPumps.ModularReversible.Validation.TableData2D


Buildings.Fluid.HeatPumps.ModularReversible.Validation.TableData2D

Information

This validation case uses table-based data for the heat pump.

The approach was calibrated as a comparison to constant Carnot effectiveness approach in the conference paper for the heat pump model: https://doi.org/10.3384/ecp21181561

Extends from Modelica.Icons.Example (Icon for runnable examples), Buildings.Fluid.HeatPumps.ModularReversible.Validation.BaseClasses.PartialValidation (Validation base case for the reversible heat pump model.).

Parameters

TypeNameDefaultDescription
replaceable package MediumSinWaterMedium of sink side
replaceable package MediumSouWaterMedium of source side
MassFlowRatemCon_flow_nominal0.404317Condenser nominal mass flow rate [kg/s]
VolumeVCon0.004473Condenser volume [m3]
FrequencyrefIneFreConst0.011848Cut off frequency for inertia of refrigerant cycle [Hz]

Connectors

TypeNameDescription
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

model TableData2D extends Modelica.Icons.Example; extends Buildings.Fluid.HeatPumps.ModularReversible.Validation.BaseClasses.PartialValidation ( heaPum( QHea_flow_nominal=heaPum.refCyc.refCycHeaPumHea.QHeaNoSca_flow_nominal, mCon_flow_nominal=mCon_flow_nominal, tauCon=VCon*heaPum.rhoCon/mCon_flow_nominal, redeclare model RefrigerantCycleInertia = Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.Inertias.VariableOrder ( refIneFreConst=refIneFreConst, nthOrd=2, initType=Modelica.Blocks.Types.Init.InitialState), redeclare model RefrigerantCycleHeatPumpHeating = Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.TableData2D ( datTab= Buildings.Fluid.HeatPumps.ModularReversible.Data.TableData2D.GenericHeatPump( tabPEle=[0,273.15,283.15; 308.15,1300,1500; 328.15,1900,2300], mCon_flow_nominal=6100/5/4184, mEva_flow_nominal=4800/5/4184, dpCon_nominal=0, dpEva_nominal=0, devIde="Vaillaint_VWL101", use_TEvaOutForTab=false, use_TConOutForTab=true, tabQCon_flow=[0,273.15,283.15; 308.15,6100,8400; 328.15,5700,7600], tabUppBou=[-40,70; 40,70])))); parameter Modelica.Units.SI.MassFlowRate mCon_flow_nominal=0.404317 "Condenser nominal mass flow rate"; parameter Modelica.Units.SI.Volume VCon=0.004473 "Condenser volume"; parameter Modelica.Units.SI.Frequency refIneFreConst=0.011848 "Cut off frequency for inertia of refrigerant cycle"; end TableData2D;