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) | :: | VRFCond |
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 SizeVRFCondenser(VRFCond)
! SUBROUTINE INFORMATION:
! AUTHOR Richard Raustad, FSEC
! DATE WRITTEN August 2012
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! This subroutine is for sizing VRF Condenser.
! METHODOLOGY EMPLOYED:
! Obtains flow rates from the plant sizing arrays.
! REFERENCES:
! na
! USE STATEMENTS:
USE DataSizing
USE FluidProperties, ONLY: GetDensityGlycol, GetSpecificHeatGlycol
USE ReportSizingManager, ONLY: ReportSizingOutput
USE General, ONLY: RoundSigDigits
USE PlantUtilities, ONLY: RegisterPlantCompDesignFlow
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
Integer, Intent(IN) :: VRFCond
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER :: PltSizCondNum ! Plant Sizing index for condenser loop
REAL(r64) :: rho ! local fluid density [kg/m3]
REAL(r64) :: Cp ! local fluid specific heat [J/kg-k]
REAL(r64) :: tmpCondVolFlowRate ! local condenser design volume flow rate [m3/s]
LOGICAL :: ErrorsFound ! indicates problem with sizing
! save the design water flow rate for use by the water loop sizing algorithms
IF(VRF(VRFCond)%CondenserType == WaterCooled)THEN
ErrorsFound = .FALSE.
PltSizCondNum = 0
IF(VRF(VRFCond)%WaterCondVolFlowRate == Autosize)THEN
IF(VRF(VRFCond)%SourceLoopNum .GT. 0) PltSizCondNum = PlantLoop(VRF(VRFCond)%SourceLoopNum)%PlantSizNum
IF (PltSizCondNum > 0) THEN
rho = GetDensityGlycol(PlantLoop(VRF(VRFCond)%SourceLoopNum)%FluidName, &
PlantSizData(PltSizCondNum)%ExitTemp, &
PlantLoop(VRF(VRFCond)%SourceLoopNum)%FluidIndex,&
'SizeVRFCondenser')
Cp = GetSpecificHeatGlycol(PlantLoop(VRF(VRFCond)%SourceLoopNum)%FluidName, &
PlantSizData(PltSizCondNum)%ExitTemp, &
PlantLoop(VRF(VRFCond)%SourceLoopNum)%FluidIndex, &
'SizeVRFCondenser')
tmpCondVolFlowRate = VRF(VRFCond)%HeatingCapacity / &
( PlantSizData(PltSizCondNum)%DeltaT * Cp * rho )
IF(VRF(VRFCond)%HeatingCapacity /= Autosize)THEN
VRF(VRFCond)%WaterCondVolFlowRate = tmpCondVolFlowRate
CALL ReportSizingOutput('AirConditioner:VariableRefrigerantFlow', &
VRF(VRFCond)%Name, &
'Design Condenser Water Flow Rate [m3/s]', &
VRF(VRFCond)%WaterCondVolFlowRate)
END IF
CALL RegisterPlantCompDesignFlow(VRF(VRFCond)%CondenserNodeNum,VRF(VRFCond)%WaterCondVolFlowRate)
ELSE
CALL ShowSevereError('Autosizing of condenser water flow rate requires a condenser loop Sizing:Plant object')
CALL ShowContinueError('... occurs in AirConditioner:VariableRefrigerantFlow object='//TRIM(VRF(VRFCond)%Name))
CALL ShowContinueError('... plant loop name must be referenced in Sizing:Plant object')
ErrorsFound = .TRUE.
END IF
END IF
IF (ErrorsFound) THEN
CALL ShowFatalError('Preceding sizing errors cause program termination')
END IF
END IF
RETURN
END SUBROUTINE SizeVRFCondenser