Buildings.Experimental.DHC.Plants.Steam.BaseClasses
Package with base classes for Buildings.Experimental.DHC.Plants.Steam
Information
This package contains base classes that are used to construct the models in Buildings.Experimental.DHC.Plants.Steam.
Extends from Modelica.Icons.BasesPackage (Icon for packages containing base classes).
Package Content
Name | Description |
---|---|
BoilerPolynomial | A equilibrium boiler with water phase change from liquid to vapor, discharging saturated steam vapor, with the efficiency curve described by a polynomial. |
ControlVolumeEvaporation | Control volume model exhibiting the evaporation process of water |
Examples | Collection of models that illustrate model use and test models |
Buildings.Experimental.DHC.Plants.Steam.BaseClasses.BoilerPolynomial
A equilibrium boiler with water phase change from liquid to vapor, discharging
saturated steam vapor, with the efficiency curve described by a polynomial.
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_a
in liquid state and exitsport_b
in 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.Experimental.DHC.BaseClasses.Steam.PartialTwoPortTwoMedium interface model. The saturated mixing volume for an evaporation process Buildings.Experimental.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
Extends from Buildings.BaseClasses.BaseIconLow (Base icon with model name below the icon), Buildings.Experimental.DHC.BaseClasses.Steam.PartialTwoPortTwoMedium (Partial model with two ports with two separate medium models without storing mass or energy).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium_a | PartialMedium | Medium model for port_a (inlet) | |
replaceable package Medium_b | PartialMedium | Medium model for port_b (outlet) | |
MassFlowRate | m_flow_small | 1E-4*abs(m_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
replaceable package MediumWat | Buildings.Media.Specialized.... | Water medium - port_a (inlet) | |
replaceable package MediumSte | Buildings.Media.Steam | Steam medium - port_b (oulet) | |
Power | Q_flow_nominal | Nominal heating power [W] | |
Temperature | T_nominal | 373.15 | Temperature used to compute nominal efficiency (only used if efficiency curve depends on temperature) [K] |
EfficiencyCurves | effCur | Buildings.Fluid.Types.Effici... | Curve used to compute the efficiency |
Real | a[:] | {0.9} | Coefficients for efficiency curve |
Generic | fue | Fuel type | |
ThermalConductance | UA | 0.05*Q_flow_nominal/30 | Overall UA value [W/K] |
Nominal condition | |||
MassFlowRate | m_flow_nominal | Nominal mass flow rate [kg/s] | |
PressureDifference | dp_nominal | Pressure drop at nominal mass flow rate [Pa] | |
Advanced | |||
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Assumptions | |||
Boolean | allowFlowReversal | true | = false to simplify equations, assuming, but not enforcing, no flow reversal. Used only if model has two ports. |
Dynamics | |||
Equations | |||
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state |
Dynamics | massDynamics | energyDynamics | Type of mass balance: dynamic (3 initialization options) or steady state |
Volume | V | 1.5E-6*Q_flow_nominal | Total internal volume of boiler [m3] |
Mass | mDry | 1.5E-3*Q_flow_nominal | Mass of boiler that will be lumped to water heat capacity [kg] |
Initialization | |||
AbsolutePressure | p_start | Medium_b.p_default | Start value of pressure [Pa] |
Temperature | T_start | MediumSte.saturationTemperat... | Start value of temperature [K] |
Boolean | fixed_p_start | false | Set to true if p_start is to be used as an explicit initial equation, not an initial guess |
Connectors
Type | Name | Description |
---|---|---|
replaceable package Medium_a | Medium model for port_a (inlet) | |
replaceable package Medium_b | Medium model for port_b (outlet) | |
FluidPort_a | port_a | Fluid connector a (positive design flow direction is from port_a to port_b) |
FluidPort_b | port_b | Fluid connector b (positive design flow direction is from port_a to port_b) |
replaceable package MediumWat | Water medium - port_a (inlet) | |
replaceable package MediumSte | Steam medium - port_b (oulet) | |
input RealInput | y | Part load ratio |
output RealOutput | VLiq | Output liquid water volume [m3] |
HeatPort_a | heatPort | Heat port, can be used to connect to ambient |
output RealOutput | QFueFlo | Heat flow rate of the fuel [W] |
Modelica definition
Buildings.Experimental.DHC.Plants.Steam.BaseClasses.ControlVolumeEvaporation
Control volume model exhibiting the evaporation process of water
Information
This model represents an evaporation process of water with liquid and vapor phases in equilibrium and at a saturated state. Further information regarding the model formulation and assumptions are in the base class Buildings.Experimental.DHC.BaseClasses.Steam.PartialSaturatedControlVolume.
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
Extends from Buildings.Experimental.DHC.BaseClasses.Steam.PartialSaturatedControlVolume (Partial control volume for evaporation/condensation processes).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium_a | PartialMedium | Medium model for port_a (inlet) | |
replaceable package Medium_b | PartialMedium | Medium model for port_b (outlet) | |
MassFlowRate | m_flow_small | 1E-4*abs(m_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
replaceable package MediumWat | TemperatureDependentDensity | Liquid water medium | |
replaceable package MediumSte | Steam | Steam medium | |
Volume | V | Total volume [m3] | |
Nominal condition | |||
MassFlowRate | m_flow_nominal | Nominal mass flow rate [kg/s] | |
Initialization | |||
AbsolutePressure | p.start | p_start | Pressure inside volume [Pa] |
VolumeFlowRate | VWat_flow.start | 0 | Volumetric flow rate of liquid water [m3/s] |
SpecificEnthalpy | hSte.start | MediumSte.h_default | Specific enthalpy of steam vapor [J/kg] |
SpecificEnthalpy | hWat.start | MediumWat.h_default | Specific enthalpy of liquid water [J/kg] |
Advanced | |||
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Assumptions | |||
Boolean | allowFlowReversal | true | = false to simplify equations, assuming, but not enforcing, no flow reversal. Used only if model has two ports. |
Dynamics | |||
Equations | |||
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state |
Dynamics | massDynamics | energyDynamics | Type of mass balance: dynamic (3 initialization options) or steady state |
Initialization | |||
AbsolutePressure | p_start | MediumSte.p_default | Start value of pressure [Pa] |
Volume | VWat_start | V/2 | Start value of liquid volume [m3] |
Boolean | fixed_p_start | false | Set to true if p_start is to be used as an explicit initial equation, not an initial guess |
Connectors
Type | Name | Description |
---|---|---|
replaceable package Medium_a | Medium model for port_a (inlet) | |
replaceable package Medium_b | Medium model for port_b (outlet) | |
FluidPort_a | port_a | Fluid connector a (positive design flow direction is from port_a to port_b) |
FluidPort_b | port_b | Fluid connector b (positive design flow direction is from port_a to port_b) |
HeatPort_a | heatPort | Heat port |
output RealOutput | VLiq | Liquid volume [m3] |