modelIsobaric

Isobaric process

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

Information

Isobaric process (p_in = p_out) suitable for modeling both heating/cooling (open system, steady-flow, systemSpec==Flow) or periodic heat transfer in a closed cycle system (systemSpec==Cycle), see section Advanced.

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

  • Temperature difference: dT = T_out - T_in
  • Outlet temperature: T_out
  • Specific enthalpy difference: dh = h_out - h_in
  • Outlet specific enthalpy: h_out

During simulation, the physical positive direction of the heat flow rate is visualized on the icon layer by a red arrow.

Further assumptions for the isobaric process (open system, steady-flow):

  • Steady-state conditions: dE_sys/dt = 0, dm_sys/dt = 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.

Advanced settings

Periodic closed cycle system

The isobaric process (p_in = p_out) can also be used to represent periodic heat transfer in a closed cycle system, which is highlighted on icon layer by p-c (isobaric, closed) compared to p. In this case Inlet amd Outlet refer to the initial and final state of the isobaric process.

Assumptions for the isobaric process (closed system, cyclic operation):

  • Cycle-averaged steady state: Over multiple consecutive cycles, the system satisfies dE_sys/dt = 0 and dm_sys/dt = 0.
  • The mass flow rate m_flow represents the cycle-averaged mass throughput of the system.
  • 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.
  • Isobaric boundary work: The process involves a movable boundary with mean expansion work at constant pressure p.
  • 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.
Heat flow rate input/output

The heat flow rate can optionally be an EnergyFlowInput or an EnergyFlowOutput; see UsersGuide.EnergyFlow for details.

The model supports four possible operating modes:

  1. If the outlet state is set and the heat flow rate is not an input, the model is balanced.
    In this case, the heat flow rate Q_flow is computed from the given specific enthalpy difference dh and mass flow rate m_flow: Q_flow = m_flow*dh.
  2. If the outlet state is set and the heat flow rate is an input, the model is locally overdetermined.
    This condition is indicated by a plus symbol on the icon layer. The mass flow rate is then computed from the given heat flow rate Q_flow and specific enthalpy difference dh: m_flow = Q_flow/dh. In this case zero specific enthalpy difference dh = 0 can cause the simulation to fail. To obtain an overall balanced system, a locally underdetermined component, such as Sink_free , must be connected.
  3. If the outlet state is not set and the heat flow rate is an input, the model is balanced.
    In this case, the specific enthalpy difference dh is calculated from the given mass flow rate m_flow and heat flow rate Q_flow: dh = Q_flow/m_flow. In this case zero mass flow rate m_flow = 0 can cause the simulation to fail.
  4. If the outlet state is not set and the heat flow rate is not an input, the model is not permissible.
    In this case, both the heat flow rate Q_flow and the specific enthalpy difference dh are unknown, and the equation Q_flow = m_flow*dh cannot be balanced. This condition is indicated by a prominent red lightning symbol.

Parameters

TypeNameDefaultDescription
StringinstanceName (from DropOfCommonsPlus)getInstanceName()Instance name
SI.AbsolutePressurep_inf1e5Ambient pressure
BooleanisCyclesystemSpec == ThermofluidStream.Idealized.Types.SystemModel.Cycle= true, if systemSpec == Cycle; auxiliary variable
BooleaniconIsHeatingiconType == ThermofluidStream.Idealized.Types.Icons.HeatTransfer.Heating= true, if iconType == Heating; auxiliary variable
Medium.SpecificEnergyeps_qModelica.Constants.epsRegularization specific heat flow
SI.MassFlowRateeps_m_flowModelica.Constants.epsRegularization mass flow rate
SI.HeatFlowRateeps_Q_flowModelica.Constants.epsRegularization heat flow rate
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
IconTypeiconTypeThermofluidStream.Idealized.Types.Icons.HeatTransfer.HeatingDefines the initial icon prior to simulation
OutletSpecificationoutletSpecThermofluidStream.Idealized.Types.OutletSpecification.Isobaric.TemperatureDifferenceQuantity used to define the outlet state
ValueSpecificationoutletValueSpecThermofluidStream.Types.ValueSpecification.FixedSpecifies whether the quantity is fixed or prescribed
SI.TemperatureDifferencedT_fixed0Fixed temperature difference (dT = T_out - T_in) (OM-Bug)
Medium.TemperatureT_out_fixedMedium.T_defaultFixed outlet temperature
SI.SpecificEnthalpydh_fixed0Fixed specific enthalpy difference (dh = h_out - h_in)
SI.SpecificEnthalpyh_out_fixedMedium.h_defaultFixed outlet specific enthalpy
Advanced specification
HeatFlowSignalheatFlowSignalThermofluidStream.Idealized.Types.EnergyFlowSignalMode.DisabledHeat flow signal configuration
SystemSpecificationsystemSpecThermofluidStream.Idealized.Types.SystemModel.FlowSelect whether the system is steady-flow (open) or a closed cycle (periodic)
BooleanspecifyOutlettrue= true to specify the outlet state is specified
Layout › Display parameters
BooleanshowOutletSpecificationtrue= true to show the fixed outlet specification value (either dT_fixed, T_out_fixed, dh_fixed, h_out_fixed)
BooleanshowHeatFlowDirectiontrue= true to show the actual heat flow direction
Warnings
AssertionLevelassertionLevelAssertionLevel.warningAssertion level (pressure drop)

Connectors

TypeNameDefaultDescription
Inletinlet (from SISOFlow)
Outletoutlet (from SISOFlow)
Modelica.Blocks.Interfaces.RealInputoutletSpec_prescribedPrescribed outlet specification [SI-units]
EnergyFlow.Interfaces.EnergyFlowInputQ_flow_inQ_flowHeat flow rate, dircted into the system [W]
EnergyFlow.Interfaces.EnergyFlowOutputQ_flow_out-Q_flowHeat flow rate, directed out of the system [W]
EnergyFlow.Interfaces.EnergyFlowOutputP_out-PPower (mean net expansion work for systemSpec == Cycle), directed out of the system [W]

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
Medium.TemperatureT_inMedium.temperature(inlet.state)Inlet state temperature
Medium.TemperatureT_outOutlet state temperature
SI.TemperatureDifferencedTT_out - T_inTemperature difference (T_out - T_in)
Medium.SpecificEnthalpydhh_out - h_inDifference in specific enthalpy (h_out - h_in)
SI.SpecificEnergyqSpecific heat flow rate
SI.HeatFlowRateQ_flowHeat flow rate
Medium.SpecificEnergyu_inh_in - p/rho_inInlet specific internal energy
Medium.SpecificEnergyu_outh_out - p/rho_outOutlet specific internal energy
SI.SpecificEnergyduu_out - u_inDifference in specific internal energy(u_out - u_in)
Medium.Densityrho_inMedium.density(inlet.state)Inlet density
Medium.Densityrho_outOutlet density
SI.SpecificVolumev_in1/rho_inInlet specific volume
SI.SpecificVolumev_out1/rho_outOutlet specific volume
SI.SpecificEnergyw_expSpecific expansion work
SI.SpecificEnergyw_ambSpecific ambient pressure work
SI.SpecificEnergyw_exp_netNet specific expansion work
SI.PowerPPower (mean net expansion work)
RealsingularityRegime=+1.0 for dh:=Q_flow/m_flow -> infty, =-1 for m_flow:=Q_flow/dh -> infty, =0.0 else

Revisions

  • 2026-08, by Silvan Keim (silvan.keim@dlr.de):
    Improved icon.
  • 2026, by Raphael Gebhart (raphael.gebhart@dlr.de):
    Initial version.