modelBoilerPolynomial
Extends from Buildings.BaseClasses.BaseIconLow, Buildings.DHC.BaseClasses.Steam.PartialTwoPortTwoMedium.
Information
This model represents a steam boiler that discharges saturated steam and has an efficiency curve defined by a polynomial. The efficiency in this model represents the fuel-to-water efficiency (e.g., thermal efficiency). This model is similar to the Buildings.Fluid.Boilers.BoilerPolynomial for the efficiency and fuel mass flow rate computation with the following exceptions:
-
Water enters
port_ain liquid state and exitsport_bin vapor state. - The liquid and vapor phases are at equilibrium; thus, the steam boiler is constrained to saturated states only with the volume containing a wet steam mixture.
- If the boiler is configured in steady state, several blocks involving the heat flow rate are conditionally removed to avoid overconstraining the model. This is because the discharging fluid is constrained at a saturated state. The blocks that are conditionally removed as a result are within the green region in the below figure:
Implementation
In order to improve the numerical efficiency, this model follows the split-medium approach using the Buildings.DHC.BaseClasses.Steam.PartialTwoPortTwoMedium interface model. The saturated mixing volume for an evaporation process Buildings.DHC.Plants.Steam.BaseClasses.ControlVolumeEvaporation represents the phase change process of water from liquid to vapor at equilibrium.
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
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.Power | Q_flow_nominal | Nominal heating power | |
| Modelica.Units.SI.Temperature | T_nominal | 373.15 | Temperature used to compute nominal efficiency (only used if efficiency curve depends on temperature) |
| Buildings.Fluid.Types.EfficiencyCurves | effCur | Buildings.Fluid.Types.EfficiencyCurves.Constant | Curve used to compute the efficiency |
| Real[:] | a | {0.9} | Coefficients for efficiency curve |
| Buildings.Fluid.Data.Fuels.Generic | fue | Fuel type | |
| Modelica.Units.SI.ThermalConductance | UA | 0.05*Q_flow_nominal/30 | Overall UA value |
| Initialization | |||
| Boolean | fixed_p_start | false | Set to true if p_start is to be used as an explicit initial equation, not an initial guess |
| Nominal condition | |||
| Modelica.Units.SI.PressureDifference | dp_nominal | Pressure drop at nominal mass flow rate | |
| Dynamics | |||
| Modelica.Units.SI.Volume | V | 1.5E-6*Q_flow_nominal | Total internal volume of boiler |
| Modelica.Units.SI.Mass | mDry | 1.5E-3*Q_flow_nominal | Mass of boiler that will be lumped to water heat capacity |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.Efficiency | eta | if effCur == Buildings.Fluid.Types.EfficiencyCurves.Constant then a[1] elseif effCur == Buildings.Fluid.Types.EfficiencyCurves.Polynomial then Buildings.Utilities.Math.Functions.polynomial(a = a, x = y_internal) elseif effCur == Buildings.Fluid.Types.EfficiencyCurves.QuadraticLinear then Buildings.Utilities.Math.Functions.quadraticLinear(a = aQuaLin, x1 = y_internal, x2 = MediumSte.saturationTemperature(port_a.p)) else 0 | Boiler efficiency |
| Modelica.Units.SI.Power | QFue_flow | y_internal*Q_flow_nominal/eta_nominal | Heat released by fuel |
| Modelica.Units.SI.Power | QWat_flow | eta*QFue_flow | Heat transfer from gas into water |
| Modelica.Units.SI.MassFlowRate | mFue_flow | QFue_flow/fue.h | Fuel mass flow rate |
| Modelica.Units.SI.VolumeFlowRate | VFue_flow | mFue_flow/fue.d | Fuel volume flow rate |
| Modelica.Blocks.Interfaces.RealInput | y | Part load ratio | |
| Modelica.Blocks.Interfaces.RealOutput | VLiq | Output liquid water volume | |
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a | heatPort | Heat port, can be used to connect to ambient | |
| Modelica.Thermal.HeatTransfer.Components.HeatCapacitor | heaCapDry | Heat capacity of boiler metal | |
| Buildings.DHC.Plants.Steam.BaseClasses.ControlVolumeEvaporation | vol | Steam/water control volume | |
| Buildings.Fluid.FixedResistances.PressureDrop | res | Flow resistance | |
| Modelica.Blocks.Interfaces.RealOutput | QFueFlo | Heat flow rate of the fuel |
Contents
| Name | Description |
|---|---|
| MediumWat | Water medium - port_a (inlet) |
| MediumSte | Steam medium - port_b (oulet) |
Revisions
-
September 15, 2023, by Kathryn Hinkelman:
Updated publication references. -
February 25, 2022 by Kathryn Hinkelman:
Refactored base classes for improved extensibility and relocated models into Steam subpackages. -
July 22, 2021 by Kathryn Hinkelman:
First implementation.