modelAdiabatic
Extends from ThermofluidStream.Interfaces.SISOFlow (Base Model with basic flow eqautions for SISO).
Information
Adiabatic process suitable for modeling both hydraulic pumps and turbines (incompressible media)
as well as compressors, blowers, fans, and turbines (compressible media) with a fixed isentropic efficiency
eta_is.
The following quantities can be specified either as parameters or as time-varying input signals:
- Pressure difference:
dp = p_out - p_in - Pressure ratio:
pRatio = p_out / p_in - Outlet pressure:
p_out
Different assumptions can be used to calculate the adiabatic reversible reference process, see UsersGuide.AdiabaticThermodynamicModels.
The power can optionally be an EnergyFlowInput or an
EnergyFlowOutput; see
UsersGuide.EnergyFlow
for details.
During simulation, the physical positive direction of power is visualized on the icon layer
by an orange arrow.
The model supports four possible operating modes:
-
If the outlet state is set and the power is not an input,
the model is balanced.
In this case, the powerPis computed from the given specific enthalpy differencedhand mass flow ratem_flow:P = m_flow*dh. -
If the outlet state is set and the power 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 powerPand specific enthalpy differencedh:m_flow = P/dh. In this case zero specific enthalpy differencedh = 0can cause the simulation to fail. To obtain an overall balanced system, a locally underdetermined component, such as Sink_free , must be connected. -
If the outlet state is not set and the power is an input,
the model is balanced.
In this case, the specific enthalpy differencedhis calculated from the given mass flow ratem_flowand powerP:dh = P/m_flow. In this case, zero mass flow ratem_flow = 0can cause the simulation to fail. Determining the outlet pressurep_outfromdhintroduces one implicit nonlinear equation. This implicit equation can be avoided by enablingenableFilter. The filter behavior can be tuned using the time constantTC, the nominal pressure differencedp_nom, and the nominal powerP_nom. Note that all three parameters are signed quantities. -
If the outlet state is not set and the power is not an input,
the model is not permissible.
In this case, both the powerPand the specific enthalpy differencedhare unknown, and the equationP = m_flow*dhcannot be balanced. This condition is indicated by a prominent red lightning symbol.
Further assumptions for the adiabatic process:
-
Steady-state conditions:
dE_sys/dt = 0, dm_sys/dt = 0 -
No heat transfer:
Q_flow = 0 -
Losses accounted for via isentropic efficiency:
eta_is -
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.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| String | instanceName (from DropOfCommonsPlus) | getInstanceName() | Instance name |
| Boolean | iconIsCompression | iconType == ThermofluidStream.Idealized.Types.Icons.PressureChange.Compression | = true, if iconType == Compression; auxiliary variable |
| Medium.SpecificEnergy | eps_dh | Modelica.Constants.eps | |
| SI.MassFlowRate | eps_m_flow | Modelica.Constants.eps | |
| SI.HeatFlowRate | eps_P | Modelica.Constants.eps | |
| 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 |
| Specification | |||
| IconType | iconType | ThermofluidStream.Idealized.Types.Icons.PressureChange.Compression | Defines the initial icon prior to simulation |
| OutletSpecification | outletSpec | ThermofluidStream.Idealized.Types.OutletSpecification.Adiabatic.PressureDifference | Quantity used to define the outlet state |
| ValueSpecification | outletValueSpec | ThermofluidStream.Types.ValueSpecification.Fixed | Specifies whether the quantity is fixed or prescribed |
| SI.PressureDifference | dp_fixed | 0 | Fixed pressure difference (dp = p_out - p_in) |
| Real | pRatio_fixed | 1 | Fixed pressure ratio (pRatio = p_out/p_in) |
| Medium.AbsolutePressure | p_out_fixed | Medium.p_default | Fixed outlet pressure |
| Advanced specification | |||
| PowerSignal | powerSignal | ThermofluidStream.Idealized.Types.EnergyFlowSignalMode.Disabled | Power signal configuration |
| Boolean | specifyOutlet | true | = true, if the outlet state is explicitly specified |
| Efficiency | |||
| ValueSpecification | etaSpec | ThermofluidStream.Types.ValueSpecification.Fixed | Specifies whether the isentropic efficiency is fixed or prescribed |
| SI.Efficiency | eta_fixed | 1 | Fixed isentropic efficiency |
| Outlet pressure filter (for specifyOutlet == false and powerSignal == Input) | |||
| Boolean | enableFilter | true | =true to enable a first order filter for the outlet pressure |
| SI.Time | TC | 1 | Filter time constant |
| SI.Power | P_nom | 1000 | Nominal power (influences filter time constant) |
| SI.PressureDifference | dp_nom | 1e5 | Nominal pressure difference (influences filter time constant) |
| SI.PressureDifference | dp_start | 0 | Pressure difference start value (filter initialization) |
| Warnings | |||
| AssertionLevel | assertionLevel | AssertionLevel.warning | Assertion level (pressure drop) |
| Layout › Display parameters | |||
| Boolean | showOutletSpecification | true | = true to show the fixed outlet specification value (either dp_fixed, pRatio_fixed or p_out_fixed) |
| Boolean | showEfficiency | true | = true to show the fixed isentropic efficiency value eta_is_fixed |
| Boolean | showPowerDirection | true | = true to show the actual power direction |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Inlet | inlet (from SISOFlow) | ||
| Outlet | outlet (from SISOFlow) | ||
| Modelica.Blocks.Interfaces.RealInput | outletSpec_prescribed | Prescribed outlet specification [SI-units] | |
| Modelica.Blocks.Interfaces.RealInput | eta_prescribed | Prescribed isentropic efficiency [-] | |
| EnergyFlow.Interfaces.EnergyFlowInput | P_in | P_in_internal | Power (dircted into the system) [W] |
| EnergyFlow.Interfaces.EnergyFlowOutput | P_out | -P | Power (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 | |
| SI.Efficiency | eta_is | Isentropic efficiency | |
| SI.SpecificEnthalpy | dh | Difference in specific enthalpy dh = h_out - h_in | |
| Real | pRatio | p_out/p_in | Pressure ratio |
| SI.Power | P | Power (technical work flow rate) | |
| SI.Power | P_in_internal | Power directed into the system (calculated based on the outlet pressure) | |
| Real | singularityRegime | =+1.0 for dh:=P/m_flow -> infty, =-1 for m_flow:=P/dh -> infty, =0.0 else | |
| ThermodynamicModel | adiabaticModel | Adiabatic process calculation |
Contents
| Name | Description |
|---|---|
Revisions
-
2026-08, by Silvan Keim (silvan.keim@dlr.de):
Improved icon. -
2026, by Raphael Gebhart (raphael.gebhart@dlr.de):
Initial version.