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 | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | CompType | |||
character(len=*), | intent(in) | :: | CompName | |||
integer, | intent(inout) | :: | CompNum | |||
logical, | intent(in) | :: | RunFlag | |||
logical, | intent(inout) | :: | InitLoopEquip | |||
real(kind=r64), | intent(inout) | :: | MyThermalLoad | |||
real(kind=r64), | intent(out) | :: | MaxCap | |||
real(kind=r64), | intent(out) | :: | MinCap | |||
real(kind=r64), | intent(out) | :: | OptCap | |||
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.
SUBROUTINE SimMicroCHPPlantHeatRecovery(CompType,CompName,CompNum,RunFlag,InitLoopEquip, & !DSU
MyThermalLoad,MaxCap,MinCap,OptCap,FirstHVACIteration)
! SUBROUTINE INFORMATION:
! AUTHOR B. Griffith
! DATE WRITTEN Jan 2006
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! makes sure input are gotten and setup from Plant loop perspective.
! does not (re)simulate entire MicroCHP model
! METHODOLOGY EMPLOYED:
! <description>
! REFERENCES:
! na
! USE STATEMENTS:
! na
USE InputProcessor, ONLY: FindItemInList
Use DataGlobalConstants
USE PlantUtilities, ONLY : UpdateComponentHeatRecoverySide
USE DataPlant, ONLY : TypeOf_Generator_MicroCHP
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
CHARACTER(len=*), INTENT(IN) :: CompType
CHARACTER(len=*), INTENT(IN) :: CompName
INTEGER, INTENT(INOUT) :: CompNum
LOGICAL, INTENT(IN) :: RunFlag
!INTEGER, INTENT(IN) :: FlowLock !DSU
LOGICAL, INTENT(INOUT) :: InitLoopEquip
REAL(r64), INTENT(INOUT) :: MyThermalLoad
REAL(r64), INTENT(OUT) :: MinCap
REAL(r64), INTENT(OUT) :: MaxCap
REAL(r64), INTENT(OUT) :: OptCap
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:
! na
IF (GetMicroCHPInput) THEN
! Read input data.
CALL GetMicroCHPGeneratorInput
GetMicroCHPInput=.false.
ENDIF
IF (InitLoopEquip) THEN
CompNum = FindItemInList(CompName,MicroCHP%Name,NumMicroCHPs)
IF (CompNum == 0) THEN
CALL ShowFatalError('SimMicroCHPPlantHeatRecovery: MicroCHP Generator Unit not found='//TRIM(CompName))
RETURN
ENDIF
CALL InitMicroCHPNoNormalizeGenerators(CompNum, FirstHVACIteration)
IF (MySizeFlag(CompNum)) RETURN
MinCap = GeneratorDynamics(MicroCHP(CompNum)%DynamicsControlID)%QdotHXMin
MaxCap = GeneratorDynamics(MicroCHP(CompNum)%DynamicsControlID)%QdotHXMax
OptCap = GeneratorDynamics(MicroCHP(CompNum)%DynamicsControlID)%QdotHXOpt
RETURN
END IF ! End Of InitLoopEquip
CALL UpdateComponentHeatRecoverySide(MicroCHP(CompNum)%CWLoopNum, &
MicroCHP(CompNum)%CWLoopSideNum, &
TypeOf_Generator_MicroCHP, &
MicroCHP(CompNum)%PlantInletNodeID, &
MicroCHP(CompNum)%PlantOutletNodeID, &
MicroCHP(CompNum)%Report%QdotHR, &
MicroCHP(CompNum)%Report%HeatRecInletTemp, &
MicroCHP(CompNum)%Report%HeatRecOutletTemp, &
MicroCHP(CompNum)%Report%HeatRecMdot , &
FirstHVACIteration)
RETURN
END SUBROUTINE SimMicroCHPPlantHeatRecovery