This component transports fluid between its two ports, without storing mass or energy. It is based on Modelica.Fluid.Interfaces.PartialTwoPortTransport but it does use a different implementation for handling reverse flow because in this component, mass flow rate can be added or removed from the medium.
If dp_nominal > Modelica.Constants.eps, this
component computes pressure drop due to flow friction. The pressure
drop is defined by a quadratic function that goes through the point
(m_flow_nominal, dp_nominal). At |m_flow| <
deltaM * m_flow_nominal, the pressure drop vs. flow relation
is linearized. If the parameter
linearizeFlowResistance is set to true, then the whole
pressure drop vs. flow resistance curve is linearized.
Q_flow, which is the sensible and latent heat flow
rate added to the medium.mWat_flow, which is the moisture mass flow rate
added to the medium.Set the constant sensibleOnly=true if the model
that extends or instantiates this model sets mWat_flow =
0.
To increase the numerical robustness of the model, the constant
prescribedHeatFlowRate can be set. Use the following
settings:
prescribedHeatFlowRate=true if the only
means of heat transfer at the heatPort is a prescribed
heat flow rate that is not a function of the temperature
difference between the medium and an ambient temperature. Examples
include an ideal electrical heater, a pump that rejects heat into
the fluid stream, or a chiller that removes heat based on a
performance curve. If the heatPort is not connected,
then set prescribedHeatFlowRate=true as in this case,
heatPort.Q_flow=0.prescribedHeatFlowRate=false if there is heat
flow at the heatPort computed as K *
(T-heatPort.T), for some temperature T and some
conductance K, which may itself be a function of temperature
or mass flow rate.prescribedHeatFlowRate=false.If prescribedHeatFlow=true, then energy and mass
balance equations are formulated to guard against numerical
problems near zero flow that can occur if Q_flow or
m_flow are the results of an iterative solver.
homotopyInitialization to a constant.Q_flow
includes latent heat flow rate.use_dh is no longer a parameter in
the pressure drop model.sensibleOnly in
bal1 and bal2 as this constant has been
removed in
BuildingSystems.Fluid.Interfaces.StaticTwoPortHeatMassExchanger.showDesignFlowDirection in extends
statement. This is for #349.port_a if
allowFlowReversal=false and updated documentation. See
issue
281 for a discussion.use_safeDivision into
prescribedHeatFlowRate. See issue 282
for a discussion.homotopyInitialization as it has been
removed in the base class.show_V_flow to pressure drop
calculation, as this model no longer has that parameter.mXi_flow[Medium.nXi] to a scalar
input connector mWat_flow. The reason is that
mXi_flow does not allow to compute the other
components in mX_flow and therefore leads to an
ambiguous use of the model. By only requesting
mWat_flow, the mass balance and species balance can be
implemented correctly.COut, and added min
and max attributes for XiOut.hOut, XiOut and
COut to no longer declare that it is continuous. The
declaration of continuity, i.e, the smooth(0, if
(port_a.m_flow >= 0) then ...) declaration, was required
for Dymola 2012 to simulate, but it is no longer needed for Dymola
2012 FD01.hOut, XiOut and
COut to declare that it is not differentiable.m_flow=0.homotopy operator.port_b was multiplied with the mass flow rate at
port_a. The old implementation led to small errors
that were proportional to the amount of moisture change. For
example, if the moisture added by the component was 0.005
kg/kg, then the error was 0.5%. Also, the
results for forward flow and reverse flow differed by this amount.
With the new implementation, the energy and moisture balance is
exact.sensibleOnly to simplify species
balance equation.