modelIsenthalpic

Isenthalpic process

Extends from ThermofluidStream.Interfaces.SISOFlow (Base Model with basic flow eqautions for SISO).

Information

Isenthalpic process (h_in = h_out) suitable for modeling a valve.

The following quantities can be specified either as parameters or as time-varying input signals:

  • Pressure loss: dpLoss = p_in - p_out
  • Relative pressure loss: prLoss = dpLoss / p_in = 1 - p_out/p_in
  • Outlet pressure: p_out

Further assumptions for the isenthalpic process:

  • Steady-state conditions: dE_sys/dt = 0, dm_sys/dt = 0
  • No heat transfer: Q_flow = 0
  • No net external forces on the system: The control volume is not subject to acceleration as a rigid body, i.e. \sum F_external = 0.
  • Rigid boundary, no expansion work: w_exp = 0
  • Negligible kinetic and potential energy changes: Differences between inlet and outlet are neglected, i.e. g*z_2 + 1/2*c_2^2 ≈ g*z_1 + 1/2*c_1^2.
  • Constant composition: No change in species mass fractions across the control volume, i.e. X_in = X_out.

Under these assumptions, an increase in pressure in the direction of the flow violates the second law of thermodynamics; for example, the pressure must not increase within a valve. This condition can be enforced with enforcePressureDrop. Then, a red circle highlights if the prescribed pressure loss would cause a pressure rise in flow direction and is clipped. If enforcePressureDrop = false, violation only triggers an assert, which is also indicated on the icon layer. For inverse calculations, enforcePressureDrop = false is recommended, as this simplifies the equation system.

Parameters

TypeNameDefaultDescription
StringinstanceName (from DropOfCommonsPlus)getInstanceName()Instance name
Layout
BooleandisplayInstanceName (from DropOfCommonsPlus)dropOfCommons.displayInstanceNames= true, if instance name is displayed
BooleandisplayParameters (from DropOfCommonsPlus)dropOfCommons.displayParameters= true, if displaying parameters is enabled
Advanced
BooleanconsiderInertance (from SISOFlow)dropOfCommons.considerInertance=true, if transient momentum (inertance) term is considered; disable only for advanced use
Utilities.Units.InertanceL (from SISOFlow)dropOfCommons.LInertance
StateSelectm_flowStateSelect (from SISOFlow)StateSelect.defaultState selection for mass flow rate
Booleanclip_p_out (from SISOFlow)= false, if dr_corr=0 (correction of inertial pressure difference)
Medium.AbsolutePressurep_min (from SISOFlow)dropOfCommons.p_minMinimum steady-state output pressure
Initialization › Mass flow rate
InitializationMethodsinitM_flow (from SISOFlow)ThermofluidStream.Utilities.Types.InitializationMethods.noneInitialization method for mass flow rate
SI.MassFlowRatem_flow_0 (from SISOFlow)0Initial value for mass flow rate
Utilities.Units.MassFlowAccelerationm_acceleration_0 (from SISOFlow)0Initial value for derivative of mass flow rate
Specification
OutletSpecificationoutletSpecThermofluidStream.Idealized.Types.OutletSpecification.Isenthalpic.PressureLossQuantity used to define the outlet state
ValueSpecificationoutletValueSpecThermofluidStream.Types.ValueSpecification.FixedSpecifies whether the quantity is fixed or prescribed
SI.PressureDifferencedpLoss_fixed0Fixed pressure loss (dpLoss = p_in - p_out)
RealprLoss_fixed0Fixed relative pressure loss (prLoss = dpLoss/p_in)
Medium.AbsolutePressurep_out_fixedMedium.p_defaultFixed outlet pressure
Advanced specification
BooleanenforcePressureDropfalse= true, if pressure drop in flow direction is enforced; use =false for inverse calculations
Warnings
AssertionLevelassertionLevelAssertionLevel.warningAssertion level (pressure drop)
Layout › Display parameters
BooleanshowOutletSpecificationtrue= true to show the fixed outlet specification value (either dpLoss_fixed, prLoss_fixed or p_out_fixed)

Connectors

TypeNameDefaultDescription
Inletinlet (from SISOFlow)
Outletoutlet (from SISOFlow)
Modelica.Blocks.Interfaces.RealInputoutletSpec_prescribedPrescribed outlet specification [SI-units]

Components

TypeNameDefaultDescription
SI.MassFlowRatem_flow (from SISOFlow)inlet.m_flowMass flow rate
SI.Pressuredr_corr (from SISOFlow)Correction of inertial pressure difference
SI.Pressuredp (from SISOFlow)Pressure difference
Medium.AbsolutePressurep_in (from SISOFlow)Medium.pressure(inlet.state)Inlet pressure
Medium.SpecificEnthalpyh_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.AbsolutePressurep_out (from SISOFlow)Outlet pressure
Medium.SpecificEnthalpyh_out (from SISOFlow)Outlet specific enthalpy
Medium.MassFraction[Medium.nXi]Xi_out (from SISOFlow)Outlet mass fractions
RealisDPLossSetAlignedsign(m_flow*dpLoss_set)= 1.0, if set pressure loss is aligned with flow direction
RealisDPLossAlignedsign(m_flow*dpLoss)= 1.0, if pressure loss is aligned with flow direction
SI.PressureDifferencedpLossp_in - p_outPressure loss
SI.PressureDifferencedpLoss_setSet pressure loss
RealprLossdpLoss/p_inRelative pressure loss
RealprLoss_setSet relative pressure loss
SI.Pressurep_out_setSet outlet pressure

Revisions

  • 2026-08, by Silvan Keim (silvan.keim@dlr.de):
    Improved icon.
  • 2026-06, by Raphael Gebhart (raphael.gebhart@dlr.de):
    The default value of enforcePressureDrop was changed from true to false to improve numerical robustness in inverse calculations. Models that require the previous behavior must now explicitly set enforcePressureDrop=true.
  • 2026, by Raphael Gebhart (raphael.gebhart@dlr.de):
    Initial version.