modelPartialThreeWayResistance

Flow splitter with partial resistance model at each port

Extends from Buildings.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
Buildings.Fluid.Interfaces.PartialTwoPortInterfaceres1
Buildings.Fluid.Interfaces.PartialTwoPortInterfaceres2
Buildings.Fluid.Interfaces.PartialTwoPortInterfaceres3
Buildings.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 Buildings.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.