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) | :: | OAMixerNum |
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 CalcOAMixer(OAMixerNum)
! SUBROUTINE INFORMATION:
! AUTHOR Fred Buhl
! DATE WRITTEN Oct 1998
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE
! Calculate the mixed air flow and conditions
! METHODOLOGY EMPLOYED:
! REFERENCES:
! USE STATEMENTS:
USE Psychrometrics, ONLY:PsyTdbFnHW
IMPLICIT NONE
! SUBROUTINE ARGUMENT DEFINITIONS
INTEGER, INTENT(IN) :: OAMixerNum
! SUBROUTINE PARAMETER DEFINITIONS:
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
REAL(r64) :: RecircMassFlowRate
REAL(r64) :: RecircPressure
REAL(r64) :: RecircEnthalpy
REAL(r64) :: RecircHumRat
! Define a recirculation mass flow rate
RecircMassFlowRate = OAMixer(OAMixerNum)%RetMassFlowRate - OAMixer(OAMixerNum)%RelMassFlowRate
!In certain low flow conditions the return air mass flow rate can be below the outside air value established
! by the user. This check will ensure that this condition does not result in unphysical air properties.
If(RecircMassFlowRate < 0.0d0)THEN
RecircMassFlowRate = 0.0d0
OAMixer(OAMixerNum)%RelMassFlowRate = OAMixer(OAMixerNum)%RetMassFlowRate
END IF
! Pass through the return air conditions to the relief air stream. The return air is "split" to
! the relief air and the recirculation air.
OAMixer(OAMixerNum)%RelTemp = OAMixer(OAMixerNum)%RetTemp
OAMixer(OAMixerNum)%RelHumRat = OAMixer(OAMixerNum)%RetHumRat
OAMixer(OAMixerNum)%RelEnthalpy = OAMixer(OAMixerNum)%RetEnthalpy
OAMixer(OAMixerNum)%RelPressure = OAMixer(OAMixerNum)%RetPressure
RecircPressure = OAMixer(OAMixerNum)%RetPressure
RecircEnthalpy = OAMixer(OAMixerNum)%RetEnthalpy
RecircHumRat = OAMixer(OAMixerNum)%RetHumRat
! The recirculation air and the outside air are mixed to form the mixed air stream
OAMixer(OAMixerNum)%MixMassFlowRate = OAMixer(OAMixerNum)%OAMassFlowRate + RecircMassFlowRate
! Check for zero flow
IF (OAMixer(OAMixerNum)%MixMassFlowRate <= VerySmallMassFlow) THEN
OAMixer(OAMixerNum)%MixEnthalpy = OAMixer(OAMixerNum)%RetEnthalpy
OAMixer(OAMixerNum)%MixHumRat = OAMixer(OAMixerNum)%RetHumRat
OAMixer(OAMixerNum)%MixPressure = OAMixer(OAMixerNum)%RetPressure
OAMixer(OAMixerNum)%MixTemp = OAMixer(OAMixerNum)%RetTemp
RETURN
END IF
OAMixer(OAMixerNum)%MixEnthalpy = (RecircMassFlowRate*RecircEnthalpy + OAMixer(OAMixerNum)%OAMassFlowRate*&
OAMixer(OAMixerNum)%OAEnthalpy) / OAMixer(OAMixerNum)%MixMassFlowRate
OAMixer(OAMixerNum)%MixHumRat = (RecircMassFlowRate*RecircHumRat + OAMixer(OAMixerNum)%OAMassFlowRate*&
OAMixer(OAMixerNum)%OAHumRat) / OAMixer(OAMixerNum)%MixMassFlowRate
OAMixer(OAMixerNum)%MixPressure = (RecircMassFlowRate*RecircPressure + OAMixer(OAMixerNum)%OAMassFlowRate*&
OAMixer(OAMixerNum)%OAPressure) / OAMixer(OAMixerNum)%MixMassFlowRate
! Mixed air temperature is calculated from the mixed air enthalpy and humidity ratio.
OAMixer(OAMixerNum)%MixTemp = PsyTdbFnHW(OAMixer(OAMixerNum)%MixEnthalpy,OAMixer(OAMixerNum)%MixHumRat)
RETURN
END SUBROUTINE CalcOAMixer