This component transports two fluid streams between four ports, without storing mass or energy. It is similar to Buildings.Fluid.Interfaces.StaticTwoPortHeatMassExchanger, but it has four ports instead of two.

If `dp`

,
where *N*_nominal > Modelica.Constants.eps

denotes the fluid *N**1* or *2*,
then the model computes pressure drop due to flow friction in the
respective fluid stream. The pressure drop is defined by a
quadratic function that goes through the point
`(m`

. At
*N*_flow_nominal, dp*N*_nominal)`|m`

, the pressure drop vs. flow relation
is linearized. If the parameter
*N*_flow| < deltaM*N* *
m*N*_flow_nominal`linearizeFlowResistance`

is set to true, then
the whole pressure drop vs. flow resistance curve is
linearized.*N*

This model uses inputs and constants that need to be set by
models that extend or instantiate this model. The following inputs
need to be assigned, where

denotes
*N*`1`

or `2`

:

`Q`

, which is the sensible and latent heat flow rate added to the medium*N*_flow*N*.`mWat`

, which is the moisture mass flow rate added to the medium*N*_flow*N*.

Set the constant `sensibleOnly`

if the
model that extends or instantiates this model sets
*N*=true`mWat`

.*N*_flow = 0

Note that the model does not implement ```
0 = Q1_flow +
Q2_flow
```

or `0 = mXi1_flow + mXi2_flow`

. If there
is no heat or mass transfer with the environment, then a model that
extends this model needs to provide these equations.

- April 14, 2020, by Michael Wetter:

Changed`homotopyInitialization`

to a constant.

This is for Buildings, #1341. - April 11, 2017, by Michael Wetter:

Updated documentation to make clear that`Q1_flow`

and`Q2_flow`

include latent heat flow rate.

This is for issue Buildings #704. - January 22, 2016 by Michael Wetter:

Removed assignment of`sensibleOnly`

in`bal1`

and`bal2`

as this constant has been removed in Buildings.Fluid.Interfaces.StaticTwoPortHeatMassExchanger. - November 13, 2013 by Michael Wetter:

Added parameter`homotopyInitialization`

as it has been removed in the base class. - November 13, 2013, by Michael Wetter:

Removed`import Modelica.Constants;`

statement. - October 8, 2013, by Michael Wetter:

Removed parameter`show_V_flow`

. - July 30, 2013 by Michael Wetter:

Changed connector`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. - March 29, 2011, by Michael Wetter:

Changed energy and mass balance to avoid a division by zero if`m_flow=0`

. - March 27, 2011, by Michael Wetter:

Added`homotopy`

operator. - August 19, 2010, by Michael Wetter:

Fixed bug in energy and moisture balance that affected results if a component adds or removes moisture to the air stream. In the old implementation, the enthalpy and species outflow at`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. - March 22, 2010, by Michael Wetter:

Added constants`sensibleOnly1`

and`sensibleOnly2`

to simplify species balance equations. - April 13, 2009, by Michael Wetter:

Added model to compute flow friction. - March 25, 2008, by Michael Wetter:

First implementation.

Generated at 2021-04-19T01:01:50Z by OpenModelicaOpenModelica 1.18.0~dev-228-gf450566 using GenerateDoc.mos