modelMassFractionTwoPort
Ideal two port mass fraction sensor
Extends from Buildings.Fluid.Sensors.BaseClasses.PartialDynamicFlowSensor (Partial component to model sensors that measure flow properties using a dynamic model), Buildings.Fluid.BaseClasses.IndexMassFraction (Computes the index of a substance in the mass fraction vector Xi), Modelica.Icons.RoundSensor (Icon representing a round measurement device).
Information
This model outputs the mass fraction of the passing fluid.
The sensor is ideal, i.e. it does not influence the fluid.
If the parameter tau is non-zero, then its output
is computed using a first order differential equation.
Setting tau=0 is not recommend. See
Buildings.Fluid.Sensors.UsersGuide for an explanation.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.Time | tau (from PartialDynamicFlowSensor) | 1 | Time constant at nominal flow rate (use tau=0 for steady-state sensor, but see user guide for potential problems) |
| String | substanceName (from IndexMassFraction) | "" | Name of species substance |
| Assumptions | |||
| Boolean | allowFlowReversal (from PartialTwoPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Nominal condition | |||
| Modelica.Units.SI.MassFlowRate | m_flow_nominal (from PartialFlowSensor) | Nominal mass flow rate, used for regularization near zero flow | |
| Advanced | |||
| Modelica.Units.SI.MassFlowRate | m_flow_small (from PartialFlowSensor) | 1E-4*m_flow_nominal | For bi-directional flow, temperature is regularized in the region |m_flow| < m_flow_small (m_flow_small > 0 required) |
| Initialization | |||
| Modelica.Blocks.Types.Init | initType (from PartialDynamicFlowSensor) | Modelica.Blocks.Types.Init.InitialState | Type of initialization (InitialState and InitialOutput are identical) |
| Medium.MassFraction | X_start | Medium.X_default[i_x] | Initial or guess value of output (= state) |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_a (from PartialTwoPort) | Fluid connector a (positive design flow direction is from port_a to port_b) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b (from PartialTwoPort) | Fluid connector b (positive design flow direction is from port_a to port_b) | |
| Modelica.Blocks.Interfaces.RealOutput | X | Mass fraction of the passing fluid |
Revisions
-
June 25, 2026, by Michael Wetter:
Addednominalattribute to state variable.
This is for IBPSA, #2132. -
February 25, 2020, by Michael Wetter:
Changed icon to display its operating state.
This is for #1294. -
January 26, 2016, by Michael Wetter:
Corrected wrong assignmentXiVec[Medium.nXi](quantity=Medium.extraPropertiesNames)toXiVec[Medium.nXi](quantity=Medium.substanceNames[1:Medium.nXi]).
Changed unit of output signal from1tokg/kgto indicate that it is a mass fraction, and declared the assignment final. -
January 18, 2016 by Filip Jorissen:
Using parametertauInvsince this now exists in Buildings.Fluid.Sensors.BaseClasses.PartialDynamicFlowSensor. This is for #372. -
September 10, 2013, by Michael Wetter:
Changedminandmaxvalues for output signals to allow for numerical approximation error without violating these bounds.
Changed medium declaration in theextendsstatement toreplaceableto avoid a translation error in OpenModelica. -
August 31, 2013, by Michael Wetter:
Revised model to use base class Buildings.Fluid.BaseClasses.IndexMassFraction. -
November 3, 2011, by Michael Wetter:
Movedder(X) := 0;from the initial algorithm section to the initial equation section as this assignment does not conform to the Modelica specification. -
June 3, 2011 by Michael Wetter:
Revised implementation to add dynamics in such a way that the time constant increases as the mass flow rate tends to zero. This significantly improves the numerics. -
February 22, by Michael Wetter:
Improved code that searches for index of the substance name in the medium model. -
Feb. 8, 2011 by Michael Wetter:
First implementation.