home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / h / house_ii.zip / FOR / TBZONE.FOR < prev    next >
Text File  |  1992-05-08  |  7KB  |  233 lines

  1.       SUBROUTINE TBZONE(AIRMAS,FLOC,FLOW11,QBASFT,QBWAG,QBWBGT,
  2.      +QDCTZF,QFLBAS,QFRLFE,QINCB,QINFB,QINFC,QINFS,QINT,QIZFRNB,
  3.      +QNT,QPARTB,QRADCB,QRETB,QSUMB,QSUMB1,QSUMB2,QIZONB,TBAS,
  4.      +TBASN,TIMN,TIN,IDBG)
  5. C
  6. C  COMPUTE ZONE AIR TEMPERATURE
  7. C
  8. C  RQINT(NZN)  RATIO OF QINT FLOWING TO THIS ZONE
  9. C
  10. C - - - CONSTANTS
  11. CMDK BTUKWH
  12. CMDK CPAIR
  13. CMDK FTR
  14. CMDK NZN
  15. CMDK NIWL
  16. CMDK NKONST
  17. CMDK NWL
  18. CMDK NWN
  19. CMDK NZW
  20. CMDK NZN7
  21. CMDK RHOAIR
  22. CMDK BAR
  23. CMDK BLKFMT
  24. CMDK BLKQGS
  25. CMDK BLKQS
  26. CMDK BLKGS2
  27. CMDK BLKRAD
  28. CMDK CNSTRK
  29. CMDK DUCTS1
  30. CMDK DUCTS4
  31. CMDK EBALA
  32. CMDK ENCBK1
  33. CMDK ENCBK2
  34. CMDK ENCBLK
  35. CMDK INDIC1
  36. CMDK IZZQ
  37. CMDK MRTBLK
  38. CMDK MZON1
  39. CMDK OWETHR
  40. CMDK QIZNB
  41. CMDK QUAYLE
  42. CMDK SOILB
  43. CMDK SOLARB
  44. CMDK STRUCA
  45. CMDK SURFAR
  46. CMDK TEMPB
  47. CMDK TEMP1
  48. CMDK TIMEB
  49. CMDK TSTATC
  50. CMDK TSTB2
  51. CMDK TSTB4
  52. C
  53. C - - - DIMENSIONS
  54.       INTEGER FLOC(NZN7)
  55.       REAL AIRMAS(NZN), QINFC(NZN), QINFS(NZN), TIN(NZN)
  56.       LOGICAL FIRST,IFN
  57.       CHARACTER*125 FRMT
  58. C
  59.       DATA FIRST/.TRUE./
  60.       IDBGSV=IDBG
  61. C     IF(TIME.GT.0.35)IDBG=1
  62. C     IF(TIME.GT.16.57.AND.TIME.LE.16.64)IDBG=1
  63. C     IF(TIME.GT.17.80)IDBG=1
  64.       IF(.NOT.FIRST)GO TO 2
  65.       RHOBT=RHOAIR*BARRAT*(70.+FTR)
  66.       FIRST=.FALSE.
  67.     2 CONTINUE
  68.       CALL ZERV(9,QBWAG,QSUMB2,QPARTB,QBASFT,QBWBGT,QRADPQ,QRADAQ,
  69.      +            QRADFQ,QRADBQ,0.)
  70. C
  71.       SMA=0.
  72.       SMTA=0.
  73.       NRM=NZNBAS
  74.       TBAS=TI(NRM)
  75.       IFN=.FALSE.
  76.       IF(ICTRLZ(NRM).EQ.1.AND.IEFAN.EQ.1)IFN=.TRUE.
  77.       IF(HIBLWR.EQ.0.)IFN=.FALSE.
  78.       IZWQ=0
  79.       IZWR=0
  80. C  M CP OF ROOM AIR
  81.       AIRMAS(NRM)=RHOBT/(TBAS+FTR)*ROMVOL(NRM)/DTIME
  82.       CPMASS=CPAIR*AIRMAS(NRM)
  83. C  SET HEAT FLOW ASSOCIATED WITH INTERZONE AIR FLOWS
  84.       QIZONB=QIZN(NRM)-QIZONS(NRM)+QIZFRNB
  85.       N2=NWALLA(NRM)
  86. C
  87.       DO 10 K2=1,N2
  88.       IZW=NENC(NRM,K2)
  89.       KON=KONSTA(IZW)
  90.       NLM=NLMP(KON)
  91.       ID=IDEXP(IZW)
  92.       NZONC=NZNC(IZW)
  93.       NZON=NZONC-8
  94.       IF(ID.EQ.5)THEN
  95. C  BSMT CEILING - - - - -
  96. C     CEILING HEAT FLOW IS QFLBAS, WHICH IS CALC IN TAZONE
  97. C     RADIANT INTERCHANGE WITH BSMT CEILING IS QRADCB(CALC IN TAZONE)
  98.          SMA=SMA+AWALLA(IZW)
  99.          SMTA=SMTA+AWALLA(IZW)*TMP(3,IZW)
  100.          ENDIF
  101.       IF(ID.EQ.7)THEN
  102. C - - - -PARTITION HEAT FLOW
  103. C           DOUBLE AREA IF SUBMERGED ENCLOSURE ELEMENT
  104.           XR=1.
  105.           IF(NZON.EQ.NRM)XR=2.
  106.           TWI=TMP(4,IZW)
  107.           IF(NLM.EQ.1)TWI=TMP(3,IZW)
  108.           HIWPC=HC(NRM,IZW,3,IFN,TWI,TBAS)
  109. C  GET HIW TO USE WITH FURNITURE
  110.           IF(XR.EQ.2)HIWPCS=HIWPC
  111.           QPARTC=HIWPC*XR*AWALLA(IZW)*(TWI-TBAS)
  112.           QCSURF(IZW)=QCSURF(IZW)-QPARTC/XR
  113.           IF(IDBG.NE.0)WRITE(60,501)NRM,IZW,QPARTC,TWI,HIWPC
  114.           SMA=SMA+XR*AWALLA(IZW)
  115.           SMTA=SMTA+XR*AWALLA(IZW)*TWI
  116.           QRADP=QRMRT(IZW)*XR
  117.           QRADPQ=QRADPQ+QRADP
  118.           QPARTB=QPARTB+QPARTC
  119.           ENDIF
  120. C  BASMT FLOOR
  121.       IF(ID.EQ.8)THEN
  122.           IZWQ=IZWQ+1
  123.           TWI=TMP(4,IZW)
  124.           IF(NLM.EQ.1)TWI=TMP(3,IZW)
  125.           H3FBC=HC(NRM,IZW,7,IFN,TWI,TBAS)
  126.           QBF=H3FBC*AWALLA(IZW)*(TWI-TBAS)
  127.           QCSURF(IZW)=QCSURF(IZW)-QBF
  128.           SMA=SMA+AWALLA(IZW)
  129.           SMTA=SMTA+AWALLA(IZW)*TWI
  130.           QBASFT=QBASFT+QBF
  131. C  NOTE: QBASF VALUES ARE SUMMED FOR A FULL HOUR TO GET HRLY INTEG VAL
  132.           QRADF=QRMRT(IZW)
  133.           QRADFQ=QRADFQ+QRADF
  134.           QBASF(IZWQ)=QBASF(IZWQ)+DTIME*(QBF+QRADF)
  135.           ENDIF
  136.       IF(ID.EQ.9)THEN
  137. C  BELOW-GROUND BASEMENT WALL
  138.           IZWR=IZWR+1
  139.           TWI=TMP(4,IZW)
  140.           IF(NLM.EQ.1)TWI=TMP(3,IZW)
  141.           HIWBGC=HC(NRM,IZW,4,IFN,TWI,TBAS)
  142.           QWF=HIWBGC*AWALLA(IZW)*(TWI-TBAS)
  143.           QCSURF(IZW)=QCSURF(IZW)-QWF
  144.           SMA=SMA+AWALLA(IZW)
  145.           SMTA=SMTA+AWALLA(IZW)*TWI
  146.           QBWBGT=QBWBGT+QWF
  147.           QRADWB=QRMRT(IZW)
  148.           QRADBQ=QRADBQ+QRADWB
  149.           QBWBG(IZWR)=QBWBG(IZWR)+DTIME*(QWF+QRADWB)
  150.               ENDIF
  151. C  BASMT WALL ABV GROUND
  152.       IF(ID.EQ.10)THEN
  153.           TWI=TMP(4,IZW)
  154.           IF(NLM.EQ.1)TWI=TMP(3,IZW)
  155.           HIWAGC=HC(NRM,IZW,4,IFN,TWI,TBAS)
  156.           QBWAGC=AWALLA(IZW)*HIWAGC*(TWI-TBAS)
  157.           QBWAG=QBWAG+QBWAGC
  158.           QCSURF(IZW)=QCSURF(IZW)-QBWAGC
  159.           SMA=SMA+AWALLA(IZW)
  160.           SMTA=SMTA+AWALLA(IZW)*TWI
  161.           QRADWA=QRMRT(IZW)
  162.           QRADAQ=QRADAQ+QRADWA
  163.           ENDIF
  164.    10 CONTINUE
  165. C  GET FURNITURE HEAT EXCHANGE
  166.       CALL FMASS(NRM,HIWPCS,TBAS,TFM,QCFM)
  167.       QCFMQ(NRM)=QCFM
  168. C  INITIAL VALUE OF QINFB IS RESET IN QIZSET EACH TIMESTEP!      
  169. C  INFILTRATION DIRECTLY INTO BASEMENT DUE TO FURN OPERATION IS ADDED 
  170. C  TO QINFB IN LOOP BEFORE CALL TO TBZONE.
  171.       QINFB=QINFB+QINFC(NRM)-TI(NRM)*QINFS(NRM)
  172. C
  173. C - - -NET HEAT DELIVERY TO ZONE NRM FROM DUCTS
  174.       QNTN=QNET(NRM)
  175.       QNT=QNT+QNTN
  176. C
  177. C - - -SUM OF MISC HEAT FLOWS
  178. C
  179. C - - - - CONVECTION PORTION OF INTERNAL LOADS
  180.           QINCB=QINT*(1.-RADINT)*RQINT(NRM)
  181. C
  182.       QSUMB1=QBWBGT+QBWAG
  183.       QSUMB2=QPARTB+QBASFT+QINCB+QCFM
  184. C
  185. C - - -SUM OF HEAT FLOWS
  186.       QFRLF=QFRLFE*FLOC(2)
  187. C  QDCTZF IS HEAT FLOW UP THRU BSMT CEILING FROM SUPPLY DUCT HEAT LOSS
  188.       QDCTZF=(QDUCTZ(2)-QRETB)*DCTFLR
  189.       QDCTZ=(QDUCTZ(2)-QRETB)*(1.-DCTFLR)+QRETB
  190. C  HERE TIMN SHOULD BE MEAN OF CONDITIONED ZONES!
  191.       QRETBS=FLOW11*(TIMN-TBAS)*IBRP
  192.       QSUMN=QSUMB1+QINFB+QFLBAS+QDCTZ+QNTN+QSUMB2+QFRLF+QIZONB+QRETBS
  193.       QSUMB=QSUMN
  194. C
  195. C - - -AIR TEMP IN BASEMENT
  196.       TIN(NRM)=QSUMN/CPMASS+TBAS
  197.       TBASN=TIN(NRM)
  198.       IF(IDBG.NE.0)THEN
  199.           TIMP=TIME*60.
  200.           TEMCMN=SMTA/SMA
  201.           WRITE(60,500)TIMP,NRM,TBASN,TBAS,TMR(NZNBAS),TEMCMN
  202.           FRMT='(10X,98H  QINFB     QNTN      QSUMB2    QIZONB    QFRLF
  203.      +    QDCTZ     QRETBS    QPARTB    QFLBAS    QBASFT/10X,10F10.1)'
  204.           CALL VZOUT(10,FRMT,QINFB,QNTN,QSUMB2,QIZONB,QFRLF,QDCTZ,
  205.      +    QRETBS,QPARTB,QFLBAS,QBASFT)
  206.           FRMT='(10X,63H  QBWBGT    QBWAG     QINCB    TI(1)    TI(2)
  207.      +     TBAS  QCFM/10X,7F10.1/)'
  208.           CALL VZOUT(7,FRMT,QBWBGT,QBWAG,QINCB,TI(1),TI(2),TBAS,QCFM,
  209.      +                 DM1,DM2,DM3)
  210.           WRITE(60,502)HIWPC,H3FBC,HIWBGC,HIWAGC
  211.           ENDIF
  212.       IF(TIME.GT.TMEBLS)THEN
  213.          ETRM=QSUMB1+QFLBAS+QINFB+QSUMB2+QNTN+QDCTZ+QFRLF+QIZONB+QRETBS
  214.          EBAL(NZNBAS)=EBAL(NZNBAS)+ETRM
  215.          EBALT(NZNBAS)=EBALT(NZNBAS)+QNTN+QDCTZ
  216.          ENDIF
  217. C      LUMP CEILING Q INTO QSUMB2 RATHER
  218. C      INTO QCEIL4, WHICH IS RESERVED FOR CEILING-TO-ATTIC Q
  219.       QSUMB2=QSUMB2+QFLBAS+QIZONB
  220.       QBASFT=QBASFT-QRADFQ
  221.       QBWBGT=QBWBGT-QRADBQ
  222.       QBWAG=QBWAG-QRADAQ
  223.       QFLBAS=QFLBAS-QRADCB
  224.       QPARTB=QPARTB-QRADPQ
  225.       IDBG=IDBGSV
  226.       RETURN
  227.   500 FORMAT(/20X,'TBZONE:TIME(MIN),NRM,TBASN,TBAS,TMR,TEMCMN= '/
  228.      +20X,F8.1,I5,4G13.5)
  229.   501 FORMAT(/20X,'TBZONE:NRM,IZW,QPARTC,TWI,HIWPC= ',2I5,3G13.5)
  230.   502 FORMAT(20X,'HIWPC,H3FBC,HIWBGC,HIWAGC= ',4G13.5)
  231.   503 FORMAT(1X,'TBZONE:TIME,TBAS,TBASN,QIZONB= ',4G13.5)
  232.       END
  233.