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 UpdateOAMixer(OAMixerNum)
! SUBROUTINE INFORMATION:
! AUTHOR Fred Buhl
! DATE WRITTEN Oct 1998
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE
! Move the results of CalcOAMixer to the affected nodes
! METHODOLOGY EMPLOYED:
! REFERENCES:
! USE STATEMENTS:
USE DataLoopNode
IMPLICIT NONE
! SUBROUTINE ARGUMENT DEFINITIONS
INTEGER, INTENT(IN) :: OAMixerNum
! SUBROUTINE PARAMETER DEFINITIONS:
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER :: MixNode
INTEGER :: RelNode
INTEGER :: RetNode
MixNode = OAMixer(OAMixerNum)%MixNode
RelNode = OAMixer(OAMixerNum)%RelNode
RetNode = OAMixer(OAMixerNum)%RetNode
! Move mixed air data to the mixed air node
Node(MixNode)%MassFlowRate = OAMixer(OAMixerNum)%MixMassFlowRate
Node(MixNode)%Temp = OAMixer(OAMixerNum)%MixTemp
Node(MixNode)%HumRat = OAMixer(OAMixerNum)%MixHumRat
Node(MixNode)%Enthalpy = OAMixer(OAMixerNum)%MixEnthalpy
Node(MixNode)%Press = OAMixer(OAMixerNum)%MixPressure
Node(MixNode)%MassFlowRateMaxAvail = OAMixer(OAMixerNum)%MixMassFlowRate
! Move the relief air data to the relief air node
Node(RelNode)%MassFlowRate = OAMixer(OAMixerNum)%RelMassFlowRate
Node(RelNode)%Temp = OAMixer(OAMixerNum)%RelTemp
Node(RelNode)%HumRat = OAMixer(OAMixerNum)%RelHumRat
Node(RelNode)%Enthalpy = OAMixer(OAMixerNum)%RelEnthalpy
Node(RelNode)%Press = OAMixer(OAMixerNum)%RelPressure
Node(RelNode)%MassFlowRateMaxAvail = OAMixer(OAMixerNum)%RelMassFlowRate
IF (Contaminant%CO2Simulation) Then
Node(RelNode)%CO2 = Node(RetNode)%CO2
IF (OAMixer(OAMixerNum)%MixMassFlowRate <= VerySmallMassFlow) THEN
Node(MixNode)%CO2 = Node(RetNode)%CO2
ELSE
Node(MixNode)%CO2 = ((Node(RetNode)%MassFlowRate - Node(RelNode)%MassFlowRate)*Node(RetNode)%CO2 + &
OAMixer(OAMixerNum)%OAMassFlowRate*OutdoorCO2) / OAMixer(OAMixerNum)%MixMassFlowRate
END IF
End If
IF (Contaminant%GenericContamSimulation) Then
Node(RelNode)%GenContam = Node(RetNode)%GenContam
IF (OAMixer(OAMixerNum)%MixMassFlowRate <= VerySmallMassFlow) THEN
Node(MixNode)%GenContam = Node(RetNode)%GenContam
ELSE
Node(MixNode)%GenContam = ((Node(RetNode)%MassFlowRate - Node(RelNode)%MassFlowRate)*Node(RetNode)%GenContam + &
OAMixer(OAMixerNum)%OAMassFlowRate*OutdoorGC) / OAMixer(OAMixerNum)%MixMassFlowRate
END IF
End If
RETURN
END SUBROUTINE UpdateOAMixer