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 | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | MyLoad | |||
logical, | intent(in) | :: | RunFlag | |||
integer, | intent(in) | :: | Num | |||
logical, | intent(in) | :: | FirstHVACIteration |
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 UpdateBoilerRecords(MyLoad,RunFlag,Num,FirstHVACIteration)
! SUBROUTINE INFORMATION:
! AUTHOR Rahul Chillar
! DATE WRITTEN Dec 2004
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! Boiler simulation reporting
! METHODOLOGY EMPLOYED:
! na
! REFERENCES:
! na
! USE STATEMENTS:
! USE DataPlant, ONLY : PlantLoop
USE PlantUtilities, ONLY : SafeCopyPlantNode
IMPLICIT NONE
! SUBROUTINE ARGUMENT DEFINITIONS:
REAL(r64),INTENT(IN) :: MyLoad !boiler operating load
LOGICAL, INTENT(IN) :: RunFlag !boiler on when TRUE
INTEGER, INTENT(IN) :: Num !boiler number
LOGICAL , INTENT(IN) :: FirstHVACIteration ! TRUE if First iteration of simulation
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER :: BoilerInletNode ! Boiler inlet node number
INTEGER :: BoilerOutletNode ! Boiler outlet node number
REAL(r64) :: ReportingConstant
INTEGER :: LoopNum
INTEGER :: LoopSideNum
ReportingConstant = TimeStepSys*SecInHour
BoilerInletNode = Boiler(Num)%BoilerInletNodeNum
BoilerOutletNode = Boiler(Num)%BoilerOutletNodeNum
IF (MyLoad<=0.0d0 .OR. .NOT. RunFlag)THEN
!set node temperatures
CALL SafeCopyPlantNode(BoilerInletNode, BoilerOutletNode)
Node(BoilerOutletNode)%Temp = Node(BoilerInletNode)%Temp
BoilerReport(Num)%BoilerOutletTemp = Node(BoilerInletNode)%Temp
BoilerReport(Num)%BoilerLoad = 0.0d0
BoilerReport(Num)%FuelUsed = 0.0d0
Node(BoilerInletNode)%Press = Boiler(Num)%BoilerPressCheck
Node(BoilerOutletNode)%Press = Node(BoilerInletNode)%Press
Node(BoilerInletNode)%Quality = 0.0d0
Node(BoilerOutletNode)%Quality = Node(BoilerInletNode)%Quality
ELSE
!set node temperatures
CALL SafeCopyPlantNode(BoilerInletNode, BoilerOutletNode)
Node(BoilerOutletNode)%Temp = BoilerOutletTemp
BoilerReport(Num)%BoilerOutletTemp = BoilerOutletTemp
BoilerReport(Num)%BoilerLoad = BoilerLoad
BoilerReport(Num)%FuelUsed = FuelUsed
Node(BoilerInletNode)%Press = Boiler(Num)%BoilerPressCheck !???
Node(BoilerOutletNode)%Press = Node(BoilerInletNode)%Press
Node(BoilerOutletNode)%Quality = 1.0d0 ! Model assumes saturated steam exiting the boiler
END IF
BoilerReport(Num)%BoilerInletTemp = Node(BoilerInletNode)%Temp
BoilerReport(Num)%Mdot = Node(BoilerOutletNode)%MassFlowRate
LoopNum = Boiler(Num)%LoopNum
LoopSideNum = Boiler(Num)%LoopSideNum
BoilerReport(Num)%BoilerEnergy = BoilerReport(Num)%BoilerLoad*ReportingConstant
BoilerReport(Num)%FuelConsumed = BoilerReport(Num)%FuelUsed*ReportingConstant
RETURN
END SUBROUTINE UpdateBoilerRecords