modelPartialThreeWayResistance

Flow splitter with partial resistance model at each port

Extends from IDEAS.Fluid.Interfaces.LumpedVolumeDeclarations (Declarations for lumped volumes).

Information

Partial model for flow resistances with three ports such as a flow mixer/splitter or a three way valve.

If energyDynamics ≠ Modelica.Fluid.Types.Dynamics.SteadyState, then at the junction of the three flows, a mixing volume will be present. This will introduce a dynamic energy and momentum balance, which often breaks algebraic loops. The time constant of the mixing volume is determined by the parameter tau.

Parameters

TypeNameDefaultDescription
Dynamics › Conservation equations
Modelica.Fluid.Types.DynamicsenergyDynamics (from LumpedVolumeDeclarations)Modelica.Fluid.Types.Dynamics.DynamicFreeInitialType of energy balance: dynamic (3 initialization options) or steady state
Modelica.Fluid.Types.DynamicssubstanceDynamics (from LumpedVolumeDeclarations)energyDynamicsType of independent mass fraction balance: dynamic (3 initialization options) or steady state
Modelica.Fluid.Types.DynamicstraceDynamics (from LumpedVolumeDeclarations)energyDynamicsType of trace substance balance: dynamic (3 initialization options) or steady state
Modelica.Units.SI.MassFlowRatemDyn_flow_nominalNominal mass flow rate for dynamic momentum and energy balance
Advanced › Dynamics
Modelica.Fluid.Types.DynamicsmassDynamics (from LumpedVolumeDeclarations)energyDynamicsType of mass balance: dynamic (3 initialization options) or steady state, must be steady state if energyDynamics is steady state
Initialization
Medium.AbsolutePressurep_start (from LumpedVolumeDeclarations)Medium.p_defaultStart value of pressure
Medium.TemperatureT_start (from LumpedVolumeDeclarations)Medium.T_defaultStart value of temperature
Medium.MassFraction[Medium.nX]X_start (from LumpedVolumeDeclarations)Medium.X_defaultStart value of mass fractions m_i/m
Medium.ExtraProperty[Medium.nC]C_start (from LumpedVolumeDeclarations)fill(0, Medium.nC)Start value of trace substances
Medium.ExtraProperty[Medium.nC]C_nominal (from LumpedVolumeDeclarations)fill(1E-2, Medium.nC)Nominal value of trace substances. (Set to typical order of magnitude.)
Dynamics
RealmSenFac (from LumpedVolumeDeclarations)1Factor for scaling the sensible thermal mass of the volume
Dynamics › Nominal condition
Modelica.Units.SI.Timetau10Time constant at nominal flow for dynamic energy and momentum balance
Advanced
Booleanfrom_dptrue= true, use m_flow = f(dp) else dp = f(m_flow)
Modelica.Fluid.Types.PortFlowDirectionportFlowDirection_1Modelica.Fluid.Types.PortFlowDirection.BidirectionalFlow direction for port_1
Modelica.Fluid.Types.PortFlowDirectionportFlowDirection_2Modelica.Fluid.Types.PortFlowDirection.BidirectionalFlow direction for port_2
Modelica.Fluid.Types.PortFlowDirectionportFlowDirection_3Modelica.Fluid.Types.PortFlowDirection.BidirectionalFlow direction for port_3
BooleanverifyFlowReversalfalse=true, to assert that the flow does not reverse when portFlowDirection_* does not equal Bidirectional
Modelica.Units.SI.MassFlowRatem_flow_smallSmall mass flow rate for checking flow reversal

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_1First port, typically inlet
Modelica.Fluid.Interfaces.FluidPort_bport_2Second port, typically outlet
Modelica.Fluid.Interfaces.FluidPort_aport_3Third port, can be either inlet or outlet

Components

TypeNameDefaultDescription
IDEAS.Fluid.Interfaces.PartialTwoPortInterfaceres1
IDEAS.Fluid.Interfaces.PartialTwoPortInterfaceres2
IDEAS.Fluid.Interfaces.PartialTwoPortInterfaceres3
IDEAS.Fluid.Delays.DelayFirstOrdervolFluid volume to break algebraic loop

Revisions

  • March 7, 2022, by Michael Wetter:
    Set final massDynamics=energyDynamics.
    This is for #1542.
  • March 22, 2020, by Filip Jorissen:
    Corrected error message of asserts that verify whether flow reversal occurs when verifyFlowReversal=true and portFlowDirection<>Bidirectional. See #1327.
  • July 7, 2018, by Filip Jorissen:
    Added asserts that verify whether flow reversal occurs when verifyFlowReversal=true and portFlowDirection<>Bidirectional. See #963.
  • July 8, 2018, by Filip Jorissen:
    Added nominal value of h_outflow in FluidPorts. See #977.
  • March 30, 2018, by Filip Jorissen:
    Added graphical illustrations for the values of portFlowDirection. Added asserts that verify the consistency of the values of portFlowDirection. See #902.
  • February 22, 2016, by Michael Wetter:
    Conditionally removed control volume vol, and added the conditional connnector port_internal. This was already done when the parameter dynamicBalance was present, but was updated wrong when this parameter was removed. Without these conditional components, the regression test for IDEAS.Fluid.Examples.ResistanceVolumeFlowReversal fails to simulate.
  • December 17, 2015, by Michael Wetter:
    Added assignment redeclare final package Medium=Medium as this is required for OpenModelica. This is for https://github.com/lbl-srg/modelica-buildings/issues/475.
  • February 20, 2016, by Ruben Baetens:
    Removal of dynamicBalance as parameter for massDynamics and energyDynamics.
  • April 13 2015, by Filip Jorissen:
    Exposed options for flow reversal to users and added corresponding implementation.
  • March 23 2010, by Michael Wetter:
    Changed start values from system.p_start or (code T_start) to Medium.p_default.
  • September 18, 2008 by Michael Wetter:
    Replaced splitter model with a fluid port since the splitter model in Modelica.Fluid 1.0 beta does not transport mC_flow.
  • June 11, 2008 by Michael Wetter:
    First implementation.