Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | tex | |||
real(kind=r64), | intent(in) | :: | tw | |||
real(kind=r64), | intent(in) | :: | ws | |||
integer, | intent(in) | :: | iwd | |||
real(kind=r64), | intent(out) | :: | hcout | |||
integer, | intent(in) | :: | ibc |
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
subroutine film(tex,tw,ws,iwd,hcout,ibc)
!***********************************************************************
! purpose - to find outdoor film coeff
!***********************************************************************
! Inputs -
! tex - outdoor air temp [k]
! tw - outside surface temp
! ws - wind speed [m/s]
! iwd - wind direction [0 - windward; 1 - leeward]
! Outputs
! hcout - convective film coeff [w m-2 k-1]
real(r64), intent(in) :: tex, tw, ws
integer, intent(in) :: iwd, ibc
real(r64), intent(out) :: hcout
real(r64), parameter :: conv = 5.6783d0
real(r64) :: vc, acoef, bexp
! calculation of convection component of exterior film coefficient using the :
select case (ibc)
case (0) !ISO 15099
hcout = 4.0d0 + 4.0d0 * ws
case (-1) ! old ASHRAE SPC142 correlation
if (iwd .eq. 0) then ! windward
if (ws.gt.2.0d0) then
vc = 0.25d0 * ws
else
vc = 0.5d0
end if
else ! leeward
vc = 0.3d0 + 0.05d0 * ws
end if
hcout = 3.28d0 * ((vc)**0.605d0)
hcout = conv*hcout ! convert to metric
case (-2) ! Yazdanian-Klems correlation:
if (iwd .eq. 0) then ! windward
acoef = 2.38d0
bexp = 0.89d0
else ! leeward
acoef = 2.86d0
bexp = 0.617d0
end if
hcout = ((0.84d0*(tw-tex)**0.33d0)**2+(acoef*ws**bexp)**2)**0.5d0
case (-3) ! Kimura correlation (Section 8.4.2.3 in ISO 15099-2001):
if (iwd .eq. 0) then ! windward
if (ws.gt.2.0d0) then
vc = 0.25d0 * ws
else
vc = 0.5d0 * ws
end if
else ! leeward
vc = 0.3d0 + 0.05d0*ws
end if
hcout = 4.7d0 + 7.6d0 * vc
end select
end subroutine film