Model of a discretized coil with no water vapor condensation.
The coil consists of nReg registers that are
perpendicular to the air flow path. Each register consists of
nPipPar parallel pipes, and each pipe can be divided
into nPipSeg pipe segments along the pipe length.
Thus, the smallest element of the coil consists of a pipe segment.
Each pipe segment is modeled by an instance of
Buildings.Fluid.HeatExchangers.BaseClasses.HexElementSensible.
Each element has a state variable for the metal.
If the parameter energyDynamics is different from
Modelica.Fluid.Types.Dynamics.SteadyState, then a
mixing volume of length dl is added to the duct
connection. This can help reducing the dimension of the nonlinear
system of equations.
The convective heat transfer coefficients can, for each fluid individually, be computed as a function of the flow rate and/or the temperature, or assigned to a constant. This computation is done using an instance of Buildings.Fluid.HeatExchangers.BaseClasses.HADryCoil.
In this model, the water (or liquid) flow path needs to be
connected to port_a1 and port_b1, and the
air flow path need to be connected to the other two ports.
To model humidity condensation, use the model Buildings.Fluid.HeatExchangers.WetCoilDiscretized instead of this model, as this model computes only sensible heat transfer.
At very small flow rates, which may be caused when the fan is
off but there is wind pressure on the building that entrains
outside air through the HVAC system, large temperature differences
could occur if diffusion were neglected. This model therefore
approximates a small diffusion between the elements to have more
uniform medium temperatures if the flow is near zero. The
approximation is done using the heat conductors
heaCon1 and heaCon2. As this is a rough
approximation, neighboring elements are connected through these
heat conduction elements, ignoring the actual geometrical
configuration. Also, radiation between the coil surfaces on the air
side is not modelled explicitly, but rather may be considered as
approximated by these heat conductors.
hexReg[nReg].m2_flow_nominal.constant to
a parameter.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.m1_flow_nominal, as this parameter
is already declared in its base class Buildings.Fluid.Interfaces.PartialFourPortInterface.
This change avoids an error in OpenModelica as the two declarations
had a different value for the min attribute, which is
not valid in Modelica.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.dl which is no longer needed.energyDynamics1,
energyDynamics2 and
ductConnectionDynamics, and used instead of these
parameters the new parameter energyDynamics. This was
done as this complexity is not required.connect(hexReg[nReg].port_b1,
pipMan_b.port_b) to connect(hexReg[nReg].port_a1,
pipMan_b.port_b). This closes issue https://github.com/lbl-srg/modelica-buildings/issues/194,
which caused the last register to have no liquid flow.show_T=false to avoid state events near zero
flow.nReg/2 by
div(nReg,2) when instantiating an array of models as
the former leads to a syntax error in Dymola 7.4 FD01.