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 / RESUTL.FOR < prev    next >
Text File  |  1992-04-02  |  3KB  |  113 lines

  1.       SUBROUTINE RESUTL(NRM,K2I,IZW,IZ,IDBG)
  2. C  RESET ENCLOSURE ARRAYS TO REDUCE STORAGE 
  3. C  INPUTS 
  4. C    NRM  ZONE NO.
  5. C    K2I  POSITION IN NENC(NRM,K2I) ARRAY 
  6. C    IZW  OLD IZW 
  7. C    IZ   NEW CONSOLIDATED IZW
  8. C  OUTPUTS
  9. C    IZ   FEASIBLE IZ 
  10. C - - - CONSTANTS 
  11. CMDK NWL
  12. CMDK NWN
  13. CMDK NWZN
  14. CMDK NZN
  15. CMDK NZW
  16. C - - - COMMON BLOCKS 
  17. CMDK ENCBK1
  18. CMDK ENCBLK
  19. CMDK IZPART
  20. CMDK IZZQ
  21. CMDK SURFAR
  22. CMDK WNDBLK
  23.     8 IF(IDBG.NE.0)WRITE(60,502)K2I,IZW,IZ 
  24.       IF(IZW.LT.IZ)THEN 
  25.           IF(IDBG.NE.0)WRITE(60,507)IZW,IZ 
  26.           NENC(NRM,K2I)=IZW 
  27.           IZ=IZ-1 
  28.           GO TO 40
  29.           ENDIF 
  30.       IF(IZW.EQ.IZ)THEN 
  31.           IF(IDBG.NE.0)WRITE(60,503)IZW
  32.           NENC(NRM,K2I)=IZ
  33.           GO TO 40
  34.           ENDIF 
  35. C  LOOK FOR SIMILAR IZW VALUES IN OTHER ZONES 
  36. C                           WHICH ARE SET BY MIRROR IMAGES
  37.       IF(NRM.LT.NROOMS)THEN 
  38.           NRM1=NRM+1
  39.           DO 20 JT=NRM1,NROOMS
  40.           NRMQ=NRMA(JT) 
  41.           IF(NRMQ.EQ.0)GO TO 20 
  42.           N2Q=NWALLA(NRMQ)
  43.           IF(N2Q.EQ.0)GO TO 20
  44.           IF(IDBG.NE.0)WRITE(60,508)NRMQ 
  45.           DO 10 K2Q=1,N2Q 
  46. C   IN OTHER ZONES, COMPARE WITH ALL IZW S
  47.           IZWQ=NENC(NRMQ,K2Q) 
  48.           IF(IDBG.NE.0)WRITE(60,504)NRMQ,K2Q,IZWQ,IZ 
  49.           IF(IZ.EQ.IZWQ)THEN
  50.               IZ=IZ+1 
  51.               IF(IDBG.NE.0)WRITE(60,506)NRMQ,IZWQ
  52.               GO TO 8 
  53.               ENDIF 
  54.    10     CONTINUE
  55.           IF(IDBG.NE.0)WRITE(60,509)NRMQ 
  56.    20     CONTINUE
  57.           ENDIF 
  58.    22 WRITE(60,500)NRM,IZW,IZ
  59.       NENC(NRM,K2I)=IZ
  60.       IDEXP(IZ)=IDEXP(IZW)
  61.       NZNC(IZ)=NZNC(IZW)
  62.       KONSTA(IZ)=KONSTA(IZW)
  63.       HGTA(IZ)=HGTA(IZW)
  64.       XLENA(IZ)=XLENA(IZW)
  65.       WDLEAK(IZ)=WDLEAK(IZW)
  66.       HGTLEAK(IZ)=HGTLEAK(IZW)
  67.       HNPL(IZ)=HNPL(IZW)
  68.       WALLFI(IZ)=WALLFI(IZW)
  69.       WALLFO(IZ)=WALLFO(IZW)
  70.       NWNDA(IZ)=NWNDA(IZW)
  71.       OHANGA(IZ)=OHANGA(IZW)
  72.       HHANGA(IZ)=HHANGA(IZW)
  73.       AWALLA(IZ)=AWALLA(IZW)
  74.       ID=IDEXP(IZW) 
  75.       IF(ID.LE.4)THEN 
  76.           N4=NWNDA(IZW) 
  77.           IF(N4.EQ.0)GO TO 32 
  78.           DO 30 K4=1,N4 
  79.           NIWND(IZ,K4)=NIWND(IZW,K4)
  80.    30     CONTINUE
  81.           ENDIF 
  82. C  CHANGE ANY IZW FOR MIRROR IMAGES IF ANY ARE = IZW RESET ABOVE
  83.    32 IF(NIZWS.EQ.0)GO TO 40
  84.       DO 34 IQ=1,NIZWS
  85.       IF(IZSET(IQ).EQ.IZW)IZSET(IQ)=IZ
  86.       IF(IZWSS(IQ).EQ.IZW)IZWSS(IQ)=IZ
  87.    34 CONTINUE
  88. C *    *     *    *   *   *  BOTTOM OF MAIN LOOP!!!!
  89.    40 CONTINUE
  90. C  SET NO. OF ENCLOSURE ELEMENTS AT END OF THIS ZONE
  91.       IZT=IZ
  92.       RETURN
  93.   500 FORMAT(20X,'FOR ZONE ',I4,' ENCLOSURE NO.(IZW) ',I3,
  94.      +'  CHANGED TO ',I4) 
  95.   502 FORMAT(10X,'BEGIN SEARCH FOR FEASIBLE IZ; K2I,IZW,IZ= ',3I5)
  96.   503 FORMAT(12X,'IZW=IZ, SO NO NEED TO RESET;IZW= ',I3)
  97.   504 FORMAT(15X,'NRMQ,K2Q,IZWQ,IZ= ',4I5)
  98.   506 FORMAT(15X,'FOUND IZW IN ZONE ',I3,' THAT = IZ, SO ', 
  99.      +'INCREMENT IZ;IZW FOUND= ',I3)
  100.   507 FORMAT(15X,'FOUND IZW TO BE LT IZ, SO DONT RESET IT;IZW,IZ= ',
  101.      +2I5)
  102.   508 FORMAT(15X,'LOOKING FOR EXISTING IZW=IZ IN ZONE ',I4) 
  103.   509 FORMAT(15X,'   **DIDNT FIND AN EXISTING IZW=IZ IN ZONE ',I4)
  104.   510 FORMAT(20X,'LOOKING FOR K2 AT ORIG IZW=NEW IZ') 
  105.   511 FORMAT(20X,'  K2J,IZWQ,IZ= ',3I4) 
  106.       END 
  107.