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 / FLOOR.FOR < prev    next >
Text File  |  1992-05-08  |  6KB  |  189 lines

  1.       SUBROUTINE FLOOR(NRM,IZW,ID,KON,NZONC,TZONC,DCTFLR,IDBG)
  2. C
  3. C  FLOOR TEMPERATURES WITH OR WITHOUT DUCTS BELOW
  4. C
  5. C - - - PARAMETER COMMON BLOCKS
  6. C
  7. CMDK FTR
  8. CMDK NKONST
  9. CMDK NWL
  10. CMDK NWN
  11. CMDK NZN
  12. CMDK NZW
  13. CMDK SIGMA
  14. C - - - COMMON BLOCKS
  15. CMDK BLKBSF
  16. CMDK BLKQS
  17. CMDK CNSTRK
  18. CMDK DUCTS2
  19. CMDK ENCBK1
  20. CMDK ENCBK2
  21. CMDK ENCBLK
  22. CMDK IZPART
  23. CMDK IZWQ
  24. CMDK MRTBLK
  25. CMDK SOILB
  26. CMDK SURFAR
  27. CMDK TCNBLK
  28. CMDK TEMPB
  29. CMDK TIMEB
  30. CMDK UABAS
  31.       DATA NQTM/0/
  32.       IF(NQTM.EQ.0.AND.IGRND.GT.0)THEN
  33. C              INITIALIZE BSMT FLOOR TEMPS (IN STRDAY, IF IGRND=0)      
  34.         NQTM=1
  35. C         ASSUME HEAT FLOW IS SAME FOR EA, SO USE IZW BELOW        
  36.         QSURF=QCSURF(IZW)/AWALLA(IZW)
  37.         DO 2 I=1,2
  38.         IZ=IZWD(I)
  39. C         BASEMENT FLOOR NODES WITH PRECONDITIONING        
  40.         KONF=KONSTA(IZ)
  41.         NLM=NLMP(KONF)
  42.         ISOIL=5
  43.         IF(I.EQ.2)ISOIL=11
  44.         TWI=TBASM-5.
  45.         CALL TWISET(7,QSURF,TBASM,TWI)        
  46.         TMID=0.5*(TSOIL(ISOIL)+TWI)
  47.         TMP(1,IZ)=TSOIL(ISOIL)
  48.         TMP(2,IZ)=TMID
  49.         TMP(3,IZ)=TWI
  50.         IF(NLM.NE.1)THEN
  51.           TMP(4,IZ)=TWI
  52.           TMP(3,IZ)=TMID+0.5*(TWI-TMID)
  53.         ENDIF
  54.     2   CONTINUE
  55.       ENDIF
  56. C  AFLOOR IS ENTIRE FLOOR AREA IN THIS ZONE (FROM CONSLD)
  57.       AFLOOR=AFLRT(NRM)
  58.       QDCTB=QDCTBA(NRM)
  59.       K=KON
  60.       NLM=NLMP(K)
  61.       DQDUCT=0.
  62.       IF(NZONC.EQ.7.OR.NZONC.EQ.8)THEN
  63.           DQDUCT=QDCTB*DCTFLR/AWALLA(IZW)
  64.           ENDIF
  65.       T1=TMP(1,IZW)
  66.       T2=TMP(2,IZW)
  67.       T3=TMP(3,IZW)
  68.       IF(NLM.EQ.3)T4=TMP(4,IZW)
  69.       TC1=TCON(1,K)
  70.       TC2=TCON(2,K)
  71.       TC3=TCON(3,K)
  72.       IF(NLM.EQ.3)THEN
  73.         TC4=TCON(4,K)
  74.         TC5=TCON(5,K)
  75.         TC6=TCON(6,K)
  76.         TC7=TCON(7,K)
  77.         TC8=TCON(8,K)
  78.       ENDIF
  79.       IF(ID.EQ.8)THEN
  80. C        **  BASEMENT FLOOR
  81.         IHIT=0
  82.         DO 20 I=1,2
  83. C   IZWD VALUES ARE SET IN CONSLD ABOVE LABEL 134
  84.         IF(IZWD(I).EQ.IZW)THEN
  85.           IHIT=1
  86.           ISOIL=5
  87.           IJ=15
  88.           IF(I.EQ.2)THEN
  89.             ISOIL=11
  90.             IJ=27
  91.           ENDIF
  92. C            ICODE IS SET IN HOUS_II            
  93.           IF(IGRND.EQ.0.OR.ICODE.EQ.1.OR.ICODE.EQ.4)THEN
  94.             TMPN(1,IZW)=TSOIL(ISOIL)
  95. C  NOTE: QLOSFL WILL NOT INCLUDE HEAT LOSS TO SOIL WITH IGRND=0!
  96.           ELSE
  97.             QLOSF=CONDWL(I+4)*(TG(IJ)-T1)
  98.             TMPN(1,IZW)=TC1*(T2-T1)+TC2*QLOSF+T1
  99.             QLOSFL(NRM)=QLOSFL(NRM)-QLOSF*AWALLA(IZW)
  100.           ENDIF
  101.         ENDIF    
  102.    20   CONTINUE
  103.         IF(IHIT.EQ.0)STOP 'FLOOR: ID MUST BE ONE OF IZWD() IF ID=8!'
  104.       ELSE
  105. C        **  LIVING SPACE FLOOR WITH BASEMENT OR CRAWL SPC BELOW
  106.         IF(NZONC.EQ.3.OR.NZONC.EQ.8)THEN
  107. C                        CRAWLSPACE !! MUST CALC CONVECTIVE Q
  108.           H1FCRW=HC(NRM,IZW,2,.FALSE.,T1,TZONC)
  109.           QCSRF=H1FCRW*AWALLA(IZW)*(TZONC-T1)
  110.           QPRADO=WALLFO(IZW)*SIGMA*((TZONC+FTR)**4-(T1+FTR)**4)
  111.         ELSE
  112.           IZWO=IZSET(IZW)
  113.           QCSRF=QCSURF(IZW)
  114.           QPRADO=HRI(IZWO)*(TMR(NZNBAS)-T1)
  115.         ENDIF
  116.         TMPN(1,IZW)=TC3*(T2-T1)+TC2*(QCSRF/AWALLA(IZW)+DQDUCT
  117.      +                +QPRADO)+T1
  118.       ENDIF
  119.       IF(NLM.EQ.1)THEN
  120.         TMPN(2,IZW)=0.5*TC1*(T1-2.*T2+T3)+T2
  121.         IF(ICODE.EQ.1.OR.ICODE.EQ.4)THEN
  122.           QSURF=QCSURF(IZW)/AWALLA(IZW)
  123.           TWI=T3
  124.           CALL TWISET(7,QSURF,TBASM,TWI)
  125.           TMPN(3,IZW)=TWI
  126.         ELSE
  127.           QPRADI=HRI(IZW)*(TMR(NRM)-T3)+QSI(IZW)
  128.           QSURF=QCSURF(IZW)/AWALLA(IZW) + QPRADI
  129.           TMPN(3,IZW)=TC3*(T2-T3)+TC2*QSURF+T3
  130.         ENDIF
  131.       ELSE
  132.         TMPN(2,IZW)=TC3*(T1-T2)+TC4*(T3-T2)+T2
  133.         TMPN(3,IZW)=TC5*(T2-T3)+TC6*(T4-T3)+T3
  134.         IF(ICODE.EQ.1.OR.ICODE.EQ.4)THEN
  135.           QSURF=QCSURF(IZW)/AWALLA(IZW)
  136.           TWI=T4
  137.           CALL TWISET(7,QSURF,TBASM,TWI)
  138.           TMPN(4,IZW)=TWI
  139.         ELSE
  140.           QPRADI=HRI(IZW)*(TMR(NRM)-T4)+QSI(IZW)
  141.           QSURF=QCSURF(IZW)/AWALLA(IZW) + QPRADI
  142.           TMPN(4,IZW)=TC7*(T3-T4)+TC8*QSURF+T4
  143.         ENDIF
  144.       ENDIF
  145.       IF(NZONC.EQ.3.OR.NZONC.EQ.8.OR.ICODE.EQ.1.OR.ICODE.EQ.4)GO TO 30
  146.       QRMRT(IZWO)=QPRADO*AWALLA(IZW)
  147.    30 QRMRT(IZW)=QPRADI*AWALLA(IZW)
  148.       IF(IDBG.NE.0)THEN
  149.           WRITE(60,500)NRM,IZW,ID,KON,NZONC,TZONC,
  150.      +                     QDCTBA,DCTFLR
  151.       IF(NLM.EQ.1)THEN
  152.           WRITE(60,501)AFLOOR,     DQDUCT,
  153.      +    T1,TMPN(1,IZW),T2,TMPN(2,IZW),T3,TMPN(3,IZW),
  154.      +    TC1,TC2,TC3
  155.       ELSE
  156.           WRITE(60,503)AFLOOR,     DQDUCT,
  157.      +    T1,TMPN(1,IZW),T2,TMPN(2,IZW),T3,TMPN(3,IZW),
  158.      +    T4,TMPN(4,IZW),TC1,TC2,TC3,TC4,TC5,TC6,TC7,TC8
  159.           ENDIF
  160.       IF(ID.EQ.8)WRITE(60,502)QCSURF(IZW),QRMRT(IZW),TMR(NRM),
  161.      +                       QSI(IZW)
  162.       IF(ID.NE.8)WRITE(60,504)QCSURF(IZWO),QRMRT(IZWO),QRMRT(IZW),
  163.      +                       TMR(NZNBAS),TMR(NRM),QSI(IZW)
  164.           ENDIF
  165.       RETURN
  166.   500 FORMAT(25X,'FLOOR:NRM,IZW,ID,KON,NZONC= ',5I5/
  167.      +25X,'TZONC= ',G13.5/
  168.      +25X,'DCTFLR,QDCTBA(I)= ',6G13.5)
  169.   501 FORMAT(25X,'AFLOOR,DQDUCT= ',2G13.5/
  170.      +25X,'T1,T1N= ',2G13.5/
  171.      +25X,'T2,T2N= ',2G13.5/
  172.      +25X,'T3,T3N= ',2G13.5/
  173.      +25X,'TC1,TC2,TC3= ',3G13.5)
  174.   502 FORMAT(25X,'QCSURF,QRMRT,HRI,TMR,QSI= ',5G13.5)
  175.   503 FORMAT(25X,'AFLOOR,DQDUCT= ',2G13.5/
  176.      +25X,'T1,T1N= ',2G13.5/
  177.      +25X,'T2,T2N= ',2G13.5/
  178.      +25X,'T3,T3N= ',2G13.5/
  179.      +25X,'T4,T4N= ',2G13.5/
  180.      +25X,'TC1,TC2,TC3,TC4= ',4G13.5/
  181.      +25X,'TC5,TC6,TC7,TC8= ',4G13.5)
  182.   504 FORMAT(25X,'QCSURF AND QRMRT FOR IZWO= ',2G13.5/
  183.      +25X,'QCSURF AND QRMRT FOR IZW= ',2G13.5/
  184.      +25X,'TMR(NZNBAS),TMR(NRM),QSI= ',3G13.5)
  185.   505 FORMAT(1X,'FLOOR:CHECK-- I,IZW,IZWD(I)= ',3I5)
  186.   506 FORMAT(5X,'FLOOR:CHECK--I,IZW,IZWE,CONDWL(I),T1,TMPN(1,IZW)= '/
  187.      +5X,3I3,3G13.5)
  188.       END
  189.