modelTwoWayFlowElement
Flow resistance that uses the power law
Extends from AixLib.Fluid.Interfaces.PartialFourPortInterface (Partial model with four ports and declaration of quantities that are used by many models), AixLib.Airflow.Multizone.BaseClasses.ErrorControl (Interface that defines parameters for error control).
Information
This is a partial model for models that describe the bi-directional air flow through large openings.
Models that extend this model need to compute
mAB_flow and mBA_flow,
or alternatively VAB_flow and VBA_flow,
and the face area area.
The face area is a variable to allow this partial model to be used
for doors that can be open or closed as a function of an input signal.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.Velocity | vZer | 0.001 | Minimum velocity to prevent zero flow. Recommended: 0.001 |
| Assumptions | |||
| Boolean | allowFlowReversal1 (from PartialFourPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 |
| Boolean | allowFlowReversal2 (from PartialFourPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 |
| Nominal condition | |||
| Modelica.Units.SI.MassFlowRate | m1_flow_nominal (from PartialFourPortInterface) | Nominal mass flow rate | |
| Modelica.Units.SI.MassFlowRate | m2_flow_nominal (from PartialFourPortInterface) | Nominal mass flow rate | |
| Advanced | |||
| Medium1.MassFlowRate | m1_flow_small (from PartialFourPortInterface) | 1E-4*abs(m1_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Medium2.MassFlowRate | m2_flow_small (from PartialFourPortInterface) | 1E-4*abs(m2_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Boolean | forceErrorControlOnFlow (from ErrorControl) | true | Flag to force error control on m_flow. Set to true if interested in flow rate |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialFourPortInterface) | false | = true, if actual temperature at port is computed |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_a1 (from PartialFourPort) | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b1 (from PartialFourPort) | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) | |
| Modelica.Fluid.Interfaces.FluidPort_a | port_a2 (from PartialFourPort) | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b2 (from PartialFourPort) | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Medium1.MassFlowRate | m1_flow (from PartialFourPortInterface) | port_a1.m_flow | Mass flow rate from port_a1 to port_b1 (m1_flow > 0 is design flow direction) |
| Modelica.Units.SI.PressureDifference | dp1 (from PartialFourPortInterface) | port_a1.p - port_b1.p | Pressure difference between port_a1 and port_b1 |
| Medium2.MassFlowRate | m2_flow (from PartialFourPortInterface) | port_a2.m_flow | Mass flow rate from port_a2 to port_b2 (m2_flow > 0 is design flow direction) |
| Modelica.Units.SI.PressureDifference | dp2 (from PartialFourPortInterface) | port_a2.p - port_b2.p | Pressure difference between port_a2 and port_b2 |
| Medium1.ThermodynamicState | sta_a1 (from PartialFourPortInterface) | if allowFlowReversal1 then Medium1.setState_phX(port_a1.p, noEvent(actualStream(port_a1.h_outflow)), noEvent(actualStream(port_a1.Xi_outflow))) else Medium1.setState_phX(port_a1.p, inStream(port_a1.h_outflow), inStream(port_a1.Xi_outflow)) | Medium properties in port_a1 |
| Medium1.ThermodynamicState | sta_b1 (from PartialFourPortInterface) | if allowFlowReversal1 then Medium1.setState_phX(port_b1.p, noEvent(actualStream(port_b1.h_outflow)), noEvent(actualStream(port_b1.Xi_outflow))) else Medium1.setState_phX(port_b1.p, port_b1.h_outflow, port_b1.Xi_outflow) | Medium properties in port_b1 |
| Medium2.ThermodynamicState | sta_a2 (from PartialFourPortInterface) | if allowFlowReversal2 then Medium2.setState_phX(port_a2.p, noEvent(actualStream(port_a2.h_outflow)), noEvent(actualStream(port_a2.Xi_outflow))) else Medium2.setState_phX(port_a2.p, inStream(port_a2.h_outflow), inStream(port_a2.Xi_outflow)) | Medium properties in port_a2 |
| Medium2.ThermodynamicState | sta_b2 (from PartialFourPortInterface) | if allowFlowReversal2 then Medium2.setState_phX(port_b2.p, noEvent(actualStream(port_b2.h_outflow)), noEvent(actualStream(port_b2.Xi_outflow))) else Medium2.setState_phX(port_b2.p, port_b2.h_outflow, port_b2.Xi_outflow) | Medium properties in port_b2 |
| Modelica.Units.SI.VolumeFlowRate | VAB_flow | Volume flow rate from A to B if positive | |
| Modelica.Units.SI.VolumeFlowRate | VBA_flow | Volume flow rate from B to A if positive | |
| Modelica.Units.SI.MassFlowRate | mAB_flow | Mass flow rate from A to B if positive | |
| Modelica.Units.SI.MassFlowRate | mBA_flow | Mass flow rate from B to A if positive | |
| Modelica.Units.SI.Velocity | vAB | Average velocity from A to B | |
| Modelica.Units.SI.Velocity | vBA | Average velocity from B to A | |
| Modelica.Units.SI.Density | rho_a1_inflow | Density of air flowing in from port_a1 | |
| Modelica.Units.SI.Density | rho_a2_inflow | Density of air flowing in from port_a2 | |
| Modelica.Units.SI.Area | A | Face area |
Contents
| Name | Description |
|---|---|
| Medium in the component |
Revisions
-
May 12, 2020, by Michael Wetter:
Changed assignment ofm1_flow_smallandm2_flow_smalltofinal. These quantities are not used in this model and models that extend from it. Hence there is no need for the user to change the value. -
January 18, 2019, by Jianjun Hu:
Limited the media choice to moist air only. See #1050. -
September 13, 2018, by Michael Wetter:
SetallowFlowReversal=trueas the flow can be slightly negative due to the regularization, in which case them_flow(min=0)that is set in the base class AixLib.Fluid.Interfaces.PartialFourPort is violated.
See #937. -
November 3, 2016, by Michael Wetter:
Removed start values for inflowing density to simplify the parameter window, and because this can usually be computed from the state variables.
This is for #552. -
February 24, 2015 by Michael Wetter:
Changed model to use AixLib.Utilities.Psychrometrics.Functions.density_pTX for the density computation as AixLib.Media.Air.density does not depend on temperature. - June 18, 2014 by Michael Wetter:
Added start values andfixed=trueattribute formExcABandmExcBA. This avoids a warning during translation. - July 20, 2010 by Michael Wetter:
Migrated model to Modelica 3.1 and integrated it into the Buildings library. - February 4, 2005 by Michael Wetter:
Released first version.