41 1 IXTG ,PM ,IPARG ,GEO ,
42 2 EADD ,ND ,IPARTTG ,DD_IAD ,
43 3 IDX ,INUM ,INDEX ,CEP ,
44 4 THK ,XNUM ,ITR1 ,IGRSURF ,IGRSH3N ,
45 5 ICNOD ,IGEO ,IPM ,IXTG1 ,
46 6 IPART ,SH3TREE ,NOD2ELTG ,ITRIOFF ,
47 7 SH3TRIM ,TAGPRT_SMS ,IWORKSH ,STACK ,
48 8 DRAPE ,RNOISE ,INIVOL ,MAT_PARAM ,
49 9 SH3ANG ,DRAPEG ,PRINT_FLAG ,PTSH3N )
64 use element_mod ,
only : nixtg
83#include "implicit_f.inc"
89#include "com_xfem1.inc"
92#include "vect01_c.inc"
94#include "remesh_c.inc"
103 . IXTG(NIXTG,*), IPARG(NPARG,*), EADD(*), IXTG1(4,*),
104 . DD_IAD(NSPMD+1,*),IPARTTG(*),
105 . INUM(10,*),ITR1(*),INDEX(*),CEP(*),ICNOD(*),IPM(NPROPMI,NUMMAT),
106 . ITRIOFF(*), SH3TRIM(*),IGEO(NPROPGI,NUMGEO),
107 . IPART(LIPART1,*), SH3TREE(KSH3TREE,*), NOD2ELTG(*) ,
108 . TAGPRT_SMS(*),IWORKSH(3,*)
109 INTEGER,
INTENT(IN) :: PRINT_FLAG
110 INTEGER ,
DIMENSION(NUMELTG) ,
INTENT(INOUT):: PTSH3N
111 TYPE (INIVOL_STRUCT_),
DIMENSION(NUM_INIVOL) :: INIVOL
112 MY_REAL :: PM(NPROPM,NUMMAT), GEO(NPROPG,NUMGEO),THK(*),XNUM(*),RNOISE(NPERTURB,*),SH3ANG(*)
114 TYPE (STACK_PLY) :: STACK
115 TYPE (DRAPE_),
TARGET :: DRAPE(NUMELC_DRAPE + NUMELTG_DRAPE)
116 TYPE (DRAPEG_) :: DRAPEG
117 TYPE (DRAPE_),
DIMENSION(:),
ALLOCATABLE :: XNUM_DRAPE
118 TYPE (DRAPEG_),
ALLOCATABLE :: XNUM_DRAPEG
120 TYPE(matparam_struct_) ,
DIMENSION(NUMMAT),
INTENT(IN) :: MAT_PARAM
122 TYPE (GROUP_),
DIMENSION(NGRSH3N) :: IGRSH3N
123 TYPE (SURF_),
DIMENSION(NSURF) :: IGRSURF
127 INTEGER I, K, NGR1, MLN, ISMST,NN,ICSEN,NLEVXF,
128 . npn, n, mid, pid,ii, j, midn, nsg, nel, ne1, ithk,
129 . ipla, igtyp, p, nel_prec, nb,mode,kcnod,prt,neltg3,ipt,
130 . ilev, ie, mpt, nuvar, nuvarr, iadm, my_nvsiz,
131 . imatly,ixfem,iptun,irep,
132 . isubstack,ippid,ipmat,ish3n, npg,idrot1,nb_law58,ipert,
134 . jale_from_mat,jale_from_prop,nslice,kk,npt_drp,idrape,iel,iel0
135 my_real :: angle(numeltg)
136 INTEGER WORK(70000),NGP(NSPMD+1)
137 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: ISTOR
139 CHARACTER(LEN=NCHARTITLE)::TITR,TITR1
140 my_real,
DIMENSION(:,:),
ALLOCATABLE :: XNUM_RNOISE
141 INTEGER,
DIMENSION(:),
ALLOCATABLE :: INDEX2, INUM_PTSH3N
142 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: INUM_WORKSH
145 CALL my_alloc(index2,numeltg)
149 ALLOCATE( istor(ksh3tree+1,numeltg) )
151 ALLOCATE( istor(0,0) )
154 IF (nperturb > 0)
THEN
155 ALLOCATE(xnum_rnoise(nperturb,numeltg),stat=stat)
156 IF (stat /= 0)
CALL ancmsg(msgid=268,anmode=aninfo,msgtype=msgerror,c1=
'XNUM_RNOISE')
158 ALLOCATE(xnum_rnoise(0,0))
170 CALL zeroin(1,nd*(nspmd+1),dd_iad(1,nspgroup+1))
176 dd_iad(p,nspgroup+n) = 0
182 IF(ndrape > 0 ) iel = drapeg%NUMSH4
184 nel = eadd(n+1)-eadd(n)
185 IF (ndrape > 0 .AND. numeltg_drape > 0)
THEN
186 ALLOCATE(xnum_drape(nel))
187 ALLOCATE(xnum_drapeg%INDX(nel))
190 iel0 = drapeg%INDX(numelc + i + nft)
192 npt = drape(iel0)%NPLY
193 npt_drp = drape(iel0)%NPLY_DRAPE
194 ALLOCATE(xnum_drape(i)%INDX_PLY(npt_drp))
195 ALLOCATE(xnum_drape(i)%DRAPE_PLY(npt_drp))
196 xnum_drape(i)%INDX_PLY= 0
198 nslice = drape(iel0)%DRAPE_PLY(j)%NSLICE
199 ALLOCATE(xnum_drape(i)%DRAPE_PLY(j)%RDRAPE(nslice,2))
200 ALLOCATE(xnum_drape(i)%DRAPE_PLY(j)%IDRAPE(nslice,2))
201 xnum_drape(i)%DRAPE_PLY(j)%RDRAPE = 0
202 xnum_drape(i)%DRAPE_PLY(j)%IDRAPE = 0
206 ALLOCATE( xnum_drape(0) )
208 ALLOCATE(inum_worksh(3,nel))
210 IF(ndrape > 0 .AND. numeltg_drape > 0 )
THEN
213 inum(1,i)=iparttg(nft+i)
214 inum(2,i)=itrioff(nft+i)
215 inum(3,i)=ixtg(1,nft+i)
216 inum(4,i)=ixtg(2,nft+i)
217 inum(5,i)=ixtg(3,nft+i)
218 inum(6,i)=ixtg(4,nft+i)
219 inum(7,i)=ixtg(5,nft+i)
220 inum(8,i)=ixtg(6,nft+i)
221 inum(10,i)=ixtg(1,nft+i)
223 inum_worksh(1,i) = iworksh(1,numelc + nft + i)
224 inum_worksh(2,i) = iworksh(2,numelc + nft + i)
225 inum_worksh(3,i) = iworksh(3,numelc + nft + i)
226 IF (nperturb > 0)
THEN
227 DO ipert = 1, nperturb
228 xnum_rnoise(ipert,i) = rnoise(ipert,nft+i)
231 angle(i) = sh3ang(nft + i)
233 iel0 = drapeg%INDX(numelc + nft + i)
234 xnum_drapeg%INDX(i) = iel0
236 npt = drape(iel0)%NPLY
237 xnum_drape(i)%NPLY = npt
238 xnum_drape(i)%INDX_PLY(1:npt) = drape(iel0)%INDX_PLY(1:npt)
239 npt = drape(iel)%NPLY_DRAPE
240 xnum_drape(i)%NPLY_DRAPE = npt
241 xnum_drape(i)%THICK = drape(iel0)%THICK
243 drape_ply => drape(iel0)%DRAPE_PLY(jj)
244 nslice = drape_ply%NSLICE
245 xnum_drape(i)%DRAPE_PLY(jj)%NSLICE = nslice
246 xnum_drape(i)%DRAPE_PLY(jj)%IPID = drape_ply%IPID
248 xnum_drape(i)%DRAPE_PLY(jj)%IDRAPE(kk,1)=drape_ply%IDRAPE(kk,1)
249 xnum_drape(i)%DRAPE_PLY(jj)%IDRAPE(kk,2)=drape_ply%IDRAPE(kk,2)
250 xnum_drape(i)%DRAPE_PLY(jj)%RDRAPE(kk,1)=drape_ply%RDRAPE(kk,1)
251 xnum_drape(i)%DRAPE_PLY(jj)%RDRAPE(kk,2)=drape_ply%RDRAPE(kk,2)
253 DEALLOCATE(drape_ply%IDRAPE, drape_ply%RDRAPE)
255 DEALLOCATE(drape(iel0)%DRAPE_PLY)
256 DEALLOCATE(drape(iel0)%INDX_PLY)
261 inum(1,i)=iparttg(nft+i)
262 inum(2,i)=itrioff(nft+i)
263 inum(3,i)=ixtg(1,nft+i)
264 inum(4,i)=ixtg(2,nft+i)
265 inum(5,i)=ixtg(3,nft+i)
266 inum(6,i)=ixtg(4,nft+i)
267 inum(7,i)=ixtg(5,nft+i)
268 inum(8,i)=ixtg(6,nft+i)
269 inum(10,i)=ixtg(1,nft+i)
271 inum_worksh(1,i) = iworksh(1,numelc + nft + i)
272 inum_worksh(2,i) = iworksh(2,numelc + nft + i)
273 inum_worksh(3,i) = iworksh(3,numelc + nft + i)
274 IF (nperturb > 0)
THEN
275 DO ipert = 1, nperturb
276 xnum_rnoise(ipert,i) = rnoise(ipert,nft+i)
279 angle(i)=sh3ang(nft+i)
283 IF(abs(isigi) == 3 .OR. abs(isigi) == 4 .OR. abs(isigi) == 5)
THEN
284 ALLOCATE(inum_ptsh3n(nel))
286 inum_ptsh3n(i)=ptsh3n(nft+i)
292 istor(k,i)=sh3tree(k,nft+i)
297 istor(ksh3tree+1,i)=sh3trim(nft+i)
303 CALL my_orders( mode, work, cep(nft+1), index, nel , 1)
304 IF(ndrape > 0 .AND. numeltg_drape > 0)
THEN
307 iparttg(i+nft)=inum(1,index(i))
308 itrioff(i+nft)=inum(2,index(i))
309 thk(i+nft) =xnum(index(i))
310 ixtg(1,i+nft)=inum(3,index(i))
311 ixtg(2,i+nft)=inum(4,index(i))
312 ixtg(3,i+nft)=inum(5,index(i))
313 ixtg(4,i+nft)=inum(6,index(i))
314 ixtg(5,i+nft)=inum(7,index(i))
315 ixtg(6,i+nft)=inum(8,index(i))
316 itr1(nft+index(i)) = nft+i
317 iworksh(1,numelc + nft + i)=inum_worksh(1,index(i))
318 iworksh(2,numelc + nft + i)=inum_worksh(2,index(i))
319 iworksh(3,numelc + nft + i)=inum_worksh(3,index(i))
320 IF (nperturb > 0)
THEN
321 DO ipert = 1, nperturb
322 rnoise(ipert,i+nft) = xnum_rnoise(ipert,index(i))
325 sh3ang(nft+i) = angle(index(i))
326 IF(xnum_drapeg%INDX(index(i)) == 0) cycle
328 npt = xnum_drape(index(i))%NPLY
329 drape(iel)%NPLY = npt
330 drapeg%INDX(numelc + nft + i)= iel
331 ALLOCATE(drape(iel)%INDX_PLY(npt))
332 drape(iel)%INDX_PLY(1:npt) = xnum_drape(index(i))%INDX_PLY(1:npt)
333 npt = xnum_drape(index(i))%NPLY_DRAPE
334 drape(iel)%NPLY_DRAPE = npt
335 drape(iel)%THICK = xnum_drape(index(i))%THICK
336 ALLOCATE(drape(iel)%INDX_PLY(npt))
338 drape_ply => drape(iel)%DRAPE_PLY(jj)
339 nslice = xnum_drape(index(i))%DRAPE_PLY(jj)%NSLICE
340 drape_ply%NSLICE = nslice
341 drape_ply%IPID = xnum_drape(index(i))%DRAPE_PLY(jj)%IPID
342 ALLOCATE(drape_ply%IDRAPE(nslice,2), drape_ply%RDRAPE(nslice,2))
344 drape_ply%RDRAPE = zero
346 drape_ply%IDRAPE(kk,1) = xnum_drape(index(i))%DRAPE_PLY(jj)%IDRAPE(kk,1)
347 drape_ply%IDRAPE(kk,2) = xnum_drape(index(i))%DRAPE_PLY(jj)%IDRAPE(kk,2)
348 drape_ply%RDRAPE(kk,1) = xnum_drape(index(i))%DRAPE_PLY(jj)%RDRAPE(kk,1)
349 drape_ply%RDRAPE(kk,2) = xnum_drape(index(i))%DRAPE_PLY(jj)%RDRAPE(kk,2)
356 iparttg(i+nft)=inum(1,index(i))
357 itrioff(i+nft)=inum(2,index(i))
358 thk(i+nft) =xnum(index(i))
359 ixtg(1,i+nft)=inum(3,index(i))
360 ixtg(2,i+nft)=inum(4,index(i))
361 ixtg(3,i+nft)=inum(5,index(i))
362 ixtg(4,i+nft)=inum(6,index(i))
363 ixtg(5,i+nft)=inum(7,index(i))
364 ixtg(6,i+nft)=inum(8,index(i))
365 itr1(nft+index(i)) = nft+i
366 iworksh(1,numelc + nft + i)=inum_worksh(1,index(i))
367 iworksh(2,numelc + nft + i)=inum_worksh(2,index(i))
368 iworksh(3,numelc + nft + i)=inum_worksh(3,index(i))
369 IF (nperturb > 0)
THEN
370 DO ipert = 1, nperturb
371 rnoise(ipert,i+nft) = xnum_rnoise(ipert,index(i))
374 sh3ang(nft+i) = angle(index(i))
377 IF(abs(isigi)==3.OR.abs(isigi)== 4.OR.abs(isigi)==5)
THEN
379 ptsh3n(nft+i) = inum_ptsh3n(index(i))
381 DEALLOCATE(inum_ptsh3n)
386 sh3tree(k,i+nft)=istor(k,index(i))
391 sh3trim(i+nft)=istor(ksh3tree+1,index(i))
399 inum(1,i)=ixtg1(1,ii)
400 inum(2,i)=ixtg1(2,ii)
401 inum(3,i)=ixtg1(3,ii)
406 ixtg1(1,ii)=inum(1,index(i))
407 ixtg1(2,ii)=inum(2,index(i))
408 ixtg1(3,ii)=inum(3,index(i))
415 p = cep(nft+index(1))
418 IF (cep(nft+index(i))/=p)
THEN
419 dd_iad(p+1,nspgroup+n) = nb
421 p = cep(nft+index(i))
426 dd_iad(p+1,nspgroup+n) = nb
428 dd_iad(p,nspgroup+n) = dd_iad(p,nspgroup+n)
429 . + dd_iad(p-1,nspgroup+n)
432 dd_iad(p,nspgroup+n) = dd_iad(p-1,nspgroup+n)+1
434 dd_iad(1,nspgroup+n) = 1
439 index(i) = cep(nft+index(i))
442 cep(nft+i) = index(i)
446 IF(ndrape > 0 .AND. numeltg_drape > 0)
THEN
448 iel0 = xnum_drapeg%INDX(i)
450 npt_drp = xnum_drape(i)%NPLY_DRAPE
452 DEALLOCATE(xnum_drape(i)%DRAPE_PLY(j)%RDRAPE)
453 DEALLOCATE(xnum_drape(i)%DRAPE_PLY(j)%IDRAPE)
455 DEALLOCATE(xnum_drape(i)%DRAPE_PLY,xnum_drape(i)%INDX_PLY)
457 DEALLOCATE( xnum_drape, xnum_drapeg%INDX )
459 DEALLOCATE( xnum_drape )
461 DEALLOCATE(inum_worksh)
471 . sh3tree(1,i)=itr1(sh3tree(1,i))
473 . sh3tree(2,i)=itr1(sh3tree(2,i))
482 IF(igrsurf(i)%ELTYP(j) == 7)
483 . igrsurf(i)%ELEM(j) = itr1(igrsurf(i)%ELEM(j))
490 nn=igrsh3n(i)%NENTITY
492 igrsh3n(i)%ENTITY(j) = itr1(igrsh3n(i)%ENTITY(j))
499 IF(nod2eltg(i) /= 0)nod2eltg(i)=itr1(nod2eltg(i
509 nel = dd_iad(p+1,nspgroup+n)-dd_iad(p,nspgroup+n)
511 nel_prec = dd_iad(p,nspgroup+n)-dd_iad(1,nspgroup+n)
513 DO WHILE (nft < nel_prec+nel)
518 mln = nint(pm(19,mid))
521 IF (nsubdom>0) ipartr2r =
tag_mat(mid)
529 IF (ish3n > 3 .AND. ish3n < 30) ish3n=2
534 IF (igtyp == 17 .OR. igtyp == 51 .OR. igtyp == 52)
THEN
535 npn = iworksh(1,numelc + ii)
536 isubstack =iworksh(3,numelc + ii)
539 CALL fretitl2(titr,igeo(npropgi-ltitr+1,pid),ltitr)
550 IF(ndrape > 0 .AND. (igtyp == 17 .OR. igtyp == 51 .OR. igtyp ==52) )
THEN
551 IF( drapeg%INDX(ii) /= 0 ) idrape = 1
554 IF (icrack3d > 0)
THEN
555 IF (igtyp == 11)
THEN
557 imatly = igeo(100+ipt,pid)
558 IF (mat_param(imatly)%NFAIL > 0) ixfem = mat_param(imatly)%IXFEM
560 IF (ixfem > 0) ixfem = 1
561 IF (ixfem == 1) nlevxf = nxel*npn
562 ELSEIF (igtyp == 51 .OR. igtyp == 52)
THEN
566 imatly = stack%IGEO(ipmat + ipt ,isubstack)
567 IF (mat_param(imatly)%NFAIL > 0) ixfem = mat_param(imatly)%IXFEM
568 IF (ixfem > 0) ixfem = 1
569 IF (ixfem == 1) nlevxf = nxel*npn
571 ELSEIF (igtyp == 1)
THEN
572 ixfem = mat_param(mid)%IXFEM
579 IF (ish3n >= 30 .and. ixfem > 0)
THEN
583 . msgtype=msgwarning,
584 . anmode=aninfo_blind_1,
589 nlevmax =
max(nlevmax, nlevxf)
593 CALL fretitl2(titr,igeo(npropgi-ltitr+1,pid),ltitr)
605 IF(ilev<0)ilev=-ilev-1
606 my_nvsiz=
max(4,
min(4**ilev,nvsiz))
610 IF (igtyp == 0) mln=0
612 IF (igtyp == 16 .and. mln == 58 .and.
613 . ismst /= 11 .and. ismst /= 4)
THEN
616 . msgtype=msgwarning,
617 . anmode=aninfo_blind_2,
624 IF (npn /= 1 .and. mln == 1) npn = 0
625 IF (npn == 0 .and. mln > 2 .and. mln /= 22 .and.
626 . mln /= 36 .and. mln /= 43 .and. mln /= 60 .and.
627 . mln /= 86 .and. mln /= 13 .and. mln /= 151)
THEN
629 . ipm(npropmi-ltitr+1,mid),
642 IF (idrot1>0.AND.ish3n>29)
THEN
644 . msgtype=msgwarning,
645 . anmode=aninfo_blind_2,
650 ithk = nint(geo(35,pid))
651 ipla = nint(geo(39,pid))
653 IF(npn == 0.AND.(mln == 36.OR.mln == 86))
THEN
656 ELSEIF(npn == 0.AND.mln == 3)
THEN
664 ELSEIF(mln == 32)
THEN
667 istrain = nint(geo(11,pid))
669 IF(mln == 19.OR.mln>=25.OR.mln == 15)istrain = 1
671 CALL zeroin(1,nparg,iparg(1,ngroup))
672 iparg(1,ngroup) = mln
673 ne1 =
min( my_nvsiz, nel + nel_prec - nft)
674 iparg(2,ngroup) = ne1
675 iparg(3,ngroup)= eadd(n)-1 + nft
676 iparg(4,ngroup) = lbufel+1
683 imatly = igeo(100+ipt,pid)
684 IF(mat_param(imatly)%NFAIL > 0)
THEN
689 ELSEIF(igtyp == 17)
THEN
698 imatly = stack%IGEO(ipmat + ipt ,isubstack)
699 IF(mat_param(imatly)%NFAIL > 0)
THEN
704 ELSEIF (igtyp == 51 .OR. igtyp == 52 )
THEN
712 imatly = stack%IGEO(ipmat + ipt ,isubstack)
713 IF(mat_param(imatly)%NFAIL > 0)
THEN
717 IF (nint(pm(19,imatly)) == 58) nb_law58 = nb_law58 + 1
720 IF (nb_law58 == npn)
THEN
722 ELSEIF (nb_law58 > 0)
THEN
727 IF(mat_param(mid)%NFAIL > 0.AND.mln /= 0 .AND. mln /= 13)
THEN
732 IF(mln == 13) irigid_mat = 1
734 jthe = nint(pm(71,mid))
738 IF(ipm(218,mid) > 0 .AND. mln /=0 .AND. mln /= 13)
THEN
745 nuvar =
max(nuvar,ipm(8,ixtg(1,ie)))
747 iparg(46,ngroup)=nuvar
757 DO iloc = 1 ,iparg(2,ngroup)
759 IF(inivol(jj)%PART_ID == iparttg(iloc+mft))
THEN
769 iparg(54,ngroup) = ixfem
770 iparg(62,ngroup) = pid
771 iparg(65,ngroup) = nlevxf
773 IF (nsubdom>0) iparg(77,ngroup)= ipartr2r
775 iparg(6,ngroup) = npn
776 iparg(9,ngroup) = ismst
777 iparg(11,ngroup)= kcnod
778 iparg(13,ngroup)= jthe
779 IF(jale+jeul>0)iparg(13,ngroup)=-jthe
780 iparg(44,ngroup)= istrain
781 iparg(23,ngroup)= ish3n
782 iparg(28,ngroup)= ithk
783 iparg(29,ngroup)= ipla
784 iparg(35,ngroup)= irep
785 iparg(38,ngroup)= igtyp
786 iparg(39,ngroup)= icsen
787 iparg(41,ngroup)= idrot1
790 iparg(20, ngroup) = ipm(20, mid)
791 jale_from_mat = nint(pm(72,mid))
792 jale_from_prop = igeo(62,pid)
793 jale =
max(jale_from_mat, jale_from_prop)
800 iparg(7, ngroup) = jale
801 iparg(11, ngroup) = jeul
802 iparg(13,ngroup) = +abs(jthe)
809 ale%REZON%NUM_NUVAR_MAT =
max(
ale%REZON%NUM_NUVAR_MAT, mat_param(mid)%REZON%NUM_NUVAR_MAT)
810 ale%REZON%NUM_NUVAR_EOS =
max(
ale%REZON%NUM_NUVAR_EOS, mat_param(mid)%REZON%NUM_NUVAR_EOS)
815 iparg(81,ngroup) = mat_param(mid)%REZON%NUM_NUVAR_MAT
816 iparg(82,ngroup) = mat_param(mid)%REZON%NUM_NUVAR_EOS
819 iparg(45,ngroup)= ilev
820 IF(ilev/=0 .AND. ish3n > 2)
THEN
822 CALL fretitl2(titr,igeo(npropgi-ltitr+1,pid),ltitr)
825 . anmode=aninfo_blind_1,
834 sh3tree(4,j+eadd(n)+nft-1)=ngroup
835 ilev=sh3tree(3,j+eadd(n)+nft-1)
836 IF(ilev >= 0)iparg(8,ngroup)=0
842 midn = ixtg(1,j+eadd(n)+nft-1)
849 iparg(10,ngroup)= nsg
850 iparg(32,ngroup)= p-1
853 IF (igtyp == 11)
THEN
858 imatly = igeo(100+ipt,ixtg(5,ie))
859 nuvarr =
max(nuvarr,ipm(221,ixtg(1,ie)))
865 nuvarr =
max(nuvarr,ipm(221,ixtg(1,ie)))
868 iparg(47,ngroup)=nuvarr
880 IF(tagprt_sms(iparttg(ii))/=0)jsms=1
885 iparg(52,ngroup)=jsms
887 iparg(71,ngroup) = isubstack
888 iparg(92,ngroup) = idrape
899 ngp(nspmd+1)=ngp(nspmd+1)+ngp(p)
900 dd_iad(p,nspgroup+n)=ngp(p)
902 dd_iad(nspmd+1,nspgroup+n)=ngp(nspmd+1)
906 nspgroup = nspgroup + nd
909 . msgtype=msgwarning,
910 . anmode=aninfo_blind_1,
915 IF(print_flag>6)
THEN
919 WRITE(iout,1001)n,mln,iparg(2,n),iparg(3,n)+1,
920 + iparg(5,n),iabs(iparg(6,n)),
921 + iparg(9,n),iparg(10,n),iparg(44,n),iparg(43,n)
926 + /10x
' 2D - TRIANGULAR SOLID ELEMENT GROUPS'/
927 + 10x,
' ------------------------------------'/
928 +
' GROUP MATERIAL ELEMENT FIRST',
930 +
' INTEG SMALL SUB STRAIN FAILURE'/
931 +
' LAW NUMBER ELEMENT',
933 +
' PTS STRAIN GROUPS OUTPUT FLAG'/)
934 1001
FORMAT(11(1x,i10))
936 IF (
ALLOCATED(xnum_rnoise))
DEALLOCATE(xnum_rnoise)