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.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in), | optional | :: | SuppressRadiationUpdate | ||
logical, | intent(in), | optional | :: | SumLatentGains |
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 UpdateInternalGainValues(SuppressRadiationUpdate, SumLatentGains)
! SUBROUTINE INFORMATION:
! AUTHOR B. Griffith
! DATE WRITTEN Dec. 2011
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! <description>
! METHODOLOGY EMPLOYED:
! <description>
! REFERENCES:
! na
! USE STATEMENTS:
USE DataHeatBalFanSys, ONLY: ZoneLatentGain
USE DataContaminantBalance, ONLY: Contaminant, ZoneGCGain
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
LOGICAL , OPTIONAL, INTENT(IN) :: SuppressRadiationUpdate
LOGICAL , OPTIONAL, INTENT(IN) :: SumLatentGains
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER :: Loop
INTEGER :: NZ
LOGICAL :: DoRadiationUpdate
LOGICAL :: ReSumLatentGains
DoRadiationUpdate = .TRUE.
ReSumLatentGains = .FALSE.
IF (PRESENT(SuppressRadiationUpdate)) THEN
IF (SuppressRadiationUpdate) DoRadiationUpdate = .FALSE.
ENDIF
IF (PRESENT(SumLatentGains)) THEN
IF (SumLatentGains) ReSumLatentGains = .TRUE.
ENDIF
! store pointer values to hold generic internal gain values constant for entire timestep
DO NZ = 1, NumOfZones
DO Loop=1, ZoneIntGain(NZ)%NumberOfDevices
ZoneIntGain(NZ)%Device(Loop)%ConvectGainRate = ZoneIntGain(NZ)%Device(Loop)%PtrConvectGainRate
ZoneIntGain(NZ)%Device(Loop)%ReturnAirConvGainRate = ZoneIntGain(NZ)%Device(Loop)%PtrReturnAirConvGainRate
IF (DoRadiationUpdate) ZoneIntGain(NZ)%Device(Loop)%RadiantGainRate = ZoneIntGain(NZ)%Device(Loop)%PtrRadiantGainRate
ZoneIntGain(NZ)%Device(Loop)%LatentGainRate = ZoneIntGain(NZ)%Device(Loop)%PtrLatentGainRate
ZoneIntGain(NZ)%Device(Loop)%ReturnAirLatentGainRate = ZoneIntGain(NZ)%Device(Loop)%PtrReturnAirLatentGainRate
ZoneIntGain(NZ)%Device(Loop)%CarbonDioxideGainRate = ZoneIntGain(NZ)%Device(Loop)%PtrCarbonDioxideGainRate
ZoneIntGain(NZ)%Device(Loop)%GenericContamGainRate = ZoneIntGain(NZ)%Device(Loop)%PtrGenericContamGainRate
ENDDO
IF (ReSumLatentGains) THEN
CALL SumAllInternalLatentGains(NZ, ZoneLatentGain(NZ))
ENDIF
ENDDO
If (Contaminant%GenericContamSimulation .AND. ALLOCATED(ZoneGCGain)) Then
DO NZ = 1, NumOfZones
CALL SumAllInternalGenericContamGains(NZ, ZoneGCGain(NZ) )
ZnRpt(NZ)%GCRate = ZoneGCGain(NZ)
ENDDO
END IF
RETURN
END SUBROUTINE UpdateInternalGainValues