Buildings.Obsolete.DHC.ETS.Combined.Subsystems.Validation

Collection of validation models

Information

This package contains validation models for the classes in Buildings.Obsolete.DHC.ETS.Combined.Subsystems.

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.Obsolete.DHC.ETS.Combined.Subsystems.Validation.Borefield Borefield Validation of the base subsystem model with geothermal borefield
Buildings.Obsolete.DHC.ETS.Combined.Subsystems.Validation.Chiller Chiller Validation of the base subsystem model with heat recovery chiller

Buildings.Obsolete.DHC.ETS.Combined.Subsystems.Validation.Borefield Buildings.Obsolete.DHC.ETS.Combined.Subsystems.Validation.Borefield

Validation of the base subsystem model with geothermal borefield

Buildings.Obsolete.DHC.ETS.Combined.Subsystems.Validation.Borefield

Information

This model validates Buildings.Obsolete.DHC.ETS.Combined.Subsystems.Borefield.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Parameters

TypeNameDefaultDescription
IntegernBorHol100Number of boreholes (must be a square number)
Distancedxy6Distance in x-axis (and y-axis) between borehole axes [m]
ExampledatBorFiedatBorFie(conDat=Buildings.F...Borefield design data

Modelica definition

model Borefield "Validation of the base subsystem model with geothermal borefield" extends Modelica.Icons.Example; package Medium=Buildings.Media.Water "Medium model"; parameter Integer nBorHol=100 "Number of boreholes (must be a square number)"; parameter Modelica.Units.SI.Distance dxy=6 "Distance in x-axis (and y-axis) between borehole axes"; final parameter Modelica.Units.SI.Distance cooBor[nBorHol,2]= Buildings.DHC.ETS.BaseClasses.computeCoordinates( nBorHol, dxy) "Coordinates of boreholes"; Buildings.Obsolete.DHC.ETS.Combined.Subsystems.Borefield borFie( redeclare final package Medium=Medium, final datBorFie=datBorFie, dp_nominal=5E4, TBorWatEntMax=313.15) "Subsystem with heat recovery chiller"; Buildings.Fluid.Sources.Boundary_pT conWat( redeclare package Medium=Medium, use_T_in=true, nPorts=2) "Condenser water boundary conditions"; Buildings.Fluid.Sensors.TemperatureTwoPort senTInl( redeclare final package Medium=Medium, m_flow_nominal=borFie.pum.m_flow_nominal) "Water inlet temperature"; Buildings.Fluid.Sensors.TemperatureTwoPort senTOut( redeclare final package Medium=Medium, m_flow_nominal=borFie.pum.m_flow_nominal) "Water outlet temperature"; parameter Buildings.Fluid.Geothermal.Borefields.Data.Borefield.Example datBorFie( conDat=Buildings.Fluid.Geothermal.Borefields.Data.Configuration.Example( cooBor=cooBor, dp_nominal=0)) "Borefield design data"; Modelica.Blocks.Sources.TimeTable TInlVal( y(final unit="K", displayUnit="degC"), table=[ 0,2; 2,2; 3,15; 7,15; 9,35; 10,45; 11,30; 20,30], timeScale=1000, offset=273.15) "Inlet temperature values"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant zer( k=0) "Zero"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp u( duration=1000, startTime=2500) "Control signal"; equation connect(senTInl.port_b,conWat.ports[1]); connect(conWat.ports[2],senTOut.port_a); connect(senTInl.port_a,borFie.port_a); connect(borFie.port_b,senTOut.port_b); connect(TInlVal.y,conWat.T_in); connect(zer.y,borFie.yValIso_actual[2]); connect(u.y,borFie.u); connect(u.y,borFie.yValIso_actual[1]); end Borefield;

Buildings.Obsolete.DHC.ETS.Combined.Subsystems.Validation.Chiller Buildings.Obsolete.DHC.ETS.Combined.Subsystems.Validation.Chiller

Validation of the base subsystem model with heat recovery chiller

Buildings.Obsolete.DHC.ETS.Combined.Subsystems.Validation.Chiller

Information

This model validates Buildings.Obsolete.DHC.ETS.Combined.Subsystems.Chiller.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Parameters

TypeNameDefaultDescription
GenericdatChidatChi(QEva_flow_nominal=-1E...Chiller performance data

Modelica definition

model Chiller "Validation of the base subsystem model with heat recovery chiller" extends Modelica.Icons.Example; package Medium=Buildings.Media.Water "Medium model"; parameter Buildings.Fluid.Chillers.Data.ElectricEIR.Generic datChi( QEva_flow_nominal=-1E6, COP_nominal=3, PLRMax=1, PLRMinUnl=0.3, PLRMin=0.3, etaMotor=1, mEva_flow_nominal=30, mCon_flow_nominal=30, TEvaLvg_nominal=280.15, capFunT={1,0,0,0,0,0}, EIRFunT={1,0,0,0,0,0}, EIRFunPLR={1,0,0}, TEvaLvgMin=276.15, TEvaLvgMax=288.15, TConEnt_nominal=313.15, TConEntMin=303.15, TConEntMax=333.15) "Chiller performance data"; Buildings.Obsolete.DHC.ETS.Combined.Subsystems.Chiller chi( redeclare final package Medium=Medium, final dat=datChi, dpCon_nominal=15E3, dpEva_nominal=15E3) "Subsystem with heat recovery chiller"; Buildings.Fluid.Sources.Boundary_pT evaWat( redeclare package Medium=Medium, use_T_in=true, nPorts=2) "Evaporator water boundary conditions"; Buildings.Fluid.Sources.Boundary_pT conWat( redeclare package Medium=Medium, use_T_in=true, nPorts=2) "Condenser water boundary conditions"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant TChiWatSupSet( k=7+273.15, y(final unit="K", displayUnit="degC")) "Chilled water supply temperature set point"; Buildings.Fluid.Sensors.TemperatureTwoPort senTHeaWatSup( redeclare final package Medium=Medium, m_flow_nominal=datChi.mCon_flow_nominal) "Heating water supply temperature"; Buildings.Fluid.Sensors.TemperatureTwoPort senTChiWatSup( redeclare final package Medium=Medium, m_flow_nominal=datChi.mEva_flow_nominal) "Chilled water supply temperature"; Buildings.Fluid.Sensors.TemperatureTwoPort senTHeaWatRet( redeclare final package Medium=Medium, m_flow_nominal=datChi.mCon_flow_nominal) "Heating water return temperature"; Buildings.Fluid.Sensors.TemperatureTwoPort senTChiWatRet( redeclare final package Medium=Medium, m_flow_nominal=datChi.mEva_flow_nominal) "Chilled water return temperature"; Modelica.Blocks.Sources.BooleanExpression uHea( y=time < 4000) "Heating enable signal"; Modelica.Blocks.Sources.BooleanExpression uCoo( y=time >= 1000) "Cooling enable signal"; Modelica.Blocks.Sources.TimeTable THeaWatRet( y(final unit="K", displayUnit="degC"), table=[ 0,44; 2,44; 3,34; 4.5,34; 5,14; 10,14], timeScale=1000, offset=273.15) "Heating water return temperature values"; Modelica.Blocks.Sources.TimeTable TChiWatRet( y(final unit="K", displayUnit="degC"), table=[ 0,9; 1,9; 2,14; 3,14; 4,11; 5,11], timeScale=1000, offset=273.15) "Chilled water return temperature values"; equation connect(chi.port_bHeaWat,senTHeaWatSup.port_a); connect(senTHeaWatSup.port_b,conWat.ports[1]); connect(evaWat.ports[1],senTChiWatSup.port_b); connect(senTChiWatSup.port_a,chi.port_bChiWat); connect(conWat.ports[2],senTHeaWatRet.port_a); connect(senTHeaWatRet.port_b,chi.port_aHeaWat); connect(chi.port_aChiWat,senTChiWatRet.port_b); connect(senTChiWatRet.port_a,evaWat.ports[2]); connect(uCoo.y,chi.uCoo); connect(uHea.y,chi.uHea); connect(TChiWatSupSet.y,chi.TChiWatSupSet); connect(THeaWatRet.y,conWat.T_in); connect(TChiWatRet.y,evaWat.T_in); end Chiller;