41 1 IXC ,PM ,IPARG ,GEO ,
42 2 EADD ,ND ,IPARTC ,DD_IAD,
44 4 INDEX ,CEP ,THK ,XNUM,
45 5 IGRSURF,IGRSH4N ,IGEO ,IPM ,
46 6 IPART ,SH4TREE ,NOD2ELC ,ISHEOFF ,
47 7 SH4TRIM ,TAGPRT_SMS,LGAUGE ,IWORKSH ,
48 8 STACK ,DRAPE ,RNOISE ,MAT_PARAM,
49 9 SH4ANG, IDDLEVEL , DRAPEG,PRINT_FLAG,PTSHEL,DAMP_RANGE_PART)
84#include "implicit_f.inc"
90#include "com_xfem1.inc"
93#include "vect01_c.inc"
95#include
"remesh_c.inc"
103 INTEGER IXC(NIXC,*),IPARG(NPARG,*),EADD(*),IGEO(NPROPGI,*),
109INTEGER,
INTENT(IN) :: IDDLEVEL
110 INTEGER,
INTENT(IN) :: PRINT_FLAG
111 INTEGER ,
DIMENSION(NUMELC) ,
INTENT(INOUT):: PTSHEL
112 INTEGER ,
INTENT(IN) :: DAMP_RANGE_PART(NPART)
114 . PM(NPROPM,*), GEO(NPROPG,*), XNUM(*),THK(*),RNOISE(NPERTURB,*),
116 TYPE(MATPARAM_STRUCT_) ,
DIMENSION(NUMMAT),
INTENT(IN) :: MAT_PARAM
118 TYPE (STACK_PLY) :: STACK
119 TYPE (DRAPE_) ,
TARGET :: (NUMELC_DRAPE + NUMELTG_DRAPE)
120 TYPE (DRAPEG_) :: DRAPEG
121 TYPE (DRAPE_) ,
DIMENSION(:),
ALLOCATABLE :: XNUM_DRAPE
122 TYPE (DRAPEG_) :: XNUM_DRAPEG
124 TYPE (GROUP_) ,
DIMENSION(NGRSHEL) :: IGRSH4N
125 TYPE (SURF_) ,
DIMENSION(NSURF) :: IGRSURF
129 INTEGER I,K,NGR1,MLN,ISMST, ICSEN, JLEV, MY_NVSIZ, IADM,NLEVXF,
130 . npn, n, mid, pid, ihbe,npg,ixfem_err,
131 . ii, j, midn, pidn, nsg, nel, ne1, ithk,
134 . imatly, ipt,ilev,mpt, ie, nuvarr,
135 . ngp(nspmd+1),n1,nvarv,ivisc,ifwv,ixfem,iptun,irep,
136 . isubstack,ipmat, ippid,
137 . ipartr2r,nb_law58,ipert,stat,igmat,ipinch,ism0,iseatbelt,
138 . nslice,kk,npt_drp, idrape, jj,iel,iel0,ishel,idamp_freq_range
139 INTEGER,
DIMENSION(:),
ALLOCATABLE :: INUM_R2R
140 my_real,
DIMENSION(:),
ALLOCATABLE :: ANGLE
141 INTEGER,
DIMENSION(:),
ALLOCATABLE :: INDEXS2,INUM_PTSHEL
143 INTEGER MODE,WORK(70000)
144 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: ISTOR,INUM_WORKSH
147 CHARACTER(LEN=NCHARTITLE)::TITR,TITR1,TITR2
148 my_real,
DIMENSION(:,:),
ALLOCATABLE :: xnum_rnoise
149 INTEGER :: NB_NODES, LDIM, OFFSET
151 TYPE (DRAPE_PLY_) ,
POINTER :: DRAPE_PLY
153 CALL my_alloc(inum_r2r,1+r2r_siu*numelc)
154 CALL my_alloc(angle,numelc)
157 ALLOCATE( istor(ksh4tree+1,numelc) )
159 ALLOCATE( istor(0,0) )
162 CALL my_alloc(indexs2,numelc)
165 IF (nperturb > 0)
THEN
166 ALLOCATE(xnum_rnoise(nperturb,numelc),stat=stat)
167 IF (stat /= 0)
CALL ancmsg(msgid=268,anmode=aninfo,
171 ALLOCATE(xnum_rnoise(0,0))
184 CALL zeroin(1,nd*(nspmd+1),dd_iad(1,nspgroup+1))
189 dd_iad(p,nspgroup+n) = 0
195 nel = eadd(n+1)-eadd(n)
197 IF (ndrape > 0 .AND. numelc_drape > 0)
THEN
198 ALLOCATE(xnum_drape(nel))
199 ALLOCATE(xnum_drapeg%INDX(nel))
202 iel0 = drapeg%INDX(i + nft)
204 npt = drape(iel0)%NPLY
205 npt_drp = drape(iel0)%NPLY_DRAPE
206 ALLOCATE(xnum_drape(i)%INDX_PLY(npt))
207 ALLOCATE(xnum_drape(i)%DRAPE_PLY(npt_drp))
208 xnum_drape(i)%INDX_PLY= 0
210 nslice = drape(iel0)%DRAPE_PLY(j)%NSLICE
211 ALLOCATE(xnum_drape(i)%DRAPE_PLY(j)%RDRAPE(nslice,2))
212 ALLOCATE(xnum_drape(i)%DRAPE_PLY(j)%IDRAPE(nslice,3))
213 xnum_drape(i)%DRAPE_PLY(j)%RDRAPE = 0
214 xnum_drape(i)%DRAPE_PLY(j)%IDRAPE = 0
218 ALLOCATE( xnum_drape(0) )
220 ALLOCATE(inum_worksh(3,nel))
222 IF(ndrape > 0 .AND. numelc_drape > 0)
THEN
225 inum(1,i)=ipartc(nft+i)
226 inum(2,i)=isheoff(nft+i)
227 inum(3,i)=ixc(1,nft+i)
228 inum(4,i)=ixc(2,nft+i)
229 inum(5,i)=ixc(3,nft+i)
230 inum(6,i)=ixc(4,nft+i)
231 inum(7,i)=ixc(5,nft+i)
232 inum(8,i)=ixc(6,nft+i)
233 inum(9,i)=ixc(7,nft+i)
235 inum_worksh(1,i) = iworksh(1, nft + i)
236 inum_worksh(2,i) = iworksh(2, nft + i)
237 inum_worksh(3,i) = iworksh(3, nft + i)
239 IF (nperturb > 0)
THEN
240 DO ipert = 1, nperturb
241 xnum_rnoise(ipert,i) = rnoise(ipert,nft+i)
244 angle(i) = sh4ang(nft + i)
246 iel0 = drapeg%INDX(nft + i)
247 xnum_drapeg%INDX(i) = iel0
250 xnum_drape(i)%NPLY = npt
251 xnum_drape(i)%INDX_PLY(1:npt) = drape(iel0)%INDX_PLY(1:npt)
252 npt = drape(iel0)%NPLY_DRAPE
253 xnum_drape(i)%NPLY_DRAPE = npt
254 xnum_drape(i)%THICK = drape(iel0)%THICK
256 drape_ply => drape(iel0)%DRAPE_PLY(jj)
257 nslice = drape_ply%NSLICE
258 xnum_drape(i)%DRAPE_PLY(jj)%NSLICE = nslice
259 xnum_drape(i)%DRAPE_PLY(jj)%IPID = drape_ply%IPID
261 xnum_drape(i)%DRAPE_PLY(jj)%IDRAPE(kk,1)=drape_ply%IDRAPE(kk,1)
262 xnum_drape(i)%DRAPE_PLY(jj)%IDRAPE(kk,2)=drape_ply%IDRAPE(kk,2)
263 xnum_drape(i)%DRAPE_PLY(jj)%RDRAPE(kk,1)=drape_ply%RDRAPE(kk,1)
264 xnum_drape(i)%DRAPE_PLY(jj)%RDRAPE(kk,2)=drape_ply%RDRAPE(kk,2)
266 DEALLOCATE(drape_ply%IDRAPE, drape_ply%RDRAPE)
268 DEALLOCATE(drape(iel0)%DRAPE_PLY)
269 DEALLOCATE(drape(iel0)%INDX_PLY)
274 inum(1,i)=ipartc(nft+i)
275 inum(2,i)=isheoff(nft+i)
276 inum(3,i)=ixc(1,nft+i)
277 inum(4,i)=ixc(2,nft+i)
278 inum(5,i)=ixc(3,nft+i)
279 inum(6,i)=ixc(4,nft+i)
280 inum(7,i)=ixc(5,nft+i)
281 inum(8,i)=ixc(6,nft+i)
282 inum(9,i)=ixc(7,nft+i)
284 inum_worksh(1,i) = iworksh(1,nft + i)
285 inum_worksh(2,i) = iworksh(2,nft + i)
286 inum_worksh(3,i) = iworksh(3,nft + i)
287 IF (nsubdom>0) inum_r2r(i) =
tag_elcf(nft+i)
288 IF (nperturb > 0)
THEN
289 DO ipert = 1, nperturb
290 xnum_rnoise(ipert,i) = rnoise(ipert,nft+i)
293 angle(i) = sh4ang(nft+i)
296 IF(abs(isigi) == 3 .OR. abs(isigi) == 4 .OR. abs(isigi) == 5)
THEN
297 ALLOCATE(inum_ptshel(nel))
299 inum_ptshel(i)=ptshel(nft+i)
306 istor(k,i)=sh4tree(k,nft+i)
311 istor(ksh4tree+1,i)=sh4trim(nft+i)
316 IF(
doqa .NE. 0 .OR. nadmesh /=0 .OR. iddlevel == 0)
THEN
318 CALL my_orders( mode, work, cep(nft+1), index, nel , 1)
325 IF(ndrape > 0 .AND. numelc_drape > 0)
THEN
328 ipartc(i+nft) =inum(1,index(i))
329 isheoff(i+nft)=inum(2,index(i))
330 thk(i+nft) =xnum(index(i))
331 ixc(1,i+nft)=inum(3,index(i))
332 ixc(2,i+nft)=inum(4,index(i))
333 ixc(3,i+nft)=inum(5,index(i))
334 ixc(4,i+nft)=inum(6,index(i))
335 ixc(5,i+nft)=inum(7,index(i))
336 ixc(6,i+nft)=inum(8,index(i))
337 ixc(7,i+nft)=inum(9,index(i))
338 IF (nsubdom>0)
tag_elcf(nft+i) = inum_r2r(index(i))
339 itr1(nft+index(i)) = nft+i
340 iworksh(1, nft + i)=inum_worksh(1,index(i))
341 iworksh(2, nft + i)=inum_worksh(2,index(i))
342 iworksh(3, nft + i)=inum_worksh(3,index(i))
344 IF (nperturb > 0)
THEN
345 DO ipert = 1, nperturb
346 rnoise(ipert,i+nft) = xnum_rnoise(ipert,index(i))
349 sh4ang(nft+i) = angle(index(i))
351 iel0 = xnum_drapeg%INDX(index(i))
352 drapeg%INDX(nft + i)= 0
355 npt = xnum_drape(index(i))%NPLY
356 ALLOCATE(drape(iel)%INDX_PLY(npt))
357 drape(iel)%INDX_PLY = 0
358 drapeg%INDX(nft + i)= iel
359 drape(iel)%INDX_PLY(1:npt) = xnum_drape(index(i))%INDX_PLY(1:npt)
360 drape(iel)%NPLY = npt
361 npt = xnum_drape(index(i))%NPLY_DRAPE
362 drape(iel)%NPLY_DRAPE= npt
363 drape(iel)%THICK = xnum_drape(index(i))%THICK
364 ALLOCATE(drape(iel)%DRAPE_PLY(npt))
366 drape_ply => drape(iel)%DRAPE_PLY(jj)
367 nslice = xnum_drape(index(i))%DRAPE_PLY(jj)%NSLICE
368 drape_ply%NSLICE = nslice
369 drape_ply%IPID = xnum_drape(index(i))%DRAPE_PLY(jj)%IPID
370 ALLOCATE(drape_ply%IDRAPE(nslice,2), drape_ply%RDRAPE(nslice,2))
372 drape_ply%RDRAPE = zero
374 drape_ply%IDRAPE(kk,1) = xnum_drape(index(i))%DRAPE_PLY(jj)%IDRAPE(kk,1)
375 drape_ply%IDRAPE(kk,2) = xnum_drape(index(i))%DRAPE_PLY(jj)%IDRAPE(kk,2)
376 drape_ply%RDRAPE(kk,1) = xnum_drape(index(i))%DRAPE_PLY(jj)%RDRAPE(kk,1)
377 drape_ply%RDRAPE(kk,2) = xnum_drape(index(i))%DRAPE_PLY(jj)%RDRAPE(kk,2)
384 ipartc(i+nft) =inum(1,index(i))
385 isheoff(i+nft)=inum(2,index(i))
386 thk(i+nft) =xnum(index(i))
387 ixc(1,i+nft)=inum(3,index(i))
388 ixc(2,i+nft)=inum(4,index(i))
389 ixc(3,i+nft)=inum(5,index(i))
390 ixc(4,i+nft)=inum(6,index(i))
391 ixc(5,i+nft)=inum(7,index(i))
392 ixc(6,i+nft)=inum(8,index(i))
393 ixc(7,i+nft)=inum(9,index(i))
394 IF (nsubdom>0)
tag_elcf(nft+i) = inum_r2r(index(i))
395 itr1(nft+index(i)) = nft+i
396 iworksh(1, nft + i)=inum_worksh(1,index(i))
397 iworksh(2, nft + i)=inum_worksh(2,index(i))
398 iworksh(3, nft + i)=inum_worksh(3,index(i))
399 IF (nperturb > 0)
THEN
400 DO ipert = 1, nperturb
401 rnoise(ipert,i+nft) = xnum_rnoise(ipert,index(i))
404 sh4ang(nft+i) = angle(index(i))
408 IF(abs(isigi)==3.OR.abs(isigi)== 4.OR.abs(isigi)==5)
THEN
410 ptshel(nft+i) = inum_ptshel(index(i))
412 DEALLOCATE(inum_ptshel)
417 sh4tree(k,i+nft)=istor(k,index(i))
422 sh4trim(i+nft)=istor(ksh4tree+1,index(i))
428 p = cep(nft+index(1))
431 IF (cep(nft+index(i))/=p)
THEN
432 dd_iad(p+1,nspgroup+n) = nb
434 p = cep(nft+index(i))
439 dd_iad(p+1,nspgroup+n) = nb
441 dd_iad(p,nspgroup+n) = dd_iad(p,nspgroup+n)
442 . + dd_iad(p-1,nspgroup+n)
445 dd_iad(p,nspgroup+n) = dd_iad(p-1,nspgroup+n)+1
447 dd_iad(1,nspgroup+n) = 1
452 index(i) = cep(nft+index(i))
455 cep(nft+i) = index(i)
459 IF(ndrape > 0 .AND. numelc_drape > 0)
THEN
461 iel0 = xnum_drapeg%INDX(i)
463 npt_drp = xnum_drape(i)%NPLY_DRAPE
465 DEALLOCATE(xnum_drape(i)%DRAPE_PLY(j)%RDRAPE)
466 DEALLOCATE(xnum_drape(i)%DRAPE_PLY(j)%IDRAPE)
468 DEALLOCATE(xnum_drape(i)%DRAPE_PLY,xnum_drape(i)%INDX_PLY)
470 DEALLOCATE(xnum_drape,xnum_drapeg%INDX )
472 DEALLOCATE(xnum_drape )
475 DEALLOCATE(inum_worksh)
483 . sh4tree(1,i)=itr1(sh4tree(1,i))
485 . sh4tree(2,i)=itr1(sh4tree(2,i))
494 IF (igrsurf(i)%ELTYP(j) == 3)
495 . igrsurf(i)%ELEM(j) = itr1(igrsurf(i)%ELEM(j))
505 IF(n1 > 0) lgauge(3,i)=-itr1(n1)
512 nn=igrsh4n(i)%NENTITY
514 igrsh4n(i)%ENTITY(j) = itr1(igrsh4n(i)%ENTITY(j))
521 IF(nod2elc(i) /= 0)nod2elc(i)=itr1(nod2elc(i))
532 nel = dd_iad(p+1,nspgroup+n)-dd_iad(p,nspgroup+n)
534 nel_prec = dd_iad(p,nspgroup+n)-dd_iad(1,nspgroup+n)
536 DO WHILE (nft < nel_prec+nel)
541 mln = nint(pm(19,mid))
544 IF (nsubdom>0) ipartr2r =
tag_mat(mid)
550 ishxfem_ply = igeo(19,pid)
552 ihbe = nint(geo(171,pid))
553 ithk = nint(geo(35,pid))
554 ipla = nint(geo(39,pid))
555 istrain = nint(geo(11,pid))
557 igmat = igeo(98 ,pid)
562 IF (igtyp == 17 .OR. igtyp == 51 .OR. igtyp == 52)
THEN
564 isubstack =iworksh(3,ii)
567 CALL fretitl2(titr,igeo(npropgi-ltitr+1,pid),ltitr)
577 IF(ndrape > 0 .AND. (igtyp == 17 .OR. igtyp == 51 .OR. igtyp ==52) )
THEN
578 IF(drapeg%INDX(ii) /= 0 ) idrape = 1
581 IF ((ishel /=12 .AND. ishel /=24).AND.ishel > 5 )
THEN
593 IF (igtyp == 11 .or. igtyp == 16)
THEN
595 imatly = igeo(100+ipt,pid)
596 IF (mat_param(imatly)%NFAIL > 0)
THEN
597 ixfem = mat_param(imatly)%IXFEM
600 IF (ixfem > 0) ixfem = 1
601 IF (ixfem == 1) nlevxf = nxel*npn
602 ELSEIF (igtyp == 51 .OR. igtyp == 52)
THEN
606 imatly = stack%IGEO(ipmat + ipt ,isubstack)
607 IF (mat_param(imatly)%NFAIL > 0) ixfem = mat_param(imatly)%IXFEM
608 IF (ixfem > 0) ixfem = 1
609 IF (ixfem == 1) nlevxf = nxel*npn
611 ELSEIF (igtyp == 1 .or. igtyp == 9 .or. igtyp == 10 .or. igtyp == 17)
THEN
612 ixfem = mat_param(mid)%IXFEM
618 nlevmax =
max(nlevmax, nlevxf)
621 IF (ihbe == 11 .and. ixfem > 0)
THEN
638 CALL fretitl2(titr,igeo(npropgi-ltitr+1,pid),ltitr)
646 IF (mat_param(mid)%SMSTR==1 .OR. mln == 1) ithk = 0
649 IF (ithk == 0) ism0=2
652 . anmode=aninfo_blind_2,
664 . anmode=aninfo_blind_2,
674 IF (mat_param(mid)%SMSTR==1)
THEN
679 IF (mat_param(mid)%STRAIN_FORMULATION==2) ismst =4
680 IF (mln == 58 ) ismst =4
681 IF (mln == 19 .AND. npn==1) ismst =11
687 . anmode=aninfo_blind_2,
695 IF (igtyp == 16 .and. mln
THEN
698 . msgtype=msgwarning,
699 . anmode=aninfo_blind_2,
704 IF (igtyp == 1 .AND. (mln == 25 .OR.
712 ELSEIF (igtyp == 1 .AND. (mln ==57.OR. mln ==78 .OR.
713 . mln == 32 .OR. mln == 43 .OR. mln == 73.OR.mln == 87
714 . .OR.mln == 107.OR.mln == 112) )
THEN
716 . msgtype=msgwarning,
717 . anmode=aninfo_blind_1,
721 ELSEIF (igtyp == 1 .AND. mln ==200)
THEN
724 . anmode=aninfo_blind_1,
729 IF (igtyp == 1 .and. ismst == 11 )
THEN
733 . msgtype=msgwarning,
734 . anmode=aninfo_blind_2,
740 ELSEIF (ismst == 10 )
THEN
741 IF (ishel /=12 .AND. ishel /=24 )
THEN
744 . msgtype=msgwarning,
751 IF (mln /=42 .AND. mln /=69 .AND. mln /=88 .and. mln /= 99)
THEN
752 CALL ancmsg(msgid=3020, anmode=aninfo, msgtype=msgwarning,
773 IF(ilev<0)ilev=-ilev-1
774 my_nvsiz=
max(4,
min(4**ilev,nvsiz))
779 IF (npn > 1 .and. mln == 1)
THEN
781 CALL fretitl2(titr2,ipm(npropmi-ltitr+1,mid),ltitr)
783 . anmode=aninfo_blind_2,
784 . msgtype=msgwarning,
791 IF (npn > 1 .and. mln == 91)
THEN
795 IF (npn == 0 .and. mln /= 0 .and. mln /= 1 .and. mln /= 91)
THEN
798 . msgtype=msgwarning,
805 IF (npn == 0 .and. mln > 2 .and. mln /= 22 .and.
806 . mln /= 36 .and. mln /= 43 .and. mln /= 60 .and.
807 . mln /= 86 .and. mln /= 13 .and. mln /= 91)
THEN
809 . ipm(npropmi-ltitr+1,mid),
821 IF (npn == 0.AND.(mln == 36.OR.mln == 86))
THEN
824 ELSEIF(npn == 0.AND.mln == 2)
THEN
833 ELSEIF(mln == 32)
THEN
837 IF (isrot>0.AND.ihbe<11)
THEN
839 . msgtype=msgwarning,
840 . anmode=aninfo_blind_2,
846 CALL zeroin(1,nparg,iparg(1,ngroup))
847 iparg(1,ngroup) = mln
848 ne1 =
min( my_nvsiz, nel + nel_prec - nft)
849 iparg(2,ngroup) = ne1
850 iparg(3,ngroup)= eadd(n)-1 + nft
851 iparg(4,ngroup) = lbufel+1
860 IF (igtyp == 11)
THEN
862 imatly = igeo(100+ipt,pid)
863 IF(mat_param(imatly)%NFAIL > 0)
THEN
866 IF (mat_param(imatly)%IVISC > 0 ) ivisc = 1
867 IF (mat_param(imatly)%IFAILWAVE > 0) ifwv = 1
870 ELSEIF(igtyp == 17)
THEN
879 imatly = stack%IGEO(ipmat + ipt ,isubstack)
880 IF(mat_param(imatly)%NFAIL > 0)
THEN
883 IF( mat_param(imatly)%IVISC > 0 ) ivisc = 1
888 ELSEIF (igtyp == 51 .OR. igtyp == 52)
THEN
893 imatly = stack%IGEO(ipmat + ipt ,isubstack)
894 IF (mat_param(imatly)%NFAIL > 0)
THEN
897 IF (mat_param(imatly)%IVISC > 0) ivisc = 1
898 IF (mat_param(imatly)%IFAILWAVE > 0) ifwv = 1
900 IF (nint(pm(19,imatly)) == 58) nb_law58 = nb_law58 + 1
903 IF (nb_law58 == npn)
THEN
905 ELSEIF (nb_law58 > 0)
THEN
910 IF(mat_param(mid)%NFAIL > 0.AND.mln /= 0 .AND. mln /=13)
THEN
913 IF (mat_param(mid)%IVISC > 0 ) ivisc = 1
914 IF (mat_param(mid)%IFAILWAVE > 0) ifwv = 1
918 IF (mln == 13) irigid_mat = 1
919 jthe = nint(pm(71,mid))
922 IF(ipm(218,mid) > 0 .AND. mln /= 0 .AND. mln /=13)
THEN
926 IF (ivisc > 0 .AND. mln /= 0 .AND. mln /=13)
THEN
933 IF(tagprt_sms(ipartc(ii
938 iparg(52,ngroup)=jsms
940 iparg(54,ngroup) = ixfem
941 iparg(65,ngroup) = nlevxf
943 IF (nsubdom>0) iparg(77,ngroup)= ipartr2r
945 iparg(6,ngroup) = npn
946 iparg(9,ngroup) = ismst
947 iparg(13,ngroup) = jthe
948 iparg(23,ngroup) = ihbe
949 iparg(28,ngroup) = ithk
950 iparg(29,ngroup) = ipla
951 iparg(41,ngroup) = isrot
952 iparg(44,ngroup) = istrain
953 iparg(62,ngroup) = pid
954 iparg(90,ngroup) = ipinch
957 IF(mln == 119) iseatbelt = 1
958 iparg(91,ngroup) = iseatbelt
960 idamp_freq_range = damp_range_part(ipartc(ii))
961 iparg(93,ngroup) = idamp_freq_range
966 midn = ixc(1,j+eadd(n)+nft-1)
967 pidn = ixc(6,j+eadd(n)+nft-1)
968 IF(mid/=midn.OR.pid/=pidn)
THEN
976 iparg(10,ngroup)= nsg
977 iparg(18,ngroup)= mid
978 iparg(30,ngroup)= kfts
979 iparg(35,ngroup)= irep
980 iparg(38,ngroup)= igtyp
981 iparg(39,ngroup)= icsen
982 iparg(45,ngroup)= ilev
986 sh4tree(4,j+eadd(n)+nft-1)=ngroup
987 jlev=sh4tree(3,j+eadd(n)+nft-1)
988 IF(jlev >= 0)iparg(8,ngroup)=0
993 IF (igtyp == 11)
THEN
998 imatly = igeo(100+ipt,ixc(6,ie))
999 nuvarr =
max(nuvarr,ipm(221,ixc(1,ie)))
1005 nuvarr =
max(nuvarr,ipm(221,ixc(1,ie)))
1008 iparg(47,ngroup)=nuvarr
1016 iparg(48,ngroup)=npg
1018 iparg(32,ngroup) = p-1
1019 iparg(50,ngroup) = ishxfem_ply
1021 iparg(71,ngroup) = isubstack
1022 iparg(75,ngroup) = igmat
1024 iparg(78,ngroup) = mat_param(mid)%NLOC
1025 iparg(79,ngroup) = ifwv
1027 iparg(92,ngroup) = idrape
1031 ngp(p)=ngroup-ngp(p)
1037 ngp(nspmd+1)=ngp(nspmd+1)+ngp(p)
1038 dd_iad(p,nspgroup+n)=ngp(p)
1040 dd_iad(nspmd+1,nspgroup+n)=ngp(nspmd+1)
1045 IF (ixfem_err == 1) icrack3d = 0
1047 nspgroup = nspgroup + nd
1050 . anmode=aninfo_blind_2,
1051 . msgtype=msgwarning,
1062 . anmode=aninfo_blind_2,
1066 . anmode=aninfo_blind_2,
1070 . anmode=aninfo_blind_2,
1073 . msgtype=msgwarning,
1074 . anmode=aninfo_blind_2,
1077 . anmode=aninfo_blind_2,
1078 . msgtype=msgwarning,
1081 . msgtype=msgwarning,
1082 . anmode=aninfo_blind_2,
1090 . msgtype=msgwarning,
1094 . msgtype=msgwarning,
1097 IF(print_flag>6)
THEN
1102 WRITE(iout,1001)n,mln,iparg(2,n),iparg(3,n)+1,
1103 + iparg(5,n),iabs(iparg(6,n)),
1104 + iparg(9,n),iparg(10,n),iparg(44,n),
1105 + iparg(23,n),iparg(43,n),iparg(90,n)
1110 + /6x,
'3D - SHELL ELEMENT GROUPS'/
1111 + 6x,
'-------------------------'/
1112 +
' GROUP MATERIAL ELEMENT FIRST',
1114 +
' SMALL SUB STRAIN HOURGLASS FAILURE PINCHING'/
1115 +
' LAW NUMBER ELEMENT',
1117 +
' STRAIN GROUPS OUTPUT FLAG FLAG FLAG'/)
1118 1001
FORMAT(12(1x,i10))
1121 IF (
ALLOCATED(xnum_rnoise))
DEALLOCATE(xnum_rnoise
1126 DEALLOCATE(inum_r2r)