42 1 IXS ,PM ,IPARG , GEO ,
43 2 EADD ,ND ,IPARTS , DD_IAD ,
44 3 IDX ,ISOLNOD ,INUM , INDEX ,
45 4 CEP ,ITR1 ,IXS10 , IGRSURF , IGRBRIC,
46 5 IXS20 ,IXS16 ,IGEO , IDDLEVEL,
47 6 IPM ,NOD2ELS ,ISOLOFF , ISOLNOD1,
48 7 TAGPRT_SMS ,INIVOL ,SPH2SOL , SOL2SPH , SOL2SPH_TYP,
49 8 IFLAG_BPRELOAD,CLUSTERS,MATPARAM_TAB, RNOISE ,
50 9 PRINT_FLAG ,DAMP_RANGE_PART,IPRELOAD_FUN)
65 use element_mod ,
only : nixs
86#include "implicit_f.inc"
90#include "vect01_c.inc"
99#include "boltpr_c.inc"
104 INTEGER IXS(11,*),IPARG(NPARG,*),EADD(*), ISOLNOD(*),
105 . DD_IAD(+1,*),IPARTS(*),
106 . INUM(16,*), INDEX(*),CEP(*),ITR1(*),IXS10(6,*),IXS20(12,*),
107 . IXS16(8,*),IGEO(NPROPGI,NUMGEO),IPM(NPROPMI,NUMMAT),
108 . NOD2ELS(*), ISOLOFF(*),ISOLNOD1(*),
109 . TAGPRT_SMS(*),SPH2SOL(*),
110 . SOL2SPH(2,*),SOL2SPH_TYP(*),IFLAG_BPRELOAD(*)
111 INTEGER,
INTENT(IN) :: IDDLEVEL
112 INTEGER,
INTENT(IN) :: PRINT_FLAG
113 INTEGER,
INTENT(IN) :: DAMP_RANGE_PART(NPART)
114 TYPE(MATPARAM_STRUCT_) ,
TARGET,
DIMENSION(NUMMAT),
INTENT(IN) :: MATPARAM_TAB
115 MY_REAL PM(NPROPM,NUMMAT), GEO(NPROPG,NUMGEO), RNOISE(NPERTURB,NUMELS)
116 INTEGER,
DIMENSION(2,NUMPRELOAD),
INTENT(IN) :: IPRELOAD_FUN
118 TYPE (GROUP_) ,
DIMENSION(NGRBRIC) ::
119 TYPE (SURF_) ,
DIMENSION(NSURF) :: IGRSURF
120 TYPE (INIVOL_STRUCT_) ,
DIMENSION(NUM_INIVOL) :: INIVOL
121 TYPE (CLUSTER_) ,
DIMENSION(NCLUSTER) :: CLUSTERS
126 . NGR1, MLN, NG, ISSN, ISSN_, N, MID, PID, II,ILOC,IL,NEL, NE1,IREP,IINT,
127 . p, nel_prec, igt, jhbe, i, iksnod0,nb,ieos,nlay,
128 . mode, work(70000), nn, j, nptr,npts,nptt,npg,
129 . iplast,nuvarp, ineg, jivf,icpre,icstr,
130 . ifail,imatvis,nly,
nl,ilaw,im,ipmat,itet4,itet10,
131 . ngp(nspmd+1),jj,ifailmodel,nfail,isvis,ivisc,imat,
132 . inum_r2r(1+r2r_siu*numels),ipartsph,ipartr2r,mft,iboltp,icp0,ism0,
133 . ipert,stat,itsh,it10,icpt10,jale_from_mat,jale_from_prop,idamp_freq_range
135 INTEGER,
DIMENSION(:),
ALLOCATABLE :: INDEXS2
137 CHARACTER(LEN=NCHARTITLE)::TITR
138 INTEGER :: CLUSTER_TYP,CLUSTER_NEL
139 INTEGER,
DIMENSION(:),
ALLOCATABLE :: SAVE_CLUSTER
140 my_real,
DIMENSION(:,:),
ALLOCATABLE :: XNUM_RNOISE
141 TYPE(MATPARAM_STRUCT_) ,
POINTER :: MATPARAM
143 INTEGER :: NB_NODES, LDIM, OFFSET
147 CALL my_alloc(indexs2,numels)
152 IF (nperturb > 0)
THEN
153 ALLOCATE(xnum_rnoise(nperturb,numels),stat=stat)
154 IF (stat /= 0)
CALL ancmsg(msgid=268,anmode=aninfo,
158 ALLOCATE(xnum_rnoise(0,0))
164 CALL zeroin(1,nd*(nspmd+1),dd_iad(1,nspgroup+1))
170 dd_iad(p,nspgroup+n) = 0
175 isolnod1(i) = isolnod(i)
179 nel = eadd(n+1)-eadd(n)
183 inum(1,i)=iparts(nft+i)
184 inum(2,i)=ixs(1,nft+i)
185 inum(3,i)=ixs(2,nft+i)
186 inum(4,i)=ixs(3,nft+i)
187 inum(5,i)=ixs(4,nft+i)
188 inum(6,i)=ixs(5,nft+i)
189 inum(7,i)=ixs(6,nft+i)
190 inum(8,i)=ixs(7,nft+i)
191 inum(9,i)=ixs(8,nft+i)
192 inum(10,i)=ixs(9,nft+i)
193 inum(11,i)=ixs(10,nft+i)
194 inum(12,i)=ixs(11,nft+i)
195 inum(13,i)=isolnod(nft+i)
196 IF (nsubdom>0) inum_r2r(i) =
tag_elsf(nft+i)
197 IF (nperturb > 0)
THEN
198 DO ipert = 1, nperturb
199 xnum_rnoise(ipert,i) = rnoise(ipert,nft+i)
204 IF(nsphsol /= 0 .AND. nft < numels8)
THEN
206 inum(14,i)=sol2sph(1,nft+i)
207 inum(15,i)=sol2sph(2,nft+i)
208 inum(16,i)=sol2sph_typ(nft+i)
212 IF(
doqa .NE. 0 .OR. iddlevel == 0)
THEN
214 CALL my_orders( mode, work, cep(nft+1), index, nel , 1)
224 iparts(i+nft)=inum(1,index(i))
225 ixs(1,i+nft)=inum(2,index(i))
226 ixs(2,i+nft)=inum(3,index(i))
227 ixs(3,i+nft)=inum(4,index(i))
228 ixs(4,i+nft)=inum(5,index(i))
229 ixs(5,i+nft)=inum(6,index(i))
230 ixs(6,i+nft)=inum(7,index(i))
231 ixs(7,i+nft)=inum(8,index(i))
232 ixs(8,i+nft)=inum(9,index(i))
233 ixs(9,i+nft)=inum(10,index(i))
234 ixs(10,i+nft)=inum(11,index(i))
235 ixs(11,i+nft)=inum(12,index(i))
236 isolnod(i+nft)=inum(13,index(i))
237 itr1(nft+index(i)) = nft+i
238 IF (nsubdom>0)
tag_elsf(nft+i) = inum_r2r(index(i))
239 IF (nperturb > 0)
THEN
240 DO ipert = 1, nperturb
241 rnoise(ipert,i+nft) = xnum_rnoise(ipert,index(i))
249 inum(3,i) = isoloff(nft+i)
253 isoloff(nft+i) = inum(3,index
258 IF (npreload > 0)
THEN
260 inum(4,i)=iflag_bpreload(nft+i)
264 iflag_bpreload(nft+i)=inum(4,index(i))
269 IF (nft>=numels8+numels10+numels20)
THEN
271 ii = i+nft-(numels8+numels10+numels20)
272 inum(1,i)=ixs16(1,ii)
273 inum(2,i)=ixs16(2,ii)
274 inum(3,i)=ixs16(3,ii)
275 inum(4,i)=ixs16(4,ii)
276 inum(5,i)=ixs16(5,ii)
277 inum(6,i)=ixs16(6,ii)
278 inum(7,i)=ixs16(7,ii)
279 inum(8,i)=ixs16(8,ii)
282 ii = i+nft-(numels8+numels10+numels20)
283 ixs16(1,ii)=inum(1,index(i))
284 ixs16(2,ii)=inum(2,index(i))
285 ixs16(3,ii)=inum(3,index(i))
286 ixs16(4,ii)=inum(4,index(i))
287 ixs16(5,ii)=inum(5,index(i))
288 ixs16(6,ii)=inum(6,index(i))
289 ixs16(7,ii)=inum(7,index(i))
290 ixs16(8,ii)=inum(8,index(i))
292 ELSEIF (nft>=numels8+numels10)
THEN
294 ii = i+nft-(numels8+numels10)
295 inum(1,i)=ixs20(1,ii)
296 inum(2,i)=ixs20(2,ii)
297 inum(3,i)=ixs20(3,ii)
298 inum(4,i)=ixs20(4,ii)
299 inum(5,i)=ixs20(5,ii)
300 inum(6,i)=ixs20(6,ii)
301 inum(7,i)=ixs20(7,ii)
302 inum(8,i)=ixs20(8,ii)
303 inum(9,i)=ixs20(9,ii)
304 inum(10,i)=ixs20(10,ii)
305 inum(11,i)=ixs20(11,ii)
306 inum(12,i)=ixs20(12,ii)
309 ii = i+nft-(numels8+numels10)
310 ixs20(1,ii)=inum(1,index(i))
311 ixs20(2,ii)=inum(2,index(i))
312 ixs20(3,ii)=inum(3,index(i))
313 ixs20(4,ii)=inum(4,index(i))
314 ixs20(5,ii)=inum(5,index(i))
315 ixs20(6,ii)=inum(6,index(i))
316 ixs20(7,ii)=inum(7,index(i))
317 ixs20(8,ii)=inum(8,index(i))
318 ixs20(9,ii)=inum(9,index(i))
319 ixs20(10,ii)=inum(10,index(i))
320 ixs20(11,ii)=inum(11,index(i))
321 ixs20(12,ii)=inum(12,index(i))
323 ELSEIF (nft>=numels8)
THEN
326 inum(1,i)=ixs10(1,ii)
327 inum(2,i)=ixs10(2,ii)
328 inum(3,i)=ixs10(3,ii)
329 inum(4,i)=ixs10(4,ii)
330 inum(5,i)=ixs10(5,ii)
331 inum(6,i)=ixs10(6,ii)
335 ixs10(1,ii)=inum(1,index(i))
336 ixs10(2,ii)=inum(2,index(i))
337 ixs10(3,ii)=inum(3,index(i))
338 ixs10(4,ii)=inum(4,index(i))
339 ixs10(5,ii)=inum(5,index(i))
340 ixs10(6,ii)=inum(6,index(i))
346 IF(nsphsol /= 0 .AND. nft < numels8)
THEN
350 sol2sph(1,nft+i)=inum(14,index(i))
351 sol2sph(2,nft+i)=inum(15,index(i))
352 sol2sph_typ(nft+i)=inum(16,index(i))
356 p = cep(nft+index(1))
359 IF (cep(nft+index(i))/=p)
THEN
360 dd_iad(p+1,nspgroup+n) = nb
362 p = cep(nft+index(i))
367 dd_iad(p+1,nspgroup+n) = nb
369 dd_iad(p,nspgroup+n) = dd_iad(p,nspgroup+n)
370 . + dd_iad(p-1,nspgroup+n)
373 dd_iad(p,nspgroup+n) = dd_iad(p-1,nspgroup+n)+1
375 dd_iad(1,nspgroup+n) = 1
380 index(i) = cep(nft+index(i))
383 cep(nft+i) = index(i)
394 IF (igrsurf(i)%ELTYP(j) == 1)
395 . igrsurf(i)%ELEM(j) = itr1(igrsurf(i)%ELEM(j))
402 nn=igrbric(i)%NENTITY
404 igrbric(i)%ENTITY(j) = itr1(igrbric(i)%ENTITY(j))
412 IF(sph2sol(i) /= 0)sph2sol(i)=itr1(sph2sol(i))
418 DO i=1,8*numels+6*numels10+12*numels20+8*numels16
419 IF(nod2els(i) /= 0)nod2els(i)=itr1(nod2els(i))
426 cluster_typ = clusters(i)%TYPE
427 IF(cluster_typ==1)
THEN
428 cluster_nel = clusters(i)%NEL
429 ALLOCATE( save_cluster( cluster_nel ) )
430 save_cluster( 1:cluster_nel ) = clusters(i)%ELEM( 1:cluster_nel )
432 clusters(i)%ELEM(j) = itr1( save_cluster( j ) )
434 DEALLOCATE( save_cluster )
448 icpt10 = -huge(icpt10)
450 nel = dd_iad(p+1,nspgroup+n)-dd_iad(p,nspgroup+n)
452 nel_prec = dd_iad(p,nspgroup+n)-dd_iad(1,nspgroup+n)
454 ng = (nel-1)/nvsiz + 1
458 CALL zeroin(1,nparg,iparg(1,ngroup))
463 idamp_freq_range = damp_range_part(iparts(ii))
466 IF (npreload > 0)
THEN
467 iboltp=iflag_bpreload(ii)
470 IF (nsubdom>0) ipartr2r =
tag_mat(mid)
472 CALL fretitl2(titr,igeo(npropgi-ltitr+1,pid),ltitr)
507 isorth = igeo(17,pid)
508 istrain= igeo(12,pid)
510 itet10 = igeo(50,pid)
513 ipartsph=igeo(38,pid)
515 IF ((issn == 10.OR.issn == 11).AND.(igt == 14.OR.igt == 6))
THEN
516 IF (iksnod0/=4 .AND. iksnod0/=8.AND. iksnod0/=10 )
THEN
519 . anmode=aninfo_blind_2,
527 IF (jhbe == 222)
THEN
528 IF (iksnod0 == 8)
THEN
530 ELSEIF (iksnod0 == 16 .OR. iksnod0 == 20)
THEN
536 IF (issn == 10.OR.issn == 11)
THEN
539 . anmode=aninfo_blind_2,
544 IF (iksnod0 == 4 .OR. iksnod0 == 10)
THEN
548 . msgtype=msgwarning,
549 . anmode=aninfo_blind_2,
556 IF (igt == 15) jpor = 2*nint(geo(28,pid))
557 IF (geo(130,pid) > 0) jclos=1
558 IF (igt > 28) nuvarp = nint(geo(25,pid))
565 IF (igt == 14.OR.igt == 6)
THEN
566 IF (itet4/=0.AND.iksnod0 == 8)
THEN
569 IF (itet10/=0.AND.iksnod0 == 8)
THEN
575 mln = nint(pm(19,abs(mid)))
577 IF(iparg(5,ngroup)/=2)
THEN
586 IF(mln == 6.AND.jpor/=2)mln=17
593 matparam => matparam_tab(mid)
594 IF(igt == 6 .AND. mln == 70)
THEN
597 . anmode=aninfo_blind_1,
604 IF(igt == 0 .AND. mln /= 0)
THEN
607 . anmode=aninfo_blind_1,
612 IF (jhbe == 24 .AND. igt == 6)
THEN
613 IF(mln /= 14 .AND. mln /= 12 .AND. mln /= 25 .AND.
614 . mln /= 28 .AND. mln /= 50 .AND. mln /= 68 .AND.
615 . mln /= 53 .AND. mln /= 93 .AND. mln /= 107 .AND.
616 . mln /= 112.AND. mln /= 122 .AND. mln /= 127 .AND. mln /= 128)
THEN
619 . msgtype=msgwarning,
620 . anmode=aninfo_blind_2,
629 IF ((mln == 115).AND.(((jhbe>2).AND.(jhbe<21)).OR.((itet4>0).AND.(itet4<3))))
THEN
631 . msgtype=msgwarning,
632 . anmode=aninfo_blind_2,
644 imat = igeo(100+il,pid)
645 nfail =
max(nfail,matparam_tab(imat)%NFAIL)
648 nfail = matparam_tab(mid)%NFAIL
653 IF(mln /= 25 .AND. mln < 28)
THEN
655 ifailmodel = ipm(111 + 15*(j - 1) ,mid)
656 IF (ifailmodel == 10 .OR. ifailmodel == 4
657 . .OR.ifailmodel == 5 .OR. ifailmodel == 6)istrain = 1
662 . (iksnod0 == 4.AND.itet4 == 1))
THEN
665 ELSEIF(iksnod0 == 4)
THEN
668 IF ((jhbe/=1 .AND. jhbe/=2) .AND. mln==68 )
THEN
671 . anmode=aninfo_blind_1,
676 IF (jhbe == 2) jhbe=0
677 IF(mln == 1 .AND.igt /= 22)
THEN
678 IF ((jhbe == 14 .AND. npt /= 222).OR.(jhbe == 15 .AND. npt /= 2) )
THEN
680 IF(jhbe==14 ) npt = 222
682 . msgtype=msgwarning,
683 . anmode=aninfo_blind_1,
690 jale_from_mat = nint(pm(72,mid))
691 jale_from_prop = igeo(62,pid)
692 jale =
max(jale_from_mat, jale_from_prop)
694 IF(jale == 0.AND.mln /= 18)jlag=1
700 ELSEIF(jale == 3 .AND. mln == 77)
THEN
705 IF (ipartr2r == 0)
THEN
706 IF (jale > 0) jale = 0
707 IF (jeul > 0) jeul = 0
716 ale%REZON%NUM_NUVAR_MAT =
max(
ale%REZON%NUM_NUVAR_MAT, matparam%REZON%NUM_NUVAR_MAT)
717 ale%REZON%NUM_NUVAR_EOS =
max(
ale%REZON%NUM_NUVAR_EOS, matparam%REZON%NUM_NUVAR_EOS)
722 iparg(81,ngroup) = matparam%REZON%NUM_NUVAR_MAT
723 iparg(82,ngroup) = matparam%REZON%NUM_NUVAR_EOS
726 IF(mln/=50)jtur=nint(pm(70,mid))
727 jthe=nint(pm(71,mid))
730 imatvis = ipm(216, mid)
732 IF(jlag/=0.AND.pid/=0)
THEN
738 IF(mln == 13) irigid_mat = 1
743 IF(tagprt_sms(iparts(ii))/=0)jsms=1
752 IF (igt == 20 .OR. igt == 21 .OR. igt == 22) itsh = 1
755 icp0=matparam%COMPRESSIBILITY
768 IF (icpre>0)
CALL ancmsg(msgid=1741,
770 . anmode=aninfo_blind_2,
778 . anmode=aninfo_blind_2,
785 IF (igt == 14 .OR. igt == 6)
THEN
787 IF (iksnod0 ==8.AND.jhbe>10)
THEN
788 icp0=matparam%COMPRESSIBILITY
803 . anmode=aninfo_blind_2,
815 ism0 = matparam%SMSTR
816 icp0 = matparam%STRAIN_FORMULATION
817 IF (icp0 ==2.AND.jhbe/=16)
THEN
832 IF (mln == 1.AND.jhbe/=16) issn = 12
836 . anmode=aninfo_blind_2,
845 IF (iksnod0==8.AND.jlag>0.AND.mln/=68) jcvt = 1
850 . anmode=aninfo_blind_2,
858 IF (it10 ==1 .AND. (issn==4 .OR. issn==10)
859 . .AND. iksnod0==10 )
THEN
860 icp0=matparam%COMPRESSIBILITY
868 IF (mln == 1.OR.mln == 92) icpre = 3
872 IF (icpt10==3) icpre = 3
875 IF (icpre ==1 .OR. icpre ==2)
CALL ancmsg(
878 . anmode=aninfo_blind_2,
883 ELSEIF (it10 ==1)
THEN
888 IF (itsh == 1.AND. matparam%IPRES/=1)
CALL ancmsg(
891 . anmode=aninfo_blind_2,
903 IF (jale+jeul /= 0)
THEN
905 IF (jhbe>=2.AND.jhbe/=24)
THEN
908 . anmode=aninfo_blind_1,
912 ELSEIF (jcvt==1)
THEN
916 . anmode=aninfo_blind_1,
923 . anmode=aninfo_blind_1,
933 IF (igt == 14.AND.mln == 28 .AND.
934 . (jhbe == 0.OR.jhbe == 1.OR.jhbe == 12.OR.jhbe == 17)
935 . .AND.jcvt == 1)
THEN
938 . anmode=aninfo_blind_1,
943 IF (igt == 14.AND.(mln == 14.OR.mln == 24)
944 . .AND.(jhbe == 12.AND.jcvt == 1))
THEN
947 . anmode=aninfo_blind_1,
955 . (jhbe==0.OR.jhbe==1.OR.jhbe==12.OR.jhbe==17).AND.jcvt==1)
THEN
957 . msgtype=msgwarning,
958 . anmode=aninfo_blind_2,
963 ELSEIF(iksnod0 == 4.OR.iksnod0 == 10)
THEN
966 IF(iksnod0 == 4 .AND. jhbe /= 1 .AND. jhbe /= 2)
THEN
971 IF(iksnod0 == 10 .AND. jhbe /= 1 .AND. jhbe /= 2)
THEN
983 IF(iksnod0 == 10 .AND. (jhbe == 1 .OR. jhbe == 2)
984 . .AND. jcvt == 1)
THEN
986 . msgtype=msgwarning,
987 . anmode=aninfo_blind_2,
993 IF (jhbe /= 16 .AND. iksnod0 == 20)
THEN
995 . msgtype=msgwarning,
996 . anmode=aninfo_blind_2,
1003 IF (jhbe == 14 .AND. iksnod0 /= 8)
THEN
1004 IF(iksnod0 /= 4.AND.iksnod0 /= 10)
THEN
1006 . msgtype=msgwarning,
1007 . anmode=aninfo_blind_2,
1015 IF (jhbe == 15 .AND. iksnod0 /= 6 .AND. iksnod0 /= 8)
THEN
1016 IF(iksnod0 /= 4.AND.iksnod0 /= 10)
THEN
1019 . anmode=aninfo_blind_1,
1026 IF (jhbe == 16 .AND. iksnod0 /= 16 .AND. iksnod0 /= 20)
THEN
1027 IF(iksnod0 /= 4.AND.iksnod0 /= 10)
THEN
1030 . anmode=aninfo_blind_1,
1037 IF (jhbe == 24 .AND. iksnod0 /= 8.AND. iksnod0 /= 6)
THEN
1038 IF(iksnod0 /= 4.AND.iksnod0 /= 10)
THEN
1040 . msgtype=msgwarning,
1041 . anmode=aninfo_blind_2,
1049 IF (jhbe==15 .AND. igt/=20 .AND. igt/=21 .AND. igt/=22)
THEN
1052 . anmode=aninfo_blind_1,
1058 IF (iksnod0==16 .AND. igt/=20 )
THEN
1061 . anmode=aninfo_blind_1,
1067 . (igt == 20 .OR. igt == 21 .OR. igt == 22 ).AND. iksnod0==6 )
THEN
1070 . anmode=aninfo_blind_1,
1075 IF ((jhbe == 17 .OR.jhbe == 18) .AND. iksnod0 /= 8)
THEN
1076 IF(iksnod0 /= 4.AND.iksnod0 /= 10)
THEN
1078 . msgtype=msgwarning,
1079 . anmode=aninfo_blind_2,
1090 IF (jhbe == 24 .AND. iint==0)
THEN
1092 IF (imatvis > 0 .OR.mln==24)
THEN
1095 CASE(38,42,62,69,70,82,88,90,92,94,190)
1107 IF (jhbe == 18 )
THEN
1113 CASE(1,13,16,33,34,35,38,40,41,70,77,90,190)
1115 IF (pm(21,mid)>=0.49) icpre = 1
1120 CASE(42,62,69,82,88,92,94,100,101,111)
1126 CASE(21,22,23,24,27,52,79,81,84)
1129 CASE(12,14,15,25,28,50,53,68,76,93,107,112,127)
1136 . msgtype=msgwarning,
1137 . anmode=aninfo_blind_2,
1145 IF (icp0 /=0 .AND. icpre/=icp0)
THEN
1148 . msgtype=msgwarning,
1149 . anmode=aninfo_blind_2,
1164 IF (ism0 == 10.OR.ism0 == 12) issn = ism0
1165 CASE(42,62,69,82,88,92,94,95,100,101,111)
1177 IF (ism0 /=0 .AND. issn/=ism0)
THEN
1180 . msgtype=msgwarning,
1181 . anmode=aninfo_blind_2,
1189 IF (icp0==0.OR.ism0==0)
THEN
1192 . anmode=aninfo_blind_2,
1201 IF (icpre == 3.AND.(igt == 14.OR.igt == 6)) icpre =0
1202 IF((mln == 95 .OR. mln == 100 .OR. mln == 101 .OR. mln == 111) .AND. issn /= 10 )
THEN
1205 . msgtype=msgwarning,
1206 . anmode=aninfo_blind_2,
1212 IF (iksnod0 == 16 .OR. iksnod0 == 20)
THEN
1218 IF( iksnod0 == 8 .AND.iabs(jhbe) < 200 .AND. npt == 8
1219 . .AND.iabs(jhbe) /= 14. and.iabs(jhbe) /= 15
1220 . .AND.iabs(jhbe) /= 24 .AND.iabs(jhbe) /= 17
1221 . .AND.iabs(jhbe) /= 18)
THEN
1223 IF(mln /= 1 .AND. mln/= 2 .AND. mln /= 3 .AND.
1224 . mln /= 28 .AND. mln /= 29 .AND. mln /= 30 .AND.
1225 . mln /=31 .AND. mln/= 33 .AND. mln /= 34 .AND.
1226 . mln /= 35 .AND. mln /= 36 .AND. mln /= 38 .AND.
1227 . mln /= 39 .AND. mln /= 40 .AND. mln /= 41 .AND.
1228 . mln /= 42 .AND. mln /= 44 .AND. mln /= 45 .AND.
1229 . mln /= 48 .AND. mln /= 50 .AND. mln /= 52 .AND.
1230 . mln /= 53 .AND. mln /= 56 .AND. mln /= 60 .AND.
1237 . msgtype=msgwarning,
1238 . anmode=aninfo_blind_2,
1248 IF (issn == 10 .OR. issn == 12)
THEN
1249 IF(mln /= 38 .AND. mln /= 42 .AND. mln /= 62 .AND.
1250 . mln /= 69 .AND. mln /= 82 .AND. mln /= 92 .AND.
1251 . mln /= 99 .AND. mln /= 1 .AND. mln /= 88 .AND.
1252 . mln /= 71 .AND. mln /= 94 .AND. mln /= 90 .AND.
1253 . mln /= 95 .AND. mln /=100 .AND. mln /= 101 .AND.
1254 . mln /= 111 .AND. mln /=190)
THEN
1257 . msgtype=msgwarning,
1258 . anmode=aninfo_blind_2,
1262 IF (issn == 12)
THEN
1268 ELSE IF (issn == 11)
THEN
1269 IF(mln /= 1 .AND.mln /= 38 .AND. mln /= 70 .AND. mln /= 77
1270 . .AND. mln /= 90 .AND. mln /= 190)
THEN
1274 . anmode=aninfo_blind_1,
1280 IF(mln == 70 .OR. mln == 77)
THEN
1283 ELSEIF (issn /= 11 .AND. issn /= 1)
THEN
1288 IF( icpre==1.AND.iksnod0 ==8.AND.(jhbe==14.OR.jhbe==17))
THEN
1299 . msgtype=msgwarning,
1300 . anmode=aninfo_blind_2,
1306 IF (jhbe == 16.AND.mln == 25)
THEN
1309 . anmode=aninfo_blind_1,
1315 IF (mln ==200.AND.(igt == 14.OR.igt == 20))
THEN
1318 . anmode=aninfo_blind_1,
1325 IF (jhbe==14 .OR. jhbe==16)
THEN
1327 npts=mod(abs(npt)/10,10)
1328 nptt=mod(abs(npt),10)
1329 npg = nptr*npts*nptt
1360 im=igeo(ipmat+
nl,pid)
1361 ilaw=nint(pm(19,im))
1363 israt=
max(israt,ipm(3,im))
1368 ne1 =
min( nvsiz, nel + nel_prec - nft)
1369 IF(issn > 4 .AND. iboltp /= 0)
THEN
1375 ELSEIF(issn_==11)
THEN
1377 ELSEIF(issn_==12)
THEN
1387 . msgtype=msgwarning,
1392 . anmode=aninfo_blind_1,
1396 IF(iksnod0 == 10.AND.itet10==3)
THEN
1399 ELSEIF(iksnod0 == 10.AND.itet10==2)
THEN
1403 IF (iksnod0 == 10.AND.itet10==2.AND.isms>0)
THEN
1406 . anmode=aninfo_blind_2,
1413 IF (issn < 10 .AND. itet4 == 3 .AND.
ASSOCIATED(matparam))
THEN
1414 IF(matparam%STRAIN_FORMULATION==2)
THEN
1416 . msgtype=msgwarning,
1417 . anmode=aninfo_blind_2,
1424 ivisc = matparam%IVISC
1425 IF (ivisc == 2 .AND. issn /=10 .AND. issn /=12)
THEN
1427 . msgtype=msgwarning,
1428 . anmode=aninfo_blind_2,
1435 iparg(1,ngroup) = mln
1436 iparg(2,ngroup) = ne1
1437 iparg(3,ngroup) = eadd(n)-1 + nft
1438 iparg(4,ngroup) = lbufel+1
1440 iparg(7,ngroup) = jale
1441 iparg(9,ngroup) = issn
1442 iparg(11,ngroup)= jeul
1443 iparg(12,ngroup)= jtur
1444 iparg(13,ngroup)= -abs(jthe)
1445 IF(jale+jeul /= 0)
THEN
1446 iparg(13,ngroup)= +abs(jthe)
1449 iparg(10,ngroup)= icpre
1450 iparg(17,ngroup)= icstr
1451 iparg(6,ngroup) = npt
1452 iparg(18,ngroup)= mid
1453 iparg(20,ngroup) = 0
1454 IF (mln == 151) iparg(20,ngroup) = ipm(20, mid)
1455 iparg(23,ngroup)= jhbe
1456 iparg(24,ngroup)= jivf
1457 iparg(27,ngroup)= jpor
1458 iparg(28,ngroup)= iksnod0
1459 iparg(29,ngroup)= iplast
1460 iparg(34,ngroup)= nint(pm(10,mid))
1462 iparg(32,ngroup)= p-1
1463 iparg(33,ngroup)= jclos
1464 iparg(35,ngroup)= irep
1465 iparg(36,ngroup)= iint
1466 iparg(37,ngroup)= jcvt
1467 iparg(38,ngroup)= igt
1468 iparg(42,ngroup)= isorth
1469 iparg(40,ngroup)= israt
1470 iparg(43,ngroup)= ifail
1474 iparg(41,ngroup)=itet4
1476 IF(mln/=25.AND.mln<28)
THEN
1477 iparg(44,ngroup)= istrain
1480 iparg(44,ngroup)=istrain
1483 iparg(45,ngroup ) = imatvis
1485 IF(ipm(218,mid) > 0 .AND. mln /= 0 .AND. mln /= 13)
1486 . iparg(49,ngroup)= 1
1487 iparg(52,ngroup)= jsms
1491 iparg(53,ngroup) = 0
1495 mft = iparg(3,ngroup)
1496 DO iloc = 1 ,iparg(2,ngroup)
1498 IF(inivol(jj)%PART_ID == iparts(iloc+mft))
THEN
1499 iparg(53,ngroup) = 1
1508 iparg(55,ngroup)= ieos
1510 iparg(60,ngroup)= isvis
1511 iparg(61,ngroup)= ivisc
1512 iparg(62,ngroup)= pid
1513 iparg(69,ngroup)= ipartsph
1515 IF (nsubdom>0) iparg(77,ngroup)= ipartr2r
1517 iparg(72,ngroup)= iboltp
1519 iparg(67,ngroup)= ipreload_fun(1,iboltp)
1520 iparg(68,ngroup)= ipreload_fun(2,iboltp)
1524 iparg(73,ngroup)=ipm(252,mid)
1525 iparg(74,ngroup)=itet10
1527 iparg(78,ngroup) = matparam%NLOC
1529 iparg(93,ngroup) = idamp_freq_range
1533 IF (npg > 1) npg = npg + 1
1534 IF (npg == 1 .AND. jhbe == 15) npg = npg + 1
1538 ngp(p)=ngroup-ngp(p)
1544 ngp(nspmd+1)=ngp(nspmd+1)+ngp(p)
1545 dd_iad(p,nspgroup+n)=ngp(p)
1547 dd_iad(nspmd+1,nspgroup+n)=ngp(nspmd+1)
1551 nspgroup = nspgroup + nd
1557 ixs(1,i) = abs(ixs(1,i))
1560 IF(print_flag>6)
WRITE(iout,1010)
1565 IF (jhbe==14 .OR. jhbe==16)
THEN
1566 npts=npt/100*mod(npt/10,10)*mod(npt,10)
1567 IF (npts == zero)
THEN
1570 IF (npts==0) npts=iint
1571 nptt=mod(abs(npt)/10,10)
1572 IF (nptt==0) nptt=iint
1573 nptr=mod(abs(npt),10)
1574 IF (nptr==0) nptr=iint
1575 npg = npts*nptt*nptr
1581 IF(print_flag>6)
THEN
1582 WRITE(iout,1011)n,iparg(1,n),iparg(2,n),iparg
1583 + iparg(4,n),npts,iparg(7,n),iparg(11,n),
1584 + iparg(12,n),iparg(13,n),iparg(23,n),
1585 + iparg(24,n),iparg(18,n),iparg(27,n),
1587 + iparg(33,n),iparg(34,n),iparg(43,n),iparg(55,n)
1591 . msgtype=msgwarning,
1592 . anmode=aninfo_blind_2,
1595 . msgtype=msgwarning,
1596 . anmode=aninfo_blind_2,
1599 . msgtype=msgwarning,
1600 . anmode=aninfo_blind_2,
1603 . msgtype=msgwarning,
1604 . anmode=aninfo_blind_2,
1607 . msgtype=msgwarning,
1608 . anmode=aninfo_blind_2,
1611 . msgtype=msgwarning,
1612 . anmode=aninfo_blind_2,
1615 . msgtype=msgwarning,
1616 . anmode=aninfo_blind_2,
1620 . anmode=aninfo_blind_2,
1624 . anmode=aninfo_blind_2,
1628 . anmode=aninfo_blind_2,
1632 . anmode=aninfo_blind_2,
1636 . anmode=aninfo_blind_2,
1640 . msgtype=msgwarning,
1641 . anmode=aninfo_blind_1,
1645 . anmode=aninfo_blind_2,
1648 . msgtype=msgwarning,
1649 . anmode=aninfo_blind_2,
1653 . anmode=aninfo_blind_2,
1657 IF (
ALLOCATED(xnum_rnoise))
DEALLOCATE(xnum_rnoise)
1660 + 7x,
'8-NODE ELEMENT GROUPS'/
1661 + 7x,
'---------------------'//
1662 +
' GROUP MAT. ELEM. FIRST BUFFER GAUSS',
1663 +
' A.L.E. EULER TURBU. THERM. HOUR- INTEG',
1664 +
' VAR POROUS PLASTI. CLOS. CODV FAILURE',
1666 +
' # LAW NUMBER ELEM. ADDRESS POINTS',
1667 +
' FLAG FLAG FLAG FLAG GLASS FLAG',
1668 +
' MID MEDIUM FLAG FLAG FLAG',
1670 1011
FORMAT(19(i10))