178
179
180
183
184
185
186#include "implicit_f.inc"
187
188
189
190 INTEGER IKAD(0:*),KALELINK,NALELK
191 CHARACTER KEY0(*)*5
192
193
194
195#include "scr07_c.inc"
196#include "units_c.inc"
197
198
199
200 INTEGER IXYZ, NVAR
201
202
203
204 INTEGER I, N, NBC, K, KK, NS, IKEY, M1, M2, IFORM,IERR
205 CHARACTER KEY1*5, KEY2*5, KEY3*5, KEY4*5
206 CHARACTER(LEN=NCHARLINE100) :: CARTE
207
208 k=0
209 ierr=0
210 ikey=kalelink
211 n=0
212 DO WHILE(n<nalelk)
213 READ(iusc1,rec=ikad(ikey)+k,
214 . fmt='(7X,A,1X,A,1X,I5,1X,A,1X,A,13X,I10)',
215 . err=9990) key1 , key2 , iform , key3 , key4 , nbc
216
217 IF(key1(1:5)/='LINK ')THEN
218 k=k+1
219 cycle
220 ENDIF
221 n=n+1
222
223
224
225 IF(key2(1:5)=='OFF ')THEN
226 ns=0
227 k=k+1
228 CALL wriusc2(ikad(ikey)+k,1,key0(ikey))
229 kk=k
230 DO i=0,nbc-1
231 READ(iusc1,rec=ikad(ikey)+k,fmt='(A)',err=9990)carte
232 k=k+1
234 ENDDO
235 WRITE(iin,'(3I10,5X,I3.3,I10)')-2,-2,ns,0,0
236 CALL read10(ikad(ikey)+kk,nbc,key0(ikey))
237
238
239
240
241 ELSEIF(key2(1:5)=='ON ')THEN
242 ns=0
243 k=k+1
244 CALL wriusc2(ikad(ikey)+k,1,key0(ikey))
245 kk=k
246 DO i=0,nbc-1
247 READ(iusc1,rec=ikad(ikey)+k,fmt='(A)',err=9990)carte
248 k=k+1
250 ENDDO
251 WRITE(iin,'(3I10,5X,I3.3,I10)')-1,-1,ns,0,0
252 CALL read10(ikad(ikey)+kk,nbc,key0(ikey))
253
254
255
256
257 ELSEIF(key2(1:5)=='VEL ')THEN
258 k=k+1
259 CALL wriusc2(ikad(ikey)+k,1,key0(ikey))
260 READ(iusc2,*,err=9990,END=9990)M1,m2
261 IF(m1<=0.OR.m2<=0)GOTO 9990
262 k=k+1
263 kk=k
264 ns=0
265
266
267
268 IF(key4(1:5)=='NODES'.OR.key4(1:5)==' ')THEN
269 DO i=1,nbc-1
270 READ(iusc1,rec=ikad(ikey)+k,fmt='(A)',err=9990)carte
271 k=k+1
273 ENDDO
274 llinal=llinal+ns+6
275
276
277
278
279
280 ELSEIF(key4(1:5)=='GRNOD')THEN
281 DO i=1,nbc-1
282 READ(iusc1,rec=ikad(ikey)+k,fmt='(A)',err=9990)carte
283 k=k+1
284 IF(
nvar(carte)>1.AND.m1<0)
THEN
285 ierr=1
286 ENDIF
287 IF(
nvar(carte)==1.AND.ns>0)
THEN
288 ierr=1
289 ENDIF
290 IF(
nvar(carte)==1.AND.ns==0)
THEN
291 ns=1
292 ENDIF
293 ENDDO
294
295 IF(ierr==1)THEN
296 WRITE(istdo,*)
297 . ' ** ERROR : SINGLE GRNOD ID NOT FOUND IN ALE LINK CARD'
298 WRITE(iout ,*)
299 . ' ** ERROR : SINGLE GRNOD ID NOT FOUND IN ALE LINK CARD'
301 END IF
302 ns=-ns
303 llinal=llinal+1+6
304 ENDIF
305
306 WRITE(iin,
'(3I10,5X,I3.3,I10)')m1,m2,ns,
ixyz(key3),iform
307 CALL read10(ikad(ikey)+kk,nbc-1,key0(ikey))
308
309 ENDIF
310 ENDDO
311
312 RETURN
313
314 9990 CONTINUE
315 CALL ancmsg(msgid=73,anmode=aninfo,
316 . c1=key0(ikey))
integer function ixyz(chr)
subroutine read10(irec, nbc, key0)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)