Nodes of different colours represent the following:
Solid arrows point from a parent (sub)module to the submodule which is descended from it. Dashed arrows point from a module being used to the module or program unit using it. 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 InitHeatBalFiniteDiff
! SUBROUTINE INFORMATION:
! AUTHOR Richard J. Liesen
! DATE WRITTEN Oct 2003
! MODIFIED na
! RE-ENGINEERED C O Pedersen 2006
! B. Griffith May 2011 move begin-environment and every-timestep inits, cleanup formatting
! PURPOSE OF THIS SUBROUTINE:
! This subroutine sets the initial values for the FD moisture calculation
! METHODOLOGY EMPLOYED:
! REFERENCES:
!
! USE STATEMENTS:
USE DataInterfaces, ONLY:SetupOutputVariable
USE DataSurfaces, ONLY: HeatTransferModel_CondFD
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
LOGICAL,SAVE :: MyEnvrnFlag=.TRUE.
INTEGER :: SurfNum
INTEGER :: ConstrNum ! Loop counter
LOGICAL :: errorsFound
IF (GetHBFiniteDiffInputFlag) THEN
! Obtains conduction FD related parameters from input file
CALL GetCondFDInput
GetHBFiniteDiffInputFlag=.false.
ENDIF
errorsFound=.false.
! now do begin environment inits.
IF (BeginEnvrnFlag .AND. MyEnvrnFlag) THEN
DO SurfNum=1,TotSurfaces
IF (Surface(SurfNum)%HeatTransferAlgorithm /= HeatTransferModel_CondFD) CYCLE
IF(Surface(SurfNum)%Construction <= 0) CYCLE ! Shading surface, not really a heat transfer surface
ConstrNum=Surface(SurfNum)%Construction
IF(Construct(ConstrNum)%TypeIsWindow) CYCLE ! Windows simulated in Window module
SurfaceFD(SurfNum)%T = TempInitValue
SurfaceFD(SurfNum)%TOld = TempInitValue
SurfaceFD(SurfNum)%TT = TempInitValue
SurfaceFD(SurfNum)%Rhov = RhovInitValue
SurfaceFD(SurfNum)%RhovOld = RhovInitValue
SurfaceFD(SurfNum)%RhoT = RhovInitValue
SurfaceFD(SurfNum)%TD = TempInitValue
SurfaceFD(SurfNum)%TDT = TempInitValue
SurfaceFD(SurfNum)%TDTLast = TempInitValue
SurfaceFD(SurfNum)%TDOld = TempInitValue
SurfaceFD(SurfNum)%TDreport = TempInitValue
SurfaceFD(SurfNum)%RH = 0.0d0
SurfaceFD(SurfNum)%RHreport = 0.0d0
SurfaceFD(SurfNum)%EnthOld = EnthInitValue
SurfaceFD(SurfNum)%EnthNew = EnthInitValue
SurfaceFD(SurfNum)%EnthLast = EnthInitValue
TempOutsideAirFD(SurfNum) = 0.d0
RhoVaporAirOut(SurfNum) = 0.d0
RhoVaporSurfIn(SurfNum) = 0.d0
RhoVaporAirIn(SurfNum) = 0.d0
HConvExtFD(SurfNum) = 0.d0
HMassConvExtFD(SurfNum) = 0.d0
HConvInFD(SurfNum) = 0.d0
HMassConvInFD(SurfNum) = 0.d0
HSkyFD(SurfNum) = 0.d0
HGrndFD(SurfNum) = 0.d0
HAirFD(SurfNum) = 0.d0
ENDDO
WarmupSurfTemp=0
MyEnvrnFlag = .FALSE.
END IF
IF (.NOT. BeginEnvrnFlag) THEN
MyEnvrnFlag=.TRUE.
ENDIF
! now do every timestep inits
DO SurfNum=1,TotSurfaces
IF (Surface(SurfNum)%HeatTransferAlgorithm /= HeatTransferModel_CondFD) CYCLE
IF(Surface(SurfNum)%Construction <= 0) CYCLE ! Shading surface, not really a heat transfer surface
ConstrNum=Surface(SurfNum)%Construction
IF(Construct(ConstrNum)%TypeIsWindow) CYCLE ! Windows simulated in Window module
SurfaceFD(SurfNum)%T = SurfaceFD(SurfNum)%TOld
SurfaceFD(SurfNum)%Rhov = SurfaceFD(SurfNum)%RhovOld
SurfaceFD(SurfNum)%TD = SurfaceFD(SurfNum)%TDOld
SurfaceFD(SurfNum)%TDT = SurfaceFD(SurfNum)%TDreport !PT changes from TDold to TDreport
SurfaceFD(SurfNum)%TDTLast = SurfaceFD(SurfNum)%TDOld
SurfaceFD(SurfNum)%EnthOld = SurfaceFD(SurfNum)%EnthOld
SurfaceFD(SurfNum)%EnthNew = SurfaceFD(SurfNum)%EnthOld
SurfaceFD(SurfNum)%EnthLast = SurfaceFD(SurfNum)%EnthOld
ENDDO
RETURN
END SUBROUTINE InitHeatBalFiniteDiff