Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | DeltaTemp | |||
real(kind=r64), | intent(in) | :: | HydraulicDiameter | |||
integer, | intent(in) | :: | SurfNum |
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.
FUNCTION CalcAlamdariHammondUnstableHorizontal(DeltaTemp, HydraulicDiameter, SurfNum ) RESULT (Hn)
! FUNCTION INFORMATION:
! AUTHOR Brent Griffith
! DATE WRITTEN Jul 2010
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS FUNCTION:
! Calculate model equation for Alamdari and Hammond
! This function only for the Unstable heat flow direction for horizontal surfaces
! METHODOLOGY EMPLOYED:
! isolate function for equation.
! REFERENCES:
! Alamdari, F. and G.P. Hammond. 1983. Improved data correlations
! for buoyancy-driven convection in rooms. Building Services Engineering
! Research & Technology. Vol. 4, No. 3.
! USE STATEMENTS:
! na
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! FUNCTION ARGUMENT DEFINITIONS:
REAL(r64), INTENT(IN) :: DeltaTemp ! [C] temperature difference between surface and air
REAL(r64), INTENT(IN) :: HydraulicDiameter ! [m] characteristic size, = (4 * area) / perimeter
INTEGER, INTENT(IN) :: SurfNum ! for messages
REAL(r64) :: Hn ! function result
! FUNCTION PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! FUNCTION LOCAL VARIABLE DECLARATIONS:
INTEGER, SAVE :: ErrorIndex = 0
IF (HydraulicDiameter > 0.d0) THEN
Hn = ( ((1.4d0 * (( ABS(DeltaTemp)/HydraulicDiameter)**OneFourth))**6) &
+ ((1.63d0*( (ABS(DeltaTemp))**OneThird)**6) ))**OneSixth
ELSE
Hn = 9.999d0
IF (ErrorIndex == 0) THEN
CALL ShowSevereMessage('CalcAlamdariHammondUnstableHorizontal: Convection model not evaluated (would divide by zero)')
CALL ShowContinueError('Effective hydraulic diameter is zero, convection model not applicable for surface =' &
//TRIM(Surface(SurfNum)%name) )
CALL ShowContinueError('Convection surface heat transfer coefficient set to 9.999 [W/m2-K] and the simulation continues')
ENDIF
CALL ShowRecurringSevereErrorAtEnd('CalcAlamdariHammondUnstableHorizontal: Convection model not evaluated because zero' &
//' hydraulic diameter and set to 9.999 [W/m2-K]', ErrorIndex )
ENDIF
RETURN
END FUNCTION CalcAlamdariHammondUnstableHorizontal