modelSingleBoiler

A generic steam plant with a single boiler that discharges saturated steam

Extends from Buildings.DHC.Plants.BaseClasses.PartialPlant.

Information

This is a generic steam plant model that can be used in district heating system simulations. The model contains a feedwater tank, feedwater pump, check valve, and a boiler. The boiler is designed to discharge saturated steam vapor. For controls, the feedwater pump maintains the water volume setpoint in the drum boiler, while the boiler control maintains the discharge pressure setpoint.

References

Kathryn Hinkelman, Saranya Anbarasu, Michael Wetter, Antoine Gautier, Wangda Zuo. 2022. “A Fast and Accurate Modeling Approach for Water and Steam Thermodynamics with Practical Applications in District Heating System Simulation,” Energy, 254(A), pp. 124227. 10.1016/j.energy.2022.124227

Kathryn Hinkelman, Saranya Anbarasu, Michael Wetter, Antoine Gautier, Baptiste Ravache, Wangda Zuo 2022. “Towards Open-Source Modelica Models For Steam-Based District Heating Systems.” Proc. of the 1st International Workshop On Open Source Modelling And Simulation Of Energy Systems (OSMSES 2022), Aachen, German, April 4-5, 2022. 10.1109/OSMSES54027.2022.9769121

Parameters

TypeNameDefaultDescription
Buildings.Fluid.Data.Fuels.GenericfueBoiBuildings.Fluid.Data.Fuels.NaturalGasLowerHeatingValue()Boiler fuel type
Modelica.Units.SI.MassFlowRatem_flow_nominal1Nominal mass flow rate
Modelica.Units.SI.PowerQ_flow_nominalm_flow_nominal*(MediumHea_b.specificEnthalpy(MediumHea_b.setState_pTX(p = pSteSet, T = TSat, X = MediumHea_b.X_default)) - Medium.specificEnthalpy(Medium.setState_pTX(p = pSteSet, T = TSat, X = Medium.X_default)))Nominal heating power
Modelica.Units.SI.AbsolutePressurepSteSet300000Steam pressure setpoint
Modelica.Units.SI.TemperatureTSatMediumHea_b.saturationTemperature(pSteSet)Saturation temperature at pressure setpoint
Modelica.Units.SI.AbsolutePressurepTanFW101325Pressure of feedwater tank
Modelica.Units.SI.VolumeVBoiWatSetVBoi/2Setpoint for liquid water volume in the boiler
Modelica.Units.SI.VolumeVBoi3Total drum volume of steam boiler
RealboiSca1.25Boiler heat capacity scaling factor
Buildings.Fluid.Movers.Data.GenericperPerformance data for the feedwater pump
Dynamics
Modelica.Units.SI.MassmDry1.5E-3*Q_flow_nominalMass of boiler that will be lumped to water heat capacity
Initialization
Modelica.Units.SI.VolumeVTanFW_start1Setpoint for liquid water volume in the boiler
Modelica.Media.Interfaces.Types.AbsolutePressurepBoi_startpTanFWStart value of boiler pressure
RealyPum_start0.7Initial value of pump speed
Dynamics › Equations
Modelica.Fluid.Types.DynamicsenergyDynamicsModelica.Fluid.Types.Dynamics.DynamicFreeInitialType of energy balance: dynamic (3 initialization options) or steady state
Modelica.Fluid.Types.DynamicsmassDynamicsenergyDynamicsType of mass balance: dynamic (3 initialization options) or steady state
Control › Boiler
Modelica.Blocks.Types.SimpleControllercontrollerTypeBoiModelica.Blocks.Types.SimpleController.PIType of controller
RealkBoi10Gain of controller
Modelica.Units.SI.TimeTiBoi120Time constant of Integrator block
Modelica.Units.SI.TimeTdBoi10Time constant of Derivative block
RealwpBoi1Set-point weight for Proportional block (0..1)
RealwdBoi0Set-point weight for Derivative block (0..1)
RealNiBoi0.9Ni*Ti is time constant of anti-windup compensation
RealNdBoi10The higher Nd, the more ideal the derivative block
Control › Pump
Modelica.Blocks.Types.SimpleControllercontrollerTypePumModelica.Blocks.Types.SimpleController.PIType of controller
RealkPum5Gain of controller
Modelica.Units.SI.TimeTiPum120Time constant of Integrator block
Modelica.Units.SI.TimeTdPum0.1Time constant of Derivative block
RealwpPum1Set-point weight for Proportional block (0..1)
RealwdPum0Set-point weight for Derivative block (0..1)
RealNiPum0.9Ni*Ti is time constant of anti-windup compensation
RealNdPum10The higher Nd, the more ideal the derivative block

Components

TypeNameDefaultDescription
Buildings.Fluid.Movers.SpeedControlled_ypumFWFeedwater pump
Buildings.DHC.Plants.Steam.BaseClasses.BoilerPolynomialboiSteam boiler
Buildings.Controls.Continuous.LimPIDconPumPump control
Modelica.Blocks.Math.GainVNorNormalized volume setpoint
Buildings.Controls.Continuous.LimPIDconBoiBoiler control
Modelica.Blocks.Math.GainPNorNormalized pressure setpoint
Buildings.Fluid.Sensors.PressuresenPreSteSteam pressure sensor
Modelica.Blocks.Sources.ConstantuniUnitary
Buildings.Fluid.Storage.ExpansionVesseltanFWFeedwater tank
Buildings.Fluid.FixedResistances.CheckValvecheValCheck valve

Revisions

  • September 15, 2023, by Kathryn Hinkelman:
    Added publication references.
  • July 18, 2023, by Michael Wetter:
    Corrected assignment of allowFlowReversal, and set start pressure of boiler to be equal to start pressure of feed water tank. Otherwise, backflow occurs at the start of the simulation.
  • March 3, 2022 by Kathryn Hinkelman:
    First implementation.