51
52
53
54 USE my_alloc_mod
60 USE matparam_def_mod
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85#include "implicit_f.inc"
86
87
88
89#include "vect01_c.inc"
90#include "com01_c.inc"
91#include "com04_c.inc"
92#include "units_c.inc"
93#include "param_c.inc"
94#include "sms_c.inc"
95#include "scr17_c.inc"
96#include "r2r_c.inc"
97#include "sphcom.inc"
98#include "boltpr_c.inc"
99
100
101
102 INTEGER ND, IDX
103 INTEGER IXS(11,*),IPARG(NPARG,*),EADD(*), ISOLNOD(*),
104 . DD_IAD(NSPMD+1,*),IPARTS(*),
105 . INUM(16,*), INDEX(*),CEP(*),ITR1(*),IXS10(6,*),IXS20(12,*),
106 . IXS16(8,*),IGEO(NPROPGI,NUMGEO),IPM(NPROPMI,NUMMAT),
107 . NOD2ELS(*), ISOLOFF(*),ISOLNOD1(*),
108 . TAGPRT_SMS(*),SPH2SOL(*),
109 . SOL2SPH(2,*),SOL2SPH_TYP(*),IFLAG_BPRELOAD(*)
110 INTEGER, INTENT(IN) :: IDDLEVEL
111 INTEGER, INTENT(IN) :: PRINT_FLAG
112 INTEGER, INTENT(IN) :: DAMP_RANGE_PART(NPART)
113 TYPE(MATPARAM_STRUCT_) , TARGET, DIMENSION(NUMMAT),INTENT(IN) :: MATPARAM_TAB
114 my_real pm(npropm,nummat), geo(npropg,numgeo), rnoise(nperturb,numels)
115
116 TYPE (GROUP_) , DIMENSION(NGRBRIC) :: IGRBRIC
117 TYPE (SURF_) , DIMENSION(NSURF) :: IGRSURF
118 TYPE (INIVOL_STRUCT_) , DIMENSION(NUM_INIVOL) :: INIVOL
119 TYPE (CLUSTER_) ,DIMENSION(NCLUSTER) :: CLUSTERS
120
121
122
123 INTEGER
124 . NGR1, MLN, NG, ISSN, ISSN_, N, MID, PID, II,ILOC,IL,NEL, NE1,IREP,IINT,
125 . P, NEL_PREC, IGT, JHBE, I, IKSNOD0,NB,IEOS,NLAY,
126 . MODE, WORK(70000), NN, J, NPTR,NPTS,NPTT,NPG,
127 . IPLAST,NUVARP, IALEL, INEG, JIVF,ICPRE,ICSTR,
128 . IFAIL,IMATVIS,NLY,,ILAW,IM,IPMAT,ITET4,ITET10,
129 . NGP(NSPMD+1),JJ,IFAILMODEL,NFAIL,ISVIS,IVISC,IMAT,
130 . INUM_R2R(1+R2R_SIU*NUMELS),IPARTSPH,IPARTR2R,,IBOLTP,ICP0,ISM0,
131 . IPERT,STAT,ITSH,IT10,ICPT10,JALE_FROM_MAT,JALE_FROM_PROP,IDAMP_FREQ_RANGE
132 DATA ipmat /100/
133 INTEGER, DIMENSION(:), ALLOCATABLE :: INDEXS2
134 INTEGER ID
135 CHARACTER(LEN=NCHARTITLE)::TITR
136 INTEGER :: CLUSTER_TYP,CLUSTER_NEL
137 INTEGER, DIMENSION(:), ALLOCATABLE :: SAVE_CLUSTER
138 my_real,
DIMENSION(:,:),
ALLOCATABLE :: xnum_rnoise
139 TYPE(MATPARAM_STRUCT_) , POINTER :: MATPARAM
140 LOGICAL lFOUND
141 INTEGER :: NB_NODES, LDIM, OFFSET
142
143
144
145 CALL my_alloc(indexs2,numels)
146 nullify(matparam)
148 ngr1 = ngroup + 1
149
150 IF (nperturb > 0) THEN
151 ALLOCATE(xnum_rnoise(nperturb,numels),stat=stat)
152 IF (stat /= 0)
CALL ancmsg(msgid=268,anmode=aninfo,
153 . msgtype=msgerror,
154 . c1='XNUM_RNOISE')
155 ELSE
156 ALLOCATE(xnum_rnoise(0,0))
157 ENDIF
158
159
160
161 idx=idx+nd*(nspmd+1)
162 CALL zeroin(1,nd*(nspmd+1),dd_iad(1,nspgroup+1))
163
164 nft = 0
165
166 DO n=1,nd
167 DO p=1,nspmd+1
168 dd_iad(p,nspgroup+n) = 0
169 END DO
170 ENDDO
171
172 DO i=1,numels
173 isolnod1(i) = isolnod(i)
174 ENDDO
175
176 DO n=1,nd
177 nel = eadd(n+1)-eadd(n)
178
179 DO i = 1, nel
180 index(i) = i
181 inum(1,i)=iparts(nft+i)
182 inum(2,i)=ixs(1,nft+i)
183 inum(3,i)=ixs(2,nft+i
184 inum(4,i)=ixs(3,nft+i)
185 inum(5,i)=ixs(4,nft+i)
186 inum(6,i)=ixs(5,nft+i)
187 inum(7,i)=ixs(6,nft+i)
188 inum(8,i)=ixs(7,nft+i)
189 inum(9,i)=ixs(8,nft+i)
190 inum(10,i)=ixs(9,nft+i)
191 inum(11,i)=ixs(10,nft+i)
192 inum(12,i)=ixs(11,nft+i)
193 inum(13,i)=isolnod(nft+i)
194 IF (nsubdom>0) inum_r2r(i) =
tag_elsf(nft+i)
195 IF (nperturb > 0) THEN
196 DO ipert = 1, nperturb
197 xnum_rnoise(ipert,i) = rnoise(ipert,nft+i)
198 ENDDO
199 ENDIF
200 ENDDO
201
202 IF(nsphsol /= 0 .AND. nft < numels8)THEN
203 DO i=1, nel
204 inum(14,i)=sol2sph(1,nft+i)
205 inum(15,i)=sol2sph(2,nft+i)
206 inum(16,i)=sol2sph_typ(nft+i)
207 ENDDO
208 END IF
209
210 IF(
doqa .NE. 0 .OR. iddlevel == 0)
THEN
211 mode=0
212 CALL my_orders( mode, work, cep(nft+1), index, nel , 1)
213 ELSE
214 nb_nodes = 8
215 ldim = 16
216 offset = 2
218 ENDIF
219
220 DO i = 1, nel
222 iparts(i+nft)=inum(1,index(i))
223 ixs(1,i+nft)=inum(2,index(i))
224 ixs(2,i+nft)=inum(3,index(i))
225 ixs(3,i+nft)=inum(4,index(i))
226 ixs(4,i+nft)=inum(5,index(i))
227 ixs(5,i+nft)=inum(6,index(i))
228 ixs(6,i+nft)=inum(7,index(i))
229 ixs(7,i+nft)=inum(8,index(i))
230 ixs(8,i+nft)=inum(9,index(i))
231 ixs(9,i+nft)=inum(10,index(i))
232 ixs(10,i+nft)=inum(11,index(i))
233 ixs(11,i+nft)=inum(12,index(i))
234 isolnod(i+nft)=inum(13,index(i))
235 itr1(nft+index(i)) = nft+i
236 IF (nsubdom>0)
tag_elsf(nft+i) = inum_r2r(index(i))
237 IF (nperturb > 0) THEN
238 DO ipert = 1, nperturb
239 rnoise(ipert,i+nft) = xnum_rnoise(ipert,index(i))
240 ENDDO
241 ENDIF
242 ENDDO
243
244
245
246 DO i = 1, nel
247 inum(3,i) = isoloff(nft+i)
248 END DO
249
250 DO i = 1, nel
251 isoloff(nft+i) = inum(3,index(i))
252 END DO
253
254
255
256 IF (npreload > 0) THEN
257 DO i=1,nel
258 inum(4,i)=iflag_bpreload(nft+i)
259 ENDDO
260
261 DO i=1,nel
262 iflag_bpreload(nft+i)=inum(4,index(i))
263 ENDDO
264 ENDIF
265
266
267 IF (nft>=numels8+numels10+numels20) THEN
268 DO i = 1, nel
269 ii = i+nft-(numels8+numels10+numels20)
270 inum(1,i)=ixs16(1,ii)
271 inum(2,i)=ixs16(2,ii)
272 inum(3,i)=ixs16(3,ii)
273 inum(4,i)=ixs16(4,ii)
274 inum(5,i)=ixs16(5,ii)
275 inum(6,i)=ixs16(6,ii)
276 inum(7,i)=ixs16(7,ii)
277 inum(8,i)=ixs16(8,ii)
278 ENDDO
279 DO i = 1, nel
280 ii = i+nft-(numels8+numels10+numels20)
281 ixs16(1,ii)=inum(1,index(i))
282 ixs16(2,ii)=inum(2,index(i))
283 ixs16(3,ii)=inum(3,index(i))
284 ixs16(4,ii)=inum(4,index(i))
285 ixs16(5,ii)=inum(5,index(i))
286 ixs16(6,ii)=inum(6,index(i))
287 ixs16(7,ii)=inum(7,index(i))
288 ixs16(8,ii)=inum(8,index(i))
289 ENDDO
290 ELSEIF (nft>=numels8+numels10) THEN
291 DO i = 1, nel
292 ii = i+nft-(numels8+numels10)
293 inum(1,i)=ixs20(1,ii)
294 inum(2,i)=ixs20(2,ii)
295 inum(3,i)=ixs20(3,ii)
296 inum(4,i)=ixs20(4,ii)
297 inum(5,i)=ixs20(5,ii)
298 inum(6,i)=ixs20(6,ii)
299 inum(7,i)=ixs20(7,ii)
300 inum(8,i)=ixs20(8,ii)
301 inum(9,i)=ixs20(9,ii)
302 inum(10,i)=ixs20(10,ii)
303 inum(11,i)=ixs20(11,ii)
304 inum(12,i)=ixs20(12,ii)
305 ENDDO
306 DO i = 1, nel
307 ii = i+nft-(numels8+numels10)
308 ixs20(1,ii)=inum(1,index(i))
309 ixs20(2,ii)=inum(2,index(i))
310 ixs20(3,ii)=inum(3,index(i))
311 ixs20(4,ii)=inum(4,index(i))
312 ixs20(5,ii)=inum(5,index(i))
313 ixs20(6,ii)=inum(6,index
314 ixs20(7,ii)=inum(7,index(i))
315 ixs20(8,ii)=inum(8,index(i))
316 ixs20(9,ii)=inum(9,index(i))
317 ixs20(10,ii)=inum(10,index(i))
318 ixs20(11,ii)=inum(11,index(i))
319 ixs20(12,ii)=inum(12,index
320 ENDDO
321 ELSEIF (nft>=numels8) THEN
322 DO i = 1, nel
323 ii = i+nft-numels8
324 inum(1,i)=ixs10(1,ii)
325 inum(2,i)=ixs10(2,ii)
326 inum(3,i)=ixs10(3,ii)
327 inum(4,i)=ixs10(4,ii)
328 inum(5,i)=ixs10(5,ii)
329 inum(6,i)=ixs10(6,ii)
330 ENDDO
331 DO i = 1, nel
332 ii = i+nft-numels8
333 ixs10(1,ii)=inum(1,index(i))
334 ixs10(2,ii)=inum(2,index(i))
335 ixs10(3,ii)=inum(3,index(i))
336 ixs10(4,ii)=inum(4,index(i))
337 ixs10(5,ii)=inum(5,index(i))
338 ixs10(6,ii)=inum(6,index(i))
339 ENDDO
340 ENDIF
341
342
343
344 IF(nsphsol /= 0 .AND. nft < numels8)THEN
345
346
347 DO i=1,nel
348 sol2sph(1,nft+i)=inum(14,index(i))
349 sol2sph(2,nft+i)=inum(15,index(i))
350 sol2sph_typ(nft+i)=inum(16,index(i))
351 END DO
352 END IF
353
354 p = cep(nft+index(1))
355 nb = 1
356 DO i = 2, nel
357 IF (cep(nft+index(i))/=p) THEN
358 dd_iad(p+1,nspgroup+n) = nb
359 nb = 1
360 p = cep(nft+index(i))
361 ELSE
362 nb = nb + 1
363 ENDIF
364 ENDDO
365 dd_iad(p+1,nspgroup+n) = nb
366 DO p = 2, nspmd
367 dd_iad(p,nspgroup+n) = dd_iad(p,nspgroup+n)
368 . + dd_iad(p-1,nspgroup+n)
369 ENDDO
370 DO p = nspmd+1,2,-1
371 dd_iad(p,nspgroup+n) = dd_iad(p-1,nspgroup+n)+1
372 ENDDO
373 dd_iad(1,nspgroup+n) = 1
374
375
376
377 DO i = 1, nel
378 index(i) = cep(nft+index(i))
379 ENDDO
380 DO i = 1, nel
381 cep(nft+i) = index(i)
382 ENDDO
383 nft = nft + nel
384 ENDDO
385
386
387
388
389 DO i=1,nsurf
390 nn=igrsurf(i)%NSEG
391 DO j=1,nn
392 IF (igrsurf(i)%ELTYP(j) == 1)
393 . igrsurf(i)%ELEM(j) = itr1(igrsurf(i)%ELEM(j))
394 ENDDO
395 ENDDO
396
397
398
399 DO i=1,ngrbric
400 nn=igrbric(i)%NENTITY
401 DO j=1,nn
402 igrbric(i)%ENTITY(j) = itr1(igrbric(i)%ENTITY(j))
403 ENDDO
404 ENDDO
405
406
407
408 IF(nsphsol /= 0)THEN
409 DO i=1,numsph
410 IF(sph2sol(i) /= 0)sph2sol(i)=itr1(sph2sol(i))
411 ENDDO
412 END IF
413
414
415
416 DO i=1,8*numels+6*numels10+12*numels20+8*numels16
417 IF(nod2els(i) /= 0)nod2els(i)=itr1(nod2els(i))
418 END DO
419
420
421
422
423 DO i=1,ncluster
424 cluster_typ = clusters(i)%TYPE
425 IF(cluster_typ==1) THEN
426 cluster_nel = clusters(i)%NEL
427 ALLOCATE( save_cluster( cluster_nel ) )
428 save_cluster( 1:cluster_nel ) = clusters(i)%ELEM( 1:cluster_nel )
429 DO j=1,cluster_nel
430 clusters(i)%ELEM(j) = itr1( save_cluster( j ) )
431 ENDDO
432 DEALLOCATE( save_cluster )
433 ENDIF
434 ENDDO
435
436
437
438
439
440
441
442 ineg = 0
443 DO 300 n=1,nd
444 nft = 0
445 DO p = 1, nspmd
446 icpt10 = -huge(icpt10)
447 ngp(p)=0
448 nel = dd_iad(p+1,nspgroup+n)-dd_iad(p,nspgroup+n)
449 IF (nel>0) THEN
450 nel_prec = dd_iad(p,nspgroup+n)-dd_iad(1,nspgroup+n)
451 ngp(p)=ngroup
452 ng = (nel-1)/nvsiz + 1
453 DO 220 i=1,ng
454
455 ngroup=ngroup+1
456 CALL zeroin(1,nparg,iparg(1,ngroup))
457 ii = eadd(n)+nft
458 mid = ixs(1,ii)
459 pid = ixs(nixs-1,ii)
460
461 idamp_freq_range = damp_range_part(iparts(ii))
462
463 iboltp=0
464 IF (npreload > 0) THEN
465 iboltp=iflag_bpreload(ii)
466 ENDIF
467 ipartr2r = 0
468 IF (nsubdom>0) ipartr2r =
tag_mat(mid)
470 CALL fretitl2(titr,igeo(npropgi-ltitr+1,pid),ltitr)
471 iksnod0=isolnod(ii)
472
473
474 npt=1
475 jivf=0
476 nuvarp=0
477 jhbe= 1
478 jpor=0
479 jclos=0
480 iplast= 1
481 icpre=0
482 icstr=0
483 irep = 0
484 iint = 0
485 jcvt = 0
486 isorth=0
487 istrain=0
488 isvis = 0
489 ipartsph=0
490 ivisc = 0
491 itsh = 0
492 it10 = 0
493 itet4 = 0
494 itet10 = 0
495
496
497 IF (pid/=0) THEN
498 irep = igeo(6,pid)
499 jhbe = igeo(10,pid)
500 igt = igeo(11,pid)
501 npt = igeo(4,pid)
502 issn = igeo(5,pid)
503 iint = igeo(15,pid)
504 jcvt = igeo(16,pid)
505 isorth = igeo(17,pid)
506 istrain= igeo(12,pid)
507 itet4 = igeo(20,pid)
508 itet10 = igeo(50,pid)
509
510 isvis = igeo(33,pid)
511 ipartsph=igeo(38,pid)
512
513 IF ((issn == 10.OR.issn == 11).AND.(igt == 14.OR.igt == 6)) THEN
514 IF (iksnod0/=4 .AND. iksnod0/=8.AND. iksnod0/=10 ) THEN
516 . msgtype=msgerror,
517 . anmode=aninfo_blind_2,
519 . c1=titr,
520
521 . i3=jhbe)
522 ENDIF
523 ENDIF
524
525 IF (jhbe == 222) THEN
526 IF (iksnod0 == 8) THEN
527 jhbe= 14
528 ELSEIF (iksnod0 == 16 .OR. iksnod0 == 20) THEN
529 jhbe= 16
530 ENDIF
531 ENDIF
532
533 IF (jhbe == 12) THEN
534 IF (issn == 10.OR.issn == 11) THEN
536 . msgtype=msgerror,
537 . anmode=aninfo_blind_2,
539 . c1=titr,
540 . i2=jhbe)
541 ENDIF
542 IF (iksnod0 == 4 .OR. iksnod0 == 10) THEN
543 jhbe= 1
544 ELSE
546 . msgtype=msgwarning,
547 . anmode=aninfo_blind_2,
549 . c1=titr,
550 . prmod=msg_cumu)
551 ENDIF
552 ENDIF
553
554 IF (igt == 15) jpor = 2*nint(geo(28,pid))
555 IF (geo(130,pid) > 0) jclos=1
556 IF (igt > 28) nuvarp = nint(geo(25,pid))
557 IF (igt /= 15) THEN
558 iplast = igeo(9,pid)
559 icpre = igeo(13,pid)
560 icstr = igeo(14,pid)
561 icpt10 = icpre
562 ENDIF
563 IF (igt == 14.OR.igt == 6) THEN
564 IF (itet4/=0.AND.iksnod0 == 8) THEN
565 itet4=0
566 END IF
567 IF (itet10/=0.AND.iksnod0 == 8) THEN
568 itet10=0
569 END IF
570 END IF
571 ENDIF
572
573 mln = nint(pm(19,abs(mid)))
574 IF(mln == 20)THEN
575 IF(iparg(5,ngroup)/=2)THEN
577 . msgtype=msgerror,
578 . anmode=aninfo)
580 ENDIF
581 ENDIF
582
583 IF(mid<0)THEN
584 IF(mln == 6.AND.jpor/=2)mln=17
585 IF(mln == 46)mln=47
586 mid=abs(mid)
587 ixs(1,ii)=mid
588 ineg = 1
589 ENDIF
590
591 matparam => matparam_tab(mid)
592 IF(igt == 6 .AND. mln == 70) THEN
594 . msgtype=msgerror,
595 . anmode=aninfo_blind_1,
597 . c1=titr,
598 . i2=igt,
599 . i3=mln)
600
601 ENDIF
602 IF(igt == 0 .AND. mln /= 0) THEN
604 . msgtype=msgerror,
605 . anmode=aninfo_blind_1,
606 . i1=ipm(1,mid),
608 . prmod=msg_cumu)
609 ENDIF
610 IF (jhbe == 24 .AND. igt == 6) THEN
611 IF(mln /= 14 .AND. mln /= 12 .AND. mln /= 25 .AND.
612 . mln /= 28 .AND. mln /= 50 .AND. mln /= 68 .AND.
613 . mln /= 53 .AND. mln /= 93 .AND. mln /= 107 .AND.
614 . mln /= 112.AND. mln /= 122 .AND. mln /= 127 .AND. mln /= 128) THEN
615
617 . msgtype=msgwarning,
618 . anmode=aninfo_blind_2,
620 . c1=titr,
621 . i2=mln,
622 . prmod=msg_cumu)
623 END IF
624 ENDIF
625
626
627 IF ((mln == 115).AND.(((jhbe>2).AND.(jhbe<21)).OR.((itet4>0).AND.(itet4<3)))) THEN
629 . msgtype=msgwarning,
630 . anmode=aninfo_blind_2,
632 . c1=titr,
633 . i2=mln,
634 . prmod=msg_cumu)
635 ENDIF
636
637 ifail = 0
638 nfail = 0
639 IF (igt == 22) THEN
640 nlay = igeo(30,pid)
641 DO il=1,nlay
642 imat = igeo(100+il,pid)
643 nfail =
max(nfail,matparam_tab(imat)%NFAIL)
644 ENDDO
645 ELSE
646 nfail = matparam_tab(mid)%NFAIL
647 ENDIF
648
649 IF (nfail > 0)THEN
650 ifail = 1
651 IF(mln /= 25 .AND. mln < 28) THEN
652 DO j=1,nfail
653 ifailmodel = ipm(111 + 15*(j - 1) ,mid)
654 IF (ifailmodel == 10 .OR. ifailmodel == 4
655 . .OR.ifailmodel == 5 .OR. ifailmodel == 6)istrain = 1
656 ENDDO
657 ENDIF
658 ENDIF
659 IF(iksnod0 == 10.OR.
660 . (iksnod0 == 4.AND.itet4 == 1))THEN
661 npt=4
662 it10 =1
663 ELSEIF(iksnod0 == 4)THEN
664 npt=1
665 ENDIF
666 IF ((jhbe/=1 .AND. jhbe/=2) .AND. mln==68 ) THEN
668 . msgtype=msgerror,
669 . anmode=aninfo_blind_1,
671 . c1=titr,
672 . i2=igeo(1,pid))
673 ENDIF
674 IF (jhbe == 2) jhbe=0
675 IF(mln == 1 .AND.igt /= 22) THEN
676 IF ((jhbe == 14 .AND. npt /= 222).OR.(jhbe == 15 .AND. npt /= 2) ) THEN
677 npt = 2
678 IF(jhbe==14 ) npt = 222
680 . msgtype=msgwarning,
681 . anmode=aninfo_blind_1,
683 . i2=jhbe,
684 . c1=titr)
685 ENDIF
686 ENDIF
687
688 jale_from_mat = nint(pm(72,mid))
689 jale_from_prop = igeo(62,pid)
690 jale =
max(jale_from_mat, jale_from_prop)
691 jlag=0
692 IF(jale == 0.AND.mln /= 18)jlag=1
693 jeul=0
694 IF(jale == 2)THEN
695 jale=0
696 jeul=1
697
698 ELSEIF(jale == 3 .AND. mln == 77) THEN
699 jlag=1
700 ENDIF
701
702 IF (nsubdom>0) THEN
703 IF (ipartr2r == 0) THEN
704 IF (jale > 0) jale = 0
705 IF (jeul > 0) jeul = 0
706 ENDIF
707 ENDIF
708
709
710
711
712
713 IF(jale == 1)THEN
714 ale%REZON%NUM_NUVAR_MAT =
ale%REZON%NUM_NUVAR_MAT + matparam%REZON%NUM_NUVAR_MAT
715 ale%REZON%NUM_NUVAR_EOS =
ale%REZON%NUM_NUVAR_EOS + matparam%REZON%NUM_NUVAR_EOS
716 ENDIF
717
718
719 IF(jale == 1)THEN
720 iparg(81,ngroup) = matparam%REZON%NUM_NUVAR_MAT
721 iparg(82,ngroup) = matparam%REZON%NUM_NUVAR_EOS
722 ENDIF
723
724 IF(mln/=50)jtur=nint(pm(70,mid))
725 jthe=nint(pm(71,mid))
726
727 israt=ipm(3,mid)
728 imatvis = ipm(216, mid)
729 issn=0
730 IF(jlag/=0.AND.pid/=0)THEN
731 issn=igeo(5,pid)
732
733 ELSE
734 issn=4
735 ENDIF
736 IF(mln == 13) irigid_mat = 1
737
738 jsms=0
739 IF(isms/=0)THEN
740 IF(idtgrs/=0)THEN
741 IF(tagprt_sms(iparts(ii))/=0)jsms=1
742 ELSE
743 jsms=1
744 END IF
745 END IF
746 ieos = ipm(4,mid)
747
748
749
750 IF (igt == 20 .OR. igt == 21 .OR. igt == 22) itsh = 1
751
752 IF (itsh == 1 ) THEN
753 icp0=matparam%COMPRESSIBILITY
754 SELECT CASE (icp0)
755
756 CASE(1)
757 icpre = 0
758
759 CASE(2)
760 icpre = 1
761
762 CASE(3)
763 icpre = 2
764 END SELECT
765
766 IF (icpre>0)
CALL ancmsg(msgid=1741,
767 . msgtype=msginfo,
768 . anmode=aninfo_blind_2,
770 . c1=titr,
771 . i2=icpre,
772 . prmod=msg_cumu)
773 IF (issn >= 10) THEN
775 . msgtype=msgerror,
776 . anmode=aninfo_blind_2,
778 . c1=titr,
779 . i2=issn)
780 ENDIF
781 END IF
782
783 IF (igt == 14 .OR. igt == 6) THEN
784 IF (icpre<0) THEN
785 IF (iksnod0 ==8.AND.jhbe>10) THEN
786 icp0=matparam%COMPRESSIBILITY
787 SELECT CASE (icp0)
788
789 CASE(1)
790 icpre = 3
791
792 CASE(2)
793 icpre = 1
794
795 CASE(3)
796 icpre = 2
797 END SELECT
798
800 . msgtype=msginfo,
801 . anmode=aninfo_blind_2,
803 . c1=titr,
804 . i2=icpre,
805 . prmod=msg_cumu)
806 ELSE
807 icpre = 0
808 END IF
809 END IF
810
811 IF (issn<0) THEN
812
813 ism0 = matparam%SMSTR
814 icp0 = matparam%STRAIN_FORMULATION
815 IF (icp0 ==2.AND.jhbe/=16) THEN
816 IF (ism0==1) THEN
817 issn = 11
818 ELSE
819 issn = 10
820
821 END IF
822 ELSE
823 IF (ism0==1) THEN
824 issn = 1
825 ELSE
826 issn = 2
827 END IF
828 END IF
829
830 IF (mln == 1.AND.jhbe/=16) issn = 12
831
833 . msgtype=msginfo,
834 . anmode=aninfo_blind_2,
836 . c1=titr,
837 . i2=issn,
838 . prmod=msg_cumu)
839 END IF
840
841 IF (jcvt<0) THEN
842 jcvt = 0
843 IF (iksnod0==8.AND.jlag>0.AND.mln/=68) jcvt = 1
844
845 ism0 = jcvt+1
847 . msgtype=msginfo,
848 . anmode=aninfo_blind_2,
850 . c1=titr,
851 . i2=ism0,
852 . prmod=msg_cumu)
853 END IF
854 END IF
855
856 IF (it10 ==1 .AND. (issn==4 .OR. issn==10)
857 . .AND. iksnod0==10 ) THEN
858 icp0=matparam%COMPRESSIBILITY
859 SELECT CASE (icp0)
860
861 CASE(1)
862 icpre = 3
863
864 CASE(2)
865 icpre = 1
866 IF (mln == 1.OR.mln == 92) icpre = 3
867
868 CASE(3)
869 icpre = 2
870 IF (icpt10==3) icpre = 3
871 END SELECT
872
873 IF (icpre ==1 .OR. icpre ==2)
CALL ancmsg(
874 . msgid=1741,
875 . msgtype=msginfo,
876 . anmode=aninfo_blind_2,
878 . c1=titr,
879 . i2=icpre,
880 . prmod=msg_cumu)
881 ELSEIF (it10 ==1) THEN
882 icpre = 0
883 END IF
884
886 IF (itsh == 1.AND. matparam%IPRES/=1)
CALL ancmsg(
887 . msgid=3012,
888 . msgtype=msginfo,
889 . anmode=aninfo_blind_2,
891 . c1=titr,
892 . i2=mln,
893 . prmod=msg_cumu)
894
895
896
897
898
899
900
901 IF (jale+jeul /= 0) THEN
902
903 IF (jhbe>=2.AND.jhbe/=24) THEN !formulation check
905 . msgtype=msgerror,
906 . anmode=aninfo_blind_1,
908 . c1=titr,
909 . i2=jhbe)
910 ELSEIF (jcvt==1) THEN
911 IF(jhbe==0) THEN
913 . msgtype=msgerror,
914 . anmode=aninfo_blind_1,
916 . c1=titr,
917 . i2=2)
918 ELSE
920 . msgtype=msgerror,
921 . anmode=aninfo_blind_1,
923 . c1=titr,
924 . i2=jhbe)
925 END IF
926 END IF
927
928 END IF
929
930
931 IF (igt == 14.AND.mln == 28 .AND.
932 . (jhbe == 0.OR.jhbe == 1.OR.jhbe == 12.OR.jhbe == 17)
933 . .AND.jcvt == 1) THEN
935 . msgtype=msgerror,
936 . anmode=aninfo_blind_1,
938 . c1=titr,
939 . i2=jhbe)
940 ENDIF
941 IF (igt == 14.AND.(mln == 14.OR.mln == 24)
942 . .AND.(jhbe == 12.AND.jcvt == 1)) THEN
944 . msgtype=msgerror,
945 . anmode=aninfo_blind_1,
947 . c1=titr,
948 . i2=jhbe,
949 . i3=mln)
950 ENDIF
951
952 IF(iksnod0 == 4.AND.
953 . (jhbe==0.OR.jhbe==1.OR.jhbe==12.OR.jhbe==17).AND.jcvt==1)THEN
955 . msgtype=msgwarning,
956 . anmode=aninfo_blind_2,
958 . c1=titr,
959 . i2=igeo(1,pid))
960 jcvt = 0
961 ELSEIF(iksnod0 == 4.OR.iksnod0 == 10)THEN
962 jcvt = 0
963 ENDIF
964 IF(iksnod0 == 4 .AND. jhbe /= 1 .AND. jhbe /= 2) THEN
965 jhbe = 1
966 npt=1
967 IF(itet4 == 1) npt=4
968 ENDIF
969 IF(iksnod0 == 10 .AND. jhbe /= 1 .AND. jhbe /= 2) THEN
970
971
972
973
974
975
976 jcvt = 0
977 jhbe = 1
978 IF (npt/=4) npt=4
979 ENDIF
980
981 IF(iksnod0 == 10 .AND. (jhbe == 1 .OR. jhbe == 2)
982 . .AND. jcvt == 1) THEN
984 . msgtype=msgwarning,
985 . anmode=aninfo_blind_2,
987 . c1=titr)
988 jcvt = 0
989 ENDIF
990
991 IF (jhbe /= 16 .AND. (iksnod0 == 16 .OR. iksnod0 == 20)) THEN
993 . msgtype=msgwarning,
994 . anmode=aninfo_blind_2,
996 . c1=titr,
997 . i2=jhbe)
998 jhbe = 16
1000 ENDIF
1001 IF (jhbe == 14 .AND. iksnod0 /= 8) THEN
1002 IF(iksnod0 /= 4.AND.iksnod0 /= 10)THEN
1004 . msgtype=msgwarning,
1005 . anmode=aninfo_blind_2,
1007 . c1=titr,
1008 . i2=jhbe,
1009 . prmod=msg_cumu)
1010 ENDIF
1011 jhbe = 0
1012 ENDIF
1013 IF (jhbe == 15 .AND. iksnod0 /= 6 .AND. iksnod0 /= 8) THEN
1014 IF(iksnod0 /= 4.AND.iksnod0 /= 10)THEN
1016 . msgtype=msgerror,
1017 . anmode=aninfo_blind_1,
1019 . c1=titr,
1020 . i2=jhbe)
1021 ENDIF
1022 jhbe = 0
1023 ENDIF
1024 IF (jhbe == 16 .AND. iksnod0 /= 16 .AND. iksnod0 /= 20) THEN
1025 IF(iksnod0 /= 4.AND.iksnod0 /= 10)THEN
1027 . msgtype=msgerror,
1028 . anmode=aninfo_blind_1,
1030 . c1=titr,
1031 . i2=jhbe)
1032 ENDIF
1033 jhbe = 0
1034 ENDIF
1035 IF (jhbe == 24 .AND. iksnod0 /= 8) THEN
1036 IF(iksnod0 /= 4.AND.iksnod0 /= 10)THEN
1038 . msgtype=msgwarning,
1039 . anmode=aninfo_blind_2,
1041 . c1=titr,
1042 . i2=jhbe,
1043 . prmod=msg_cumu)
1044 ENDIF
1045 jhbe = 0
1046 ENDIF
1047 IF (jhbe==15 .AND. igt/=20 .AND. igt/=21 .AND. igt/=22) THEN
1049 . msgtype=msgerror,
1050 . anmode=aninfo_blind_1,
1052 . c1=titr,
1053 . i2=jhbe,
1054 . i3=igt)
1055 ENDIF
1056 IF (jhbe/=15 .AND. iksnod0==6 ) THEN
1058 . msgtype=msgerror,
1059 . anmode=aninfo_blind_1,
1061 . c1=titr,
1062 . i2=ixs(11,ii))
1063 ENDIF
1064 IF ((jhbe == 17 .OR.jhbe == 18) .AND. iksnod0 /= 8) THEN
1065 IF(iksnod0 /= 4.AND.iksnod0 /= 10)THEN
1067 . msgtype=msgwarning,
1068 . anmode=aninfo_blind_2,
1070 . c1=titr,
1071 . i2=jhbe,
1072 . prmod=msg_cumu)
1073 ENDIF
1074 jhbe = 0
1075
1076 IF (issn==0) issn=4
1077 ENDIF
1078
1079 IF (jhbe == 24 .AND. iint==0) THEN
1080 iint =1
1081 IF (imatvis > 0 .OR.mln==24) THEN
1082 SELECT CASE (mln)
1083
1084 CASE(38,42,62,69,70,82,88,90,92,94,190)
1085 iint =2
1086
1087 CASE(71)
1088 iint =2
1089
1090 CASE(24)
1091 iint =2
1092 END SELECT
1093 END IF
1094 END IF
1095
1096 IF (jhbe == 18 ) THEN
1097 icp0 = icpre
1098
1099 icpre = 1
1100 SELECT CASE (mln)
1101
1102 CASE(1,13,16,33,34,35,38,40,41,70,77,90,190)
1103 icpre = 0
1104 IF (pm(21,mid)>=0.49) icpre = 1
1105
1106
1107
1108
1109 CASE(42,62,69,82,88,92,94,100,101,111)
1110
1111
1112 CASE(2,36)
1113 icpre = 2
1114
1115 CASE(21,22,23,24,27,52,79,81,84)
1116 icpre = 2
1117
1118 CASE(12,14,15,25,28,50,53,68,76,93,107,112,127)
1119 icpre = 0
1120 END SELECT
1121 IF (icp0 ==3) THEN
1122 IF (icpre/=0) THEN
1123
1125 . msgtype=msgwarning,
1126 . anmode=aninfo_blind_2,
1128 . c1=titr,
1129 . i2=icpre,
1130 . prmod=msg_cumu)
1131 icpre = 0
1132 END IF
1133 ELSE
1134 IF (icp0 /=0 .AND. icpre/=icp0) THEN
1135
1137 . msgtype=msgwarning,
1138 . anmode=aninfo_blind_2,
1140 . c1=titr,
1141 . i2=icpre,
1142 . prmod=msg_cumu)
1143 icpre = icp0
1144 END IF
1145 END IF
1146
1147 ism0 = issn
1148 issn=2
1149 SELECT CASE (mln)
1150
1151 CASE(1)
1152
1153 IF (ism0 == 10.OR.ism0 == 12) issn = ism0
1154 CASE(42,62,69,82,88,92,94,95,100,101,111)
1155 issn=10
1156
1157 CASE(38,90,190)
1158 issn=10
1159
1160 CASE(28)
1161 issn=1
1162
1163 CASE(70)
1164 issn=11
1165 END SELECT
1166 IF (ism0 /=0 .AND. issn/=ism0) THEN
1167
1169 . msgtype=msgwarning,
1170 . anmode=aninfo_blind_2,
1172 . c1=titr,
1173 . i2=issn,
1174 . prmod=msg_cumu)
1175 issn = ism0
1176 END IF
1177 jhbe =17
1178 IF (icp0==0.OR.ism0==0) THEN
1180 . msgtype=msginfo,
1181 . anmode=aninfo_blind_2,
1182 .
1183 . c1=titr,
1184 . i2=issn,
1185 . i3=icpre,
1186 . prmod=msg_cumu)
1187 END IF
1188 ENDIF
1189
1190 IF (icpre == 3.AND.(igt == 14.OR.igt == 6)) icpre =0
1191 IF((mln == 95 .OR. mln == 10THEN
1192 issn = 10
1194 . msgtype=msgwarning
1195 . anmode=aninfo_blind_2,
1197 . c1=titr,
1198 . i2=mln)
1199
1200 ENDIF
1201 IF (iksnod0 == 16 .OR. iksnod0 == 20) THEN
1202 jcvt = 0
1203 ENDIF
1204
1205
1206
1207 IF( iksnod0 == 8 .AND.iabs(jhbe) < 200 .AND. npt == 8
1208 . .AND.iabs(jhbe) /= 14. and.iabs(jhbe) /= 15
1209 . .AND.iabs(jhbe) /= 24 .AND.iabs(jhbe) /= 17
1210 . .AND.iabs(jhbe) /= 18) THEN
1211
1212 IF(mln /= 1 .AND. mln/= 2 .AND. mln /= 3 .AND.
1213 . mln /= 28 .AND. mln /= 29 .AND. mln /= 30 .AND.
1214 . mln /=31 .AND. mln/= 33 .AND. mln
1215 . mln /= 35 .AND. mln /= 36 .AND. mln /= 38 .AND.
1216 . mln /= 39 .AND. mln /= 40 .AND. mln /= 41 .AND.
1217 . mln /= 42 .AND. mln /= 44 .AND. mln /= 45 .AND.
1218 . mln /= 48 .AND. mln /= 50 .AND. mln /= 52 .AND.
1219 . mln /= 53 .AND. mln /= 56 .AND. mln /= 60 .AND.
1220 . mln /= 62 )THEN
1221 jhbe = 17
1222 icpre = 1
1223 igeo(10, pid) = 17
1224 igeo(13, pid) = 1
1226 . msgtype=msgwarning,
1227 . anmode=aninfo_blind_2,
1229 . c1=titr,
1230 . i2=mln)
1231 ENDIF
1232
1233
1234
1235
1236 ENDIF
1237 IF (issn == 10 .OR. issn == 12) THEN
1238 IF(mln /= 38 .AND. mln /= 42 .AND. mln /= 62 .AND.
1239 . mln /= 69 .AND. mln /= 82 .AND. mln /= 92 .AND.
1240 . mln /= 99 .AND. mln /= 1 .AND. mln /= 88 .AND.
1241 . mln /= 71 .AND. mln /= 94 .AND. mln /= 90 .AND.
1242 . mln /= 95 .AND. mln /=100 .AND. mln /= 101 .AND.
1243 . mln /= 111 .AND. mln /=190) THEN
1244
1246 . msgtype=msgwarning
1247 . anmode=aninfo_blind_2,
1249 . c1=titr,
1250 . i2=mln)
1251 IF (issn == 12) THEN
1252 issn = 2
1253 ELSE
1254 issn = 4
1255 END IF
1256 END IF
1257 ELSE IF (issn == 11) THEN
1258 IF(mln /= 1 .AND.mln /= 38 .AND. mln /= 70 .AND. mln /= 77
1259 . .AND. mln /= 90 .AND. mln /= 190)THEN
1260
1262 . msgtype=msgerror,
1263 . anmode=aninfo_blind_1,
1265 . c1=titr,
1266 . i2=mln)
1267 END IF
1268 ENDIF
1269 IF(mln == 70 .OR. mln == 77) THEN
1270 IF (itsh==1) THEN
1271 issn = 1
1272 ELSEIF (issn /= 11 .AND. issn /= 1) THEN
1273 issn = 11
1274 END IF
1275 ENDIF
1276
1277 IF( icpre==1.AND.iksnod0 ==8.AND.(jhbe==14.OR.jhbe==17))THEN
1278
1279 IF(mln == 34 )THEN
1280
1281 icpre = 11
1282 igeo(13, pid) = 11
1283 END IF
1284 IF(mln == 28 )THEN
1285 icpre = 0
1286 igeo(13, pid) = 0
1288 . msgtype=msgwarning,
1289 . anmode=aninfo_blind_2,
1291 . c1=titr
1292 END IF
1293 END IF
1294
1295 IF (jhbe == 16.AND.mln == 25)THEN
1297
1298 . anmode=aninfo_blind_1,
1300 . c1=titr,
1301 . i2=jhbe,
1302 . i3=mln)
1303 ENDIF
1304 IF (mln ==200.AND.(igt == 14.OR.igt == 20))THEN
1306 . msgtype=msgerror,
1307 . anmode=aninfo_blind_1,
1309 . c1=titr,
1310 . i2=mln)
1311 ENDIF
1312
1313
1314 IF (jhbe==14 .OR. jhbe==16) THEN
1315 nptr=abs(npt)/100
1316 npts=mod(abs(npt)/10,10)
1317 nptt=mod(abs(npt),10)
1318 npg = nptr*npts*nptt
1319 nly = npts
1320 ELSE
1321 npg = npt
1322 nly = npt
1323 ENDIF
1324
1325 IF (igt==22) THEN
1326 IF (jhbe==14 ) THEN
1327 SELECT CASE (icstr)
1328 CASE(100)
1329 nly = nptr
1330 IF (nly ==0) THEN
1331 nly =iint
1332 npg = nly*npts*nptt
1333 ENDIF
1334 CASE(10)
1335 nly = npts
1336 IF (nly ==0) THEN
1337 nly =iint
1338 npg = nly*nptr*nptt
1339 ENDIF
1340 CASE(1)
1341 nly = nptt
1342 IF (nly ==0) THEN
1343 nly =iint
1344 npg = nly*nptr*npts
1345 ENDIF
1346 END SELECT
1347 ENDIF
1349 im=igeo(ipmat+
nl,pid)
1350 ilaw=nint(pm(19,im))
1351
1352 israt=
max(israt,ipm(3,im))
1353 ENDDO
1354 ENDIF
1355
1356
1357 ne1 =
min( nvsiz, nel + nel_prec - nft)
1358 IF(issn > 4 .AND. iboltp /= 0)THEN
1359
1360 issn_ = issn
1361
1362 IF(issn_==10)THEN
1363 issn=4
1364 ELSEIF(issn_==11)THEN
1365 issn=1
1366 ELSEIF(issn_==12)THEN
1367 issn=2
1368 END IF
1369
1370 DO j=1,ne1
1371 ii=eadd(n)+nft+j-1
1372
1373
1376 . msgtype=msgwarning,
1378 . i2=iparts(ii),
1379 . i3=issn_,
1380 . i4=issn ,
1381 . anmode=aninfo_blind_1,
1382 . prmod=msg_cumu)
1383 END DO
1384 ENDIF
1385 IF(iksnod0 == 10.AND.itet10==3)THEN
1386 iint = itet10
1387 itet10 = 2
1388 ELSEIF(iksnod0 == 10.AND.itet10==2)THEN
1389 iint = 0
1390 ENDIF
1391
1392 IF (iksnod0 == 10.AND.itet10==2.AND.isms>0) THEN
1394 . msgtype=msgerror,
1395 . anmode=aninfo_blind_2,
1397 . c1=titr,
1398 . prmod=msg_cumu)
1399 END IF
1400
1401
1402 IF (issn < 10 .AND. itet4 == 3 .AND. ASSOCIATED(matparam)) THEN
1403 IF(matparam%STRAIN_FORMULATION==2) THEN
1405 . msgtype=msgwarning,
1406 . anmode=aninfo_blind_2,
1407 . i1=igeo(1,pid),
1408 . i2=issn,
1409 . prmod=msg_cumu)
1410 issn = 10
1411 ENDIF
1412 ENDIF
1413 ivisc = matparam%IVISC
1414 IF (ivisc == 2 .AND. issn /=10 .AND. issn /=12) THEN
1416 . msgtype=msgwarning,
1417 . anmode=aninfo_blind_2,
1418 . i1=pid,
1419 . c1=titr)
1420 ENDIF
1421
1422
1423
1424 iparg(1,ngroup) = mln
1425 iparg(2,ngroup) = ne1
1426 iparg(3,ngroup) = eadd(n)-1 + nft
1427 iparg(4,ngroup) = lbufel+1
1428 iparg(5,ngroup) = 1
1429 iparg(7,ngroup) = jale
1430 iparg(9,ngroup) = issn
1431 iparg(11,ngroup)= jeul
1432 iparg(12,ngroup)= jtur
1433 iparg(13,ngroup)= -abs(jthe)
1434 IF(jale+jeul /= 0)THEN
1435 iparg(13,ngroup)= +abs(jthe)
1436 ENDIF
1437 iparg(14,ngroup)= jlag
1438 iparg(10,ngroup)= icpre
1439 iparg(17,ngroup)= icstr
1440 iparg(6,ngroup) = npt
1441 iparg(18,ngroup)= mid
1442 iparg(20,ngroup) = 0
1443 IF (mln == 151) iparg(20,ngroup) = ipm(20, mid)
1444 iparg(23,ngroup)= jhbe
1445 iparg(24,ngroup)= jivf
1446 iparg(27,ngroup)= jpor
1447 iparg(28,ngroup)= iksnod0
1448 iparg(29,ngroup)= iplast
1449 iparg(34,ngroup)= nint(pm(10,mid))
1450
1451 iparg(32,ngroup)= p-1
1452 iparg(33,ngroup)= jclos
1453 iparg(35,ngroup)= irep
1454 iparg(36,ngroup)= iint
1455 iparg(37,ngroup)= jcvt
1456 iparg(38,ngroup)= igt
1457 iparg(42,ngroup)= isorth
1458 iparg(40,ngroup)= israt
1459 iparg(43,ngroup)= ifail
1460 IF(mln == 68)THEN
1461 iparg(41,ngroup)=1
1462 ELSE
1463 iparg(41,ngroup)=itet4
1464 ENDIF
1465 IF(mln/=25.AND.mln<28)THEN
1466 iparg(44,ngroup)= istrain
1467 ELSEIF(mln>=28)THEN
1468 istrain=2
1469 iparg(44,ngroup)=istrain
1470 ENDIF
1471
1472 iparg(45,ngroup ) = imatvis
1473
1474 IF(ipm(218,mid) > 0 .AND. mln /= 0 .AND. mln /= 13)
1475 . iparg(49,ngroup)= 1
1476 iparg(52,ngroup)= jsms
1477
1478
1479
1480 iparg(53,ngroup) = 0
1481 lfound=.false.
1483
1484 mft = iparg(3,ngroup)
1485 DO iloc = 1 ,iparg(2,ngroup)
1487 IF(
inivol(jj)%PART_ID == iparts(iloc+mft))
THEN
1488 iparg(53,ngroup) = 1
1489 lfound=.true.
1490 EXIT
1491 ENDIF
1492 ENDDO
1493 IF(lfound)EXIT
1494 END DO
1495 END IF
1496
1497 iparg(55,ngroup)= ieos
1498
1499 iparg(60,ngroup)= isvis
1500 iparg(61,ngroup)= ivisc
1501 iparg(62,ngroup)= pid
1502 iparg(69,ngroup)= ipartsph
1503
1504 IF (nsubdom>0) iparg(77,ngroup)= ipartr2r
1505
1506 iparg(72,ngroup)= iboltp
1507
1508
1509 iparg(73,ngroup)=ipm(252,mid)
1510 iparg(74,ngroup)=itet10
1511
1512 iparg(78,ngroup) = matparam%NLOC
1513
1514 iparg(93,ngroup) = idamp_freq_range
1515
1516
1517
1518 IF (npg > 1) npg = npg + 1
1519 IF (npg == 1 .AND. jhbe == 15) npg = npg + 1
1520
1521 nft = nft + ne1
1522 220 CONTINUE
1523 ngp(p)=ngroup-ngp(p)
1524 ENDIF
1525 ENDDO
1526
1527 ngp(nspmd+1)=0
1528 DO p = 1, nspmd
1529 ngp(nspmd+1)=ngp(nspmd+1)+ngp(p)
1530 dd_iad(p,nspgroup+n)=ngp(p)
1531 END DO
1532 dd_iad(nspmd+1,nspgroup+n)=ngp(nspmd+1)
1533
1534 300 CONTINUE
1535
1536 nspgroup = nspgroup + nd
1537
1538
1539
1540 IF (ineg == 1) THEN
1541 DO i = 1, numels
1542 ixs(1,i) = abs(ixs(1,i))
1543 ENDDO
1544 ENDIF
1545 IF(print_flag>6) WRITE(iout,1010)
1546
1547 DO n=ngr1,ngroup
1548 jhbe=iparg(23,n)
1549 npt =iparg(6,n)
1550 IF (jhbe==14 .OR. jhbe==16) THEN
1551 npts=npt/100*mod(npt/10,10)*mod(npt,10)
1552 IF (npts == zero) THEN
1553 npts=abs(npt)/100
1554 iint=iparg(36,n)
1555 IF (npts==0) npts=iint
1556 nptt=mod(abs(npt)/10,10)
1557 IF (nptt==0) nptt=iint
1558 nptr=mod(abs(npt),10)
1559 IF (nptr==0) nptr=iint
1560 npg = npts*nptt*nptr
1561 npts=npg
1562 ENDIF
1563 ELSE
1564 npts=npt
1565 ENDIF
1566 IF(print_flag>6) THEN
1567 WRITE(iout,1011)n,iparg(1,n),iparg(2,n),iparg(3,n)+1,
1568 + iparg(4,n),npts,iparg(7,n),iparg(11,n),
1569 + iparg(12,n),iparg(13,n),iparg(23,n),
1570 + iparg(24,n),iparg(18,n),iparg(27,n),
1571 + iparg(29,n)+1,
1572 + iparg(33,n),iparg(34,n),iparg(43,n),iparg(55,n)
1573 ENDIF
1574 ENDDO
1576 . msgtype=msgwarning,
1577 . anmode=aninfo_blind_2,
1578 . prmod=msg_print)
1580 . msgtype=msgwarning,
1581 . anmode=aninfo_blind_2,
1582 . prmod=msg_print)
1584 . msgtype=msgwarning,
1585 . anmode=aninfo_blind_2,
1586 . prmod=msg_print)
1588 . msgtype=msgwarning,
1589 . anmode=aninfo_blind_2,
1590 . prmod=msg_print)
1592 . msgtype=msgwarning,
1593 . anmode=aninfo_blind_2,
1594 . prmod=msg_print)
1596 . msgtype=msgwarning,
1597 . anmode=aninfo_blind_2,
1598 . prmod=msg_print)
1600 . msgtype=msgwarning,
1601 . anmode=aninfo_blind_2,
1602 . prmod=msg_print)
1604 . msgtype=msginfo,
1605 . anmode=aninfo_blind_2,
1606 . prmod=msg_print)
1608 . msgtype=msgerror,
1609 . anmode=aninfo_blind_2,
1610 . prmod=msg_print)
1612 . msgtype=msginfo,
1613 . anmode=aninfo_blind_2,
1614 . prmod=msg_print)
1616 . msgtype=msginfo,
1617 . anmode=aninfo_blind_2,
1618 . prmod=msg_print)
1620 . msgtype=msginfo,
1621 . anmode=aninfo_blind_2,
1622 . prmod=msg_print)
1623
1625 . msgtype=msgwarning,
1626 . anmode=aninfo_blind_1,
1627 . prmod=msg_print)
1629 . msgtype=msgerror,
1630 . anmode=aninfo_blind_2,
1631 . prmod=msg_print)
1633 . msgtype=msgwarning,
1634 . anmode=aninfo_blind_2,
1635 . prmod=msg_print)
1637 . msgtype=msginfo,
1638 . anmode=aninfo_blind_2,
1639 . prmod=msg_print)
1640
1641 DEALLOCATE(indexs2)
1642 IF (ALLOCATED(xnum_rnoise)) DEALLOCATE(xnum_rnoise)
1643
1644 1010 FORMAT(//,
1645 + 7x,'8-NODE ELEMENT GROUPS'/
1646 + 7x,'---------------------'//
1647 +' GROUP MAT. ELEM. FIRST BUFFER GAUSS',
1648 +' A.L.E. EULER TURBU. THERM. HOUR- INTEG',
1649 +' VAR POROUS PLASTI. CLOS. CODV FAILURE',
1650 +' IEOS',/
1651 +' # LAW NUMBER ELEM. ADDRESS POINTS',
1652 +' FLAG FLAG FLAG FLAG GLASS FLAG',
1653 +' MID MEDIUM FLAG FLAG FLAG',
1654 +' type' )
1655 1011 FORMAT(19(I10))
1656
1657 RETURN
void cpp_reorder_elements(int *NEL, int *NSPMD, int *NODES_PER_ELT, int *OFFSET, int *LDA, int *domain, int *elt2Nodes, int *permutation)
subroutine init_mat_keyword(matparam, keyword)
void my_orders(int *mode, int *iwork, int *data, int *index, int *n, int *irecl)
type(inivol_struct_), dimension(:), allocatable inivol
integer, parameter nchartitle
integer, dimension(:), allocatable tag_mat
integer, dimension(:), allocatable tag_elsf
type(reorder_struct_) permutation
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)
character *2 function nl()
subroutine zeroin(n1, n2, ma)