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
| Type | Name | Default | Description |
|---|---|---|---|
| Dynamics › Conservation equations | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics (from LumpedVolumeDeclarations) | Modelica.Fluid.Types.Dynamics.DynamicFreeInitial | Type of energy balance: dynamic (3 initialization options) or steady state |
| Modelica.Fluid.Types.Dynamics | substanceDynamics (from LumpedVolumeDeclarations) | energyDynamics | Type of independent mass fraction balance: dynamic (3 initialization options) or steady state |
| Modelica.Fluid.Types.Dynamics | traceDynamics (from LumpedVolumeDeclarations) | energyDynamics | Type of trace substance balance: dynamic (3 initialization options) or steady state |
| Modelica.Units.SI.MassFlowRate | mDyn_flow_nominal | Nominal mass flow rate for dynamic momentum and energy balance | |
| Advanced › Dynamics | |||
| Modelica.Fluid.Types.Dynamics | massDynamics (from LumpedVolumeDeclarations) | energyDynamics | Type of mass balance: dynamic (3 initialization options) or steady state, must be steady state if energyDynamics is steady state |
| Initialization | |||
| Medium.AbsolutePressure | p_start (from LumpedVolumeDeclarations) | Medium.p_default | Start value of pressure |
| Medium.Temperature | T_start (from LumpedVolumeDeclarations) | Medium.T_default | Start value of temperature |
| Medium.MassFraction[Medium.nX] | X_start (from LumpedVolumeDeclarations) | Medium.X_default | Start 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 | |||
| Real | mSenFac (from LumpedVolumeDeclarations) | 1 | Factor for scaling the sensible thermal mass of the volume |
| Dynamics › Nominal condition | |||
| Modelica.Units.SI.Time | tau | 10 | Time constant at nominal flow for dynamic energy and momentum balance |
| Advanced | |||
| Boolean | from_dp | true | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Modelica.Fluid.Types.PortFlowDirection | portFlowDirection_1 | Modelica.Fluid.Types.PortFlowDirection.Bidirectional | Flow direction for port_1 |
| Modelica.Fluid.Types.PortFlowDirection | portFlowDirection_2 | Modelica.Fluid.Types.PortFlowDirection.Bidirectional | Flow direction for port_2 |
| Modelica.Fluid.Types.PortFlowDirection | portFlowDirection_3 | Modelica.Fluid.Types.PortFlowDirection.Bidirectional | Flow direction for port_3 |
| Boolean | verifyFlowReversal | false | =true, to assert that the flow does not reverse when portFlowDirection_* does not equal Bidirectional |
| Modelica.Units.SI.MassFlowRate | m_flow_small | Small mass flow rate for checking flow reversal | |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_1 | First port, typically inlet | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_2 | Second port, typically outlet | |
| Modelica.Fluid.Interfaces.FluidPort_a | port_3 | Third port, can be either inlet or outlet |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Fluid.Interfaces.PartialTwoPortInterface | res1 | ||
| Buildings.Fluid.Interfaces.PartialTwoPortInterface | res2 | ||
| Buildings.Fluid.Interfaces.PartialTwoPortInterface | res3 | ||
| Buildings.Fluid.Delays.DelayFirstOrder | vol | Fluid volume to break algebraic loop |
Revisions
-
March 7, 2022, by Michael Wetter:
Setfinal massDynamics=energyDynamics.
This is for #1542. -
March 22, 2020, by Filip Jorissen:
Corrected error message of asserts that verify whether flow reversal occurs whenverifyFlowReversal=trueandportFlowDirection<>Bidirectional. See #1327. -
July 7, 2018, by Filip Jorissen:
Added asserts that verify whether flow reversal occurs whenverifyFlowReversal=trueandportFlowDirection<>Bidirectional. See #963. -
July 8, 2018, by Filip Jorissen:
Added nominal value ofh_outflowinFluidPorts. See #977. -
March 30, 2018, by Filip Jorissen:
Added graphical illustrations for the values ofportFlowDirection. Added asserts that verify the consistency of the values ofportFlowDirection. See #902. -
February 22, 2016, by Michael Wetter:
Conditionally removed control volumevol, and added the conditional connnectorport_internal. This was already done when the parameterdynamicBalancewas present, but was updated wrong when this parameter was removed. Without these conditional components, the regression test forBuildings.Fluid.Examples.ResistanceVolumeFlowReversalfails to simulate. -
December 17, 2015, by Michael Wetter:
Added assignmentredeclare final package Medium=Mediumas this is required for OpenModelica. This is for https://github.com/lbl-srg/modelica-buildings/issues/475. -
February 20, 2016, by Ruben Baetens:
Removal ofdynamicBalanceas parameter formassDynamicsandenergyDynamics. -
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 fromsystem.p_startor (codeT_start) toMedium.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 transportmC_flow. -
June 11, 2008 by Michael Wetter:
First implementation.