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.