DX_AIR_COOLING_COIL_CV Subroutine

subroutine DX_AIR_COOLING_COIL_CV(PT_CANYON, PQ_CANYON, PPS, PRHOA, PT_IN, PQ_IN, PCOP_RAT, PCAP_SYS_RAT, PT_ADP, PF_WATER_COND, PM_SYS, PH_BLD_COOL, PH_WASTE, PLE_WASTE, PCOP, PCAP_SYS, PT_OUT, PQ_OUT, PDX_POWER, PT_BLD_COOL)

Arguments

Type IntentOptional AttributesName
real, intent(in) :: PT_CANYON
real, intent(in) :: PQ_CANYON
real, intent(in) :: PPS
real, intent(in) :: PRHOA
real, intent(in) :: PT_IN
real, intent(in) :: PQ_IN
real, intent(in) :: PCOP_RAT
real, intent(in) :: PCAP_SYS_RAT
real, intent(in) :: PT_ADP
real, intent(in) :: PF_WATER_COND
real, intent(inout) :: PM_SYS
real, intent(inout) :: PH_BLD_COOL
real, intent(out) :: PH_WASTE
real, intent(out) :: PLE_WASTE
real, intent(out) :: PCOP
real, intent(out) :: PCAP_SYS
real, intent(out) :: PT_OUT
real, intent(out) :: PQ_OUT
real, intent(out) :: PDX_POWER
real, intent(out) :: PT_BLD_COOL

Contents


Source Code

SUBROUTINE DX_AIR_COOLING_COIL_CV(PT_CANYON, PQ_CANYON, PPS, PRHOA,    &
                             PT_IN, PQ_IN, PCOP_RAT, PCAP_SYS_RAT,     &
                             PT_ADP, PF_WATER_COND,                    &
                             PM_SYS, PH_BLD_COOL, PH_WASTE, PLE_WASTE, &
                             PCOP, PCAP_SYS,  PT_OUT, PQ_OUT,          &
                             PDX_POWER,  PT_BLD_COOL      )
!
USE MODE_THERMOS
USE MODE_PSYCHRO
!
USE MODD_CSTS, ONLY : XCPD
!
USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
USE PARKIND1  ,ONLY : JPRB
!
! Extracted from EP_Engineer_ref p. 518
!
REAL, INTENT(IN) :: PT_CANYON        ! Canyon air temperature [K]
REAL, INTENT(IN) :: PQ_CANYON        ! Canyon air humidity ratio [kg kg-1]
REAL, INTENT(IN) :: PPS              ! Canyon air pressure [Pa]
REAL, INTENT(IN) :: PRHOA            ! Canyon air density [kg m-3]
REAL, INTENT(IN) :: PT_IN            ! Actual inlet air temperature [K]
REAL, INTENT(IN) :: PQ_IN            ! Actual inlet air humidity ratio [kg kg-1]
REAL, INTENT(IN) :: PCOP_RAT         ! Rated COP
REAL, INTENT(IN) :: PCAP_SYS_RAT     ! Rated capacity [W]
REAL, INTENT(IN) :: PT_ADP           ! Apparatus dewpoint [K]
REAL, INTENT(IN) :: PF_WATER_COND    ! fraction of evaporation of the condenser
REAL, INTENT(INOUT) :: PM_SYS        ! HVAC air mass flow rate [kg s-1]
REAL, INTENT(INOUT) :: PH_BLD_COOL   ! Sensible cooling load
REAL, INTENT(OUT) :: PH_WASTE        ! Sensible heat rejected by the condenser [W]
REAL, INTENT(OUT) :: PLE_WASTE       ! Latent heat rejected by the condenser [W]
REAL, INTENT(OUT) :: PCOP            ! Actual COP
REAL, INTENT(OUT) :: PCAP_SYS        ! Actual capacity [W]
REAL, INTENT(OUT) :: PT_OUT          ! Actual outlet temperature [K]
REAL, INTENT(OUT) :: PQ_OUT          ! Actual outlet humidity ratio [kg kg-1]
REAL, INTENT(OUT) :: PDX_POWER       ! Electrical power consumed by the DX unit [W]
REAL, INTENT(OUT) :: PT_BLD_COOL     ! Total energy supplied by the DX unit [W]
!
REAL :: ZTWB_CANYON   ! Canyon air wet-bulb temperature [ K]
REAL :: ZCAPTEMP      ! Total cooling capacity modifier curve function of temperature
REAL :: ZTW_IN        ! Wet-bulb temperature of the air entering the coil [ K]
REAL :: ZT_COND       ! Dry-bulb or wet-bulb air temperature entering the condenser [K]
REAL :: ZEIRTEMP      ! Energy input ratio modifier curve function of temperature
REAL :: ZPLR          ! Part load ratio
REAL :: ZPARTLOADF    ! Part load fraction correlation
REAL :: ZSHR          ! Actual coil sensible heat rate
REAL :: ZH_ADP        ! Enthalpy of air at ADP conditions [J/kg]
REAL :: ZH_OUT        ! Enthalpy of air leaving the cooling coil [J/kg]
REAL :: ZH_IN         ! Enthalpy of air entering the cooling coil [J/kg]
! Performance curves coefficients
REAL :: ZA1
REAL :: ZB1
REAL :: ZC1
REAL :: ZD1
REAL :: ZE1
REAL :: ZF1
! Total cooling capacity modifier curve function of flow fraction (desactivated)
!REAL :: ZCAPFLOW      
!REAL :: ZA2
!REAL :: ZB2
!REAL :: ZC2
REAL :: ZA3
REAL :: ZB3
REAL :: ZC3
REAL :: ZD3
REAL :: ZE3
REAL :: ZF3
! Energy input ratio modifier curve function of flow fraction (desactivated)
!REAL :: ZEIRFLOW      
!REAL :: ZA4
!REAL :: ZB4
!REAL :: ZC4
REAL :: ZA5
REAL :: ZB5
REAL :: ZC5
REAL(KIND=JPRB) :: ZHOOK_HANDLE
!
IF (LHOOK) CALL DR_HOOK('DX_AIR_COOLING_COIL_CV',0,ZHOOK_HANDLE)
!
!*      A.     Definitions
!              -----------
!
!
!*      B.     Performance curves
!              ------------------
! Total cooling capacity modifier curve function of temperature
! Obtained from default vaules of EnergyPlus SingleSpeedDX
! DOE-2.1E, COOL-CAP-FT for PTAC w/ SI temps
!  FurnaceDX DX Coil Cap-FT, Minimum Value of x, 12.77778;  
!                            Maximum Value of x, 23.88889;
!                            Minimum Value of y, 23.88889;
!                            Maximum Value of y, 46.11111
ZA1 =  0.942587793   !- Coefficient1 Constant
ZB1 =  0.009543347   !- Coefficient2 x
ZC1 =  0.00068377    !- Coefficient3 x**2
ZD1 =  -0.011042676  !- Coefficient4 y
ZE1 =  0.000005249   !- Coefficient5 y**2
ZF1 =  -0.00000972   !- Coefficient6 x*y
! Total cooling capacity modifier curve function of flow fraction
! DOE-2.1E, RATED-CCAP-FFLOW for PTAC
!  FurnaceDX DX Coil Cap-FF, Minimum Value of x, 0.5;  
!                            Maximum Value of x, 1.5;
!ZA2 =  0.8           !- Coefficient1 Constant
!ZB2 =  0.2           !- Coefficient2 x
!ZC2 =  0             !- Coefficient3 x**2
! Energy input ratio modifier curve function of temperature
! DOE-2.1E, COOL-EIR-FT for PTAC w/ SI temps
!  FurnaceDX DX Coil EIR-FT,  Minimum Value of x, 12.77778;  
!                            Maximum Value of x, 23.88889;
!                            Minimum Value of y, 23.88889;
!                            Maximum Value of y, 46.11111
ZA3 = 0.342414409    !- Coefficient1 Constant
ZB3 = 0.034885008    !- Coefficient2 x
ZC3 = -0.0006237     !- Coefficient3 x**2
ZD3 = 0.004977216    !- Coefficient4 y
ZE3 = 0.000437951    !- Coefficient5 y**2
ZF3 = -0.000728028   !- Coefficient6 x*y
! Energy input ratio modifier curve function of flow fraction
! DOE-2.1E, RATED-CEIR-FFLOW for PTAC
!  FurnaceDX DX Coil EIR-FF, Minimum Value of x, 0.5;  
!                            Maximum Value of x, 1.5;
!ZA4 = 1.1552         !- Coefficient1 Constant
!ZB4 = -0.1808        !- Coefficient2 x
!ZC4 = 0.0256         !- Coefficient3 x**2
! Part load fraction correlation
! PLF = l.- Cd(1.-PLR) where Cd = 0.15
!  FurnaceDX DX Coil PLF, Minimum Value of x, 0.0;  
!                         Maximum Value of x, 1.0;
ZA5 = 0.85           !- Coefficient1 Constant
ZB5 = 0.15           !- Coefficient2 x
ZC5 = 0              !- Coefficient3 x**2
!
!
!*      C.     Total cooling capacity 
!              ----------------------
! 
IF (PM_SYS/PRHOA/PCAP_SYS_RAT < 0.00004027) THEN
     PM_SYS = 0.00004027*PCAP_SYS_RAT*PRHOA
!     PRINT*,'ERROR: HVAC supply air flow rate must be greater than 0.00004027m3/s/W'
ELSE IF (PM_SYS/PRHOA/PCAP_SYS_RAT > 0.00006041) THEN
     PM_SYS = 0.00006041*PCAP_SYS_RAT*PRHOA
!     PRINT*,'ERROR: HVAC supply air flow rate must be lower than 0.00006041m3/s/W'
END IF
!
! Wet-bulb temperature entering the cooling coil
ZTW_IN      = TWB_FROM_TPQ(PT_IN, PPS, PQ_IN)
!
! Dry-bulb temperature of the air entering an air-cooled condenser 
! or wet-bulb temp entering a water-cooled condenser
ZTWB_CANYON = TWB_FROM_TPQ(PT_CANYON, PPS, PQ_CANYON)
ZT_COND     = ZTWB_CANYON + (PT_CANYON - ZTWB_CANYON)*(1. - PF_WATER_COND)
!
! Total cooling capacity modifier curve function of temperature
ZCAPTEMP = ZA1 + (ZTW_IN -273.15) * (ZB1 + ZC1*(ZTW_IN -273.15)) &
               + (ZT_COND-273.15) * (ZD1 + ZE1*(ZT_COND-273.15)) &
               + (ZTW_IN -273.15) * (ZT_COND-273.15) * ZF1
!
! Total cooling capacity
PCAP_SYS = PCAP_SYS_RAT * ZCAPTEMP
!
!*      D. Coil outlet conditions
!          ----------------------
!
! Inlet air enthalpy
ZH_IN  = ENTH_FN_T_Q(PT_IN,PQ_IN)
! Apparatus dewpoint enthalpy
ZH_ADP = ENTH_FN_T_Q(PT_ADP,QSAT(PT_ADP,PPS))
!
! Cooling coil sensible heat rate
IF (ZH_IN - ZH_ADP < 10.) THEN
  !
  ZSHR = 1.
  !
  PT_OUT = PT_ADP
  PQ_OUT = PQ_IN
  ZH_OUT = ENTH_FN_T_Q(PT_OUT,PQ_OUT)
  PT_BLD_COOL = 0.0
  !
ELSE
  !
  ZSHR  = MIN(XCPD*(PT_IN - PT_ADP)/(ZH_IN - ZH_ADP), 1.) !
  !
  ! Thermal load limited by the system capacity
  IF ( PH_BLD_COOL > PCAP_SYS * ZSHR ) PH_BLD_COOL = PCAP_SYS * ZSHR
  !
  ! Outlet air temperature
  PT_OUT = PT_IN - PH_BLD_COOL / PM_SYS / XCPD
  IF (PT_OUT < PT_ADP) PT_OUT = PT_ADP
  !
  ! Outlet air enthalpy
  ZH_OUT = ZH_IN - XCPD * (PT_IN - PT_OUT) / ZSHR
  !
  ! Outlet air humidity ratio
  PQ_OUT = Q_FN_T_ENTH(PT_OUT, ZH_OUT)
  !
  ! Total thermal energy supplied by the cooling coil
  PT_BLD_COOL = PM_SYS*(ZH_IN - ZH_OUT)
  !
END IF
!
!
!*      D. HVAC efficiency and electrical power consumed by the DX unit
!          ------------------------------------------------------------
! 
! Energy input ratio modifier curve function of temperature
ZEIRTEMP = ZA3 + (ZTW_IN -273.15) * (ZB3 + ZC3*(ZTW_IN -273.15))  &
               + (ZT_COND-273.15) * (ZD3 + ZE3*(ZT_COND-273.15))  &
               + (ZTW_IN -273.15) * (ZT_COND-273.15) * ZF3
!
! HVAC coefficient of performance
PCOP = PCOP_RAT / ZEIRTEMP
!
! Part load fraction correlation
ZPLR = PH_BLD_COOL / (PCAP_SYS * ZSHR)
!
IF (ZPLR > 1.0) ZPLR = 1.0
!
ZPARTLOADF = ZA5 + ZB5 * ZPLR + ZC5 * ZPLR**2
IF ( ZPARTLOADF < MIN(0.7, ZPLR) ) ZPARTLOADF = MIN(0.7, ZPLR)
!
! Electrical power consumed by the DX unit
! (compressors plus outdoor condenser fans)
PDX_POWER = PCAP_SYS / PCOP * ZPLR / ZPARTLOADF
!
!
!*      E. Waste heat emissions
!          --------------------
!
! Total heat rejected by the condenser
PLE_WASTE = (PT_BLD_COOL + PDX_POWER) * PF_WATER_COND
PH_WASTE  = (PT_BLD_COOL + PDX_POWER) * (1. - PF_WATER_COND)
!
IF (LHOOK) CALL DR_HOOK('DX_AIR_COOLING_COIL_CV',1,ZHOOK_HANDLE)
!
END SUBROUTINE DX_AIR_COOLING_COIL_CV