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

  1.       SUBROUTINE OWALLS(NRM, IZW, ID, KON, WALLF, FAWLOD,
  2.      +                  HO, TODBR4, IDBG) 
  3. C  TEMPERATURES IN OUTSIDE ENCLOSURE WALLS
  4. C - - - PARAMETER CONSTANTS 
  5. CMDK NZN
  6. CMDK NIWL
  7. CMDK NKONST
  8. CMDK NWL
  9. CMDK NWN
  10. CMDK NZW
  11. CMDK SIGMA      
  12. C - - - COMMON BLOCKS 
  13. CMDK BLKBSF
  14. CMDK BLKMMU
  15. CMDK BLKQS
  16. CMDK CNSTRK
  17. CMDK ENCBLK
  18. CMDK ENCBK1
  19. CMDK ENCBK2
  20. CMDK IWLS
  21. CMDK IZWQ
  22. CMDK MRTBLK
  23. CMDK NIJB
  24. CMDK OWETHR
  25. CMDK SOILB
  26. CMDK SOLARB
  27. CMDK SURFAR
  28. CMDK TCNBLK
  29. CMDK TEMPB
  30. CMDK TIMEB
  31. CMDK TSTATC
  32. CMDK UABAS
  33.       DATA FTR/459.7/,NQTM/0/
  34.       
  35.       IF(IGRND.GT.0.AND.NQTM.EQ.0.AND.ID.EQ.9)THEN
  36. C         INITIALIZE BELOW GRND BSMT WALLS, IF IGRND > 0     
  37.         NQTM=1
  38. C         ASSUME HEAT FLOW/UNIT AREA IS SAME FOR EACH WALL SEGMENT 
  39. C         SO USE IZW BELOW
  40.         QSURF=QCSURF(IZW)/AWALLA(IZW)        
  41.         DO 2 I=1,4
  42.         IZ=IZWE(I)
  43.         KONF=KONSTA(IZ)
  44.         NLM=NLMP(KONF)
  45.         TWI=TBASM - 5.
  46. C              GET INITIAL VALUE OF INSIDE SURF WALL TEMP        
  47.         CALL TWISET(4,QSURF,TBASM,TWI)
  48.         TMID=0.5*(TSOIL(I)+TWI)
  49.         TMP(1,IZ)=TSOIL(I)
  50.         TMP(2,IZ)=TMID
  51.         TMP(3,IZ)=TWI
  52.         IF(NLM.NE.1)THEN
  53.           TMP(4,IZ)=TWI
  54.           TMP(3,IZ)=TMID+0.5*(TWI-TMID)
  55.         ENDIF
  56.     2   CONTINUE
  57.       ENDIF
  58.       K=KON 
  59.       NLM=NLMP(K) 
  60. C  OUTSIDE WALL TEMPS 
  61.       T1=TMP(1,IZW) 
  62.       T2=TMP(2,IZW) 
  63.       T3=TMP(3,IZW) 
  64.       IF(NLM.EQ.3)T4=TMP(4,IZW) 
  65.       IF(ID.EQ.9)THEN 
  66.          QLSWLN=0.
  67.       ELSE
  68.          T14=(T1+FTR)**4
  69.          FASIWE=FAWLOD*SIGMA*WALLF
  70.          QLSWLN=FASIWE*(T14-TODBR4)*AWALLA(IZW) 
  71.          ENDIF
  72.       IF(ID.LE.4)THEN 
  73. C  NOTE:  NIJA IS SET IN SOLRLD 
  74. C         AND SEE NOTE ON IWALS IN STRRUN OR SOLRLD 
  75.           IF(IWALS.EQ.1)THEN
  76.              ISURF=NIJA(IZW)
  77.           ELSE
  78.              ISURF=NIJA(ID) 
  79.              ENDIF
  80.           TWO=(SOLARL(ISURF)-QLSWLN/AWALLA(IZW))/HO+TODDB 
  81.       ELSE IF(ID.EQ.10)THEN 
  82. C  NO SOLAR RADIATION SHINING ON ABOVE GROUND BASEMENT WALL!      
  83.           TWO=TODDB - QLSWLN/AWALLA(IZW)/HO
  84.           IZWK=IZW
  85.           ENDIF 
  86.       TC1=TCON(1,K) 
  87.       TC2=TCON(2,K) 
  88.       TC3=TCON(3,K) 
  89.       IF(ID.EQ.9)THEN 
  90. C                                BASEMENT WALL BELOW GROUND 
  91.         IHIT=0
  92. C   IZWE IS SET IN CONSLD ABOVE LABEL 134 
  93.         DO 20 I=1,4 
  94.           IF(IZWE(I).EQ.IZW)THEN
  95.             IHIT=1
  96.             IF(IGRND.EQ.0.OR.ICODE.EQ.1.OR.ICODE.EQ.4)THEN
  97.               TMPN(1,IZW)=TSOIL(I)
  98. C  NOTE:  HEAT FLOW TO SOIL WHEN YOU USE TSOIL OPTION W/ IGRND=0
  99. C         WILL NOT BE INCLUDED IN QLOSWL FOR ENERGY BALANCE CALC.
  100. C         THIS HEAT FLOW IS CALC IN ENRBALS FROM AVAIL DATA.
  101.             ELSE
  102.               IJ=I
  103.               IF(I.GT.2)IJ=I+5
  104. C                    CONDWL IS CALC IN SETNOD.FOR ON GROUND.FOR FILE
  105.               QWALBG=CONDWL(I)*(TG(IJ)-T1)
  106.               TMPN(1,IZW)=TC1*(T2-T1)+TC2*QWALBG+T1
  107. C  QLOSWL(I) WAS ZEROED IN STRLP1 
  108.               QLOSWL(NRM)=QLOSWL(NRM)-AWALLA(IZW)*QWALBG
  109.             ENDIF
  110.           ENDIF 
  111.    20   CONTINUE
  112.         IF(IHIT.EQ.0)STOP ' OWALLS: IZW NOT IN IZWE()!'
  113.       ENDIF
  114.       IF(ID.LE.4.OR.ID.EQ.10)THEN 
  115. C            OUTSIDE WALLS OR    BASEMENT WALL ABOVE GROUND 
  116.         QWALOC=HO*(TWO-T1)
  117. C  FOR ID LE 4, QWALOC INCLUDES EFFECT OF SOLAR AND RADIATION LOSS        
  118. C  FOR ID EQ 10, QWALOC INCLUDES RADIATION LOSS
  119.         TMPN(1,IZW)=TC1*(T2-T1)+TC2*QWALOC+T1 
  120.       ENDIF 
  121.       IF(NLM.EQ.1)THEN
  122.           TMPN(2,IZW)=0.5*TC1*(T1-2.*T2+T3)+T2
  123.           IF(ICODE.EQ.1.OR.ICODE.EQ.4)THEN
  124.             QSURF=QCSURF(IZW)/AWALLA(IZW)
  125.             TWI=T3
  126.             CALL TWISET(4,QSURF,TBASM,TWI)
  127.             TMPN(3,IZW)=TWI
  128.           ELSE
  129.             QPRAD=HRI(IZW)*(TMR(NRM)-T3)
  130.             QSURF=QCSURF(IZW)/AWALLA(IZW)+QPRAD
  131. C  QCSURF IS MEAN CONVECTIVE HEAT FLOW CALC IN TAZONE OR TBZONE .
  132. C  IT IS CALC IN TAZONE, TBZONE AND AVERAGED IN ENDLP1.
  133.             TMPN(3,IZW)=TC3*(T2-T3)+TC2*QSURF+T3
  134.           ENDIF
  135.       ELSE
  136.           TC4=TCON(4,K) 
  137.           TC5=TCON(5,K) 
  138.           TC6=TCON(6,K) 
  139.           TC7=TCON(7,K) 
  140.           TC8=TCON(8,K) 
  141.           TMPN(2,IZW)=TC3*(T1-T2)+TC4*(T3-T2)+T2
  142.           TMPN(3,IZW)=TC5*(T2-T3)+TC6*(T4-T3)+T3
  143.           IF(ICODE.EQ.1.OR.ICODE.EQ.4)THEN
  144. C                                 QCSURF IS SET IN BSMTPRE          
  145.             QSURF=QCSURF(IZW)/AWALLA(IZW)
  146.             TWI=T4
  147.             CALL TWISET(4,QSURF,TBASM,TWI)
  148.             TMPN(4,IZW)=TWI
  149.           ELSE
  150.             QPRAD=HRI(IZW)*(TMR(NRM)-T4)
  151. C                                 QCSURF IS SET IN TBZONE            
  152.             QSURF=QCSURF(IZW)/AWALLA(IZW) + QPRAD
  153.             TMPN(4,IZW)=TC7*(T3-T4)+TC8*QSURF+T4 
  154.           ENDIF
  155.       ENDIF 
  156.       QRMRT(IZW)=QPRAD*AWALLA(IZW)
  157.       IF(IDBG.NE.0)THEN 
  158.           WRITE(60,500)NRM, IZW,ID,KON, WALLF, FAWLOD,
  159.      +                  HO, TODBR4,         QLSWLN
  160.           IF(NLM.EQ.3)THEN
  161.               WRITE(60,501)T1,TMPN(1,IZW),T2,TMPN(2,IZW),T3, 
  162.      +        TMPN(3,IZW),T4,TMPN(4,IZW),AWALLA(IZW), 
  163.      +        ISURF,IT,SOLARL(ISURF),DSOLAR(IT,ISURF),
  164.      +        TODDB,TWO,TA(NRM),HO,
  165.      +        TC1,TC2,TC3,TC4,TC5,TC6,TC7,TC8 
  166.           ELSE IF(NLM.EQ.1)THEN 
  167.               WRITE(60,503)T1,TMPN(1,IZW),T2,TMPN(2,IZW),T3,TMPN(3,IZW), 
  168.      +                    AWALLA(IZW),TODDB,TA(NRM),HO,TC1,TC2,TC3 
  169.               ENDIF 
  170.           WRITE(60,502)QCSURF(IZW),QRMRT(IZW),TMR(NRM) 
  171.           ENDIF 
  172. C     IDBG=0
  173.       RETURN
  174.   500 FORMAT(15X,'OWALLS:NRM,IZW,ID,KON= ',4I5/ 
  175.      +15X,'WALLF,FAWLOD,HO,TODBR4= ',4G13.5/
  176.      +15X,'    QLOSWL(IZW)= ', G13.5) 
  177.   501 FORMAT(15X,'T1,T1N= ',2G13.5/ 
  178.      +15X,'T2,T2N= ',2G13.5/
  179.      +15X,'T3,T3N= ',2G13.5/
  180.      +15X,'T4,T4N= ',2G13.5/
  181.      +15X,'AWALLA(IZW),ISURF,IT,SOLARL,DSOLAR= ',G13.5,2I5,2G13.5/
  182.      +15X,'TODDB,TWO,TA(NRM),H= ',4G13.5/ 
  183.      +15X,'TC1= ',G13.5,' TC2= ',G13.5/ 
  184.      +15X,'TC3= ',G13.5,' TC4= ',G13.5/ 
  185.      +15X,'TC5= ',G13.5,' TC6= ',G13.5/ 
  186.      +15X,'TC7= ',G13.5,' TC8= ',G13.5) 
  187.   502 FORMAT(15X,'QCSURF,QRMRT,TMR= ',3G13.5) 
  188.   503 FORMAT(12X,'T1,T1N= ',2G13.5/ 
  189.      +12X,'T2,T2N= ',2G13.5/
  190.      +12X,'T3,T3N= ',2G13.5/
  191.      +12X,'AWALLA(IZW),TODDB,TA(NRM),H= ',4G13.5/ 
  192.      +12X,'TC1= ',G13.5,' TC2= ',G13.5/ 
  193.      +12X,'TC3= ',G13.5)
  194.   504 FORMAT(5X,'OWALLS:CHECK--I,IZW,IZWE,CONDWL(I),T1,TMPN(1,IZW)= '/
  195.      +5X,3I3,3G13.5)
  196.       END 
  197.