modelTraceSubstancesTwoPort

Ideal two port sensor for trace substance

Extends from Buildings.Fluid.Sensors.BaseClasses.PartialDynamicFlowSensor (Partial component to model sensors that measure flow properties using a dynamic model), Modelica.Icons.RoundSensor (Icon representing a round measurement device).

Information

This model outputs the trace substance 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

TypeNameDefaultDescription
Modelica.Units.SI.Timetau (from PartialDynamicFlowSensor)1Time constant at nominal flow rate (use tau=0 for steady-state sensor, but see user guide for potential problems)
StringsubstanceName"CO2"Name of trace substance
Assumptions
BooleanallowFlowReversal (from PartialTwoPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal
Nominal condition
Modelica.Units.SI.MassFlowRatem_flow_nominal (from PartialFlowSensor)Nominal mass flow rate, used for regularization near zero flow
Advanced
Modelica.Units.SI.MassFlowRatem_flow_small (from PartialFlowSensor)1E-4*m_flow_nominalFor bi-directional flow, temperature is regularized in the region |m_flow| < m_flow_small (m_flow_small > 0 required)
Initialization
Modelica.Blocks.Types.InitinitType (from PartialDynamicFlowSensor)Modelica.Blocks.Types.Init.InitialStateType of initialization (InitialState and InitialOutput are identical)
RealC_start0Initial or guess value of output (= state)

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a (from PartialTwoPort)Fluid connector a (positive design flow direction is from port_a to port_b)
Modelica.Fluid.Interfaces.FluidPort_bport_b (from PartialTwoPort)Fluid connector b (positive design flow direction is from port_a to port_b)
Modelica.Blocks.Interfaces.RealOutputCTrace substance of the passing fluid

Revisions

  • June 25, 2026, by Michael Wetter:
    Added nominal attribute 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:
    Avoided assignment of CMed(nominal=0) as this is not allowed.
  • January 18, 2016 by Filip Jorissen:
    Using parameter tauInv since this now exists in Buildings.Fluid.Sensors.BaseClasses.PartialDynamicFlowSensor. This is for #372.
  • June 10, 2015, by Michael Wetter:
    Reformulated assignment of s and assert statement. The reformulation of the assignment of s was done to allow a model check in non-pedantic mode. This is for issue 268.
  • May 22, 2015, by Michael Wetter:
    Corrected wrong sensor signal if allowFlowReversal=false. For this setting, the sensor output was for the wrong flow direction. This is for issue 249.
  • September 10, 2013, by Michael Wetter:
    Corrected syntax errors in setting nominal value for output signal and for state variable. This eliminates a compilation error in OpenModelica.
  • August 30, 2013, by Michael Wetter:
    Added default value C_start=0.
  • November 3, 2011, by Michael Wetter:
    Moved der(C) := 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 trace substance in medium model.
  • September 29, 2009, by Michael Wetter:
    First implementation.