modelPrescribedOutlet
Extends from IBPSA.Fluid.Interfaces.PartialTwoPortInterface (Partial model transporting fluid between two ports without storing mass or energy).
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 or
massDynamics are 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 IBPSA.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
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.SIunits.HeatFlowRate | QMax_flow | Modelica.Constants.inf | Maximum heat flow rate for heating (positive) |
| Modelica.SIunits.HeatFlowRate | QMin_flow | -Modelica.Constants.inf | Maximum heat flow rate for cooling (negative) |
| Modelica.SIunits.MassFlowRate | mWatMax_flow | Modelica.Constants.inf | Maximum water mass flow rate addition (positive) |
| Modelica.SIunits.MassFlowRate | mWatMin_flow | -Modelica.Constants.inf | Maximum water mass flow rate removal (negative) |
| Boolean | use_TSet | true | Set to false to disable temperature set point |
| Boolean | use_X_wSet | true | Set to false to disable water vapor set point |
| Assumptions | |||
| Boolean | allowFlowReversal (from PartialTwoPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Nominal condition | |||
| Modelica.SIunits.MassFlowRate | m_flow_nominal (from PartialTwoPortInterface) | Nominal mass flow rate | |
| Advanced | |||
| Modelica.SIunits.MassFlowRate | m_flow_small (from PartialTwoPortInterface) | 1E-4*abs(m_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialTwoPortInterface) | false | = true, if actual temperature at port is computed |
| Dynamics | |||
| Modelica.SIunits.Time | tau | 10 | Time constant at nominal flow rate (used if energyDynamics or massDynamics not equal Modelica.Fluid.Types.Dynamics.SteadyState) |
| Initialization | |||
| Modelica.SIunits.Temperature | T_start | Medium.T_default | Start value of temperature |
| Modelica.SIunits.MassFraction[Medium.nX] | X_start | Medium.X_default | Start value of mass fractions m_i/m |
| Dynamics › Equations | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamics.SteadyState | Type of energy balance: dynamic (3 initialization options) or steady state |
| Modelica.Fluid.Types.Dynamics | massDynamics | energyDynamics | Type of mass balance: dynamic (3 initialization options) or steady 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.RealInput | TSet | Set point temperature of the fluid that leaves port_b | |
| Modelica.Blocks.Interfaces.RealInput | X_wSet | Set point for water vapor mass fraction of the fluid that leaves port_b | |
| Modelica.Blocks.Interfaces.RealOutput | Q_flow | Heat flow rate added to the fluid (if flow is from port_a to port_b) | |
| Modelica.Blocks.Interfaces.RealOutput | mWat_flow | Water vapor mass flow rate added to the fluid (if flow is from port_a to port_b) |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.SIunits.MassFlowRate | m_flow (from PartialTwoPortInterface) | port_a.m_flow | Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) |
| Modelica.SIunits.PressureDifference | dp (from PartialTwoPortInterface) | port_a.p - port_b.p | Pressure difference between port_a and port_b |
| Medium.ThermodynamicState | sta_a (from PartialTwoPortInterface) | Medium.setState_phX(port_a.p, noEvent(actualStream(port_a.h_outflow)), noEvent(actualStream(port_a.Xi_outflow))) | Medium properties in port_a |
| Medium.ThermodynamicState | sta_b (from PartialTwoPortInterface) | Medium.setState_phX(port_b.p, noEvent(actualStream(port_b.h_outflow)), noEvent(actualStream(port_b.Xi_outflow))) | Medium properties in port_b |
Revisions
-
March 19, 2018, by Michael Wetter:
Added bugfix as the old model did not trackTSetandX_wSetsimultaneously.
This is for #893. -
May 3, 2017, by Michael Wetter:
Refactored model to allowX_wSetas an input.
This is for #763. -
January 26, 2016, by Michael Wetter:
Removed inequality comparison of real numbers inrestrictCooland inrestrictHeatas this is not allowed in Modelica. -
November 10, 2014, by Michael Wetter:
First implementation.