modelPrescribedOutlet

Component that assigns the outlet fluid property at port_a based on an input signal

Extends from Buildings.Fluid.Interfaces.PartialTwoPortInterface (Partial model with two ports and declaration of quantities that are used by many models).

Information

This model sets the temperature or the water vapor mass fraction of the medium that leaves port_a to the value given by the input TSet or X_wSet, subject to optional limitations on the capacity for heating and cooling, or limitations on the humidification or dehumidification moisture mass flow rate. Also, optionally the model allows to take into account first order dynamics.

If the parameters energyDynamics is not equal to Modelica.Fluid.Types.Dynamics.SteadyState, the component models the dynamic response using a first order differential equation. The time constant of the component is equal to the parameter tau. This time constant is adjusted based on the mass flow rate using

τeff = τ |ṁ| ⁄ ṁnom

where τeff is the effective time constant for the given mass flow rate and τ is the time constant at the nominal mass flow rate nom. This type of dynamics is equal to the dynamics that a completely mixed control volume would have.

This model has no pressure drop. See Buildings.Fluid.HeatExchangers.PrescribedOutlet for a model that instantiates this model and that has a pressure drop.

In case of reverse flow, the fluid that leaves port_a has the same properties as the fluid that enters port_b.

Parameters

TypeNameDefaultDescription
Modelica.Units.SI.HeatFlowRateQMax_flowModelica.Constants.infMaximum heat flow rate for heating (positive)
Modelica.Units.SI.HeatFlowRateQMin_flow-Modelica.Constants.infMaximum heat flow rate for cooling (negative)
Modelica.Units.SI.MassFlowRatemWatMax_flowModelica.Constants.infMaximum water mass flow rate addition (positive)
Modelica.Units.SI.MassFlowRatemWatMin_flow-Modelica.Constants.infMaximum water mass flow rate removal (negative)
Booleanuse_TSettrueSet to false to disable temperature set point
Booleanuse_X_wSettrueSet to false to disable water vapor set point
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 PartialTwoPortInterface)Nominal mass flow rate
Advanced
Modelica.Units.SI.MassFlowRatem_flow_small (from PartialTwoPortInterface)1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow
Advanced › Diagnostics
Booleanshow_T (from PartialTwoPortInterface)false= true, if actual temperature at port is computed
Dynamics
Modelica.Units.SI.Timetau10Time constant at nominal flow rate (used if energyDynamics not equal Modelica.Fluid.Types.Dynamics.SteadyState)
Initialization
Modelica.Units.SI.TemperatureT_startMedium.T_defaultStart value of temperature
Modelica.Units.SI.MassFraction[Medium.nX]X_startMedium.X_defaultStart value of mass fractions m_i/m
Dynamics › Conservation equations
Modelica.Fluid.Types.DynamicsenergyDynamicsModelica.Fluid.Types.Dynamics.SteadyStateType of energy balance: dynamic (3 initialization options) or steady 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.RealInputTSetSet point temperature of the fluid that leaves port_b
Modelica.Blocks.Interfaces.RealInputX_wSetSet point for water vapor mass fraction of the fluid that leaves port_b
Modelica.Blocks.Interfaces.RealOutputQ_flowHeat flow rate added to the fluid (if flow is from port_a to port_b)
Modelica.Blocks.Interfaces.RealOutputmWat_flowWater vapor mass flow rate added to the fluid (if flow is from port_a to port_b)

Components

TypeNameDefaultDescription
Modelica.Units.SI.MassFlowRatem_flow (from PartialTwoPortInterface)port_a.m_flowMass flow rate from port_a to port_b (m_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp (from PartialTwoPortInterface)port_a.p - port_b.pPressure difference between port_a and port_b
Medium.ThermodynamicStatesta_a (from PartialTwoPortInterface)if allowFlowReversal then Medium.setState_phX(port_a.p, noEvent(actualStream(port_a.h_outflow)), noEvent(actualStream(port_a.Xi_outflow))) else Medium.setState_phX(port_a.p, noEvent(inStream(port_a.h_outflow)), noEvent(inStream(port_a.Xi_outflow)))Medium properties in port_a
Medium.ThermodynamicStatesta_b (from PartialTwoPortInterface)if allowFlowReversal then Medium.setState_phX(port_b.p, noEvent(actualStream(port_b.h_outflow)), noEvent(actualStream(port_b.Xi_outflow))) else Medium.setState_phX(port_b.p, noEvent(port_b.h_outflow), noEvent(port_b.Xi_outflow))Medium properties in port_b

Revisions

  • March 3, 2022, by Michael Wetter:
    Removed massDynamics.
    This is for issue 1542.
  • April 29, 2021, by Michael Wetter:
    Removed duplicate declaration of m_flow_nominal which is already declared in the base class.
  • March 19, 2018, by Michael Wetter:
    Added bugfix as the old model did not track TSet and X_wSet simultaneously.
    This is for #893.
  • May 3, 2017, by Michael Wetter:
    Refactored model to allow X_wSet as an input.
    This is for #763.
  • January 26, 2016, by Michael Wetter:
    Removed inequality comparison of real numbers in restrictCool and in restrictHeat as this is not allowed in Modelica.
  • November 10, 2014, by Michael Wetter:
    First implementation.