modelPartialSaturatedControlVolume

Partial control volume for evaporation/condensation processes

Extends from Buildings.BaseClasses.BaseIcon (Base icon), Buildings.DHC.BaseClasses.Steam.PartialTwoPortTwoMedium (Partial model with two ports with two separate medium models without storing mass or energy).

Information

This model represents a partial control volume for either condensation or evaporation processes of water with liquid and vapor phases in equilibrium and at a saturated state. Models that extend this base class need to assign the mass flow rate at each port and the enthlapy at each port, as exemplifed in the evaporation and condensation models listed below. The volume can exchange heat through its heatPort when configured with dynamic mass and energy balances. In steady state, the heat port is conditionally removed in order to maintain a consistent set of equations.

This model is similar to Modelica.Fluid.Examples.DrumBoiler.BaseClasses.EquilibriumDrumBoiler with the following exceptions:

  • Rather than a two-phase medium, fluid mediums are modeled as two single-state fluids, with liquid water at the up-stream port(port_a), and steam vapor at the downstream port (port_b) for instances of this base class that model evaporation (the opposite for condensation);
  • The metal drum is excluded from the mass and energy balances;

Implementation

This model is configured to allow both steady state and dynamic mass and energy balances. The heat transfer through the heatPort is disabled in steady state balance. This is required because the fluid is restricted to a saturated state; thus, the heat transfer rate is a function of mass flow rate only if the volume is steady. The fluid mass m in the volume is calculated as

m = ρsVs + ρwVw

where ρ is density,V is volume, and subscripts represent the steam and liquid water components, respectively. The total internal energy U is

U = ρsVshs + ρwVw − pV

where h is specific enthalpy, p is pressure, and the total volume of fluid V=Vs+Vw.

The steady state mass balance is given as

s + ṁw = 0,

while no additional equation is given for the steady state energy balance, since the heat flow rate into the water must be removed from the system in which the control volume is used.

The dynamic mass and energy balances are given as

dm/dt = ṁs + ṁw
dU/dt = Q̇ + ṁs hs + ṁ w hw

where ̇s and w are the mass flow rates of steam and liquid water respectively; is the heat flow rate into the control volume; hs and hw are the specific enthalpies of steam and liquid water, respectively. Note that with an evaporation process, the liquid phase (water) is always assigned at the port_a (inlet), while the vapor phase (steam) is always at the port_b (outlet). The opposite holds for a condensation process.

Assumptions

Three principal assumptions are made with this model:

  • The fluid within the volume is wet steam.
  • Liquid and vapor subcomponents are at equilibrium; and
  • Fluid is discharged from the volume as ei ther saturated liquid or saturated vapor.

Models that extend this base class include Buildings.DHC.Plants.Steam.BaseClasses.ControlVolumeEvaporation and Buildings.DHC.Loads.Steam.BaseClasses.ControlVolumeCondensation.

Reference

Hinkelman, Kathryn, Saranya Anbarasu, Michael Wetter, Antoine Gautier, and Wangda Zuo. 2022. “A Fast and Accurate Modeling Approach for Water and Steam Thermodynamics with Practical Applications in District Heating System Simulation.” Preprint. February 24. doi:10.13140/RG.2.2.20710.29762.

Parameters

TypeNameDefaultDescription
Modelica.Units.SI.MassFlowRatem_flow_small (from PartialTwoPortTwoMedium)1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow
Modelica.Units.SI.VolumeVTotal volume
Nominal condition
Modelica.Units.SI.MassFlowRatem_flow_nominal (from PartialTwoPortTwoMedium)Nominal mass flow rate
Advanced › Diagnostics
Booleanshow_T (from PartialTwoPortTwoMedium)false= true, if actual temperature at port is computed
Assumptions
BooleanallowFlowReversal (from PartialTwoPortTwoMedium)true= false to simplify equations, assuming, but not enforcing, no flow reversal. Used only if model has two ports.
Dynamics › Equations
Modelica.Fluid.Types.DynamicsenergyDynamics (from PartialTwoPortTwoMedium)Modelica.Fluid.Types.Dynamics.DynamicFreeInitialType of energy balance: dynamic (3 initialization options) or steady state
Modelica.Fluid.Types.DynamicsmassDynamics (from PartialTwoPortTwoMedium)energyDynamicsType of mass balance: dynamic (3 initialization options) or steady state
Initialization
Medium_b.AbsolutePressurep_start (from PartialTwoPortTwoMedium)Medium_b.p_defaultStart value of pressure
Medium_b.TemperatureT_start (from PartialTwoPortTwoMedium)Medium_b.T_defaultStart value of temperature
Modelica.Units.SI.VolumeVWat_startV/2Start value of liquid volume

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a (from PartialTwoPortTwoMedium)Fluid connector a (positive design flow direction is from port_a to port_b)
Modelica.Fluid.Interfaces.FluidPort_bport_b (from PartialTwoPortTwoMedium)Fluid connector b (positive design flow direction is from port_a to port_b)
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_aheatPortHeat port
Modelica.Blocks.Interfaces.RealOutputVLiqLiquid volume

Components

TypeNameDefaultDescription
Modelica.Units.SI.MassFlowRatem_flow (from PartialTwoPortTwoMedium)port_a.m_flowMass flow rate from port_a to port_b (m_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp (from PartialTwoPortTwoMedium)port_a.p - port_b.pPressure difference between port_a and port_b
Medium_a.ThermodynamicStatesta_a (from PartialTwoPortTwoMedium)Medium_a.setState_phX(port_a.p, noEvent(actualStream(port_a.h_outflow)), noEvent(actualStream(port_a.Xi_outflow)))Medium properties in port_a
Medium_b.ThermodynamicStatesta_b (from PartialTwoPortTwoMedium)Medium_b.setState_phX(port_b.p, noEvent(actualStream(port_b.h_outflow)), noEvent(actualStream(port_b.Xi_outflow)))Medium properties in port_b
MediumWat.ThermodynamicStatestateWatSaturated state, liquid water
MediumSte.ThermodynamicStatestateSteSaturated state, steam
MediumSte.AbsolutePressurepPressure inside volume
MediumSte.TemperatureTTemperature inside volume
Modelica.Units.SI.VolumeVSteVolume of steam vapor
Modelica.Units.SI.VolumeVWatVolume of liquid water phase
Modelica.Units.SI.VolumeFlowRateVWat_flowVolumetric flow rate of liquid water
MediumSte.SpecificEnthalpyhSteSpecific enthalpy of steam vapor
MediumWat.SpecificEnthalpyhWatSpecific enthalpy of liquid water
MediumSte.DensityrhoSteDensity of steam vapor
MediumWat.DensityrhoWatDensity of liquid water
Modelica.Units.SI.MassmTotal mass of volume
Modelica.Units.SI.EnergyUInternal energy
Modelica.Units.SI.MassFlowRatemWat_flowWater mass flow rate
Modelica.Units.SI.MassFlowRatemSte_flowSteam mass flow rate

Contents

NameDescription
MediumWatLiquid water medium
MediumSteSteam medium

Revisions

  • May 4, 2022 by David Blum:
    Update stateSte to use MediumSte instead of MediumWat.
  • February 26, 2022 by Kathryn Hinkelman:
    First implementation.