modelAbruptAdaptor

Pressure drop in pipe due to suddenly expanding or reducing area (for both flow directions)

Extends from BaseClasses.QuadraticTurbulent.BaseModelNonconstantCrossSectionArea (Generic pressure drop component with constant turbulent loss factor data and without an icon, for non-constant cross section area).

Information

Parameters

TypeNameDefaultDescription
LossFactorDatadata (from BaseModelNonconstantCrossSectionArea)Loss factor data
SI.Diameterdiameter_aInner diameter of pipe at port_a
SI.Diameterdiameter_bInner diameter of pipe at port_b
Assumptions
BooleanallowFlowReversal (from PartialTwoPort)system.allowFlowReversal= true to allow flow reversal, false restricts to design direction (port_a -> port_b)
Advanced
Medium.AbsolutePressuredp_start (from PartialTwoPortTransport)0.01*system.p_startGuess value of dp = port_a.p - port_b.p
Medium.MassFlowRatem_flow_start (from PartialTwoPortTransport)system.m_flow_startGuess value of m_flow = port_a.m_flow
Medium.MassFlowRatem_flow_small (from PartialTwoPortTransport)if system.use_eps_Re then system.eps_m_flow*system.m_flow_nominal else system.m_flow_smallSmall mass flow rate for regularization of zero flow
Booleanuse_Re (from BaseModelNonconstantCrossSectionArea)false= true, if turbulent region is defined by Re, otherwise by m_flow_small
Booleanfrom_dp (from BaseModelNonconstantCrossSectionArea)false= true, use m_flow = f(dp) else dp = f(m_flow)
Advanced › Diagnostics
Booleanshow_T (from PartialTwoPortTransport)true= true, if temperatures at port_a and port_b are computed
Booleanshow_V_flow (from PartialTwoPortTransport)true= true, if volume flow rate at inflowing port is computed
Booleanshow_Re (from BaseModelNonconstantCrossSectionArea)false= true, if Reynolds number is included for plotting
Booleanshow_totalPressures (from BaseModelNonconstantCrossSectionArea)false= true, if total pressures are included for plotting
Booleanshow_portVelocities (from BaseModelNonconstantCrossSectionArea)false= true, if port velocities are included for plotting
Assumptions › Dynamics
Modelica.Fluid.Types.DynamicsmomentumDynamics (from PartialLumpedFlow)system.momentumDynamicsFormulation of momentum balance
Nominal operating point
SI.MassFlowRatem_flow_nominal (from BaseModelNonconstantCrossSectionArea)if system.use_eps_Re then system.m_flow_nominal else 1e2*system.m_flow_smallNominal mass flow rate

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a (from PartialTwoPort)Fluid connector a (positive design flow direction is from port_a to port_b)
Modelica.Fluid.Interfaces.FluidPort_bport_b (from PartialTwoPort)Fluid connector b (positive design flow direction is from port_a to port_b)

Components

TypeNameDefaultDescription
Modelica.Fluid.Systemsystem (from PartialTwoPort)System wide properties
Medium.MassFlowRatem_flow (from PartialTwoPortTransport)Mass flow rate in design flow direction
SI.Pressuredp (from PartialTwoPortTransport)Pressure difference between port_a and port_b (= port_a.p - port_b.p)
SI.VolumeFlowRateV_flow (from PartialTwoPortTransport)m_flow/Modelica.Fluid.Utilities.regStep(m_flow, Medium.density(state_a), Medium.density(state_b), m_flow_small)Volume flow rate at inflowing port (positive when flow from port_a to port_b)
Medium.Temperatureport_a_T (from PartialTwoPortTransport)Modelica.Fluid.Utilities.regStep(port_a.m_flow, Medium.temperature(state_a), Medium.temperature(Medium.setState_phX(port_a.p, port_a.h_outflow, port_a.Xi_outflow)), m_flow_small)Temperature close to port_a, if show_T = true
Medium.Temperatureport_b_T (from PartialTwoPortTransport)Modelica.Fluid.Utilities.regStep(port_b.m_flow, Medium.temperature(state_b), Medium.temperature(Medium.setState_phX(port_b.p, port_b.h_outflow, port_b.Xi_outflow)), m_flow_small)Temperature close to port_b, if show_T = true
SI.LengthpathLength (from PartialLumpedFlow)Length flow path
SI.MomentumI (from PartialLumpedFlow)Momenta of flow segments
SI.ForceIb_flow (from PartialLumpedFlow)Flow of momentum across boundaries
SI.ForceF_p (from PartialLumpedFlow)Pressure force
SI.ForceF_fg (from PartialLumpedFlow)Friction and gravity force
SI.ReynoldsNumberRe (from BaseModelNonconstantCrossSectionArea)Modelica.Fluid.Pipes.BaseClasses.CharacteristicNumbers.ReynoldsNumber_m_flow(m_flow, noEvent(if m_flow > 0 then Medium.dynamicViscosity(state_a) else Medium.dynamicViscosity(state_b)), data.D_Re)Reynolds number at diameter data.D_Re
SI.AbsolutePressurep_total_a (from BaseModelNonconstantCrossSectionArea)port_a.p + 0.5*m_flow^2/((Modelica.Constants.pi/4*data.diameter_a^2)^2*noEvent(if port_a.m_flow > 0 then Medium.density(state_a) else Medium.density(state_b)))Total pressure at port_a
SI.AbsolutePressurep_total_b (from BaseModelNonconstantCrossSectionArea)port_b.p + 0.5*m_flow^2/((Modelica.Constants.pi/4*data.diameter_b^2)^2*noEvent(if port_b.m_flow > 0 then Medium.density(state_b) else Medium.density(state_a)))Total pressure at port_a
SI.Velocityv_a (from BaseModelNonconstantCrossSectionArea)port_a.m_flow/(Modelica.Constants.pi/4*data.diameter_a^2*noEvent(if port_a.m_flow > 0 then Medium.density(state_a) else Medium.density(state_b)))Fluid velocity into port_a
SI.Velocityv_b (from BaseModelNonconstantCrossSectionArea)port_b.m_flow/(Modelica.Constants.pi/4*data.diameter_b^2*noEvent(if port_b.m_flow > 0 then Medium.density(state_b) else Medium.density(state_a)))Fluid velocity into port_b
SI.Pressuredp_fg (from BaseModelNonconstantCrossSectionArea)Pressure loss due to friction and gravity
SI.AreaA_mean (from BaseModelNonconstantCrossSectionArea)Modelica.Constants.pi/4*(data.diameter_a^2 + data.diameter_b^2)/2Mean cross flow area
Medium.ThermodynamicStatestate_b_des (from BaseModelNonconstantCrossSectionArea)Thermodynamic state at port b for flow a -> b
Medium.ThermodynamicStatestate_a_nondes (from BaseModelNonconstantCrossSectionArea)Thermodynamic state at port a for flow a <- b