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) | :: | FirstHVACIteration | |||
logical, | intent(inout) | :: | SimNonZoneEquipment |
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 ManageNonZoneEquipment(FirstHVACIteration,SimNonZoneEquipment)
! SUBROUTINE INFORMATION:
! AUTHOR Dan Fisher
! DATE WRITTEN Sept. 2000
! RE-ENGINEERED Richard Liesen
! DATE MODIFIED February 2003
! MODIFIED Hudson, ORNL July 2007
! MODIFIED B. Grifffith, NREL, April 2008,
! added calls for just heat recovery part of chillers
! MODIFIED Removed much for plant upgrade, 2011
! PURPOSE OF THIS SUBROUTINE:
! This routine checks the input file for any non-zone equipment objects and gets their input.
! Zone equipment objects are generally triggered to "get input" when they are called for simulation
! by the ZoneEquipmentManager because they are referenced by a Zone Equipment List. In the case of
! the NonZoneEquipmentManager, it does not yet have a list of non-zone equipment, so it must make
! one here before it knows what to call for simulation.
! METHODOLOGY EMPLOYED: na
! REFERENCES: na
! USE STATEMENTS:
USE DataGlobals, ONLY: ZoneSizingCalc
USE InputProcessor, ONLY: GetNumObjectsFound
USE WaterThermalTanks, ONLY: SimulateWaterHeaterStandAlone
USE WaterUse, ONLY: SimulateWaterUse
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
LOGICAL, INTENT(IN) :: FirstHVACIteration
LOGICAL, INTENT(INOUT) :: SimNonZoneEquipment ! Simulation convergence flag
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER :: WaterHeaterNum ! Water heater object number
INTEGER, SAVE :: NumOfWaterHeater
LOGICAL, SAVE :: CountNonZoneEquip = .TRUE.
! FLOW:
IF (CountNonZoneEquip) THEN
NumOfWaterHeater = GetNumObjectsFound('WaterHeater:Mixed') + GetNumObjectsFound('WaterHeater:Stratified')
CountNonZoneEquip = .FALSE.
END IF
CALL SimulateWaterUse(FirstHVACIteration) ! simulate non-plant loop water use.
IF (.not. ZoneSizingCalc) THEN
DO WaterHeaterNum = 1, NumOfWaterHeater
CALL SimulateWaterHeaterStandAlone(WaterHeaterNum,FirstHVACIteration)
END DO
ENDIF
IF (FirstHVACIteration) THEN
SimNonZoneEquipment = .TRUE.
ELSE
SimNonZoneEquipment = .FALSE.
END IF
RETURN
END SUBROUTINE ManageNonZoneEquipment