Buildings.Fluid.Boilers.Validation

Collection of validation models

Information

This package contains validation models for the models that can be found in Buildings.Fluid.Boilers.

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

Package Content

Name Description
Buildings.Fluid.Boilers.Validation.BoilerTableEfficiencyCurves BoilerTableEfficiencyCurves Boilers with efficiency curves specified by look-up table

Buildings.Fluid.Boilers.Validation.BoilerTableEfficiencyCurves Buildings.Fluid.Boilers.Validation.BoilerTableEfficiencyCurves

Boilers with efficiency curves specified by look-up table

Buildings.Fluid.Boilers.Validation.BoilerTableEfficiencyCurves

Information

This model computes the efficiency of boilers for using the model Buildings.Fluid.Boilers.BoilerTable at firing rates of 5%, 50%, and 100%.

The models are configured to compute the following efficiency curves.

Image of efficiency curves

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

Parameters

TypeNameDefaultDescription
FBdash2501per Record containing a table that describes the efficiency curves

Modelica definition

model BoilerTableEfficiencyCurves "Boilers with efficiency curves specified by look-up table" extends Modelica.Icons.Example; package Medium = Buildings.Media.Water "Medium model"; parameter Buildings.Fluid.Boilers.Data.Lochinvar.Crest.FBdash2501 per "Record containing a table that describes the efficiency curves"; Buildings.Fluid.Sources.Boundary_pT sin( redeclare package Medium = Medium, nPorts=3, p(displayUnit="Pa") = 300000, T=sou.T) "Sink"; Buildings.Fluid.Sources.Boundary_pT sou( redeclare package Medium = Medium, p=300000 + per.dp_nominal, use_T_in=true, nPorts=3) "Source"; Buildings.Fluid.Boilers.BoilerTable boi1( redeclare package Medium = Medium, energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState, massDynamics=Modelica.Fluid.Types.Dynamics.SteadyState, from_dp=true, T_start=293.15, per=per) "Boiler 1 set at 5% firing rate"; Buildings.HeatTransfer.Sources.FixedTemperature TAmb1(T=288.15) "Ambient temperature in boiler room"; Buildings.Fluid.Boilers.BoilerTable boi2( redeclare package Medium = Medium, energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState, massDynamics=Modelica.Fluid.Types.Dynamics.SteadyState, from_dp=true, T_start=293.15, per=per) "Boiler 2 set at 50% firing rate"; Buildings.HeatTransfer.Sources.FixedTemperature TAmb2(T=288.15) "Ambient temperature in boiler room"; Buildings.Fluid.Boilers.BoilerTable boi3( redeclare package Medium = Medium, energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState, massDynamics=Modelica.Fluid.Types.Dynamics.SteadyState, from_dp=true, T_start=293.15, per=per) "Boiler 3 set at 100% firing rate"; HeatTransfer.Sources.FixedTemperature TAmb3(T=288.15) "Ambient temperature in boiler room"; Modelica.Blocks.Sources.Constant y1(k=0.05) "Setting the firing rate at constant 5%"; Modelica.Blocks.Sources.Constant y2(k=0.5) "Setting the firing rate at constant 50%"; Modelica.Blocks.Sources.Constant y3(k=1) "Setting the firing rate at constant 100%"; Modelica.Blocks.Sources.Ramp TIn( height=per.effCur[1,end]-per.effCur[1,2], duration=3600, offset=per.effCur[1,2], y(final unit="K", displayUnit="degC")) "Ramps the T_inlet from the first to the last temperature provided by the efficiency curve table"; equation connect(TAmb1.port, boi1.heatPort); connect(TAmb2.port, boi2.heatPort); connect(boi2.port_b, sin.ports[2]); connect(boi1.port_b, sin.ports[1]); connect(TAmb3.port, boi3.heatPort); connect(boi3.port_b, sin.ports[3]); connect(boi1.port_a, sou.ports[1]); connect(boi3.port_a, sou.ports[2]); connect(boi2.port_a, sou.ports[3]); connect(y1.y, boi1.y); connect(y2.y, boi2.y); connect(y3.y, boi3.y); connect(TIn.y, sou.T_in); end BoilerTableEfficiencyCurves;