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) | :: | LoopNum | |||
logical, | intent(in) | :: | FirstHVACIteration | |||
integer, | intent(in) | :: | CallType | |||
integer, | intent(in), | optional | :: | LoopSideNum | ||
integer, | intent(in), | optional | :: | BranchNUm |
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 SimPressureDropSystem(LoopNum, FirstHVACIteration, CallType, LoopSideNum, BranchNum)
! SUBROUTINE INFORMATION:
! AUTHOR Edwin Lee
! DATE WRITTEN August 2009
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! This routine is the public interface for pressure system simulation
! Calls are made to private components as needed
! METHODOLOGY EMPLOYED:
! Standard EnergyPlus methodology
! REFERENCES:
! na
! USE STATEMENTS:
USE DataPlant, ONLY : PressureCall_Init, PressureCall_Calc, PressureCall_Update, PlantLoop, Press_NoPressure
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER, INTENT(IN) :: LoopNum ! Plant Loop to update pressure information
LOGICAL, INTENT(IN) :: FirstHVACIteration ! System flag
INTEGER, INTENT(IN) :: CallType ! Enumerated call type
INTEGER, OPTIONAL, INTENT(IN) :: LoopSideNum ! Loop side num for specific branch simulation
INTEGER, OPTIONAL, INTENT(IN) :: BranchNUm ! Branch num for specific branch simulation
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
! na
!Check if we need to get pressure curve input data
! IF (GetInputFlag) CALL GetPressureSystemInput
!Exit out of any calculation routines if we don't do pressure simulation for this loop
IF ((PlantLoop(LoopNum)%PressureSimType == Press_NoPressure) .AND. &
((CallType == PressureCall_Calc) .OR. (CallType == PressureCall_Update))) RETURN
!Pass to another routine based on calling flag
SELECT CASE (CallType)
CASE (PressureCall_Init)
CALL InitPressureDrop(LoopNum, FirstHVACIteration)
CASE (PressureCall_Calc)
CALL BranchPressureDrop(LoopNum,LoopSideNum,BranchNum) !Objexx:OPTIONAL LoopSideNum, BranchNum used without PRESENT check
CASE (PressureCall_Update)
CALL UpdatePressureDrop(LoopNum)
CASE DEFAULT
!Calling routines should only use the three possible keywords here
END SELECT
RETURN
END SUBROUTINE SimPressureDropSystem