program elcon
c.....7-19-95: program will read ELEME-data, will generate connections
c              for selected elements, and then write them to file MINC.
c.....7-19-95: from dvlp/ina1.f, a program for reading an ELEME block of
c              a MESH file; placing all elements in specified z-interval
c              in "inactive" position
      COMMON/MADIM/M1,M2,M3,M4,M5,M6,M7,M8
C
      CHARACTER*5 ELEM,MATX,dom1,domx,el
C
      LOGICAL EX
C
      SAVE ICALL
      DATA ICALL/0/
      ICALL=ICALL+1
C
      IF(ICALL.EQ.1) print 899
  899 FORMAT(6X,'ELCON    0.9      19 July      1995',6X,'READ',
     X' AN ELEMENT DATA BLOCK FROM A MESH FILE'/
     X6X,'generate connections for selected elements')
C
      M1=MNEL
      M2=MNCON
      M3=MNEQ
      M4=MNPH
      M5=MNB+MNK
      M6=MNOGN
      M7=MGTAB
      M8=MNK
c
      INQUIRE(FILE='MESH',EXIST=EX)
      IF(EX) GOTO 2
      PRINT 3
    3 FORMAT(' FILE *MESH* DOES NOT EXIST --- STOP EXECUTION')
      STOP
c
    2 PRINT 4
    4 FORMAT(' FILE *MESH*  EXISTS --- OPEN AS AN OLD FILE')
      OPEN(4,FILE='MESH',STATUS='OLD')
C
      INQUIRE(FILE='MINC',EXIST=EX)
      IF(EX) GOTO 112
      PRINT 113
  113 FORMAT(' FILE *MINC* DOES NOT EXIST --- OPEN AS A NEW FILE')
      OPEN(10,FILE='MINC',STATUS='NEW')
      GOTO 120
C
  112 PRINT 114
  114 FORMAT(' FILE *MINC* EXISTS --- OPEN AS AN OLD FILE')
      OPEN(10,FILE='MINC',STATUS='OLD')
C
  120 CONTINUE
C
      print 110
  110 format(' enter name of connecting element')
      read(*,109) el
  109 format(A5)
      print 111
  111 format(' enter connection data as: isot, d1,',
     x' d2, area, beta')
      read(*,*) isot,d1,d2,area,beta
      print 115
  115 format(' enter lower, upper bounds as: xl,xu,yl,yu,zl,zu')
      read(*,*) xl,xu,yl,yu,zl,zu  
c
      isel=0
c
      REWIND 4
      rewind 10
      READ(4,5020) DENT
 5020 format(A5)
      N=0
 1492 CONTINUE
      N=N+1
C
      READ(4,1499) elem,matx,evol,aht,pm,x,y,z
 1499 FORMAT(A5,10X,A5,2E10.4,4E10.4)
      IF(elem.EQ.'     ') GOTO1502
c
         call selec(x,xl,xu,is)
         isel=isel+is
         if(is.eq.1) write(10,1503) el,elem,isot,d1,d2,area,beta
         call selec(y,yl,yu,is)
         isel=isel+is
         if(is.eq.1) write(10,1503) el,elem,isot,d1,d2,area,beta
         call selec(z,zl,zu,is)
         isel=isel+is
         if(is.eq.1) write(10,1503) el,elem,isot,d1,d2,area,beta
 1503 format(2A5,15X,I5,4E10.4)
      GOTO 1492
 1502 NEL=N-1
C
      print 13,nel,isel
   13 format(' ON FILE *MESH* HAVE READ',I6,' ELEMENTS'/
     x1X,I5,' ELEMENTS HAVE BEEN SELECTED FOR CONNECTIONS'/
     x' THE CONNECTION DATA HAVE BEEN WRITTEN TO FILE',
     x' *MINC*')
c
      stop
      end
      subroutine selec(a,b,c,i)
      i=0
      if(b.ne.c) then
         if(b.le.a.and.a.le.c) i=1
      endif
      return
      end