Cooling Coil

Overview

The goal of a cooling coil is to cool and/or dehumidify an air stream by passing the air stream over a finned set of tubes that have cooler glycol (or similar liquid) flowing through them. In principle the exact same physical heat exchanger can be used to heat an air stream.

Mathematical Description

The cooling coil is a particular case of the Heat Exchanger modeling presented in section Heat Exchangers with and without Dehumidification. The water (or similar liquid) passing through the heat exchanger is single phase, and the humid air is assumed to be moist enough that condensation on the heat exchanger surfaces is possible. Therefore, the partially-wet/partially-dry analysis of section Single-phase on working fluid side must be used. The use of this analysis still allows for the possibility that the coil is fully wet or fully dry. The entire area of the heat exchanger is employed in order to calculate \(A_{a,total}\) and \(\dot m_{a,total}\).

Cooling Coil Sample Code

Minimal Component Test:

from __future__ import print_function

from ACHP.CoolingCoil import CoolingCoilClass
from ACHP.FinCorrelations import FinInputs

FinsTubes=FinInputs()
FinsTubes.Tubes.NTubes_per_bank=32
FinsTubes.Tubes.Nbank=3
FinsTubes.Tubes.Ncircuits=5
FinsTubes.Tubes.Ltube=0.452
FinsTubes.Tubes.OD=0.009525
FinsTubes.Tubes.ID=0.0089154
FinsTubes.Tubes.Pl=0.0254
FinsTubes.Tubes.Pt=0.0219964

FinsTubes.Fins.FPI=14.5
FinsTubes.Fins.Pd=0.001
FinsTubes.Fins.xf=0.001
FinsTubes.Fins.t=0.00011
FinsTubes.Fins.k_fin=237

FinsTubes.Air.Vdot_ha=0.5663
FinsTubes.Air.Tmean=299.8
FinsTubes.Air.Tdb= 299.8
FinsTubes.Air.p=101325              #Air pressure in Pa
FinsTubes.Air.RH=0.51
FinsTubes.Air.RHmean=0.51
FinsTubes.Air.FanPower=438          #fan power in Watts

# Here are two equivalent methods for setting parameters
# 1. Create an empty instance of the class, then set parameters CC=CoolingCoilClass()
CC=CoolingCoilClass()
CC.Fins = FinsTubes
CC.FinsType = 'WavyLouveredFins'    #Choose fin Type: 'WavyLouveredFins' or 'HerringboneFins'or 'PlainFins'
CC.Ref_g = 'Water'
CC.mdot_g = 0.15
CC.Tin_g = 278
CC.pin_g = 300000                   #Refrigerant vapor pressure in Pa
CC.Verbosity = 3
CC.Calculate()

print("Method 1:")
print("Cooling Coil Q: " + str(CC.Q) + " W")
print("Cooling Coil SHR: " + str(CC.SHR) + " ")

# 2. Build a dictionary of values, then use that to initialize the class
kwds={'Fins':FinsTubes,
      'FinsType': 'WavyLouveredFins',   #Choose fin Type: 'WavyLouveredFins' or 'HerringboneFins'or 'PlainFins'
      'Ref_g': 'Water',
      'mdot_g': 0.15,
      'Tin_g': 278,
      'pin_g': 300000,               #Refrigerant vapor pressure in Pa
      'Verbosity':3}
CC2=CoolingCoilClass(**kwds)
CC2.Calculate()

print("Method 2:")
print("Cooling Coil Q: " + str(CC2.Q) + " W")
print("Cooling Coil SHR: " + str(CC2.SHR) + " ")

If you open an IPython shell in the root of the documentation (folder Documentation/Web relative to the main trunk), and run the commands below, you should get output similar to

In [1]: %run 'ACHPComponents/ComponentTests/CoolingCoilTest.py'
Method 1:
Cooling Coil Q: 9696.412470349105 W
Cooling Coil SHR: 0.8047125117004815 
Method 2:
Cooling Coil Q: 9696.412470349105 W
Cooling Coil SHR: 0.8047125117004815 

If not, first stop should be the Frequently Asked Questions

Component Class Documentation

class ACHP.CoolingCoil.CoolingCoilClass(**kwargs)[source]

The module that implements a cooling coil. See documentation for further information

Calculate()[source]

This function is now simply a wrapper around the DryWetSegment() function in order to decrease the amount of code replication

Initialize()[source]
OutputList()[source]
Update(**kwargs)[source]

Update the parameters passed in using the dictionary