modelFlowWork
Extends from ThermofluidStream.Interfaces.SISOFlow (Base Model with basic flow eqautions for SISO).
Information
Process used to account for the flow work w_flow = p*v, which
represents the difference between the specific enthalpy h and
the specific internal energy u: h = u + p*v,
where p denotes the pressure and v the specific
volume.
This process is required to properly account for work when switching between an open-cycle and a closed-cycle perspective, and vice versa. See, for example, Examples.TurboChargedEngine.Cycle.
The flow work rate P = -m_flow * w_flow
is required where fluid enters the closed-cycle system, and the
flow work rate P = m_flow * w_flow is
required where fluid leaves the closed-cycle system.
Most processes already account for the flow work if they are formulated
using inlet and outlet specific enthalpy h_in and h_out rather than
initial and final specific internal energy u1 and u2.
The sign of the flow work can be derived from the conservation of energy.
For a closed system, the change in specific internal energy between the
initial and final state is
u2 - u1 = q + w_cycle,
where q is the specific heat transfer and
w_cycle is the specific work of the cycle process.
When switching to an open-system formulation, the energy balance is
written in terms of specific enthalpy:
h2 - h1 = q + w_open,
where w_open denotes the specific work of the open process.
Alternatively one could write 0 = q + w_open + h_in - h_out
and identify h_in = h1 and h_out = h2.
Combining both formulations yields
w_open = w_cycle + (pv)2 - (pv)1.
Consequently, at the outlet (2) a
positive flow work contribution
w_flow2 = (pv)2 must be considered, whereas at the inlet
(1) a negative flow work contribution
-w_flow1 = -(pv)1 must be taken into account.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| String | instanceName (from DropOfCommonsPlus) | getInstanceName() | Instance name |
| FlowWorkBoundary | boundary | ThermofluidStream.Idealized.Types.FlowWorkBoundary.Inlet | Flow work to be considered |
| Layout | |||
| Boolean | displayInstanceName (from DropOfCommonsPlus) | dropOfCommons.displayInstanceNames | = true, if instance name is displayed |
| Boolean | displayParameters (from DropOfCommonsPlus) | dropOfCommons.displayParameters | = true, if displaying parameters is enabled |
| Advanced | |||
| Boolean | considerInertance (from SISOFlow) | dropOfCommons.considerInertance | =true, if transient momentum (inertance) term is considered; disable only for advanced use |
| Utilities.Units.Inertance | L (from SISOFlow) | dropOfCommons.L | Inertance |
| StateSelect | m_flowStateSelect (from SISOFlow) | StateSelect.default | State selection for mass flow rate |
| Boolean | clip_p_out (from SISOFlow) | = false, if dr_corr=0 (correction of inertial pressure difference) | |
| Medium.AbsolutePressure | p_min (from SISOFlow) | dropOfCommons.p_min | Minimum steady-state output pressure |
| Initialization › Mass flow rate | |||
| InitializationMethods | initM_flow (from SISOFlow) | ThermofluidStream.Utilities.Types.InitializationMethods.none | Initialization method for mass flow rate |
| SI.MassFlowRate | m_flow_0 (from SISOFlow) | 0 | Initial value for mass flow rate |
| Utilities.Units.MassFlowAcceleration | m_acceleration_0 (from SISOFlow) | 0 | Initial value for derivative of mass flow rate |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Inlet | inlet (from SISOFlow) | ||
| Outlet | outlet (from SISOFlow) | ||
| EnergyFlow.Interfaces.EnergyFlowOutput | P_inlet_out | -P_inlet | Flow work of the inlet flow (directed out of the system) [W] |
| EnergyFlow.Interfaces.EnergyFlowOutput | P_outlet_out | -P_outlet | Flow work of the outlet flow (directed out of the system) [W] |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| SI.MassFlowRate | m_flow (from SISOFlow) | inlet.m_flow | Mass flow rate |
| SI.Pressure | dr_corr (from SISOFlow) | Correction of inertial pressure difference | |
| SI.Pressure | dp (from SISOFlow) | Pressure difference | |
| Medium.AbsolutePressure | p_in (from SISOFlow) | Medium.pressure(inlet.state) | Inlet pressure |
| Medium.SpecificEnthalpy | h_in (from SISOFlow) | Medium.specificEnthalpy(inlet.state) | Inlet specific enthalpy |
| Medium.MassFraction[Medium.nXi] | Xi_in (from SISOFlow) | Medium.massFraction(inlet.state) | Inlet mass fractions |
| Medium.AbsolutePressure | p_out (from SISOFlow) | Outlet pressure | |
| Medium.SpecificEnthalpy | h_out (from SISOFlow) | Outlet specific enthalpy | |
| Medium.MassFraction[Medium.nXi] | Xi_out (from SISOFlow) | Outlet mass fractions | |
| Medium.SpecificEnergy | w_flow | Flow work | |
| SI.Power | P_inlet | Flow work rate of the inlet flow | |
| SI.Power | P_outlet | Flow work rate of the outlet flow |
Revisions
-
2026-08, by Silvan Keim (silvan.keim@dlr.de):
Improved icon. -
2026, by Raphael Gebhart (raphael.gebhart@dlr.de):
Initial version.