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 / KONSET.FOR < prev    next >
Text File  |  1991-08-16  |  2KB  |  64 lines

  1.       SUBROUTINE KONSET(KONI,KONO)
  2. C  CHECK FOR MIRROR IMAGE CONSTRUCT; IF NONE, SETUP ONE 
  3. C  * * *  CALLED BY STRCTL
  4.       DIMENSION IFLG(6),XK(3),XX(3),XRHO(3),XCP(3)
  5. CMDK NKONST
  6. CMDK CNSTRK      
  7.       DATA IDBG/0/
  8.       CALL ZERVI(6,IFLG)
  9.       NLI=NLMP(KONI)
  10. C  SET MIRRORED DATA IN TEMPORARY ARRAYS
  11.       IF(NLI.EQ.1)THEN
  12.           XK(1)=WK(1,KONI)
  13.           XX(1)=WX(1,KONI)
  14.           XRHO(1)=WRHO(1,KONI)
  15.           XCP(1)=WCP(1,KONI)
  16.           ENDIF 
  17.       IF(NLI.EQ.3)THEN
  18.           I=NLI+1 
  19.           DO 10 J=1,NLI 
  20.           I=I-1 
  21.           XK(I)=WK(J,KONI)
  22.           XX(I)=WX(J,KONI)
  23.           XRHO(I)=WRHO(J,KONI)
  24.           XCP(I)=WCP(J,KONI)
  25.    10     CONTINUE
  26.           ENDIF 
  27. C  NOW CHECK TO SEE IF ANY CONSTRUCT IS THE SAME AS MIRRORED DATA 
  28.       DO 100 IK=1,NCONS 
  29.       NL=NLMP(IK) 
  30.       IF(NL.NE.NLI)GO TO 100
  31.       DO 20 IL=1,NL 
  32.       IF(XK(IL).NE.WK(IL,IK))GO TO 100
  33.       IF(XX(IL).NE.WX(IL,IK))GO TO 100
  34.       IF(XRHO(IL).NE.WRHO(IL,IK))GO TO 100
  35.       IF(XCP(IL).NE.WCP(IL,IK))GO TO 100
  36.    20 CONTINUE
  37. C  ALL VALUES ARE EQUIVALENT, SO FOUND DESIRED CONSTRUCT!!! 
  38.       KONO=IK 
  39.       GO TO 130 
  40.   100 CONTINUE
  41. C - - -COULDNT FIND DESIRED CONSTRUCT, SO SET UP A NEW ONE
  42.       NCONS=NCONS+1 
  43.       IF(NCONS.GT.NKONST)STOP' KONSET: MUST INCREASE NKONST'
  44.       KONO=NCONS
  45.       IF(IDBG.NE.0)WRITE(60,500)KONO,NL
  46.       DO 110 I=1,4
  47.   110 IFXL(I,KONO)=0
  48.       NLMP(KONO)=NL 
  49.       DO 120 I=1,NL 
  50.       WK(I,KONO)=XK(I)
  51.       WX(I,KONO)=XX(I)
  52.       WRHO(I,KONO)=XRHO(I)
  53.       WCP(I,KONO)=XCP(I)
  54.       IF(IDBG.NE.0)WRITE(60,501)I,XK(I),XX(I),XRHO(I),XCP(I) 
  55.   120 CONTINUE
  56.   130 CONTINUE
  57.       RETURN
  58.   500 FORMAT(1H0,'NEW MIRROR-IMAGE CONSTRUCT SETUP; KON,NL= ',2I5)
  59.   501 FORMAT(1X,'LAYER NO.= ',I3,' K,X,RHO,CP= ',4G13.5)
  60.       END 
  61.