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