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 |
---|---|
BoilerTableEfficiencyCurves | Boilers with efficiency curves specified by look-up table |
Buildings.Fluid.Boilers.Validation.BoilerTableEfficiencyCurves
Boilers with efficiency curves specified by look-up table
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.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
Type | Name | Default | Description |
---|---|---|---|
FBdash2501 | per | 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;