Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | SurfNum | |||
real(kind=r64), | intent(in) | :: | SurfaceTemperature | |||
real(kind=r64), | intent(in) | :: | ZoneMeanAirTemperature |
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 CalcASHRAEDetailedIntConvCoeff(SurfNum,SurfaceTemperature,ZoneMeanAirTemperature)
!SUBROUTINE INFORMATION:
! AUTHOR Rick Strand
! DATE WRITTEN August 2000
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS FUNCTION:
! This subroutine calculates the interior convection coefficient for a surface.
! METHODOLOGY EMPLOYED:
! The algorithm for convection coefficients is taken directly from the TARP Reference Manual.
! ASHRAE Handbook of Fundamentals 2001, p. 3.12, Table 5 gives equations for natural convection
! heat transfer coefficients in the turbulent range for large, vertical plates and for large,
! horizontal plates facing upward when heated (or downward when cooled). A note in the text
! also gives an approximation for large, horizontal places facing downward when heated (or
! upward when cooled) recommending that it should be half of the facing upward value.
! TARP then adds a curve fit as a function of the cosine of the tilt angle to provide intermediate
! values between vertical and horizontal. The curve fit values at the extremes match the ASHRAE
! values very well.
! REFERENCES:
! 1. Walton, G. N. 1983. Thermal Analysis Research Program (TARP) Reference Manual,
! NBSSIR 83-2655, National Bureau of Standards, "Surface Inside Heat Balances", pp 79-80.
! 2. ASHRAE Handbook of Fundamentals 2001, p. 3.12, Table 5.
! USE STATEMENTS:
! na
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER, INTENT(IN) :: SurfNum ! surface number for which coefficients are being calculated
REAL(r64), INTENT(IN) :: SurfaceTemperature ! Temperature of surface for evaluation of HcIn
REAL(r64), INTENT(IN) :: ZoneMeanAirTemperature ! Mean Air Temperature of Zone
! SUBROUTINE PARAMETER DEFINITIONS:
REAL(r64), PARAMETER :: OneThird = (1.d0/3.d0) ! 1/3 in highest precision
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
REAL(r64) :: DeltaTemp ! Temperature difference between the zone air and the surface
! FLOW:
DeltaTemp = SurfaceTemperature - ZoneMeanAirTemperature
! Set HConvIn using the proper correlation based on DeltaTemp and Surface (Cosine Tilt)
IF ((DeltaTemp == 0.0d0) .OR. (Surface(SurfNum)%CosTilt == 0.0d0)) THEN ! Vertical Surface
HConvIn(SurfNum) = CalcASHRAEVerticalWall(DeltaTemp)
ELSEIF ( ((DeltaTemp < 0.0d0) .AND. (Surface(SurfNum)%CosTilt > 0.0d0)) .OR. &
((DeltaTemp > 0.0d0) .AND. (Surface(SurfNum)%CosTilt < 0.0d0)) ) THEN ! Enhanced Convection
HConvIn(SurfNum) = CalcWaltonUnstableHorizontalOrTilt(DeltaTemp, Surface(SurfNum)%CosTilt)
ELSEIF ( ((DeltaTemp > 0.0d0) .AND. (Surface(SurfNum)%CosTilt > 0.0d0)) .OR. &
((DeltaTemp < 0.0d0) .AND. (Surface(SurfNum)%CosTilt < 0.0d0)) ) THEN ! Reduced Convection
HConvIn(SurfNum) = CalcWaltonStableHorizontalOrTilt(DeltaTemp, Surface(SurfNum)%CosTilt)
END IF ! ...end of IF-THEN block to set HConvIn
! Establish some lower limit to avoid a zero convection coefficient (and potential divide by zero problems)
IF (HConvIn(SurfNum) < LowHConvLimit) HConvIn(SurfNum) = LowHConvLimit
RETURN
END SUBROUTINE CalcASHRAEDetailedIntConvCoeff