modelFlow1DFV2ph
Extends from BaseClasses.Flow1DBase (Basic interface for 1-dimensional water/steam fluid flow models).
Information
This model describes the flow of water or steam in a rigid tube. The basic modelling assumptions are:
- The fluid state is either one-phase, or a two-phase mixture.
- In case of two-phase flow, the same velocity is assumed for both phases (homogeneous model).
- Uniform velocity is assumed on the cross section, leading to a 1-D distributed parameter model.
- Turbulent friction is always assumed; a small linear term is added to avoid numerical singularities at zero flowrate. The friction effects are not accurately computed in the laminar and transitional flow regimes, which however should not be an issue in most applications using water or steam as a working fluid.
- The model is based on dynamic mass, momentum, and energy balances. The dynamic momentum term can be switched off, to avoid the fast oscillations that can arise from its coupling with the mass balance (sound wave dynamics).
- The longitudinal heat diffusion term is neglected.
- The energy balance equation is written by assuming a uniform pressure distribution; the pressure drop is lumped either at the inlet or at the outlet.
- The fluid flow can exchange thermal power through the lateral surface, which is represented by the wall connector. The actual heat flux must be computed by a connected component (heat transfer computation module).
The mass, momentum, and energy balance equation are discretised with the finite volume method. The state variables are one pressure, one flowrate (optional) and N-1 specific enthalpies.
The turbulent friction factor can be either assumed as a constant, or computed by Colebrook's equation. In the former case, the friction factor can be supplied directly, or given implicitly by a specified operating point. In any case, the multiplicative correction coefficient Kfc can be used to modify the friction coefficient, e.g. to fit experimental data.
A small linear pressure drop is added to avoid numerical singularities at low or zero flowrate. The wnom parameter must be always specified: the additional linear pressure drop is such that it is equal to the turbulent pressure drop when the flowrate is equal to wnf*wnom (the default value is 1% of the nominal flowrate). Increase wnf if numerical instabilities occur in tubes with very low pressure drops.
The model assumes that the mass flow rate is always from the inlet to the outlet. Small reverse flow is allowed (e.g. when closing a valve at the outlet), but the model will not account for it explicitly.
Modelling options
Thermal variables (enthalpy, temperature, density) are computed in N equally spaced nodes, including the inlet (node 1) and the outlet (node N); N must be greater than or equal to 2.
The dynamic momentum term is included or neglected depending on the DynamicMomentum parameter.
The density is computed assuming a linear distribution of the specific enthalpy between the nodes; this requires the availability of the time derivative of the inlet enthalpy. If this is not available, it is possible to set avoidInletEnthalpyDerivative to true, which will cause the mean density of the first volume to be approximated as its outlet density, thus avoiding the need of the inlet enthalpy derivative.
The following options are available to specify the friction coefficient:
- FFtype = FFtypes.Kfnom: the hydraulic friction coefficient Kf is set directly to Kfnom.
- FFtype = FFtypes.OpPoint: the hydraulic friction coefficient is specified by a nominal operating point (wnom,dpnom, rhonom).
- FFtype = FFtypes.Cfnom: the friction coefficient is computed by giving the (constant) value of the Fanning friction factor Cfnom.
- FFtype = FFtypes.Colebrook: the Fanning friction factor is computed by Colebrook's equation (assuming Re > 2100, e.g. turbulent flow).
- FFtype = FFtypes.NoFriction: no friction is assumed across the pipe.
If HydraulicCapacitance = 2 (default option) then the mass storage term depending on the pressure is lumped at the outlet, while the optional momentum storage term depending on the flowrate is lumped at the inlet. If HydraulicCapacitance = 1 the reverse takes place.
Start values for pressure and flowrate are specified by pstart, wstart. The start values for the node enthalpies are linearly distributed from hstartin at the inlet to hstartout at the outlet.
A bank of Nt identical tubes working in parallel can be modelled by setting Nt > 1. The geometric parameters always refer to a single tube.
This models makes the temperature and external heat flow distributions visible through the wall connector. If other variables (e.g. the heat transfer coefficient) are needed by external components to compute the actual heat flow, the wall connector can be replaced by an extended version of the DHT connector.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Real | pi (from Flow1DBase) | Modelica.Constants.pi | |
| Integer | N (from Flow1DBase) | 2 | Number of nodes for thermal variables |
| Integer | Nw (from Flow1DBase) | N - 1 | Number of volumes on the wall interface |
| Integer | Nt (from Flow1DBase) | 1 | Number of tubes in parallel |
| SI.Distance | L (from Flow1DBase) | Tube length | |
| SI.Position | H (from Flow1DBase) | 0 | Elevation of outlet over inlet |
| SI.Area | A (from Flow1DBase) | Cross-sectional area (single tube) | |
| SI.Length | omega (from Flow1DBase) | Perimeter of heat transfer surface (single tube) | |
| SI.Length | Dhyd (from Flow1DBase) | omega/pi | Hydraulic Diameter (single tube) |
| Medium.MassFlowRate | wnom (from Flow1DBase) | Nominal mass flowrate (total) | |
| ThermoPower.Choices.Flow1D.FFtypes | FFtype (from Flow1DBase) | ThermoPower.Choices.Flow1D.FFtypes.NoFriction | Friction Factor Type |
| SI.PressureDifference | dpnom (from Flow1DBase) | 0 | Nominal pressure drop (friction term only!) |
| Real | Kfnom (from Flow1DBase) | 0 | Nominal hydraulic resistance coefficient (DP = Kfnom*w^2/rho) |
| Medium.Density | rhonom (from Flow1DBase) | 0 | Nominal inlet density |
| SI.PerUnit | Cfnom (from Flow1DBase) | 0 | Nominal Fanning friction factor |
| SI.PerUnit | e (from Flow1DBase) | 0 | Relative roughness (ratio roughness/diameter) |
| SI.PerUnit | Kfc (from Flow1DBase) | 1 | Friction factor correction coefficient |
| Boolean | DynamicMomentum (from Flow1DBase) | false | Inertial phenomena accounted for |
| ThermoPower.Choices.Flow1D.HCtypes | HydraulicCapacitance (from Flow1DBase) | ThermoPower.Choices.Flow1D.HCtypes.Downstream | Location of the hydraulic capacitance |
| Boolean | avoidInletEnthalpyDerivative (from Flow1DBase) | true | Avoid inlet enthalpy derivative |
| Boolean | allowFlowReversal (from Flow1DBase) | system.allowFlowReversal | = true to allow flow reversal, false restricts to design direction |
| SI.PerUnit | wnf (from Flow1DBase) | 0.02 | Fraction of nominal flow rate at which linear friction equals turbulent friction |
| SI.Acceleration | g (from Flow1DBase) | Modelica.Constants.g_n | |
| SI.PerUnit | dzdx (from Flow1DBase) | H/L | Slope |
| SI.Length | l (from Flow1DBase) | L/(N - 1) | Length of a single volume |
| SI.Volume | V (from Flow1DBase) | Nt*A*L | Total volume (all Nt tubes) |
| SI.Pressure | pzero | 10 | Small deltap for calculations |
| Medium.AbsolutePressure | pc | Medium.fluidConstants[1].criticalPressure | |
| SI.SpecificEnthalpy | hzero | 1e-3 | Small value for deltah |
| SI.PerUnit | wnm | 1e-3 | Maximum fraction of the nominal flow rate allowed as reverse flow |
| Boolean | fixedMassFlowSimplified | false | Fix flow rate = wnom for simplified homotopy model |
| Initialisation | |||
| Choices.FluidPhase.FluidPhases | FluidPhaseStart (from Flow1DBase) | Choices.FluidPhase.FluidPhases.Liquid | Fluid phase (only for initialization!) |
| Medium.AbsolutePressure | pstart (from Flow1DBase) | 1e5 | Pressure start value |
| Medium.SpecificEnthalpy | hstartin (from Flow1DBase) | if FluidPhaseStart == Choices.FluidPhase.FluidPhases.Liquid then 1e5 else if FluidPhaseStart == Choices.FluidPhase.FluidPhases.Steam then 3e6 else 1e6 | Inlet enthalpy start value |
| Medium.SpecificEnthalpy | hstartout (from Flow1DBase) | if FluidPhaseStart == Choices.FluidPhase.FluidPhases.Liquid then 1e5 else if FluidPhaseStart == Choices.FluidPhase.FluidPhases.Steam then 3e6 else 1e6 | Outlet enthalpy start value |
| Medium.SpecificEnthalpy[N] | hstart (from Flow1DBase) | linspace(hstartin, hstartout, N) | Start value of enthalpy vector (initialized by default) |
| Choices.Init.Options | initOpt (from Flow1DBase) | system.initOpt | Initialisation option |
| Boolean | noInitialPressure (from Flow1DBase) | false | Remove initial equation on pressure |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| FlangeA | infl (from Flow1DBase) | ||
| FlangeB | outfl (from Flow1DBase) | ||
| ThermoPower.Thermal.DHTVolumes | wall |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| ThermoPower.System | system (from Flow1DBase) | System wide properties | |
| SI.Power | Q (from Flow1DBase) | Total heat flow through the lateral boundary (all Nt tubes) | |
| SI.Time | Tr (from Flow1DBase) | Residence time | |
| HeatTransfer | heatTransfer | Instantiated heat transfer model | |
| Medium.ThermodynamicState[N] | fluidState | Thermodynamic state of the fluid at the nodes | |
| Medium.SaturationProperties | sat | Properties of saturated fluid | |
| SI.Length | omega_hyd | Wet perimeter (single tube) | |
| SI.Pressure | Dpfric | Pressure drop due to friction | |
| SI.Pressure | Dpstat | Pressure drop due to static head | |
| Real[N - 1] | Kf | Friction coefficient | |
| Real[N - 1] | Kfl | Linear friction coefficient | |
| Real[N - 1] | Cf | Fanning friction factor | |
| Real | dwdt | Dynamic momentum term | |
| Medium.AbsolutePressure | p | Fluid pressure for property calculations | |
| SI.Pressure[N - 1] | dpf | Pressure drop due to friction between two nodes | |
| Medium.MassFlowRate | w | Mass flowrate (single tube) | |
| Medium.MassFlowRate[N - 1] | wbar | Average mass flow rates (single tube) | |
| SI.Power[N - 1] | Q_single | heatTransfer.Qvol/Nt | Heat flows entering the volumes from the lateral boundary (single tube) |
| SI.Velocity[N] | u | Fluid velocity | |
| Medium.Temperature[N] | T | Fluid temperature | |
| Medium.Temperature | Ts | Saturated water temperature | |
| Medium.SpecificEnthalpy[N] | h | Fluid specific enthalpy | |
| Medium.SpecificEnthalpy[N - 1] | htilde | Enthalpy state variables | |
| Medium.SpecificEnthalpy | hl | Saturated liquid temperature | |
| Medium.SpecificEnthalpy | hv | Saturated vapour temperature | |
| SI.PerUnit[N] | x | Steam quality | |
| Medium.Density[N] | rho | Fluid density | |
| Units.LiquidDensity | rhol | Saturated liquid density | |
| Units.GasDensity | rhov | Saturated vapour density | |
| SI.Mass | M | Fluid mass | |
| SI.Mass | Mtot | Fluid mass (total) |
Contents
| Name | Description |
|---|---|
Revisions
- 27 Jul 2007
by Francesco Casella:
Corrected error in the mass balance equation, which lead to loss/gain of mass during transients. - 30 May 2005
by Francesco Casella:
Initialisation support added. - 24 Mar 2005
by Francesco Casella:
FFtypes package and NoFriction option added. - 16 Dec 2004
by Francesco Casella:
Standard medium definition added. - 8 Oct 2004
by Francesco Casella:
Model now based on Flow1DBase. - 24 Sep 2004
by Francesco Casella:
Removed wstart, pstart. Added pstartin, pstartout. - 28 Jul 2004
by Francesco Casella:
Adapted to Modelica.Media. - 15 Jan 2004
by Francesco Casella:
Computation of fluid velocity u added. Improved treatment of geometric parameters - 1 Oct 2003
by Francesco Casella:
First release.