Element of a heat exchanger with dynamics of the fluids and the solid. The hA value for both fluids is an input. The driving force for the heat transfer is the temperature difference between the fluid volumes and the solid.
The heat capacity C of the metal is assigned as follows. Suppose the metal temperature is governed by
C dT ⁄ dt = (hA)1 (T1 - T) + (hA)2 (T2 - T)
where hA are the convective heat transfer coefficients times heat transfer area that also take into account heat conduction in the heat exchanger fins and T1 and T2 are the medium temperatures. Assuming (hA)1=(hA)2, this equation can be rewritten as
C dT ⁄ dt = 2 (UA)0 ( (T1 - T) + (T2 - T) )
where (UA)0 is the UA value at nominal conditions. Hence we set the heat capacity of the metal to
C = 2 (UA)0 τm
where τm is the time constant that the metal of the heat exchanger has if the metal is approximated by a lumped thermal mass.
Note: This model is introduced to allow the instances
Buildings.Fluid.HeatExchangers.BaseClasses.HexElementLatent and
Buildings.Fluid.HeatExchangers.BaseClasses.HexElementSensible
to redeclare the volume as final, thereby avoiding
that a GUI displays the volume as a replaceable component.
constant to
a parameter.prescribedHeatFlowRate=false for both volumes.
This is for issue 282
of the Annex 60 library.initalize_p from a parameter to a
constant. This is only required in finite volume
models of heat exchangers (to avoid consistent but redundant
initial conditions) and hence it should be set as a
constant.initialize_p1 and
initialize_p2. This is required to enable the coil
models to initialize the pressure in the first volume, but not in
the downstream volumes. Otherwise, the initial equations will be
overdetermined, but consistent. This change was done to avoid a
long information message that appears when translating models.mas.energyDynamics1 and
energyDynamics2, and used instead of these two
parameters energyDynamics. This was done as this
complexity is not required.vol2 to be replaceable,
as vol2 is replaced in some models.MassExchange replaceable, rather than
conditionally removing the model, to avoid a warning during
translation because of unused connector variables.vol1 and
vol2, since this assignment is already done in the
base class using the final modifier.