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) | :: | UTSCNum |
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 CalcPassiveTranspiredCollector(UTSCNum)
! SUBROUTINE INFORMATION:
! AUTHOR B.T. Griffith
! DATE WRITTEN November 2004
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! model the effect of the a ventilated baffle covering the outside of a heat transfer surface.
! METHODOLOGY EMPLOYED:
! All the work is done in a subroutine .
! REFERENCES:
! Nat. Vent. equations from ASHRAE HoF 2001 Chapt. 26
! USE STATEMENTS:
USE DataEnvironment , ONLY: SunIsUp, OutBaroPress, OutEnthalpy
USE Psychrometrics , ONLY: PsyRhoAirFnPbTdbW, PsyCpAirFnWTdb, PsyWFnTdbTwbPb
USE DataSurfaces , ONLY: Surface
USE DataHVACGlobals , ONLY: TimeStepSys
USE ConvectionCoefficients, ONLY: InitExteriorConvectionCoeff
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER, INTENT(IN) :: UTSCNum
! SUBROUTINE PARAMETER DEFINITIONS:
! INTERFACE BLOCK SPECIFICATIONS:
INTERFACE
SUBROUTINE CalcPassiveExteriorBaffleGap(SurfPtrARR, VentArea, Cv, Cd, HdeltaNPL, SolAbs, AbsExt, Tilt, AspRat, GapThick, &
Roughness,QdotSource, TsBaffle, TaGap, HcGapRpt, HrGapRpt,IscRpt , MdotVentRpt, &
VdotWindRpt, VdotBouyRpt)
USE DataPrecisionGlobals
INTEGER, INTENT(IN), DIMENSION(:) :: SurfPtrARR ! Array of indexes pointing to Surface structure in DataSurfaces
REAL(r64), INTENT(IN) :: VentArea ! Area available for venting the gap [m2]
REAL(r64), INTENT(IN) :: Cv ! Oriface coefficient for volume-based discharge, wind-driven [--]
REAL(r64), INTENT(IN) :: Cd ! oriface coefficient for discharge, bouyancy-driven [--]
REAL(r64), INTENT(IN) :: HdeltaNPL ! Height difference from neutral pressure level [m]
REAL(r64), INTENT(IN) :: SolAbs ! solar absorptivity of baffle [--]
REAL(r64), INTENT(IN) :: AbsExt ! thermal absorptance/emittance of baffle material [--]
REAL(r64), INTENT(IN) :: Tilt ! Tilt of gap [Degrees]
REAL(r64), INTENT(IN) :: AspRat ! aspect ratio of gap Height/gap [--]
REAL(r64), INTENT(IN) :: GapThick ! Thickness of air space between baffle and underlying surface
INTEGER, INTENT(IN) :: Roughness ! Roughness index (1-6), see DataHeatBalance parameters
REAL(r64), INTENT(IN) :: QdotSource ! Source/sink term, e.g. electricity exported from solar cell [W]
REAL(r64), INTENT(INOUT) :: TsBaffle ! Temperature of baffle (both sides) use lagged value on input [C]
REAL(r64), INTENT(INOUT) :: TaGap ! Temperature of air gap (assumed mixed) use lagged value on input [C]
REAL(r64), INTENT(OUT), OPTIONAL :: HcGapRpt !
REAL(r64), INTENT(OUT), OPTIONAL :: HrGapRpt !
REAL(r64), INTENT(OUT), OPTIONAL :: IscRpt
REAL(r64), INTENT(OUT), OPTIONAL :: MdotVentRpt
REAL(r64), INTENT(OUT), OPTIONAL :: VdotWindRpt
REAL(r64), INTENT(OUT), OPTIONAL :: VdotBouyRpt
END SUBROUTINE CalcPassiveExteriorBaffleGap
END INTERFACE
! DERIVED TYPE DEFINITIONS:
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
! local working variables
REAL(r64) :: AspRat ! Aspect Ratio of gap
REAL(r64) :: TmpTscoll
REAL(r64) :: TmpTaplen
REAL(r64) :: RhoAir
REAL(r64) :: holeArea
REAL(r64) :: Tamb
REAL(r64) :: HrPlen
REAL(r64) :: HcPlen
REAL(r64) :: Isc
REAL(r64) :: MdotVent
REAL(r64) :: VdotWind
REAL(r64) :: VdotThermal
REAL(r64) :: Twbamb
REAL(r64) :: OutHumRatAmb
Tamb = SUM(Surface(UTSC(UTSCNum)%SurfPtrs)%OutDryBulbTemp * Surface(UTSC(UTSCNum)%SurfPtrs)%Area) &
/ SUM(Surface(UTSC(UTSCNum)%SurfPtrs)%Area)
Twbamb = SUM(Surface(UTSC(UTSCNum)%SurfPtrs)%OutWetBulbTemp * Surface(UTSC(UTSCNum)%SurfPtrs)%Area) &
/ SUM(Surface(UTSC(UTSCNum)%SurfPtrs)%Area)
OutHumRatAmb = PsyWFnTdbTwbPb(Tamb, Twbamb, OutBaroPress)
RhoAir = PsyRhoAirFnPbTdbW(OutBaroPress,Tamb,OutHumRatAmb)
holeArea = UTSC(UTSCNum)%ActualArea*UTSC(UTSCNum)%Porosity
AspRat = UTSC(UTSCNum)%Height / UTSC(UTSCNum)%PlenGapThick
TmpTscoll = UTSC(UTSCNum)%TcollLast
TmpTaplen = UTSC(UTSCNum)%TplenLast
! all the work is done in this routine located in GeneralRoutines.f90
Call CalcPassiveExteriorBaffleGap(UTSC(UTSCNum)%SurfPtrs,holeArea, UTSC(UTSCNum)%Cv, UTSC(UTSCNum)%Cd, UTSC(UTSCNum)%HdeltaNPL, &
UTSC(UTSCNum)%SolAbsorp, UTSC(UTSCNum)%LWEmitt, UTSC(UTSCNum)%Tilt, AspRat, &
UTSC(UTSCNum)%PlenGapThick, UTSC(UTSCNum)%CollRoughness, UTSC(UTSCNum)%QdotSource, TmpTscoll, &
TmpTaPlen, HcPlen , HrPlen , Isc, MdotVent,VdotWind,VdotThermal )
!now fill results into derived types
UTSC(UTSCNum)%Isc = Isc
UTSC(UTSCNum)%Tplen = TmpTaPlen
UTSC(UTSCNum)%Tcoll = TmpTscoll
UTSC(UTSCNum)%HrPlen = HrPlen
UTSC(UTSCNum)%HcPlen = HcPlen
UTSC(UTSCNum)%TairHX = 0.0d0
UTSC(UTSCNum)%InletMdot = 0.0d0
UTSC(UTSCNum)%InletTempDB = Tamb
UTSC(UTSCNum)%Vsuction = 0.0d0
UTSC(UTSCNum)%PlenumVelocity = 0.0d0
UTSC(UTSCNum)%SupOutTemp = Tamb
UTSC(UTSCNum)%SupOutHumRat = OutHumRatAmb
UTSC(UTSCNum)%SupOutEnth = OutEnthalpy
UTSC(UTSCNum)%SupOutMassFlow = 0.0d0
UTSC(UTSCNum)%SensHeatingRate = 0.0d0
UTSC(UTSCNum)%SensHeatingEnergy = 0.0d0
UTSC(UTSCNum)%PassiveACH = (MdotVent/RhoAir) *(1.d0/(UTSC(UTSCNum)%ProjArea*UTSC(UTSCNum)%PlenGapThick))*SecInHour
UTSC(UTSCNum)%PassiveMdotVent = MdotVent
UTSC(UTSCNum)%PassiveMdotWind = VdotWind * RhoAir
UTSC(UTSCNum)%PassiveMdotTherm = VdotThermal * RhoAir
UTSC(UTSCNum)%UTSCEfficiency = 0.0d0
RETURN
END SUBROUTINE CalcPassiveTranspiredCollector