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 | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | TempControlledZoneID | |||
integer, | intent(in) | :: | ActualZoneNum | |||
real(kind=r64), | intent(inout) | :: | ZoneAirSetpoint |
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 AdjustAirSetpointsforOpTempCntrl(TempControlledZoneID, ActualZoneNum, ZoneAirSetpoint)
! SUBROUTINE INFORMATION:
! AUTHOR B. Griffith
! DATE WRITTEN June 2006
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! This subroutine modifies the air temperature setpoint to effect operative temperature control
! METHODOLOGY EMPLOYED:
! pass in data and alter setpoint if needed
! REFERENCES:
! na
! USE STATEMENTS:
USE DataHeatBalance, ONLY: MRT
USE ScheduleManager, ONLY: GetCurrentScheduleValue
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER, INTENT(IN) :: TempControlledZoneID
INTEGER, INTENT(IN) :: ActualZoneNum
REAL(r64), INTENT(INOUT) :: ZoneAirSetpoint
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
REAL(r64) :: thisMRT ! local variable for mean radiant temperature in this zone
REAL(r64) :: thisMRTFraction ! local variable for fraction that MRT is in Op Temp definition
IF (.NOT.(AnyOpTempControl)) RETURN ! do nothing to setpoint
IF (.NOT. (TempControlledZone(TempControlledZoneID)%OperativeTempControl)) RETURN ! do nothing to setpoint
! is operative temp radiative fraction scheduled or fixed?
If (TempControlledZone(TempControlledZoneID)%OpTempCntrlModeScheduled) then
thisMRTFraction = GetCurrentScheduleValue(TempControlledZone(TempControlledZoneID)%OpTempRadiativeFractionSched)
ELSE
thisMRTFraction = TempControlledZone(TempControlledZoneID)%FixedRadiativeFraction
ENDIF
! get mean radiant temperature for zone
thisMRT = MRT(ActualZoneNum)
! modify setpoint for operative temperature control
! traping for MRT fractions between 0.0 and 0.9 during get input, so shouldn't be able to divide by zero here.
ZoneAirSetpoint = (ZoneAirSetpoint - thisMRTFraction * thisMRT) / (1.d0 - thisMRTFraction)
RETURN
END SUBROUTINE AdjustAirSetpointsforOpTempCntrl