Skip to content

Commit

Permalink
Add source for version 8.0.0.007
Browse files Browse the repository at this point in the history
  • Loading branch information
Myoldmopar committed May 8, 2015
1 parent e8e50cc commit f5c5ac2
Show file tree
Hide file tree
Showing 225 changed files with 40,384 additions and 20,805 deletions.
539 changes: 335 additions & 204 deletions SourceCode/AirflowNetworkBalanceManager.f90

Large diffs are not rendered by default.

49 changes: 44 additions & 5 deletions SourceCode/AirflowNetworkSolver.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1647,7 +1647,7 @@ SUBROUTINE AFECFR(J,LFLAG,PDROP,I,N,M,F,DF,NF)
! USE STATEMENTS:
USE DataLoopNode, ONLY: Node
USE DataAirLoop, ONLY: LoopSystemOnMassFlowrate,LoopSystemOffMassFlowrate,LoopFanOperationMode,LoopCompCycRatio
USE DataHVACGlobals, ONLY: FanType_SimpleOnOff
USE DataHVACGlobals, ONLY: FanType_SimpleOnOff, FanType_SimpleConstVolume, FanType_SimpleVAV

IMPLICIT NONE ! Enforce explicit typing of all variables in this routine

Expand Down Expand Up @@ -1677,7 +1677,10 @@ SUBROUTINE AFECFR(J,LFLAG,PDROP,I,N,M,F,DF,NF)


! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER CompNum
INTEGER CompNum, k,k1
REAL(r64) :: SumTermFlow ! Sum of all Terminal flows [kg/s]
REAL(r64) :: SumFracSuppLeak ! Sum of all supply leaks as a fraction of supply fan flow rate
Integer Node1, Node2

! FLOW:
CompNum = AirflowNetworkCompData(J)%TypeNum
Expand All @@ -1692,7 +1695,7 @@ SUBROUTINE AFECFR(J,LFLAG,PDROP,I,N,M,F,DF,NF)
F(1) = LoopSystemOnMassFlowrate*LoopCompCycRatio+LoopSystemOffMassFlowrate*(1.0d0-LoopCompCycRatio)
End If
End If
Else
Else If (DisSysCompCVFData(CompNum)%FanTypeNum .eq. FanType_SimpleConstVolume) Then
If (DisSysCompCVFData(CompNum)%FlowRate > 0) Then
F(1) = DisSysCompCVFData(CompNum)%FlowRate*DisSysCompCVFData(CompNum)%Ctrl
Else
Expand All @@ -1701,6 +1704,33 @@ SUBROUTINE AFECFR(J,LFLAG,PDROP,I,N,M,F,DF,NF)
If (MultiSpeedHPIndicator .EQ. 2) Then
F(1) = LoopSystemOnMassFlowrate
End If
Else If (DisSysCompCVFData(CompNum)%FanTypeNum .eq. FanType_SimpleVAV) Then
! Check VAV termals with a damper
SumTermFlow = 0.d0
SumFracSuppLeak = 0.d0
Do k=1,NetworkNumOfLinks
If (AirflowNetworkLinkageData(k)%VAVTermDamper) Then
k1 = AirflowNetworkNodeData(AirflowNetworkLinkageData(k)%NodeNums(1))%EPlusNodeNum
If (Node(k1)%MassFlowRate .GT. 0.0) Then
SumTermFlow = SumTermFlow + Node(k1)%MassFlowRate
End If
End If
If (AirflowNetworkCompData(AirflowNetworkLinkageData(k)%CompNum)%CompTypeNum == CompTypeNum_ELR) then
! Calculate supply leak sensible losses
Node1 = AirflowNetworkLinkageData(k)%NodeNums(1)
Node2 = AirflowNetworkLinkageData(k)%NodeNums(2)
if ((AirflowNetworkNodeData(Node2)%EPlusZoneNum > 0) .AND. (AirflowNetworkNodeData(Node1)%EPlusNodeNum == 0)) Then
SumFracSuppLeak = SumFracSuppLeak + &
DisSysCompELRData(AirflowNetworkCompData(AirflowNetworkLinkageData(k)%CompNum)%TypeNum)%ELR
End If
End If
End Do
F(1) = SumTermFlow/(1.d0-SumFracSuppLeak)
VAVTerminalRatio = 0.d0
If (F(1) .GT. DisSysCompCVFData(CompNum)%MaxAirMassFlowRate) Then
VAVTerminalRatio = DisSysCompCVFData(CompNum)%MaxAirMassFlowRate/F(1)
F(1) = DisSysCompCVFData(CompNum)%MaxAirMassFlowRate
End If
End If
DF(1) = 0.0

Expand Down Expand Up @@ -2509,7 +2539,7 @@ SUBROUTINE AFETMU(J,LFLAG,PDROP,I,N,M,F,DF,NF)
! na

! USE STATEMENTS:
! na
USE DataLoopNode, ONLY: Node

IMPLICIT NONE ! Enforce explicit typing of all variables in this routine

Expand Down Expand Up @@ -2646,6 +2676,15 @@ SUBROUTINE AFETMU(J,LFLAG,PDROP,I,N,M,F,DF,NF)
DF(1) = 0.5d0*FT/PDROP
END IF
END IF
! If damper, setup the airflows from nodal values calculated from teminal
If (AirflowNetworkLinkageData(I)%VAVTermDamper) Then
F(1) = Node(DisSysCompTermUnitData(CompNum)%DamperInletNode)%MassFlowrate
If (VAVTerminalRatio .gt. 0.d0) Then
F(1) = F(1)*VAVTerminalRatio
End If
DF(1) = 0.0
End IF

!
901 FORMAT(A5,I3,6X,4E16.7)

Expand Down Expand Up @@ -4940,7 +4979,7 @@ END SUBROUTINE LClimb
!*****************************************************************************************
! NOTICE
!
! Copyright © 1996-2012 The Board of Trustees of the University of Illinois
! Copyright © 1996-2013 The Board of Trustees of the University of Illinois
! and The Regents of the University of California through Ernest Orlando Lawrence
! Berkeley National Laboratory. All rights reserved.
!
Expand Down
71 changes: 35 additions & 36 deletions SourceCode/BaseboardRadiator.f90
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,7 @@ SUBROUTINE GetBaseboardInput

cCurrentModuleObject = cCMO_BBRadiator_Water

NumConvHWBaseboards = GetNumObjectsFound(TRIM(cCurrentModuleObject))
NumConvHWBaseboards = GetNumObjectsFound(cCurrentModuleObject)

! Calculate total number of baseboard units
NumBaseboards = NumConvHWBaseboards
Expand All @@ -310,7 +310,7 @@ SUBROUTINE GetBaseboardInput
BaseBoardNum=0
DO ConvHWBaseboardNum = 1, NumConvHWBaseboards

CALL GetObjectItem(TRIM(cCurrentModuleObject),ConvHWBaseboardNum,cAlphaArgs,NumAlphas,rNumericArgs,NumNums,IOSTAT, &
CALL GetObjectItem(cCurrentModuleObject,ConvHWBaseboardNum,cAlphaArgs,NumAlphas,rNumericArgs,NumNums,IOSTAT, &
NumBlank=lNumericFieldBlanks,AlphaBlank=lAlphaFieldBlanks, &
AlphaFieldNames=cAlphaFieldNames,NumericFieldNames=cNumericFieldNames)

Expand All @@ -329,17 +329,16 @@ SUBROUTINE GetBaseboardInput
Baseboard(BaseboardNum)%EquipID = cAlphaArgs(1) ! name of this baseboard
Baseboard(BaseboardNum)%EquipType = TypeOf_Baseboard_Conv_Water
Baseboard(BaseboardNum)%Schedule = cAlphaArgs(2)
Baseboard(BaseboardNum)%SchedPtr = GetScheduleIndex(cAlphaArgs(2))
IF (Baseboard(BaseboardNum)%SchedPtr == 0) THEN
IF (lAlphaFieldBlanks(2)) THEN
CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//': '//TRIM(cAlphaFieldNames(2))// &
' is required, missing for '//TRIM(cAlphaFieldNames(1))//'='//TRIM(cAlphaArgs(1)))
ELSE
CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//': invalid '//TRIM(cAlphaFieldNames(2))// &
IF (lAlphaFieldBlanks(2)) THEN
Baseboard(BaseboardNum)%SchedPtr = ScheduleAlwaysOn
ELSE
Baseboard(BaseboardNum)%SchedPtr = GetScheduleIndex(cAlphaArgs(2))
IF (Baseboard(BaseboardNum)%SchedPtr == 0) THEN
CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//': invalid '//TRIM(cAlphaFieldNames(2))// &
' entered ='//TRIM(cAlphaArgs(2))// &
' for '//TRIM(cAlphaFieldNames(1))//'='//TRIM(cAlphaArgs(1)))
ErrorsFound=.true.
END IF
ErrorsFound=.true.
ENDIF
! get inlet node number
Baseboard(BaseboardNum)%WaterInletNode = &
Expand Down Expand Up @@ -372,33 +371,33 @@ SUBROUTINE GetBaseboardInput

! Setup Report variables for the unit
! CurrentModuleObject='ZoneHVAC:Baseboard:Convective:Water'
CALL SetupOutputVariable('Baseboard Heating Energy[J]', Baseboard(BaseboardNum)%Energy, &
CALL SetupOutputVariable('Baseboard Total Heating Energy [J]', Baseboard(BaseboardNum)%Energy, &
'System','Sum',Baseboard(BaseboardNum)%EquipID, &
ResourceTypeKey='ENERGYTRANSFER',EndUseKey='BASEBOARD',GroupKey='System')

CALL SetupOutputVariable('Baseboard Hot Water Consumption[J]', Baseboard(BaseboardNum)%Energy, &
CALL SetupOutputVariable('Baseboard Hot Water Energy [J]', Baseboard(BaseboardNum)%Energy, &
'System','Sum',Baseboard(BaseboardNum)%EquipID, &
ResourceTypeKey='PLANTLOOPHEATINGDEMAND',EndUseKey='BASEBOARD',GroupKey='System')

CALL SetupOutputVariable('Baseboard Heating Rate[W]', Baseboard(BaseboardNum)%Power, &
CALL SetupOutputVariable('Baseboard Total Heating Rate [W]', Baseboard(BaseboardNum)%Power, &
'System','Average',Baseboard(BaseboardNum)%EquipID)

CALL SetupOutputVariable('Baseboard Water Mass Flow Rate[kg/s]', Baseboard(BaseboardNum)%WaterMassFlowRate, &
CALL SetupOutputVariable('Baseboard Hot Water Mass Flow Rate [kg/s]', Baseboard(BaseboardNum)%WaterMassFlowRate, &
'System','Average',Baseboard(BaseboardNum)%EquipID)

CALL SetupOutputVariable('Baseboard Air Mass Flow Rate[kg/s]', Baseboard(BaseboardNum)%AirMassFlowRate, &
CALL SetupOutputVariable('Baseboard Air Mass Flow Rate [kg/s]', Baseboard(BaseboardNum)%AirMassFlowRate, &
'System','Average',Baseboard(BaseboardNum)%EquipID)

CALL SetupOutputVariable('Baseboard Air Inlet Temperature[C]', Baseboard(BaseboardNum)%AirInletTemp, &
CALL SetupOutputVariable('Baseboard Air Inlet Temperature [C]', Baseboard(BaseboardNum)%AirInletTemp, &
'System','Average',Baseboard(BaseboardNum)%EquipID)

CALL SetupOutputVariable('Baseboard Air Outlet Temperature[C]', Baseboard(BaseboardNum)%AirOutletTemp, &
CALL SetupOutputVariable('Baseboard Air Outlet Temperature [C]', Baseboard(BaseboardNum)%AirOutletTemp, &
'System','Average',Baseboard(BaseboardNum)%EquipID)

CALL SetupOutputVariable('Baseboard Water Inlet Temperature[C]', Baseboard(BaseboardNum)%WaterInletTemp, &
CALL SetupOutputVariable('Baseboard Water Inlet Temperature [C]', Baseboard(BaseboardNum)%WaterInletTemp, &
'System','Average',Baseboard(BaseboardNum)%EquipID)

CALL SetupOutputVariable('Baseboard Water Outlet Temperature[C]', Baseboard(BaseboardNum)%WaterOutletTemp, &
CALL SetupOutputVariable('Baseboard Water Outlet Temperature [C]', Baseboard(BaseboardNum)%WaterOutletTemp, &
'System','Average',Baseboard(BaseboardNum)%EquipID)
END DO

Expand Down Expand Up @@ -1372,7 +1371,7 @@ SUBROUTINE GetBaseboardInput

cCurrentModuleObject = cCMO_BBRadiator_Electric

NumConvElecBaseboards = GetNumObjectsFound(TRIM(cCurrentModuleObject))
NumConvElecBaseboards = GetNumObjectsFound(cCurrentModuleObject)

! Calculate total number of baseboard units
NumBaseboards = NumConvElecBaseboards
Expand All @@ -1385,7 +1384,7 @@ SUBROUTINE GetBaseboardInput
BaseBoardNum=0
DO ConvElecBBNum = 1, NumConvElecBaseboards

CALL GetObjectItem(TRIM(cCurrentModuleObject),ConvElecBBNum,cAlphaArgs,NumAlphas,rNumericArgs,NumNums,IOSTAT, &
CALL GetObjectItem(cCurrentModuleObject,ConvElecBBNum,cAlphaArgs,NumAlphas,rNumericArgs,NumNums,IOSTAT, &
NumBlank=lNumericFieldBlanks,AlphaBlank=lAlphaFieldBlanks, &
AlphaFieldNames=cAlphaFieldNames,NumericFieldNames=cNumericFieldNames)

Expand All @@ -1402,19 +1401,18 @@ SUBROUTINE GetBaseboardInput
ENDIF
BaseboardNum = BaseboardNum + 1
Baseboard(BaseboardNum)%EquipName = cAlphaArgs(1) ! name of this baseboard
Baseboard(BaseboardNum)%EquipType = MakeUPPERCase(TRIM(cCurrentModuleObject)) ! the type of baseboard-rename change
Baseboard(BaseboardNum)%EquipType = MakeUPPERCase(cCurrentModuleObject) ! the type of baseboard-rename change
Baseboard(BaseboardNum)%Schedule = cAlphaArgs(2)
Baseboard(BaseboardNum)%SchedPtr = GetScheduleIndex(cAlphaArgs(2))
IF (Baseboard(BaseboardNum)%SchedPtr == 0) THEN
IF (lAlphaFieldBlanks(2)) THEN
CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//': '//TRIM(cAlphaFieldNames(2))// &
' is required, missing for '//TRIM(cAlphaFieldNames(1))//'='//TRIM(cAlphaArgs(1)))
ELSE
CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//': invalid '//TRIM(cAlphaFieldNames(2))// &
IF (lAlphaFieldBlanks(2)) THEN
Baseboard(BaseboardNum)%SchedPtr = ScheduleAlwaysOn
ELSE
Baseboard(BaseboardNum)%SchedPtr = GetScheduleIndex(cAlphaArgs(2))
IF (Baseboard(BaseboardNum)%SchedPtr == 0) THEN
CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//': invalid '//TRIM(cAlphaFieldNames(2))// &
' entered ='//TRIM(cAlphaArgs(2))// &
' for '//TRIM(cAlphaFieldNames(1))//'='//TRIM(cAlphaArgs(1)))
ErrorsFound=.true.
END IF
ErrorsFound=.true.
ENDIF
! get inlet node number
Baseboard(BaseboardNum)%NominalCapacity = rNumericArgs(1)
Expand All @@ -1430,18 +1428,18 @@ SUBROUTINE GetBaseboardInput

! Setup Report variables for the Electric BaseBoards
! CurrentModuleObject='ZoneHVAC:Baseboard:Convective:Electric'
CALL SetupOutputVariable('Baseboard Heating Energy[J]', Baseboard(BaseboardNum)%Energy, &
CALL SetupOutputVariable('Baseboard Total Heating Energy [J]', Baseboard(BaseboardNum)%Energy, &
'System','Sum',Baseboard(BaseboardNum)%EquipName, &
ResourceTypeKey='ENERGYTRANSFER',EndUseKey='BASEBOARD',GroupKey='System')

CALL SetupOutputVariable('Baseboard Heating Rate[W]', Baseboard(BaseboardNum)%Power, &
CALL SetupOutputVariable('Baseboard Total Heating Rate [W]', Baseboard(BaseboardNum)%Power, &
'System','Average',Baseboard(BaseboardNum)%EquipName)

CALL SetupOutputVariable('BaseBoard Electric Consumption [J]',Baseboard(BaseboardNum)%ElecUseLoad, &
CALL SetupOutputVariable('Baseboard Electric Energy [J]',Baseboard(BaseboardNum)%ElecUseLoad, &
'System','Sum',Baseboard(BaseboardNum)%EquipName, &
ResourceTypeKey='Electric',EndUseKey='HEATING',GroupKey='System')

CALL SetupOutputVariable('BaseBoard Electric Power [W]',Baseboard(BaseboardNum)%ElecUseRate, &
CALL SetupOutputVariable('Baseboard Electric Power [W]',Baseboard(BaseboardNum)%ElecUseRate, &
'System','Average',Baseboard(BaseboardNum)%EquipName)

END DO
Expand Down Expand Up @@ -1616,6 +1614,7 @@ SUBROUTINE SimElectricConvective(BaseboardNum, LoadMet)
!unused0909 USE DataEnvironment, ONLY: OutBaroPress
USE DataLoopNode, ONLY: Node
USE Psychrometrics, ONLY: PsyCpAirFnWTdb
USE DataHVACGlobals, ONLY: SmallLoad

IMPLICIT NONE
! SUBROUTINE ARGUMENT DEFINITIONS:
Expand Down Expand Up @@ -1652,7 +1651,7 @@ SUBROUTINE SimElectricConvective(BaseboardNum, LoadMet)


IF (GetCurrentScheduleValue(Baseboard(BaseboardNum)%SchedPtr) .GT. 0.0 .and. &
LoadMet >= 0.0) THEN
LoadMet >= SmallLoad) THEN

! if the load exceeds the capacity than the capacity is set to the BB limit.
IF(LoadMet > Baseboard(BaseboardNum)%NominalCapacity) Then
Expand Down Expand Up @@ -1727,7 +1726,7 @@ END MODULE BaseboardElectric

! NOTICE
!
! Copyright © 1996-2012 The Board of Trustees of the University of Illinois
! Copyright © 1996-2013 The Board of Trustees of the University of Illinois
! and The Regents of the University of California through Ernest Orlando Lawrence
! Berkeley National Laboratory. All rights reserved.
!
Expand Down
Loading

0 comments on commit f5c5ac2

Please sign in to comment.