Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | b | |||
real(kind=r64), | intent(in) | :: | L | |||
real(kind=r64), | intent(in) | :: | Tg | |||
real(kind=r64), | intent(in) | :: | Tamb | |||
real(kind=r64), | intent(in) | :: | hc_in | |||
real(kind=r64), | intent(out) | :: | hgamb | |||
integer, | intent(in) | :: | scheme |
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.
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 GLtoAMB(b,L,Tg,Tamb, hc_in, hgamb, scheme)
!
! SUBROUTINE INFORMATION:
! AUTHOR John L. Wright, University of Waterloo,
! Mechanical Engineering, Advanced Glazing System Laboratory
! DATE WRITTEN Unknown
! MODIFIED na
!
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! Returns the glass to room air heat transfer coefficient
!
! METHODOLOGY EMPLOYED:
! scheme = flag to select model, scheme=2 has problems, scheme=3 recommended
! fill gas is always air, orientation is always vertical
! hgamb should be zero at b=0, h-flatplate at b=large
!
! REFERENCES:
! na
! USE STATEMENTS:
! na
!
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
REAL(r64), INTENT(IN) :: b ! distance from shade to glass {m}
REAL(r64), INTENT(IN) :: L ! window height {m}, usually taken as 1 meter
REAL(r64), INTENT(IN) :: Tg ! glass temperature {K}
REAL(r64), INTENT(IN) :: Tamb ! room air temperature, {K}
REAL(r64), INTENT(IN) :: hc_in ! inside convection coefficient, {W/m2K}
REAL(r64), INTENT(OUT) :: hgamb ! glass to room air heat transfer coefficient
INTEGER, INTENT(IN) :: scheme
!
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
REAL(r64) :: Tavg
REAL(r64) :: P
REAL(r64) :: rho
REAL(r64) :: beta
REAL(r64) :: dvisc
REAL(r64) :: Cp
REAL(r64) :: k
REAL(r64) :: Rabga
REAL(r64) :: hfp
! Flow
hgamb = hc_in ! default - good for large glass/shade spacing
IF (scheme .eq. 1) Then ! Collins
Tavg=(Tg+Tamb)/2.d0 !T for properties calculations
! properties of AIR
rho=PAtmSeaLevel/(287.097d0*Tavg) ! density (kg/m3) <- temperature in (K)
beta=1.d0/Tavg ! thermal expansion coef(/K)
dvisc = (18.05d0 + ((Tavg-290.d0)/10.d0) * (18.53d0 - 18.05d0)) * 1.0d-6
! dynamic viscosity (kg/m.sec) or (N.sec/m2)
Cp= 1044.66d0-0.31597d0*Tavg+0.000707908d0*Tavg**2-0.00000027034d0*Tavg**3
! specific heat at constant pressure (J/kg.K)
k= 0.02538d0+((Tavg-290.d0)/10.d0)*(0.02614d0-0.02538d0) ! conductivity (W/m.K)
Rabga= (9.81d0*beta*(b**3)*ABS(Tg-Tamb)*(rho**2)*Cp)/(dvisc*k)
IF (Rabga .LE. 1.d0) then
Rabga=1.0d0
ENDIF
hfp= HIC_ASHRAE(L, Tg, Tamb) ! h - flat plate
! Note: as delta-T goes to zero, hfp will also go to zero
hgamb= hfp*exp(-50.d0/Rabga)
! Note: as delta-T -> zero, Rabga->0, hgamb -> zero too
! for any spacing, even large b. This is a problem
ELSE IF (scheme .eq. 2) then
Tavg=(Tg+Tamb)/2.d0 !T for properties calculations
! properties of AIR
rho=PAtmSeaLevel/(287.097d0*Tavg) ! density (kg/m3) <- temperature in (K)
beta=1.d0/Tavg ! thermal expansion coef(/K)
dvisc = (18.05d0 + ((Tavg-290.d0)/10.d0) * (18.53d0-18.05d0)) * 1.0d-6
! dynamic viscosity (kg/m.sec) or (N.sec/m2)
Cp= 1044.66d0-0.31597d0*Tavg+0.000707908d0*Tavg**2-0.00000027034d0*Tavg**3
! specific heat at constant pressure (J/kg.K)
k= 0.02538d0+((Tavg-290.d0)/10.d0)*(0.02614d0-0.02538d0) ! conductivity (W/m.K)
Rabga= (9.81d0*beta*(b**3)*ABS(Tg-Tamb)*(rho**2)*Cp)/(dvisc*k)
IF (Rabga .LE. 1.d0) then
Rabga=1.0d0
ENDIF
hfp= hc_in ! h - flat plate - from calling routine
!Note: using this approach, L no longer has influence on result
! but temperature does and it will drive hgamb to zero when
! the temperature difference goes to zero
hgamb= hfp*exp(-50.0d0/Rabga)
! Note: as delta-T -> zero, Rabga->0, hgamb -> zero too
! for any spacing, even large b. This is a problem
ELSE IF (scheme .eq. 3) then
hfp= hc_in ! h - flat plate - from calling routine
hgamb= hfp*(1.d0 - exp(-4.6d0 * b /0.1d0))
!Note: using this approach, L and temperatures no longer have
! influence on result
! hgamb = hc_in when glass/shade spacing, b, is large
! hgamb = zero when glass/shade spacing, b, is zero
! The exponential decay is 99% complete at b=4 inches = 0.1 m
! ln(0.01) = -4.6
! This coefficient could be fine tuned in future versions, perhaps
! as a function of boundary layer thickness for specific values
! of glass and shade temperatures
EndIf ! end of scheme .eq. 3
RETURN
END SUBROUTINE GLtoAMB