203 2 IXS ,IXQ ,IXC ,IXT ,IXP ,
204 3 IXR ,IXTG ,SWAFT ,SMAS ,SXNORM ,
205 4 SIAD ,IPARG ,PM ,GEO ,MS ,
206 5 SINVERT ,CONT ,SMATER ,ICUT ,SKEW ,
207 6 XCUT ,FINT ,ITAB ,SEL2FA ,FEXT ,
208 7 FOPT ,ANIN ,LPBY ,NPBY ,NSTRF ,
209 8 RWBUF ,NPRW ,TANI ,ELBUF_TAB ,MAT_PARAM,
210 A DD_IAD ,WEIGHT ,EANI ,IPART ,CLUSTER ,
211 B IPARTS ,IPARTQ ,IPARTC ,IPARTT ,IPARTP ,
212 C IPARTR ,IPARTUR ,IPARTTG ,
213 D RBY ,SWA4 ,TORS ,NOM_OPT ,IGRSURF ,
214 E BUFSF ,IDATA ,RDATA ,SIADG ,BUFMAT ,
215 F BUFGEO ,KXX ,IXX ,IPARTX ,SUIX ,
216 G SXUSR ,SNFACPTX ,SIXEDGE ,SIXFACET ,SIXSOLID ,
217 H SNUMX1 ,SNUMX2 ,SNUMX3 ,SOFFX1 ,SOFFX2 ,
218 I SOFFX3 ,SMASS1 ,SMASS2 ,SMASS3 ,SFUNC1 ,
219 J SFUNC2 ,SFUNC3 ,KXSP ,IXSP ,NOD2SP ,
220 K IPARTSP ,SPBUF ,IXS10 ,IXS20 ,IXS16 ,
221 L VR ,MONVOL ,VOLMON ,IPM ,IGEO ,NODGLOB,
222 M IAD_ELEM ,FR_ELEM ,FR_SEC ,FR_RBY2 ,IAD_RBY2 ,
223 N FR_WALL ,IFLOW ,RFLOW ,FNCONT ,FTCONT ,
224 O TEMP ,THKE ,ERR_THK_SH4 ,ERR_THK_SH3 ,DIAG_SMS ,
225 P IPARI ,FNCONT2 ,DR ,ALE_CONNECTIVITY ,
226 Q IRBE2 ,IRBE3 ,LRBE2 ,LRBE3 ,FR_RBE2,
227 R FR_RBE3M ,IAD_RBE2 ,DXANCG ,NOD_PXFEM ,IEL_PXFEM,
228 S ZI_PLY ,VGAZ ,FCONTG ,FNCONTG ,FTCONTG ,
229 T FANREAC ,INOD_CRK ,IEL_CRK ,ELCUTC ,IADC_CRK ,
230 U PDAMA2 ,RES_SMS ,WEIGHT_MD ,NODGLOBXFE ,NODEDGE ,
231 V FCLUSTER ,MCLUSTER ,XFEM_TAB ,W ,
232 W NV46 ,IPARTIG3D,KXIG3D ,IXIG3D ,SIG3DSOLID,
233 X KNOT ,WIGE ,NERCVOIS ,NESDVOIS ,LERCVOIS ,
234 Y LESDVOIS ,CRKEDGE ,INDX_CRK ,XEDGE4N ,XEDGE3N ,
235 Z STACK ,SPH2SOL ,STIFN ,STIFR ,IGRNOD ,
236 1 H3D_DATA ,SUBSET ,MULTI_FVM ,KNOTLOCPC ,KNOTLOCEL ,
237 2 FCONT_MAX,FNCONTP2 ,FTCONTP2 ,GLOB_THERM ,
238 . DRAPE_SH4N, DRAPE_SH3N, DRAPEG,OUTPUT )
242 USE checksum_output_option_mod
260 USE output_mod ,
ONLY : output_, noda_surf, noda_pext, anim_has_noda_pext
265#include
"implicit_f.inc"
269#include "com01_c.inc"
270#include "com04_c.inc"
271#include "com08_c.inc"
272#include "com09_c.inc"
273#include "com_xfem1.inc"
275#include "param_c.inc"
276#include "units_c.inc"
277#include "scr03_c.inc"
278#include "scr06_c.inc"
279#include "scr14_c.inc"
280#include "scr16_c.inc"
281#include "scr17_c.inc"
282#include "scr23_c.inc"
283#include "scr25_c.inc"
284#include "chara_c.inc"
285#include "scrcut_c.inc"
288#include "flowcom.inc"
289#include "impl1_c.inc"
291#include "filescount_c.inc"
292#include "intstamp_c.inc"
296 INTEGER SWAFT,SMAS,SXNORM,SIAD,SINVERT,SMATER,SEL2FA,SWA4,
297 . siadg,nercvois(*),nesdvois(*),lercvois(*),
298 . lesdvois(*),sph2sol(*)
300 . suix, sxusr ,sfacptx,sixedge,sixfacet,sixsolid,snumx1,
301 . snumx2,snumx3,soffx1,soffx2,soffx3,smass1,smass2,
302 .
smass3,sfunc1,sfunc2,sfunc3,sfin,snfacptx
306 . NOD_PXFEM(*), IEL_PXFEM(*),NODEDGE(2,*),XEDGE4N(
307(*),IEL_CRK(*),ELCUTC(2,*),IADC_CRK(*)
309 . (3*NUMNOD), D(3*NUMNOD), V(3*NUMNOD), A(3,NUMNOD), BUFEL(*),
310 . PM(NPROPM,NUMMAT), GEO(NPROPG,*),CONT(*),
311 . XCUT(*) , FINT(3,*),MS(*),RWBUF(NRWLP,*),SKEW(LSKEW,*),
312 . RBY(NRBY,*),FEXT(3,*) ,FOPT(6,*),ANIN(*),TANI(6,*),EANI(*),
313 . TORS(15,*),BUFSF(*), RDATA(*),
314 . BUFMAT(*),BUFGEO(*),
315 . SPBUF(*), VR(*),VOLMON(*), RFLOW(*), FNCONT(3,*), FTCONT(3,*),
316 . TEMP(*), THKE(*), ERR_THK_SH4(*), ERR_THK_SH3(
319 . RES_SMS(*),FCLUSTER(3,*),MCLUSTER(3,*),W(*),
320 . WIGE(*),KNOT(*),STIFN(*),STIFR(*),KNOTLOCPC(*),KNOTLOCEL(*),
321 . FCONT_MAX(*),FNCONTP2(3,*) ,FTCONTP2(3,*)
322 INTEGER IPARG(NPARG,*),NSTRF(*),LPBY(*),
323 . IXS(NIXS,*),IXQ(NIXQ,*),IXC(NIXC,*),IXTG(NIXTG
326 . ICUT(*), ITAB(*),NPBY(NNPBY,*),NPRW(*),
327 . WEIGHT(*),IPART(LIPART1,*),IPARTS(*),IPARTQ(*),IPARTC(*),
328 . IPARTT(*),IPARTP(*),IPARTR(*),IPARTUR(*),IPARTTG(*),
330 . IDATA(*),KXX(NIXX,*), IXX(*), IPARTX(*),
331 . KXSP(NISP,*), IXSP(KVOISPH,*), NOD2SP(*), IPARTSP(*),
332 . nodglob(*),iad_elem(2,*),fr_elem(*),fr_wall(*), iflow(*),
333 . ipari(npari,*),irbe2(nrbe2l,*),irbe3(nrbe3l,*),
334 . weight_md(*),nodglobxfe(*),ipartig3d(*)
335 INTEGER CTEXT(2159), IB
336 INTEGER DD_IAD(NSPMD+1,*),
337 . NN1,NN2,NN3,NN4,NN5,NN6,NN7,NN8,NN9,NN10,
339 INTEGER FR_SEC(NSPMD+1,*),FR_RBY2(3,*),IAD_RBY2(4,*),
340 . nerbt(nrbody),loc_proc,proc,nerbe2t(nrbe2g),
341 . nerbe3t(nrbe3g),iad_rbe2(4,*),nv46,kxig3d(*),
342 . ixig3d(*),sig3dsolid
343 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
344 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP,NXEL) :: XFEM_TAB
345 TYPE (CLUSTER_) ,
DIMENSION(NCLUSTER) :: CLUSTER
346 TYPE (XFEM_EDGE_) ,
DIMENSION(*) :: CRKEDGE
347 TYPE (STACK_PLY) :: STACK
348 TYPE(H3D_DATABASE) :: H3D_DATA
349 TYPE (SUBSET_) ,
DIMENSION(NSUBS) :: SUBSET
351 TYPE (GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
352 TYPE (SURF_) ,
DIMENSION(NSURF) :: IGRSURF
353 TYPE(MULTI_FVM_STRUCT),
INTENT(IN) :: MULTI_FVM
354 TYPE(t_ale_connectivity),
INTENT(IN) :: ALE_CONNECTIVITY
355 TYPE (MATPARAM_STRUCT_) ,
DIMENSION(NUMMAT) ,
INTENT(IN) :: MAT_PARAM
356 type (glob_therm_) ,
intent(in) :: glob_therm
357 TYPE (DRAPE_) ,
INTENT(IN) :: DRAPE_SH4N(NUMELC_DRAPE)
358 TYPE (DRAPE_) ,
INTENT(IN) :: DRAPE_SH3N(NUMELTG_DRAPE)
359 TYPE (DRAPEG_) ,
INTENT(IN) :: DRAPEG
360 TYPE(OUTPUT_),
INTENT(INOUT) :: OUTPUT
365 my_real,
DIMENSION(:),
ALLOCATABLE :: WAFT , MAS , XNORM,
366 . XMASS1, XMASS2, XMASS3,
367 . XFUNC1, XFUNC2, XFUNC3,
369 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IAD
370 INTEGER,
DIMENSION(:),
ALLOCATABLE :: INVERT
371 INTEGER,
DIMENSION(:),
ALLOCATABLE :: MATER
372 INTEGER,
DIMENSION(:),
ALLOCATABLE :: EL2FA
373 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: IADG
374 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: IADG_TPR
376 INTEGER,
DIMENSION(:),
ALLOCATABLE :: UIX
377 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: NFACPTX
378 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IXEDGE
379 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IXFACET
380 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IXSOLID
381 INTEGER,
DIMENSION(:),
ALLOCATABLE :: INUMX1
382 INTEGER,
DIMENSION(:),
ALLOCATABLE :: INUMX2
383 INTEGER,
DIMENSION(:),
ALLOCATABLE :: INUMX3
384 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IOFFX1
385 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IOFFX2
386 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IOFFX3
387 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IG3DSOLID
388 INTEGER SZ16,SHFT16,IADGPS,NSN,IADISO,FIRST_NODE_IG3D,IADCHKSUM
391 . ,
DIMENSION(:),
ALLOCATABLE :: wa4, mas4
393 . x_temp(3,64*numelig3d),d_temp(3,64*numelig3d),
394 . v_temp(3,64*numelig3d),a_temp(3,64*numelig3d),tabstresl(6,64*numelig3d),
395 . bid_temp(3,64*numelig3d),cont_temp(3,64*numelig3d),fint_temp(3,64*numelig3d),
396 . fext_temp(3,64*numelig3d),fanreact_temp(3,64*numelig3d)
399 my_real ,
DIMENSION (:),
ALLOCATABLE :: cbuf
400 INTEGER ,
DIMENSION (:),
ALLOCATABLE :: ICBUF
403 CHARACTER*80 STR, MES*30, CAUX,TITL*100
404 CHARACTER CHANIM*9,FILNAM*100, CHANIM1
405INTEGER I, IDX,NBF, NBPART, MAGIC, J, , FILEN, NPSOL,
406 . nodcut,nelcut,lenr,leni,lencut,lencuto
407 . mic1,mic2,mic3,mic4,mic5,mac1,mac2,mac3,npspr,n,k,
408 . i3000, nesct,nerby,nerwl,nnwl,tmpnbf,isk(6),
409 . nesbw2,nel,nft,ity,ng,oui,ipt
410 INTEGER II,II_L,INC,P,NSLARB_L,NDMA2,NUMELS_T,NSKEWA,NB1D,
411 . M1,M2,,M,M01,NB1D_T, NBF_L, LEN, NUMELT_T,
413 INTEGER ISECT,NESCT1,IRBY,NERBY1,IRWL,NERWL1,NERBE2,NERBE3,
415 INTEGER NSURG,NESRG, NNSRG, NESRG1, NNSRG1,ISRG,ISRF,ISRK
416 INTEGER NSMAD,NESMD, NNSMD, NESMD1, NNSMD1,ISMD
417 INTEGER NENT,OFFSI,OFFSRF,OFFSRV
418 INTEGER NESPH,NNSPH,INSPH,NESPHG,NNSPHG,SNNSPHG,SZNNSPH,SHFTSPH
419 INTEGER I161,I16A,I16B,I16C,I16D,I16E,I16F,I16G,I16H,I16I,I16J,
420 . i16k,i16l,i16m,i16n
421 INTEGER MXSUBS,NSECTSA
423 INTEGER ,NNNSRG,NNN,BUF
424 INTEGER NANIM1D_L,IUS,NANIM3D_L
427 INTEGER LRBUF,BUFL,BUFFERP(NPART),SBUFSPM,SBUFRECVM,SBUFSPO,
428 . sporby,numsph_t,numels16_t,lrbufg,nnng
430 . cdg(3), s3000,xmin,ymin,zmin,xmax,
ymax,zmax, scale,
432 INTEGER K1, KK1, K2, KIBJET, KIBHOL, IADHOL, , KRBJET, KRBHOL,
433 . RADHOL, ITYP, KI1, KR1, NCA, NTG, NJET, NVENT, NTGI
435 . ,
DIMENSION(:,:),
ALLOCATABLE :: vflu , vvar1 , aflu,
436 . vflu_ale, fanreact, fanreacr
438 INTEGER IADI, IADR, NINOUT, NNO, II1, II2, IR1, NNO_L, ,
440 INTEGER NNS, NNI, NNT, NNA, NBA, KI2, KR2
441 INTEGER FVOFF(2,NFVBAG), INOD(4), INORM(3), NFVTR, NFVNOD,
442 . NFVPART, NFVSUBS, IDMAX, KK, NN, FVIAD, JJ, OFFPART,
443 . ELOFF, IDCMAX, NND, NBID1, NBID2, NBID3, NFVNODT, IDP,
444 . NBPART2D,NRBE2T,NRBE3T,EMPSIZPL
447 INTEGER,
DIMENSION(:),
ALLOCATABLE :: OFFTR, ITAGT, FVEL2FA,
448 . FVINUM, FVPBUF,EL2FA_PLY,
452 . ,
DIMENSION(:),
ALLOCATABLE :: fvmass, fvpres, fvqx, fvqy,
453 . fvqz, fvrho, fvener, fvcson,
457 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: IAD_PLYG
458 INTEGER IUL,IAD_GP2,IFIRST,
459 . nel_ply, nfnod_pxfem,idply,nbf_pxfem_l,
460 . iply,nplysubs,id_part,nbf_pxfem,swaft_pxfem,maxpart,
461 . nbf_pxfemg,nfnod_pxfemg,plynumc,
462 . sel2fa_ply,iadpc,ifv,iad_gp3,iad_iso,iad_gp4
463 INTEGER,
DIMENSION(:),
ALLOCATABLE :: NFSHSZ
464 INTEGER,
DIMENSION(:),
ALLOCATABLE :: NFNODSZ
465 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ITAGPS
467 . ,
DIMENSION(:),
ALLOCATABLE :: WGPS , VGPS
473 INTEGER ITG,NPLYPARTW,ILAY,ILEV,IANIM_TMP,CPT,KKT
475 INTEGER NFNOD_CRKXFEM,IDCRK,ICRK,NCRKSUBS,
476 . nbf_crkxfem,len_crkx,nbf_crkxfemg,nfnod_crkxfemg,
477 . nfshszcrk(nlevmax),sel2fa_crk,ncrkpartw,nxfenodg2(nlevmax),
479 INTEGER,
DIMENSION(:),
ALLOCATABLE :: EL2FA_CRK,IAD_CRK,ITAB_CRK,
481 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: IAD_CRKG
483 INTEGER :: LEN_TMP_NAME
484 CHARACTER(len=2048),
TARGET :: TMP_NAME
486 INTEGER :: IS_WRITTEN_NODE_FVM(AIRBAGS_TOTAL_FVM_IN_H3D)
487 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IS_WRITTEN_NODE
488 INTEGER :: DEFAULT_OUTPUT
490 ALLOCATE(WAFT(SWAFT) , MAS(SMAS) , XNORM(SXNORM) ,
491 . XMASS1(SMASS1), XMASS2(SMASS2), XMASS3(SMASS3),
492 . XFUNC1(SFUNC1), XFUNC2(SFUNC2), XFUNC3(SFUNC3),
496 ALLOCATE (wa4(swa4), mas4(smas))
497 ALLOCATE (wa4_fvm(airbags_total_fvm_in_h3d))
499 ALLOCATE(vflu(3,numnod), vvar1(3,numnod), aflu(3,numnod),
500 . vflu_ale(3,numnod),fanreact(3,numnod),fanreacr(3,numnod))
502 ALLOCATE(wgps(numnod), vgps(numnod), itagps(numnod))
504 CALL my_alloc(is_written_node,numnod)
505 CALL my_alloc(iad,siad)
506 IF(siad >0) iad(1:siad) = -huge(iad(1))
507 CALL my_alloc(invert,sinvert)
508 CALL my_alloc(mater,smater)
509 CALL my_alloc(el2fa,sel2fa)
510 CALL my_alloc(iadg,nspmd,siadg)
511 CALL my_alloc(iadg_tpr,nspmd,siadg)
512 CALL my_alloc(nfshsz,nplymax)
513 CALL my_alloc(nfnodsz,nplymax)
514 CALL my_alloc(uix,suix)
515 CALL my_alloc(nfacptx,3,snfacptx)
516 CALL my_alloc(ixedge,sixedge)
517 CALL my_alloc(ixfacet,sixfacet)
518 CALL my_alloc(ixsolid,sixsolid)
519 CALL my_alloc(inumx1,snumx1)
520 CALL my_alloc(inumx2,snumx2)
521 CALL my_alloc(inumx3,snumx3)
522 CALL my_alloc(ioffx1,soffx1)
523 CALL my_alloc(ioffx2,soffx2)
524 CALL my_alloc(ioffx3,soffx3)
525 CALL my_alloc(ig3dsolid,sig3dsolid)
527 iadg(1:nspmd,1:siadg) = 0
528 IF (anim_ply > 0)
THEN
533 IF (anim_crk > 0 .and. icrack3d > 0 .and. nxel > 0)
THEN
534 ncrkpartw = int(ncrkpart/nxel)
542 IF(anim_vers>=47)
THEN
554 i16b=i16a+lnopt1*naccelm
555 i16c=i16b+lnopt1*nvolu
556 i16d=i16c+lnopt1*(ninter+nintsub)
557 i16e=i16d+lnopt1*nrwall
559 i16g=i16f+lnopt1*njoint
560 i16h=i16g+lnopt1*nsect
561 i16i=i16h+lnopt1*nlink
562 i16j=i16i+lnopt1*(numskw+1+numfram+1)
563 i16k=i16j+lnopt1*nfxbody
564 i16l=i16k+lnopt1*nflow
565 i16m=i16l+lnopt1*nrbe2t
566 i16n=i16m+lnopt1*nrbe3t
578 DO WHILE(ianim_tmp /= 0)
579 ianim_tmp = ianim_tmp / 10
583 WRITE(chanim,
'(I4.4)')ianim
584 filnam=rootnam(1:rootlen)//
'A'//chanim
586 ELSEIF (cpt == 6)
THEN
587 WRITE(chanim,
'(I5.5)')ianim
588 filnam=rootnam(1:rootlen)//
'A'//chanim
590 ELSEIF (cpt == 7)
THEN
591 WRITE(chanim,
'(I6.6)')ianim
592 filnam=rootnam(1:rootlen)//
'A'//chanim
594 ELSEIF (cpt == 8)
THEN
595 WRITE(chanim,
'(I7.7)')ianim
596 filnam=rootnam(1:rootlen)//
'A'//chanim
598 ELSEIF (cpt == 9)
THEN
599 WRITE(chanim,
'(I8.8)')ianim
600 filnam=rootnam(1:rootlen)//
'A'//chanim
604 WRITE(chanim,
'(I3.3)')ianim
605 filnam=rootnam(1:rootlen)//
'A'//chanim
609 WRITE(chanim,
'(I3.3)')ianim
610 filnam=rootnam(1:rootlen)//
'A'//chanim
614 IF(anim_vers>=50)
THEN
615 IF(ianim>=10000)ianim=1
616 WRITE(chanim1,
'(I4.4)')ianim
617 filnam=rootnam(1:rootlen)//
'_'//chanim1//
'.ani'
624 ctext(i)=ichar(tmp_name(i:i))
628 CALL open_c(ctext,len_tmp_name,0)
630 CALL open_c(ctext,len_tmp_name,3)
632 CALL open_c(ctext,len_tmp_name,6)
647 CALL animx(elbuf_tab,
648 . iparg ,itab ,x ,kxx ,ixx ,
649 . ipartx ,pm ,geo ,bufmat ,bufgeo ,
650 . uix ,xusr ,nfacptx ,ixedge ,ixfacet,
651 . ixsolid ,inumx1 ,inumx2 ,inumx3 ,ioffx1 ,
653 . xfunc1 ,xfunc2 ,xfunc3 ,nanim1d_l)
659 IF (numelig3d>0)
THEN
661 first_node_ig3d = 1000000000
662 CALL animig3d(elbuf_tab,iparg ,x ,d ,v ,a ,
663 . wige ,kxig3d ,ixig3d,ig3dsolid,nanim3d_l,
664 . x_temp ,d_temp ,v_temp,a_temp, tabstresl,igeo ,
665 . knot ,itab ,ipartig3d,ipart ,cont, cont_temp,
666 . fint ,fint_temp,fext
667 . knotlocpc,knotlocel)
673 nskewa=numelp + numelt + numskw
674 nb1d =numelp + numelt + numelr
677 IF(igeo(11,ixr(1,i))==12)
THEN
682 IF(nspmd>1.AND.nfvbag>0)
685 IF (anim_v(10)>0)
THEN
695 kibhol=kibjet+libagjet
696 iadhol=kibhol+libaghol
699 krbhol=krbjet+lrbagjet
700 radhol=krbhol+lrbaghol
707 IF (ityp==6.OR.ityp==8)
THEN
716 ki1=iadhol+monvol(k1-1+31)
717 ki2=ki1+monvol(k1-1+20)-1
718 kr1=radhol+monvol(k1-1+34)+3*nnt
719 kr2=kr1+3*nnt+4*(ntg+ntgi)+3*nna
721 . vflu_ale, nnt, volmon(kr1), nna,
722 . volmon(kr2), ifv,nspmd)
747 ii2=ii1+nno+3*nel+ninout*niioflow
752 ii3=ii2+nnn+nel+2*nno
755 ir1=1+nrflow+2*(nno+nnn)
757 . vflu, nno, nno_l, nnn_l,
758 . iflow(ii1), iflow(ii2), iflow(ii3), iflow(ii4), rflow(ir1))
761 iadr=iadr+iflow(iadi+15)
762 iadi=iadi+iflow(iadi+14)
792 mater(iparttg(n)) = 1
797 mater(ipartur(n)) = 1
805 IF(mater(i)>1)mater(i) = 1
807 IF(nspmd > 1)
CALL spmd_ibcast(mater,mater,npart,1,0,2)
811 nbpart = nbpart + mater(i)
814 nbf = numelq + numelc + numeltg
816 nbf = numelqg+numelcg+numeltgg
817 DO i=1,numelq + numelc + numeltg + 1
829 IF (anim_ply > 0 )
THEN
841 nbf_pxfemg = nbf_pxfemg + nfshsz(i)
843 nfnod_pxfemg = nplynodg
844 swaft_pxfem =
max(3*nfnod_pxfemg,3*nbf_pxfemg)
845 sel2fa_ply = nbf_pxfemg
849 nfnod_pxfem = nfnod_pxfem +
plynod(i)%PLYNUMNODS
850 nbf_pxfem = nbf_pxfem +
plyshell(i)%PLYNUMSHELL
852 swaft_pxfem =
max(3*nfnod_pxfem,3*nbf_pxfem)
853 sel2fa_ply = nbf_pxfem
855 ALLOCATE(el2fa_ply(sel2fa_ply), waft_ply(swaft_pxfem),
856 . iad_ply(nplymax),iad_plyg(nspmd,nplymax))
866 nfnod_pxfem = nfnod_pxfem +
plynod(i)%PLYNUMNODS
867 nbf_pxfem = nbf_pxfem +
plyshell(i)%PLYNUMSHELL
870 swaft_pxfem =
max(3*nfnod_pxfem,3*nbf_pxfem)
871 ALLOCATE(el2fa_ply(nbf_pxfem
872 . iad_ply(nplymax),iad_plyg(nspmd,nplymax))
879 nfnod_pxfemg = nfnod_pxfem
880 nbf_pxfemg = nbf_pxfem
893 IF (anim_crk > 0)
THEN
896 nfshszcrk(i) =
crkshell(i)%CRKNUMSHELL
899 CALL spmd_ibcast(nfshszcrk,nfshszcrk,nlevmax,1,0,2)
902 nxfenodg2(i) =
crknod(i)%CRKNUMNODS
908 nbf_crkxfemg = nbf_crkxfemg + nfshszcrk(i)
912 nxfenodg = nxfenodg + nxfenodg2(i)
913 nbf_crkxfem = nbf_crkxfem +
crkshell(i)%CRKNUMSHELL
916 nfnod_crkxfemg = nxfenodg
917 len_crkx =
max(nfnod_crkxfemg,nbf_crkxfemg)
918 sel2fa_crk = nbf_crkxfemg + 1
919 swaft_crk =
max(3*nfnod_crkxfemg,3*nbf_crkxfemg)
922 nfnod_crkxfem = nfnod_crkxfem +
crknod(i)%CRKNUMNODS
923 nbf_crkxfem = nbf_crkxfem +
crkshell(i)%CRKNUMSHELL
925 len_crkx =
max(nfnod_crkxfem,nbf_crkxfem)
926 sel2fa_crk = nbf_crkxfem + 1
927 swaft_crk =
max(3*nfnod_crkxfem,3*nbf_crkxfem)
929 ALLOCATE(el2fa_crk(sel2fa_crk),waft_crk(swaft_crk),
930 . iad_crk(nlevmax),iad_crkg(nspmd,nlevmax))
932 ALLOCATE(iad_lay(int(nlevmax/nxel)))
943 nfnod_crkxfem = nfnod_crkxfem +
crknod(i)%CRKNUMNODS
944 nbf_crkxfem = nbf_crkxfem +
crkshell(i)%CRKNUMSHELL
947 len_crkx =
max(nfnod_crkxfem,nbf_crkxfem)
948 swaft_crk =
max(3*nfnod_crkxfem,3*nbf_crkxfem)
949 ALLOCATE(el2fa_crk(nbf_crkxfem))
950 ALLOCATE(waft_crk(swaft_crk))
951 ALLOCATE(iad_crk(nlevmax))
952 ALLOCATE(iad_crkg(nspmd,nlevmax))
953 ALLOCATE(iad_lay(int(nlevmax/nxel)))
960 nfnod_crkxfemg = nfnod_crkxfem
961 nbf_crkxfemg = nbf_crkxfem
964 ALLOCATE(el2fa_crk(0),iad_crk(0),iad_crkg(0,0),iad_lay(0),
982 lencut =
max(lencut,ncuts)
983 IF(lencut>lencuto)
THEN
984 IF(
ALLOCATED(cbuf))
THEN
989 leni=28*lencut+2*ncuts
990 ALLOCATE(cbuf(lenr),stat=oui)
991 ALLOCATE(icbuf(leni),stat=oui
993 CALL ancmsg(msgid=29,anmode=aninfo)
998 CALL cutmain(icut ,xcut ,ixs ,x ,d ,
999 . nodcut,nelcut,icbuf,cbuf,lencuto,nbf)
1001 mic2=mic1+10*lencuto
1002 mic3=mic2+12*lencuto
1006 mac2=mac1+18*lencuto
1020 IF(nsect+nrwall>0)
THEN
1021 CALL dseccnt(nesct,nerwl,nesbw2,nstrf,
1022 1 rwbuf ,nprw,nnwl,ixs)
1036 IF (isph3d==1.AND.numsph_t+maxpjet
1037 .
CALL dsphcnt(nesph,nnsph,nesphg,nnsphg)
1047 IF (anim_ply > 0)
THEN
1050 idmax=
max(idmax,itab(i))
1055 IF (nspmd == 1)
THEN
1056 IF (nfvbag>0.OR. anim_ply > 0)
THEN
1065 nfvtr=nfvtr+
fvdata(i)%NNTR
1066 fvoff(1,i)=numnod+nodcut+nsect+nrwall+nnwl
1067 . +nnsrg+nnsmd+nnsph+2*numels16+nfvnod
1068 fvoff(2,i)=idmax+nfvnod
1069 nfvnod=nfvnod+
fvdata(i)%NNS_ANIM
1070 nfvpart=nfvpart+
fvdata(i)%NPOLH_ANIM
1076 .
CALL spmd_fvb_adim(nfvtr, fvoff, nfvnod, nfvpart, nfvsubs,
1077 . idmax, itab, nodcut
1080 IF (ispmd==0.AND.nfvtr>0)
1081 .
ALLOCATE(fvel2fa(nfvtr), fvinum(nfvtr))
1085 IF (anim_crk > 0)
THEN
1086 IF (nspmd == 1)
THEN
1088 idmax =
max(idmax,itab(i))
1101 numels16_t = numels16g
1117 IF(ntitletab(k)==ianim)
THEN
1135 CALL ani_txt(
'Static mode',11)
1138 CALL ani_txt(
'Radioss Run=',12)
1143 IF(numels_t+isph3d*(numsph_t+maxpjet)+numelig3d==0)
THEN
1149 iflag1d = numelt_t+numelp_t+numelr_t+nanim1d+nrbody+
1151 IF (iflag1d/=0) iflag1d = 1
1167 . (numsph_t+maxpjet/=0))
THEN
1173 IF(anim_vers>=47)
THEN
1184 CALL write_i_c(numnodg+nodcut+nsect+nrwall+nnwl
1185 . +nnsrg+nnsmd+nnsphg+2*numels16g+nfvnodt+nfnod_pxfemg
1186 . +nfnod_crkxfemg+64*numelig3d,1)
1188 CALL write_i_c(nbf+nelcut+nesbw2+nfvtr+nbf_pxfemg
1190 nbpart2d=nbpart+ncuts+nsect+nrwall+nsurg+nsmad
1192 nbpart2d = nbpart2d + nplypartw
1194 nbpart2d = nbpart2d + ncrkpartw
1196 . +nsect+nrwall+nsurg+nsmad+nfvpart+nplypartw
1199 IF(nbf+nelcut+nesbw2+nfvtr+nbf_pxfemg
1200 . +nbf_crkxfemg==0)
THEN
1206 IF(nbf+nelcut+nesbw2+nfvtr+nbf_pxfemg
1207 . +nbf_crkxfemg==0)
THEN
1223 CALL aniskew(elbuf_tab,skew ,iparg,x ,ixt ,
1224 2 ixp ,ixr ,geo ,dd_iad,bufl)
1228 CALL scanor(x,d,cdg,xmin,ymin,zmin,xmax,
ymax,zmax,scale,
1231 CALL xyznod(x,x_temp,nodglob,weight)
1233 IF(nodcut>0)
CALL xyzcut(cbuf,nodcut)
1237 3 ymin,zmin,xmax,
ymax,zmax,
1238 4 fr_sec,fr_wall,weight,itab)
1240 IF (nsurg>0)
CALL dxyzsrg(nesrg,igrsurf,bufsf)
1243 IF (isph3d*(numsph_t+maxpjet)>0)
1244 .
CALL dxyzsph(nesph,kxsp,x,spbuf,snnsphg,nnsph)
1246 IF (sz16>0)
CALL xyz16(ixs,ixs16,x,ispmd,nspmd,numels16,numels8,numels10,
1247 . numels20,numels16g)
1250 IF(anim_ply > 0)
THEN
1251 idply = numnodg+nodcut+nsect+nrwall+nnwl
1252 . +nnsrg+nnsmd+nnsphg+2*sz16
1257 CALL xyznod_ply(iply,idply,nod_pxfem,x,zi_ply,nodglob,
1263 IF (anim_crk > 0)
THEN
1264 idcrk = numnodg+nodcut+nsect+nrwall+nnwl
1265 . +nnsrg+nnsmd+nnsphg+2*sz16
1270 CALL xfecut(iparg ,ixc ,ixtg ,icrk ,elcutc ,
1273 CALL xyznod_crk(icrk,nfnod_crkxfemg,nodglobxfe)
1280 IF (nspmd == 1)
THEN
1282 DO j=1,
fvdata(i)%NNS_ANIM
1283 r4=
fvdata(i)%NOD_ANIM(1,j)
1285 r4=
fvdata(i)%NOD_ANIM(2,j)
1287 r4=
fvdata(i)%NOD_ANIM(3,j)
1313 nbid1=numnodg+nodcut+nsect+nrwall+nnwl
1314 . +nnsrg+nnsmd+nnsphg+2*numels16g+nfvnod+nfnod_pxfemg
1323 CALL parsorc(x ,d ,xnorm,iad ,cdg ,
1324 . bufel,iparg,ixq ,ixc ,ixtg ,
1325 . elbuf_tab,invert,el2fa,iadg ,
1326 . mater,ipartq,ipartc,ipartur,iparttg,
1333 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
1339 IF(ncuts>0)
CALL parcut(icbuf,nelcut)
1341 IF(nsect+nrwall>0)
CALL dparrws(
1342 1 nesbw2,nstrf, ixc ,
1343 2 ixtg ,x ,nodcut,rwbuf,nprw,
1346 IF (nsurg>0)
CALL dparsrg(nsurg,nnwl,nodcut)
1349 IF (anim_ply > 0)
THEN
1352 plynumc=plynumc+
plyshell(i)%PLYNUMSHELL
1356 . mater, ipartc, nodglob, idply, iad_ply,
1357 . iad_plyg, plynumc, nbf_pxfemg )
1361 IF (anim_crk > 0)
THEN
1363 . iparg ,ixc ,ixtg ,el2fa_crk ,idcrk ,
1364 . iad_crk,iad_crkg,nbf_crkxfem,nbf_crkxfemg,iel_crk ,
1365 . nodglobxfe,indx_crk,itab )
1369 IF (nspmd == 1)
THEN
1374 ALLOCATE(itagt(
fvdata(i)%NNTR))
1379 DO j=1,
fvdata(i)%NPOLH_ANIM
1380 DO k=
fvdata(i)%IFVPADR_ANIM(j),
1381 .
fvdata(i)%IFVPADR_ANIM(j+1)-1
1382 kk=
fvdata(i)%IFVPOLH_ANIM(k)
1383 DO n=
fvdata(i)%IFVTADR_ANIM(kk),
1386 IF (itagt(nn)==1) cycle
1387 inod(1)=fvoff(1,i)+
fvdata(i)%IFVTRI_ANIM(1,nn)-1
1388 inod(2)=fvoff(1,i)+
fvdata(i)%IFVTRI_ANIM(2,nn)-1
1389 inod(3)=fvoff(1,i)+
fvdata(i)%IFVTRI_ANIM(3,nn)-1
1394 IF (inod(2)/=inod(1)) nnd=nnd+1
1395 IF (inod(3)/=inod(1).AND.
1396 . inod(3)/=inod(2)) nnd=nnd+1
1406 fvel2fa(eloff+nn)=ii
1411 eloff=eloff+
fvdata(i)%NNTR
1417 .
CALL spmd_fvb_atr(nbid1, nbid2, nbid3, fvel2fa, fvinum,
1423 CALL anioffc(elbuf_tab,iparg,waft ,el2fa,nbf ,
1424 . iad ,nbf_l,nbpart,iadg,nodglob ,
1425 . ipart,ipartc,iparttg)
1428 DO j=1,nesbw2+nelcut
1434 IF(anim_ply > 0)
THEN
1435 CALL anioffc_ply( iply, nel_ply, elbuf_tab, iparg,
1436 . waft_ply, el2fa_ply, nbf_pxfem, iad_ply,
1437 . plynumc, nbpart, iad_plyg, nodglob,
1438 . ipart, ipartc, iparttg, nbf_pxfemg,
1439 . ipm, igeo, ixc , stack )
1443 IF (anim_crk > 0)
THEN
1445 . xfem_tab ,iparg ,ipart ,ipartc ,iparttg ,
1446 . waft_crk ,el2fa_crk ,nbf_crkxfemg,nbf_crkxfem,iad_crkg,
1447 . iel_crk ,indx_crk)
1450 IF (nspmd == 1)
THEN
1452 ALLOCATE(offtr(nfvtr))
1461 DO n=
fvdata(i)%IFVTADR(kk),
1462 .
fvdata(i)%IFVTADR(kk+1)-1
1465 n1=
fvdata(i)%IFVTRI_ANIM(1,nn)
1466 n2=
fvdata(i)%IFVTRI_ANIM(2,nn)
1467 n3=
fvdata(i)%IFVTRI_ANIM(3,nn)
1469 IF (n2/=n1) nnd=nnd+1
1470 IF (n3/=n2.AND.n3/=n1) nnd=nnd+1
1472 nn=fvel2fa(eloff+nn)
1473 IF (nnd==3) offtr(nn)=1
1478 eloff=eloff+
fvdata(i)%NNTR
1494 bufferp(i) = bufferp(i) + iadg(k,i)
1509 CALL donesec(isect,nesct1,nstrf,ixs)
1516 IF (ispmd==0)
ALLOCATE(fvpbuf(nfvpart))
1526 CALL donerwl(irwl,nerwl1,nprw)
1527 CALL write_i_c(nelcut+nbf+nesct+nerwl1,1)
1533 CALL write_i_c(nelcut+nbf+nesct+nerwl+nesrg1,1)
1537 IF(anim_ply > 0 )
THEN
1541 iad_ply(iply) = iad_ply(iply)
1542 . + nelcut+nbf+nesct+nerwl+nesrg+nesmd1
1551 iadpc = iadpc + iad_plyg(p,i)
1554 * + nelcut+nbf+nesct+nerwl+nesrg+nesmd1
1563 IF (anim_crk > 0)
THEN
1565 DO ilay = 1,nxlaymax
1567 icrk = indx_crk(ilev)
1568 iad_lay(ilay) = iad_lay(ilay) + iad_crk(icrk)
1571 iad_lay(ilay) = iad_lay(ilay)
1572 . + nelcut+nbf+nesct+nerwl+nesrg+nesmd1
1577 DO ilay = 1,nxlaymax
1579 icrk = indx_crk(ilev)
1581 iad_lay(ilay) = iad_lay(ilay) + iad_crkg(p,icrk)
1585 iad_lay(ilay) = iad_lay(ilay)
1586 . + nelcut+nbf+nesct+nerwl+nesrg+nesmd1
1616 IF (nspmd == 1 )
THEN
1618 fviad=nelcut+nbf+nesct+nerwl+nesrg+nesmd1
1620 ALLOCATE(itagt(
fvdata(i)%NNTR))
1625 DO j=1,
fvdata(i)%NPOLH_ANIM
1626 DO k=
fvdata(i)%IFVPADR_ANIM(j),
1627 .
fvdata(i)%IFVPADR_ANIM(j+1)-1
1628 kk=
fvdata(i)%IFVPOLH_ANIM(k)
1629 DO n=
fvdata(i)%IFVTADR_ANIM(kk),
1630 .
fvdata(i)%IFVTADR_ANIM(kk+1)-1
1631 nn=
fvdata(i)%IFVPOLY_ANIM(n)
1632 IF (itagt(nn)==0)
THEN
1645 IF (ifvani==1.AND.nfvpart>0)
THEN
1659 WRITE(str,
'(I9,A1)')ipart(4,i),
':'
1661 ctext(j)=ichar(str(j:j))
1664 CALL fretitl2(titl,ipart(lipart1-ltitr+1,i),40)
1666 IF(titl(j:j)/=
' ') ib = j+10
1667 ctext(j+10)=ichar(titl(j:j))
1672 maxpart =
max(maxpart,ipart(4,i))
1679 WRITE(str,
'(9H CUT:)')
1681 ctext(j)=ichar(str(j:j))
1685 iaux = icut(44*(i-1)+j)
1686 caux(1:1) = char(iaux)
1687 IF(caux(1:1)/=
' ') ib = j+9
1688 ctext(j+9)=icut(44*(i-1)+4+j)
1696 WRITE(str,
'(I9,A2,A7)') isect,
': ',
'Section'
1698 ctext(j)=ichar(str(j:j))
1706 WRITE(str,
'(I9,A2)') nom_opt(i16g+lnopt1*(isect-1)),
': '
1708 ctext(j)=ichar(str(j:j))
1710 CALL fretitl2(titl,nom_opt(i16g+lnopt1*(isect-1)
1711 & +lnopt1-ltitr),40)
1714 ctext(j+11)=ichar(titl(j:j))
1722 WRITE(str,
'(I9,A2,A10)') irwl,
': ',
'Rigid Wall'
1724 ctext(j)=ichar(str(j:j))
1732 WRITE(str,
'(I9,A2)') nom_opt(i16d+lnopt1*(irwl-1)),
': '
1734 ctext(j)=ichar(str(j:j))
1737 CALL fretitl2(titl,nom_opt(i16d+lnopt1*(irwl-1)
1738 & +lnopt1-ltitr),40)
1740 ctext(j+11)=ichar(titl(j:j))
1749 IF (igrsurf(isrf)%TYPE==101)
THEN
1751 WRITE(str,
'(I9,A1)') isrg,
':'
1753 ctext(j)=ichar(str(j:j))
1756 titl = igrsurf(isrf)%TITLE
1758 IF(titl(j:j)/=
' ') ib = j+10
1759 ctext(j+10)=ichar(titl(j:j))
1769 maxpart = maxpart + nsect + nrwall + nsurf + ncuts
1770 IF(anim_ply > 0 )
THEN
1773 WRITE(str,
'(I8,A15)')
idpid_ply(i),
': PLY COMPOSITE'
1775 ctext(j)=ichar(str(j:j))
1785 IF(anim_crk > 0)
THEN
1789 WRITE(str,
'(I9,A1)') maxpart + i,
':'
1791 ctext(k)=ichar(str(k:k))
1794 WRITE(titl,
'(A20,I9)')
'CRACKED SHELL LAYER ',ilay
1796 ctext(k+10)=ichar(titl(k:k))
1801 maxpart = maxpart + ncrkpartw
1805 IF (nspmd == 1)
THEN
1808 DO j=1,
fvdata(i)%NPOLH_ANIM
1809 WRITE(str,
'(I9,A1)') maxpart + j,
':'
1811 ctext(k)=ichar(str(k:k))
1814 WRITE(titl,
'(A11,I9)')
'POLYHEDRON ',j
1816 ctext(k+10)=ichar(titl(k:k))
1831 CALL xyznor(xnorm,nodglob,weight)
1834 CALL norcut(xcut,icbuf(mic5))
1837 IF (nsurg>0)
CALL dsrgnor(igrsurf,bufsf)
1845 IF (isph3d*(numsph_t+maxpjet)>0)
1846 .
CALL dsphnor(kxsp,x,spbuf,nnsphg)
1847 IF (ispmd==0.AND.numels16g>0)
1850 IF(anim_ply > 0)
THEN
1854 CALL xyznor_ply(iply,xnorm,nodglob,weight,empsizpl)
1858 IF (anim_crk > 0)
THEN
1886 IF(anim_m==1.OR.anim_ce(3)==1.OR.
1887 . anim_ce(25)==1)
THEN
1888 CALL dmasanic(elbuf_tab,x ,d ,geo ,iparg,
1889 . ixq ,ixc ,ixtg ,mas ,pm ,
1890 . el2fa,nbf ,igeo , stack )
1896 iadchksum = iad_gps+500
1897 DO i=1,output%CHECKSUM%CHECKSUM_COUNT
1898 anim_n(iadchksum+i) = 1
1903 IF(anim_n(01)==1)
CALL ani_txt(
'Time Step',9)
1904 IF(anim_n(02)==1)
CALL ani_txt(
'Mass Change',11)
1905 IF(anim_n(03)==1)
CALL ani_txt(
'Nodal Pressure',14)
1906 IF(anim_n(04)==1)
CALL ani_txt(
'Nodal Density',13)
1907 IF(anim_n(05)==1)
CALL ani_txt(
'Nodal Specific Energy',21)
1908 IF(anim_n(06)==1)
CALL ani_txt(
'Nodal Temperature',17)
1909 IF(anim_n(07)==1)
CALL ani_txt(
'Nodal Variable 1',16)
1910 IF(anim_n(08)==1)
CALL ani_txt(
'Nodal Variable 2',16)
1911 IF(anim_n(09)==1)
CALL ani_txt(
'Nodal Variable 3',16)
1912 IF(anim_n(10)==1)
CALL ani_txt(
'Nodal Variable 4',16)
1913 IF(anim_n(11)==1)
CALL ani_txt(
'Nodal Variable 5',16)
1914 IF(anim_n(12)==1)
CALL ani_txt(
'Inertia Change',14)
1915 IF(anim_n(13)==1)
CALL ani_txt(
'Nodal Potential',15)
1916 IF(anim_n(14)==1)
CALL ani_txt(
'Non Diagonal Mass Change',24)
1917 IF(anim_n(15)==1)
CALL ani_txt(
'%damage(type2 interface) / Normal',33)
1918 IF(anim_n(16)==1)
CALL ani_txt(
'%damage(type2 interface) / Tangent',34)
1919 IF(anim_n(17)==1)
CALL ani_txt(
'Nodal Schlieren',15)
1920 IF(anim_n(18)==1)
CALL ani_txt(
'Nodal Rotational Stiffness',26)
1921 IF(anim_n(19)==1)
CALL ani_txt(
'Nodal Stiffness',15)
1922 IF(anim_n(20)==1)
CALL ani_txt(
'Nodal Volumetric Fraction - 1',29)
1923 IF(anim_n(21)==1)
CALL ani_txt(
'Nodal Volumetric Fraction - 2',29)
1924 IF(anim_n(22)==1)
CALL ani_txt(
'Nodal Volumetric Fraction - 3',29)
1925 IF(anim_n(23)==1)
CALL ani_txt(
'Nodal Volumetric Fraction - 4',29)
1926 IF(anim_n(24)==1)
CALL ani_txt(
'Centroid Volumetric Fraction - 1',32)
1927 IF(anim_n(25)==1)
CALL ani_txt(
'Centroid Volumetric Fraction - 2',32)
1928 IF(anim_n(26)==1)
CALL ani_txt(
'Centroid Volumetric Fraction - 3',32)
1929 IF(anim_n(27)==1)
CALL ani_txt(
'Centroid Volumetric Fraction - 4',32)
1930 IF(anim_n(28)==1)
CALL ani_txt(
'Centroid New Volume',19)
1931 IF(anim_n(29)==1)
CALL ani_txt(
'Centroid Old Volume',19)
1932 IF(anim_n(30)==1)
CALL ani_txt(
'Nodal Sound Speed',17)
1933 IF(anim_n(31)==1)
CALL ani_txt(
'Nodal External Pressure',23)
1938 IF(anim_n(iadgps+1)==1)
CALL ani_txt(
'GPS1 Pressure',13)
1939 IF(anim_n(iadgps+2)==1)
CALL ani_txt(
'GPS1 Von Mises',14)
1940 IF(anim_n(iadgps+3)==1)
CALL ani_txt(
'GPS1 SIGXX',10)
1941 IF(anim_n(iadgps+4)==1)
CALL ani_txt(
'GPS1 SIGYY',10)
1942 IF(anim_n(iadgps+5)==1)
CALL ani_txt(
'GPS1 SIGZZ',10)
1943 IF(anim_n(iadgps+6)==1)
CALL ani_txt(
'GPS1 SIGXY',10)
1944 IF(anim_n(iadgps+7)==1)
CALL ani_txt(
'GPS1 SIGZY',10)
1945 IF(anim_n(iadgps+8)==1)
CALL ani_txt(
'GPS1 SIGXZ',10)
1946 IF(anim_n(iadgps+9)==1)
CALL ani_txt(
'GPS1 SIGXX_U',12)
1947 IF(anim_n(iadgps+10)==1)
CALL ani_txt(
'GPS1 SIGYY_U',12)
1948 IF(anim_n(iadgps+11)==1)
CALL ani_txt(
'GPS1 SIGZZ_U',12)
1949 IF(anim_n(iadgps+12)==1)
CALL ani_txt(
'GPS1 SIGXY_U',12)
1950 IF(anim_n(iadgps+13)==1)
CALL ani_txt(
'GPS1 SIGZY_U',12)
1951 IF(anim_n(iadgps+14)==1)
CALL ani_txt(
'GPS1 SIGXZ_U',12)
1952 IF(anim_n(iadgps+15)==1)
CALL ani_txt(
'GPS1 SIGXX_L',12)
1953 IF(anim_n(iadgps+16)==1)
CALL ani_txt(
'GPS1 SIGYY_L',12)
1954 IF(anim_n(iadgps+17)==1)
CALL ani_txt(
'GPS1 SIGZZ_L',12)
1955 IF(anim_n(iadgps+18)==1)
CALL ani_txt(
'GPS1 SIGXY_L',12)
1956 IF(anim_n(iadgps+19)==1)
CALL ani_txt(
'GPS1 SIGZY_L',12)
1957 IF(anim_n(iadgps+20)==1)
CALL ani_txt(
'GPS1 SIGXZ_L',12)
1958 iadgps = iad_gps+100
1959 IF(anim_n(iadgps+1)==1)
CALL ani_txt(
'GPS2 Pressure',13)
1960 IF(anim_n(iadgps+2)==1)
CALL ani_txt(
'GPS2 Von Mises',14)
1961 IF(anim_n(iadgps+3)==1)
CALL ani_txt(
'GPS2 SIGXX',10)
1962 IF(anim_n(iadgps+4)==1)
CALL ani_txt(
'GPS2 SIGYY',10)
1963 IF(anim_n(iadgps+5)==1)
CALL ani_txt(
'GPS2 SIGZZ',10)
1964 IF(anim_n(iadgps+6)==1)
CALL ani_txt(
'GPS2 SIGXY',10)
1965 IF(anim_n(iadgps+7)==1)
CALL ani_txt(
'GPS2 SIGZY',10)
1966 IF(anim_n(iadgps+8)==1)
CALL ani_txt(
'GPS2 SIGXZ',10)
1967 IF(anim_n(iadgps+9)==1)
CALL ani_txt(
'GPS2 SIGXX_U',12)
1968 IF(anim_n(iadgps+10)==1)
CALL ani_txt(
'GPS2 SIGYY_U',12)
1969 IF(anim_n(iadgps+11)==1)
CALL ani_txt(
'GPS2 SIGZZ_U',12)
1970 IF(anim_n(iadgps+12)==1)
CALL ani_txt(
'GPS2 SIGXY_U',12)
1971 IF(anim_n(iadgps+13)==1)
CALL ani_txt(
'GPS2 SIGZY_U',12)
1972 IF(anim_n(iadgps+14)==1)
CALL ani_txt(
'GPS2 SIGXZ_U',12)
1973 IF(anim_n(iadgps+15)==1)
CALL ani_txt(
'GPS2 SIGXX_L',12)
1974 IF(anim_n(iadgps+16)==1)
CALL ani_txt(
'GPS2 SIGYY_L',12)
1975 IF(anim_n(iadgps+17)==1)
CALL ani_txt(
'GPS2 SIGZZ_L',12)
1976 IF(anim_n(iadgps+18)==1)
CALL ani_txt(
'GPS2 SIGXY_L',12)
1977 IF(anim_n(iadgps+19)==1)
CALL ani_txt(
'GPS2 SIGZY_L',12)
1978 IF(anim_n(iadgps+20)==1)
CALL ani_txt(
'GPS2 SIGXZ_L',12)
1980 iadgps = iad_gps+200
1981 IF(anim_n(iadgps+1)==1)
CALL ani_txt(
'GPS SIGXX',9)
1982 IF(anim_n(iadgps+2)==1)
CALL ani_txt(
'GPS SIGYY',9)
1983 IF(anim_n(iadgps+3)==1)
CALL ani_txt(
'GPS SIGZZ',9)
1984 IF(anim_n(iadgps+4)==1)
CALL ani_txt(
'GPS SIGXY',9)
1985 IF(anim_n(iadgps+5)==1)
CALL ani_txt(
'GPS SIGZY',9)
1986 IF(anim_n(iadgps+6)==1)
CALL ani_txt(
'GPS SIGXZ',9)
1988 iadiso = iad_gps+300
1989 IF(anim_n(iadiso+1)==1)
CALL ani_txt(
'STRESS ISOGEO SIGXX',19)
1990 IF(anim_n(iadiso+2)==1)
CALL ani_txt(
'STRESS ISOGEO SIGYY',19)
1991 IF(anim_n(iadiso+3)==1)
CALL ani_txt(
'STRESS ISOGEO SIGZZ',19)
1992 IF(anim_n(iadiso+4)==1)
CALL ani_txt(
'STRESS ISOGEO SIGXY',19)
1993 IF(anim_n(iadiso+5)==1)
CALL ani_txt(
'STRESS ISOGEO SIGZY',19)
1994 IF(anim_n(iadiso+6)==1)
CALL ani_txt(
'STRESS ISOGEO SIGXZ',19)
1996 iadgps = iad_gps+400
1997 IF(anim_n(iadgps+1)==1)
CALL ani_txt(
'GPSTRAIN EPSXX',14)
1998 IF(anim_n(iadgps+2)==1)
CALL ani_txt(
'GPSTRAIN EPSYY',14)
1999 IF(anim_n(iadgps+3)==1)
CALL ani_txt(
'GPSTRAIN EPSZZ',14)
2000 IF(anim_n(iadgps+4)==1)
CALL ani_txt(
'GPSTRAIN EPSXY',14)
2001 IF(anim_n(iadgps+5)==1)
CALL ani_txt(
'GPSTRAIN EPSZY',14)
2002 IF(anim_n(iadgps+6)==1)
CALL ani_txt(
'GPSTRAIN EPSXZ',14)
2004 iadchksum = iad_gps+500
2005 IF(output%CHECKSUM%CHECKSUM_COUNT > 0)
THEN
2007 DO i=1,output%CHECKSUM%CHECKSUM_COUNT
2008 CALL ani_txt(
'ZCHKSM_'//output%CHECKSUM%CHECKSUMS(i), 7+len_trim(output%CHECKSUM%CHECKSUMS(i)))
2016 IF(nbf+nelcut+nesbw2/=0)
THEN
2017 IF(anim_ce(1)==1)
CALL ani_txt(
'Plastic Strain',14)
2018 IF(anim_ce(2)==1)
CALL ani_txt(
'Density',7)
2019 IF(anim_ce(3)==1)
CALL ani_txt(
'Specific Energy',15)
2020 IF(anim_ce(4)==1)
CALL ani_txt(
'Temperature',11)
2021 IF(anim_ce(5)==1)
CALL ani_txt(
'Thickness',9)
2022 IF(anim_ce(6)==1)
CALL ani_txt(
'Pressure',8)
2023 IF(anim_ce(7)==1)
CALL ani_txt(
'Von Mises',9)
2024 IF(anim_ce(8)==1)
CALL ani_txt(
'Turbulent Energy',16)
2025 IF(anim_ce(9)==1)
CALL ani_txt(
'Turbulent Viscosity',19)
2026 IF(anim_ce(10)==1)
CALL ani_txt(
'Vorticity-X',11)
2027 IF(anim_ce(11)==1)
CALL ani_txt(
'Damage 1',8)
2028 IF(anim_ce(12)==1)
CALL ani_txt(
'Damage 2',8)
2029 IF(anim_ce(13)==1)
CALL ani_txt(
'Damage 3',8)
2030 IF(anim_ce(14)==1)
CALL ani_txt(
'Stress X ',9)
2031 IF(anim_ce(15)==1)
CALL ani_txt(
'Stress Y ',9)
2032 IF(anim_ce(16)==1)
CALL ani_txt(
'Stress Z ',9)
2033 IF(anim_ce(17)==1)
CALL ani_txt(
'Stress XY',9)
2034 IF(anim_ce(18)==1)
CALL ani_txt(
'Stress YZ',9)
2035 IF(anim_ce(19)==1)
CALL ani_txt(
'Stress ZX',9)
2036 IF(anim_ce(20)==1)
CALL ani_txt(
'User Var 1',10)
2037 IF(anim_ce(21)==1)
CALL ani_txt(
'User Var 2',10)
2038 IF(anim_ce(22)==1)
CALL ani_txt(
'User Var 3',10)
2039 IF(anim_ce(23)==1)
CALL ani_txt(
'User Var 4',10)
2040 IF(anim_ce(24)==1)
CALL ani_txt(
'User Var 5',10)
2041 IF(anim_ce(25)==1)
CALL ani_txt(
'Hourglass Energy per unit mass',30)
2042 IF(anim_ce(26)==1)
CALL ani_txt(
'Strain Rate',11)
2043 IF(anim_ce(27)==1)
CALL ani_txt(
'User Var 6',10)
2044 IF(anim_ce(28)==1)
CALL ani_txt(
'User Var 7',10)
2045 IF(anim_ce(29)==1)
CALL ani_txt(
'User Var 8',10)
2046 IF(anim_ce(30)==1)
CALL ani_txt(
'User Var 9',10)
2047 IF(anim_ce(31)==1)
CALL ani_txt(
'User Var 10',11)
2048 IF(anim_ce(32)==1)
CALL ani_txt(
'User Var 11',11)
2049 IF(anim_ce(33)==1)
CALL ani_txt(
'User Var 12',11)
2050 IF(anim_ce(34)==1)
CALL ani_txt(
'User Var 13',11)
2051 IF(anim_ce(35)==1)
CALL ani_txt(
'User Var 14',11)
2052 IF(anim_ce(36)==1)
CALL ani_txt(
'User Var 15',11)
2053 IF(anim_ce(37)==1)
CALL ani_txt(
'User Var 16',11)
2054 IF(anim_ce(38)==1)
CALL ani_txt(
'User Var 17',11)
2055 IF(anim_ce(39)==1)
CALL ani_txt(
'User Var 18',11)
2057 IF(anim_ce(i)==1)
THEN
2058 ii = (i - 39)/100 + 1
2059 ius = mod((i - 39), 100)
2064 WRITE(mes,
'(A,I2,A,I3,A)')
2065 .
'User Var',ii,
'(Layer',ius,
')'
2069 IF(anim_ce(2040)==1)
CALL ani_txt(
'Plastic Strain Upper',20)
2070 IF(anim_ce(2041)==1)
CALL ani_txt(
'Plastic Strain Lower',20)
2072 IF(anim_ce(i)==1)
THEN
2073 ius = mod((i - 2041), 100)
2075 WRITE(mes,
'(A,I3,A)')
2076 .
'Plast Strn Layer ',ius,
' '
2080 IF(anim_ce(2142)==1)
CALL ani_txt(
'Nb of Failed layers',19)
2081 IF(anim_ce(2143)==1)
CALL ani_txt(
'Airbag crossing mass',20)
2082 IF(anim_ce(2144)==1)
2083 .
CALL ani_txt(
'Airbag crossing velocity',24)
2084 IF(anim_ce(2145)==1)
CALL ani_txt(
'FVMBAG - Mass',13)
2085 IF(anim_ce(2146)==1)
CALL ani_txt(
'FVMBAG - Pressure',17)
2086 IF(anim_ce(2147)==1)
2087 .
CALL ani_txt(
'FVMBAG - Fluid velocity X',25)
2088 IF(anim_ce(2148)==1)
2089 .
CALL ani_txt(
'FVMBAG - Fluid velocity Y',25)
2090 IF(anim_ce(2149)==1)
2091 .
CALL ani_txt(
'FVMBAG - Fluid velocity Z',25)
2092 IF(anim_ce(2150)==1)
CALL ani_txt(
'FVMBAG - Density',16)
2093 IF(anim_ce(2151)==1)
2094 .
CALL ani_txt(
'FVMBAG - Specific Energy',24)
2095 IF(anim_ce(2152)==1)
CALL ani_txt(
'FVMBAG - Sound Speed',20)
2096 IF(anim_ce(2153)==1)
CALL ani_txt(
'FVMBAG - Gama',13)
2097 IF(anim_ce(2154)==1)
2098 .
CALL ani_txt(
'FVMBAG - Visu Polyhedra',23)
2099 IF(anim_ce(2155)==1)
CALL ani_txt(
'Thinning Percentage',19)
2100 IF(anim_ce(2156)==1)
2101 .
CALL ani_txt(
'Estimated Error on Thickness',28)
2103 IF(anim_ce(i)==1)
THEN
2104 ii = (i - 2239)/100 + 21
2105 ius = mod((i - 2239), 100)
2110 WRITE(mes,
'(A,I2,A,I3,A)')
2111 .
'User Var',ii,
'(Layer',ius,
')'
2117 IF(anim_ce(i)==1)
THEN
2119 WRITE(mes,
'(A,I3,A)')
2120 .
'PHI,(Layer ',ii,
')'
2124 IF(anim_ce(10240)==1)
CALL ani_txt(
'INTER PLY - MIN-DAMAGE',22)
2125 IF(anim_ce(10241)==1)
CALL ani_txt(
'INTER PLY -SIGZZ',16)
2126 IF(anim_ce(10242)==1)
CALL ani_txt(
'INTER PLY -SIGYZ',16)
2127 IF(anim_ce(10243)==1)
CALL ani_txt(
'INTER PLY -SIGXZ',16)
2128 IF(anim_ce(10244)==1)
CALL ani_txt(
'INTER PLY -EPSZZ',16)
2129 IF(anim_ce(10245)==1)
CALL ani_txt(
'INTER PLY -EPSYZ',16)
2130 IF(anim_ce(10246)==1)
CALL ani_txt(
'INTER PLY -EPSXZ',16)
2131 IF(anim_ce(10247)==1)
CALL ani_txt(
'INTER PLY -EINT',15)
2132 IF(anim_ce(10248)==1)
CALL ani_txt(
'Volumetric Fraction 1',21)
2133 IF(anim_ce(10249)==1)
CALL ani_txt(
'Volumetric Fraction 2',21)
2134 IF(anim_ce(10250)==1)
CALL ani_txt(
'Volumetric Fraction 3',21)
2135 IF(anim_ce(10251)==1)
CALL ani_txt(
'Volumetric Fraction 4',21)
2136 IF(anim_ce(10252)==1)
CALL ani_txt(
'Burn Fraction',13)
2140 IF(anim_ce(10253)==1)
CALL ani_txt(
'NXT FAILURE FACTOR',18)
2141 IF(anim_ce(10254)==1)
CALL ani_txt(
'SIGMA1/h',8)
2142 IF(anim_ce(10255)==1)
CALL ani_txt(
'SIGMA2/h',8)
2146 IF(anim_ce(10256)==1)
CALL ani_txt(
'MAX DAMAGE ELEMENT',18)
2147 IF(anim_ce(10257)==1)
CALL ani_txt(
'MAX DAMAGE UPPER',16)
2148 IF(anim_ce(10258)==1)
CALL ani_txt(
'MAX DAMAGE LOWER',16)
2149 IF(anim_ce(10259)==1)
CALL ani_txt(
'MAX DAMAGE MEMBRANE',19)
2151 IF(anim_ce(i)==1)
THEN
2153 WRITE(mes,
'(A,I3,A)')
2154 .
'DAMAGE,(Layer ',ii,
')'
2158 IF(anim_ce(10360)==1)
CALL ani_txt(
'NXT FAILURE FACTOR UPPER',24)
2159 IF(anim_ce(10361)==1)
CALL ani_txt(
'NXT FAILURE FACTOR LOWER',24)
2160 IF(anim_ce(10362)==1)
CALL ani_txt(
'NXT FAILURE FACTOR MEMBRANE',27)
2162 IF(anim_ce(i)==1)
THEN
2164 WRITE(mes,
'(A,I3,A)')
2165 .
'NXT FAILURE FACTOR,(Layer ',ii,
')'
2169 IF(anim_ce(10463)==1)
CALL ani_txt(
'SIGMA1/h UPPER',14)
2170 IF(anim_ce(10464)==1)
CALL ani_txt(
'SIGMA1/h LOWER',14)
2171 IF(anim_ce(10465)==1)
CALL ani_txt(
'SIGMA1/h MEMBRANE',17)
2173 IF(anim_ce(i)==1)
THEN
2175 WRITE(mes,
'(A,I3,A)')
2176 .
'SIGMA1/h,(Layer ',ii,
')'
2180 IF(anim_ce(10566)==1)
CALL ani_txt(
'SIGMA2/h UPPER',14)
2181 IF(anim_ce(10567)==1)
CALL ani_txt(
'SIGMA2/h LOWER',14)
2182 IF(anim_ce(10568)==1)
CALL ani_txt(
'SIGMA2/h MEMBRANE',17)
2184 IF(anim_ce(i)==1)
THEN
2186 WRITE(mes,
'(A,I3,A)')
2187 .
'SIGMA2/h,(Layer ',ii,
')'
2191 IF(anim_ce(10669)==1)
CALL ani_txt(
'INTER PLY - MAX-DAMAGE',22)
2192 IF(anim_ce(10670)==1)
CALL ani_txt(
'TIME DELETION ELEMENT',21)
2193 IF(anim_ce(10671)==1)
CALL ani_txt(
'Sound Speed',11)
2194 IF(anim_ce(10672)==1)
CALL ani_txt(
'Schlieren',9)
2195 IF(anim_ce(10673)==1)
CALL ani_txt(
'phi MEMBRANE',12)
2196 IF(anim_ce(10674)==1)
CALL ani_txt(
'phi UPPER',9)
2197 IF(anim_ce(10675)==1)
CALL ani_txt(
'phi LOWER',9)
2198 IF(anim_ce(10676)==1)
CALL ani_txt(
'Domain',6)
2202 IF(anim_ce(10677)==1)
CALL ani_txt(
'Equiv stress',12)
2208 IF (anim_ce(i) == 1)
THEN
2209 ius = mod((i - 10677), 100)
2210 IF(ius==0) ius = 100
2211 WRITE(mes,
'(A,I3,A)')
2212 .
'Plastic Strain Upper Layer',ius,
' '
2218 IF (anim_ce(i) == 1)
THEN
2219 ius = mod((i - 10777), 100)
2220 IF(ius==0) ius = 100
2221 WRITE(mes,
'(A,I3,A)')
2222 .
'Plastic Strain Lower Layer',ius,
' '
2230 IF (anim_ce(ius + 10877) == 1)
THEN
2233 WRITE(mes,
'(A,I4,I3,A)')
2234 .
'Plast Strn Layer/IPT ',ilay,ipt,
' '
2242 IF(anim_ce(11888)==1)
CALL ani_txt(
'Artificial Viscosity',20)
2243 IF(anim_ce(11889)==1)
CALL ani_txt(
'Detonation Time',15)
2246 IF(anim_ce(11890)==1)
CALL ani_txt(
'Density-1',9)
2247 IF(anim_ce(11891)==1)
CALL ani_txt(
'Density-2',9)
2248 IF(anim_ce(11892)==1)
CALL ani_txt(
'Density-3',9)
2249 IF(anim_ce(11893)==1)
CALL ani_txt(
'Density-4',9)
2251 IF(anim_ce(11894)==1)
CALL ani_txt(
'Specific Energy-1',17)
2252 IF(anim_ce(11895)==1)
CALL ani_txt(
'Specific Energy-2',17)
2253 IF(anim_ce(11896)==1)
CALL ani_txt(
'Specific Energy-3',17)
2254 IF(anim_ce(11897)==1)
CALL ani_txt(
'Specific Energy-4',17)
2256 IF(anim_ce(11898)==1)
CALL ani_txt(
'Temperature-1',13)
2257 IF(anim_ce(11899)==1)
CALL ani_txt(
'Temperature-2',13)
2258 IF(anim_ce(11900)==1)
CALL ani_txt(
'Temperature-3',13)
2259 IF(anim_ce(11901)==1)
CALL ani_txt(
'Temperature-4',13)
2261 IF(anim_ce(11902)==1)
CALL ani_txt(
'Pressure-1',10)
2262 IF(anim_ce(11903)==1)
CALL ani_txt(
'Pressure-2',10)
2263 IF(anim_ce(11904)==1)
CALL ani_txt(
'Pressure-3',10)
2264 IF(anim_ce(11905)==1)
CALL ani_txt(
'Pressure-4',10)
2266 IF(anim_ce(11906)==1)
CALL ani_txt(
'Plastic Strain-1',16)
2267 IF(anim_ce(11907)==1)
CALL ani_txt(
'Plastic Strain-2',16)
2268 IF(anim_ce(11908)==1)
CALL ani_txt(
'Plastic Strain-3',16)
2269 IF(anim_ce(11909)==1)
CALL ani_txt(
'Plastic Strain-4',16)
2271 IF(anim_ce(11910)==1)
CALL ani_txt(
'Sound Speed-1',13)
2272 IF(anim_ce(11911)==1)
CALL ani_txt(
'Sound Speed-2',13)
2273 IF(anim_ce(11912)==1)
CALL ani_txt(
'Sound Speed-3',13)
2274 IF(anim_ce(11913)==1)
CALL ani_txt(
'Sound Speed-4',13)
2276 IF(anim_ce(11914)==1)
CALL ani_txt(
'Volume-1',8)
2277 IF(anim_ce(11915)==1)
CALL ani_txt(
'Volume-2',8)
2278 IF(anim_ce(11916)==1)
CALL ani_txt(
'Volume-3',8)
2279 IF(anim_ce(11917)==1)
CALL ani_txt(
'Volume-4',8)
2281 IF(anim_ce(11918)==1)
CALL ani_txt(
'Mass-1',6)
2282 IF(anim_ce(11919)==1)
CALL ani_txt(
'Mass-2',6)
2283 IF(anim_ce(11920)==1)
CALL ani_txt(
'Mass-3',6)
2284 IF(anim_ce(11921)==1)
CALL ani_txt(
'Mass-4',6)
2286 IF(anim_ce(11922)==1)
CALL ani_txt(
'Artificial Viscosity-1',22)
2287 IF(anim_ce(11923)==1)
CALL ani_txt(
'Artificial Viscosity-2',22)
2288 IF(anim_ce(11924)==1)
CALL ani_txt(
'Artificial Viscosity-3',22)
2289 IF(anim_ce(11925)==1)
CALL ani_txt(
'Artificial Viscosity-4',22)
2296 IF(anim_ce(11925+i) == 1)
THEN
2297 WRITE(mes,
'(A,I10)')
2298 .
'PLY_ID ',ply_anim( 3 * (i - 1) + 1)
2306 IF(anim_ce( (11925+mx_ply_anim) +i) == 1)
THEN
2307 WRITE(mes,
'(A,I10,A)')
2308 .
'PHI,(Ply_id ',ply_anim_phi( 3 * (i - 1) + 1),
')'
2316 IF(anim_ce( (11925+2*mx_ply_anim) +i) == 1)
THEN
2317 WRITE(mes,
'(A,I10,A,I3)')
2318 .
'Plas Str PLY/IPT',ply_anim_epsp( 3 * (i - 1) + 1),
2319 .
' ',ply_anim_epsp( 3 * (i - 1) + 3)
2327 IF(anim_ce( (11925+3*mx_ply_anim) +i) == 1)
THEN
2328 WRITE(mes,
'(A,I10,A,I3)')
2329 .
'DAMAGE PLY/IPT',ply_anim_dama( 3 * (i - 1) + 1),
2330 .
' ',ply_anim_dama( 3 * (i - 1) + 3)
2337 idx = 11925+4*mx_ply_anim
2338 IF(anim_ce(idx+1) == 1)
CALL ani_txt(
'FLD FAILURE FACTOR UPPER',24)
2339 IF(anim_ce(idx+2) == 1)
CALL ani_txt(
'FLD FAILURE FACTOR LOWER',24)
2340 IF(anim_ce(idx+3) == 1)
CALL ani_txt(
'FLD FAILURE FACTOR MEMBRANE',27)
2344 idx = 11925+4*mx_ply_anim+3
2345 IF(anim_ce(idx+1) == 1)
CALL ani_txt(
'FLD ZONE INDEX UPPER',20)
2346 IF(anim_ce(idx+2) == 1)
CALL ani_txt(
'FLD ZONE INDEX LOWER',20)
2347 IF(anim_ce(idx+3) == 1)
CALL ani_txt(
'FLD ZONE INDEX MEMBRANE',23)
2353 idx = 11931+4*mx_ply_anim
2355 IF (anim_ce(i) == 1)
THEN
2356 ius = mod((i - idx), 100)
2357 IF (ius == 0) ius = 100
2358 WRITE(mes,
'(A,I3,A)')
2359 .
'MAX DAMAGE UPPER Layer',ius,
' '
2364 idx = 12031+4*mx_ply_anim
2366 IF (anim_ce(i) == 1)
THEN
2367 ius = mod((i - idx), 100)
2368 IF (ius == 0) ius = 100
2369 WRITE(mes,
'(A,I3,A)')
2370 .
'MAX DAMAGE LOWER Layer',ius,
' '
2375 idx = 12131+4*mx_ply_anim
2377 IF (anim_ce(i) == 1)
THEN
2378 ius = mod((i - idx), 100)
2379 IF (ius == 0) ius = 100
2380 WRITE(mes,
'(A,I3,A)')
2381 .
'MAX DAMAGE MEMBRANE Layer',ius,
' '
2386 idx = 12231+4*mx_ply_anim
2390 IF (anim_ce(ius + idx) == 1)
THEN
2393 WRITE(mes,
'(A,I4,I3,A)')
2394 .
'MAX DAMAGE Layer/IPT ',ilay,ipt,
' '
2402 IF(anim_ce(idx+13242)==1)
CALL ani_txt(
'Element Time Step',17)
2406 IF(anim_ce(idx+13242+1)==1)
CALL ani_txt(
'AMS selection',13)
2410 IF(anim_ce(idx+13242+2)==1)
CALL ani_txt(
'Internal Energy',15)
2413 IF(anim_ce(idx+13242+3)==1)
CALL ani_txt(
'Plastic Work',12)
2415 idx = 13245 + 4*mx_ply_anim
2416 IF(anim_ce(idx + 1)==1)
CALL ani_txt(
'Plastic Work Upper',18)
2417 IF(anim_ce(idx + 2)==1)
CALL ani_txt(
'Plastic Work Lower',18)
2418 idx = 13247 + 4*mx_ply_anim
2420 IF(anim_ce(idx + i)==1)
THEN
2423 WRITE(mes,
'(A,I3,A)')
2424 .
'Plast Work Layer ',ius,
' '
2433 idx = 13347 + 4*mx_ply_anim
2435 IF (anim_ce(idx + i) == 1)
THEN
2437 IF(ius==0) ius = 100
2438 WRITE(mes,
'(A,I3,A)')
2439 .
'Plastic Work Upper Layer',ius,
' '
2444 idx = 13447 + 4*mx_ply_anim
2446 IF (anim_ce(idx + i) == 1)
THEN
2448 IF(ius==0) ius = 100
2449 WRITE(mes,
'(A,I3,A)')
2450 .
'Plastic Work Lower Layer',ius,
' '
2455 idx = 13547 + 4*mx_ply_anim
2459 IF (anim_ce(idx + ius) == 1)
THEN
2462 WRITE(mes,
'(A,I4,I3,A)')
2463 .
'Plast Work Layer/IPT ',ilay,ipt,
' '
2473 idx = 13547 + 4*mx_ply_anim +1000 +1
2474 IF(anim_ce(idx) == 1)
CALL ani_txt(
'Element Status',14)
2476 idx = 13547 + 4*mx_ply_anim +1000 +2
2477 IF(anim_ce(idx) == 1)
CALL ani_txt(
'Mach Number',11)
2479 idx = 13547 + 4*mx_ply_anim +1000 +3
2480 IF(anim_ce(idx) == 1)
CALL ani_txt(
'Color Function',14)
2482 idx = 13547 + 4*mx_ply_anim +1000 +4
2483 IF(anim_ce(idx)==1)
CALL ani_txt(
'Damage (Mean value)',19)
2484 IF(anim_ce(idx+1)==1)
CALL ani_txt(
'Damage (Upper value)',20)
2485 IF(anim_ce(idx+2)==1)
CALL ani_txt(
'Damage (Lower value)',20)
2486 IF(anim_ce(idx+3)==1)
CALL ani_txt(
'Damage (Membrane value)',23)
2487 DO i=idx+3+1,idx+3+11
2488 IF(anim_ce(i)==1)
THEN
2490 WRITE(mes,
'(A,I3,A)')
2491 .
'Damage (Thck. point ',ii,
' value)'
2499 IF(anim_ce(idx) == 1)
THEN
2504 idx = 14567 + 4*mx_ply_anim
2505 IF(anim_ce(idx) == 1)
CALL ani_txt(
'Non-local plastic strain',24)
2506 IF(anim_ce(idx+1) == 1)
CALL ani_txt(
'Non-local plastic strain (Upper)',32)
2507 IF(anim_ce(idx+2) == 1)
CALL ani_txt(
'Non-local plastic strain (Lower)',32)
2508 DO i=idx+2+1,idx+2+11
2509 IF (anim_ce(i) == 1)
THEN
2511 WRITE(mes,
'(A,I3,A)')
2512 .
'Nloc plast at point ',ii,
' '
2518 idx = 14581 + 4*mx_ply_anim
2519 IF(anim_ce(idx) == 1)
CALL ani_txt(
'Non-local plastic strain rate',29)
2520 IF(anim_ce(idx+1) == 1)
CALL ani_txt(
'Non-local plastic strain rate (Upper)',37)
2521 IF(anim_ce(idx+2) == 1)
CALL ani_txt(
'Non-local plastic strain rate (Lower)',37)
2522 DO i=idx+2+1,idx+2+11
2523 IF (anim_ce(i) == 1)
THEN
2525 WRITE(mes,
'(A,I3,A)')
'Nloc rate at point ',ii,
' '
2534 idx = 14595 + 4*mx_ply_anim
2535 IF(anim_ce(idx )==1)
CALL ani_txt(
'Tsai-Wu Criterion' ,17)
2536 IF(anim_ce(idx + 1)==1)
CALL ani_txt(
'Tsai-Wu Crit. Upper',19)
2537 IF(anim_ce(idx + 2)==1)
CALL ani_txt(
'Tsai-Wu Crit. Lower',19)
2539 IF(anim_ce(idx + 2 + i)==1)
THEN
2541 IF(ius==0) ius = 100
2542 WRITE(mes,
'(A,I3,A)')
'Tsai-Wu Crit. Layer ',ius,
' '
2548 idx = 14697 + 4*mx_ply_anim
2550 IF (anim_ce(idx + i) == 1)
THEN
2552 IF(ius==0) ius = 100
2553 WRITE(mes,
'(A,I3,A)')
'Tsai-Wu Crit. Upper Layer',ius,
' '
2558 idx = 14797 + 4*mx_ply_anim
2560 IF (anim_ce(idx + i) == 1)
THEN
2562 IF(ius==0) ius = 100
2563 WRITE(mes,
'(A,I3,A)')
'Tsai-Wu Crit. Lower Layer',ius,
' '
2568 idx = 14897 + 4*mx_ply_anim
2572 IF (anim_ce(idx + ius) == 1)
THEN
2575 WRITE(mes,
'(A,I4,I3,A)')
'Tsai-Wu Crit. Lay/IPT ',ilay,ipt,
' '
2582 idx = 15898 + 4*mx_ply_anim
2583 IF(anim_ce(idx) == 1)
CALL ani_txt(
'Region identifier in p,v diagram',32)
2586 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain',17)
2587 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain - 1',21)
2588 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain - 2',21)
2589 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain - 3',21)
2590 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain - 4',21)
2591 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain - 5',21)
2592 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain - 6',21)
2593 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain - 7',21)
2594 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain - 8',21)
2595 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain - 9',21)
2596 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain - 10',22)
2614 IF (i==(iad_gps+3).OR.i==(iad_gps+9).OR.i==(iad_gps+15)
2615 . .OR.i==(iad_gp2+3).OR.i==(iad_gp2+9)
2616 . .OR.i==(iad_gp2+15) .OR.i==(iad_gp3+1).OR.i==(iad_iso+1) )
2618 IF(anim_n(i)/=1) cycle
2622 IF(i<3.OR.i==12)
THEN
2627 ELSEIF(i>=3.AND.i<=11 .OR. i==30)
THEN
2628 IF(i == 6 .AND. (glob_therm%ITHERM_FE > 0 ))
THEN
2635 IF(n2d==0)
CALL nodalp(i, wa4, wa4_fvm, iflow, rflow,iparg,elbuf_tab,ixs,nixs,numels,itab,nv46,monvol,volmon,
2636 . 0, is_written_node, is_written_node_fvm, ispmd,
fvdata, swa4, 0)
2637 IF(n2d/=0)
CALL nodalp(i, wa4, wa4_fvm, iflow, rflow,iparg,elbuf_tab,ixq,nixq,numelq,itab,nv46,monvol,volmon,
2638 . 0, is_written_node, is_written_node_fvm, ispmd,
fvdata, swa4, 0)
2642 IF(n2d==0)
CALL nodald(i, wa4, wa4_fvm, iflow, rflow,iparg,elbuf_tab,ixs,nixs,numels,itab,nv46,monvol,volmon,
2643 . 0, is_written_node, is_written_node_fvm, ispmd,
fvdata, swa4, 0)
2644 IF(n2d/=0)
CALL nodald(i, wa4, wa4_fvm, iflow, rflow,iparg,elbuf_tab,ixq,nixq,numelq,itab,nv46,monvol,volmon,
2645 . 0, is_written_node, is_written_node_fvm, ispmd,
fvdata, swa4, 0)
2649 IF(n2d==0)
CALL nodalt(i, wa4, wa4_fvm, iflow, rflow,iparg,elbuf_tab,ixs,nixs,numels,itab,nv46,monvol,volmon,
2650 . 0, is_written_node, is_written_node_fvm, ispmd,
fvdata, swa4, 0)
2651 IF(n2d/=0)
CALL nodalt(i, wa4, wa4_fvm, iflow, rflow,iparg,elbuf_tab,ixq,nixq,numelq,itab,nv46,monvol,volmon,
2652 . 0, is_written_node, is_written_node_fvm, ispmd,
fvdata, swa4, 0)
2656 IF(n2d==0)
CALL nodalssp(i, wa4, wa4_fvm, iflow, rflow,iparg,elbuf_tab,ixs,nixs,numels,itab,nv46,monvol,volmon,
2657 . 0, is_written_node, is_written_node_fvm, ispmd,
fvdata, swa4, 0, multi_fvm)
2658 IF(n2d/=0)
CALL nodalssp(i, wa4, wa4_fvm, iflow, rflow,iparg,elbuf_tab,ixq,nixq,numelq,itab,nv46,monvol,volmon,
2659 . 0, is_written_node, is_written_node_fvm, ispmd,
fvdata, swa4, 0, multi_fvm)
2664 CALL animbale(i, wa4,is_written_node, monvol, volmon ,2,
2665 . numnod, nimv, nvolu, nrvolu, licbag, libagjet,
2666 . libaghol, lrcbag, lrbagjet, lrbaghol, nspmd)
2672 CALL nodalp(i, wa4, wa4_fvm, iflow, rflow,iparg,elbuf_tab,ixs,nixs,numels,itab,nv46,monvol,volmon,
2673 . 0, is_written_node, is_written_node_fvm, ispmd,
fvdata, swa4, 0)
2683 wa4(n)=
max(zero,diag_sms(n)/
max(em20,ms(n))-one)
2696 CALL nodal_schlieren(wa4,x,ixs,ixq,itab,iparg,0,elbuf_tab,ale_connectivity)
2709 ELSEIF (i > iadchksum .AND. i < iadchksum + 256 -1)
THEN
2711 IF (i == iadchksum + j)
THEN
2723 ELSEIF(i>=20 .AND. i<=23)
THEN
2725 IF(n2d==0)
CALL nodalvfrac(i, wa4, iflow, rflow,iparg,elbuf_tab,ixs,nixs,itab,nv46)
2726 IF(n2d/=0)
CALL nodalvfrac(i, wa4, iflow, rflow,iparg,elbuf_tab,ixq,nixq,itab,nv46)
2727 ELSEIF(i>=24 .AND. i<=27)
THEN
2730 ELSEIF(i==28.OR.i==29)
THEN
2732 IF(n2d==0)
CALL nodalzvol(i, wa4, iflow, rflow,iparg,elbuf_tab,ixs,nixs,itab,nv46)
2736 IF(anim_has_noda_pext == 1)
THEN
2738 IF(noda_surf(n) > zero)
THEN
2739 wa4(n) = noda_pext(n) / noda_surf(n)
2745 ELSEIF (i>iad_gps.AND.i<(iad_gps+3))
THEN
2752 CALL dfungps1(elbuf_tab ,wgps ,j ,iparg ,geo ,
2753 . ixs ,ixs10 ,ixs16 ,ixs20 ,ixq ,
2754 . ixc ,ixtg ,ixt ,ixp ,ixr ,
2759 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
2766 IF (itagps(n)>0) wa4(n)=wgps(n)/itagps(n)
2768 ELSEIF (i>(iad_gps+2).AND.i<(iad_gps+9))
THEN
2780 CALL tensgps1(vflu ,aflu ,iparg ,geo ,
2781 . ixs ,ixs10 ,ixs16 ,ixs20 ,ixq ,
2782 . ixc ,ixtg ,ixt ,ixp ,ixr ,
2783 . x ,itagps ,elbuf_tab)
2788 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
2800 IF (itagps(n)>0) wa4(n)=vflu(j,n)/itagps(n)
2804 IF (itagps(n)>0) wa4(n)=aflu(j-3,n)/itagps(n)
2808 ELSEIF (i>(iad_gps+8).AND.i<(iad_gps+15))
THEN
2821 CALL tencgps1(elbuf_tab ,iparg,iul ,vflu ,aflu ,
2822 . x ,ixc ,igeo ,ixtg ,itagps )
2827 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
2839 IF (itagps(n)>0) wa4(n)=vflu(j,n)/itagps(n)
2843 IF (itagps(n)>0) wa4(n)=aflu(j-3,n)/itagps(n)
2846 ELSEIF (i>(iad_gps+14).AND.i<(iad_gps+21))
THEN
2859 CALL tencgps1(elbuf_tab ,iparg,iul ,vflu ,aflu ,
2860 . x ,ixc ,igeo ,ixtg ,itagps )
2865 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
2877 IF (itagps(n)>0) wa4(n)=vflu(j,n)/itagps(n)
2881 IF (itagps(n)>0) wa4(n)=aflu(j-3,n)/itagps(n)
2885 ELSEIF (i>iad_gp2.AND.i<(iad_gp2+3))
THEN
2891 CALL dfungps2(elbuf_tab ,wgps ,j ,iparg ,geo ,
2892 . ixs ,ixs10 ,ixs16 ,ixs20 ,ixq ,
2893 . ixc ,ixtg ,ixt ,ixp ,ixr ,
2898 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
2905 IF (vgps(n)>zero) wa4(n)=wgps(n)/vgps(n)
2907 ELSEIF (i>(iad_gp2+2).AND.i<(iad_gp2+9))
THEN
2919 CALL tensgps2(vflu ,aflu ,iparg ,geo ,
2920 . ixs ,ixs10 ,ixs16 ,ixs20 ,ixq ,
2921 . ixc ,ixtg ,ixt ,ixp ,ixr ,
2922 . x ,vgps ,elbuf_tab )
2928 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
2940 IF (vgps(n)>zero) wa4(n)=vflu(j,n)/vgps(n)
2944 IF (vgps(n)>zero) wa4(n)=aflu(j-3,n)/vgps(n)
2948 ELSEIF (i>(iad_gp2+8).AND.i<(iad_gp2+15))
THEN
2961 CALL tencgps2(elbuf_tab ,iparg,iul ,vflu ,aflu ,
2962 . x ,ixc ,igeo ,ixtg ,geo ,
2968 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
2979 IF (vgps(n)>zero) wa4(n)=vflu(j,n)/vgps(n)
2983 IF (vgps(n)>zero) wa4(n)=aflu(j-3,n)/vgps(n)
2986 ELSEIF (i>(iad_gp2+14).AND.i<(iad_gp2+21))
THEN
2999 CALL tencgps2(elbuf_tab ,iparg,iul ,vflu ,aflu ,
3000 . x ,ixc ,igeo ,ixtg ,geo ,
3006 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
3018 IF (vgps(n)>zero) wa4(n)=vflu(j,n)/vgps(n)
3022 IF (vgps(n)>zero) wa4(n)=aflu(j-3,n)/vgps(n)
3025 ELSEIF (i>(iad_gp3).AND.i<(iad_gp3+7))
THEN
3039 CALL tensgps3(elbuf_tab,vflu ,aflu ,iparg ,geo ,
3040 . ixs ,ixs10 ,ixs16 ,ixs20 ,ixq ,
3041 . ixc ,ixtg ,ixt ,ixp ,ixr ,
3047 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
3059 IF (itagps(n)>0) wa4(n)=vflu(j,n)/itagps(n)
3063 IF (itagps(n)>0) wa4(n)=aflu(j-3,n)/itagps(n)
3066 ELSEIF (i>(iad_iso).AND.i<(iad_iso+7))
THEN
3069 wa4(numnod + n)=tabstresl(i-iad_iso,n)
3071 ELSEIF (i>(iad_gp4).AND.i<(iad_gp4+7))
THEN
3086 . ixs ,ixs10 ,ixs16 ,ixs20 ,ixq ,
3087 . ixc ,ixtg ,ixt ,ixp ,ixr ,
3096 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
3108 IF (itagps(n)>0) wa4(n)=vflu(j,n)/itagps(n)
3112 IF (itagps(n)>0) wa4(n)=aflu(j-3,n)/itagps(n)
3120 IF (nspmd == 1)
THEN
3121 IF (numelig3d /= 0)
THEN
3122 DO j=1,numnod + 64*numelig3d
3139 IF (i<3.OR.i==12)
THEN
3140 CALL cutfunc(anin(k+1),icbuf(mic2),cbuf(mac2),nodcut)
3148 DO n=1,nsect+nrwall+nnwl+nnsrg+nnsmd+nnsphg+2*numels16g
3153 IF(ispmd == 0. and. anim_ply >0 )
THEN
3160 IF(ispmd == 0 .AND. anim_crk > 0)
THEN
3162 DO n=1,nfnod_crkxfemg
3168 IF (ispmd==0.AND.nfvnod>0)
THEN
3178 ndma2= numnod*(
min(1,anim_n(1)+outp_n(1)+h3d_data%N_SCAL_DT)
3179 . +
min(1,anim_n(2)+outp_n(2)+h3d_data%N_SCAL_DMAS)
3180 . +
min(1,anim_n(12)+outp_n(3)+h3d_data%N_SCAL_DINER))
3182 IF (nspmd == 1 .AND. nfvtr>0)
THEN
3183 ALLOCATE(fvmass(nfvtr),fvpres(nfvtr), fvqx(nfvtr),
3184 . fvqy(nfvtr), fvqz(nfvtr), fvrho(nfvtr),
3185 . fvener(nfvtr), fvcson(nfvtr), fvgama(nfvtr),
3202 IF (
fvdata(i)%NPOLH_ANIM>0)
THEN
3206 ssp=sqrt((gama-one)*gama*
fvdata(i)%EPOLH(j)/
3210 DO n=
fvdata(i)%IFVTADR(kk),
3211 .
fvdata(i)%IFVTADR(kk+1)-1
3214 IF (
fvdata(i)%IFVTRI(4,nn)>0)
THEN
3216 fvvisu(fvel2fa(eloff+nn))=idp-(idp/8)*8+1
3218 fvvisu(fvel2fa(eloff+nn))=-1
3221 nn=fvel2fa(eloff+nn)
3222 fvmass(nn)=fvmass(nn)+fac*
fvdata(i)%MPOLH(j)
3223 fvpres(nn)=fvpres(nn)+fac*
fvdata(i)%PPOLH(j)
3224 IF (
fvdata(i)%MPOLH(j)>zero)
THEN
3225 fvqx(nn)=fvqx(nn)+fac*
fvdata(i)%QPOLH(1,j)/
3227 fvqy(nn)=fvqy(nn)+fac*
fvdata(i)%QPOLH(2,j)/
3229 fvqz(nn)=fvqz(nn)+fac*
fvdata(i)%QPOLH(3,j)/
3231 fvener(nn)=fvener(nn)+fac*
fvdata(i)%EPOLH(j)/
3234 fvrho(nn)=fvrho(nn)+fac*
fvdata(i)%RPOLH(j)
3235 fvcson(nn)=fvcson(nn)+fac*ssp
3236 fvgama(nn)=fvgama(nn)+fac*gama
3240 eloff=eloff+
fvdata(i)%NNTR
3243 ELSEIF(nfvtr>0)
THEN
3245 ALLOCATE(fvmass(nfvtr),fvpres(nfvtr), fvqx(nfvtr),
3246 . fvqy(nfvtr), fvqz(nfvtr), fvrho(nfvtr),
3247 . fvener(nfvtr), fvcson(nfvtr), fvgama(nfvtr),
3264 . fvrho, fvener, fvcson, fvgama, fvvisu,
3270 IF(anim_ce(i)==1)
THEN
3271 IF(i<=2142 .OR. i==2155 .OR. i==2156 .OR. (i>=2239.AND.i<=10252) .OR.
3272 . (i>=10253.AND.i<=10675) .OR. (i >= 10676 .AND. i <= 1000000))
THEN
3273 CALL dfuncc(elbuf_tab ,waft ,ifunc ,iparg,geo ,
3274 . ixq ,ixc ,ixtg ,mas ,pm ,
3275 . el2fa ,nbf ,iad ,glob_therm%ITHERM ,
3276 . nbf_l ,eani ,anin(ndma2+1) ,nbpart ,iadg ,
3277 . ipm ,igeo ,thke ,err_thk_sh4 ,err_thk_sh3,
3278 . invert ,x ,v ,w ,ale_connectivity,
3279 . nv46 ,nercvois ,nesdvois ,lercvois ,lesdvois ,
3280 . stack ,bufmat ,multi_fvm ,mat_param)
3282 .
CALL cutfunce(icbuf,nelcut,elbuf_tab,ifunc,iparg,pm,ixs)
3291 IF (anim_ply > 0)
THEN
3292 CALL dfuncc_ply(elbuf_tab, waft_ply, ifunc, iparg, geo,
3293 . ixc , ixtg , mas, pm, el2fa_ply,
3294 . nbf_pxfem,iad , plynumc,eani,anin(ndma2+1),
3295 .
nplypart,iad_plyg,ipm ,igeo , thke,
3296 . err_thk_sh4, err_thk_sh3,mat_param,
3297 . nbf_pxfemg ,x , stack )
3299 IF (anim_crk > 0)
THEN
3301 . elbuf_tab ,len_crkx ,ifunc ,iparg,geo ,
3302 . ixc ,ixtg ,mas ,pm ,el2fa_crk ,
3303 . nbf_crkxfem ,iad ,nbf_crkxfem,eani ,anin(ndma2+1),
3304 . ncrkpart ,iad_crkg ,ipm ,igeo ,thke ,
3305 . err_thk_sh4 ,err_thk_sh3,xfem_tab ,iel_crk ,indx_crk,
3306 . nbf_crkxfemg,el2fa ,crkedge )
3310 IF (ispmd==0.AND.nfvtr>0)
THEN
3316 ELSEIF (i==2143.OR.i==2144)
THEN
3317 CALL animcale(i, monvol, volmon, nbf, el2fa,
3318 . nbpart, iadg, nbf_l ,
3319 . ispmd, nspmd, nimv, nrvolu, nvolu,
3321 . libaghol, lrbaghol,lrbagjet, libagjet,
3322 . numelqg, numelcg, numeltgg)
3331 IF(ispmd == 0 .AND. anim_ply > 0 )
THEN
3338 IF(ispmd==0 .AND. anim_crk > 0)
THEN
3345 IF (ispmd==0.AND.nfvtr>0)
THEN
3352 ELSEIF (i>=2145.AND.i<=2154)
THEN
3355 DO j=1,nbf+nelcut+nesbw2+nbf_pxfemg+nbf_crkxfemg
3359 IF (ispmd==0.AND.nfvtr>0)
THEN
3365 ELSEIF (i==2146)
THEN
3370 ELSEIF (i==2147)
THEN
3375 ELSEIF (i==2148)
THEN
3380 ELSEIF (i==2149)
THEN
3385 ELSEIF (i==2150)
THEN
3390 ELSEIF (i==2151)
THEN
3395 ELSEIF (i==2152)
THEN
3400 ELSEIF (i==2153)
THEN
3405 ELSEIF (i==2154)
THEN
3415 IF (ispmd==0.AND.nfvtr>0)
3416 .
DEALLOCATE(fvmass, fvpres, fvqx, fvqy, fvqz, fvrho, fvener,
3422 IF(anim_v(1)==1)
CALL ani_txt(
'Velocity',8)
3423 IF(anim_v(2)==1)
CALL ani_txt(
'Displacement',12)
3424 IF(anim_v(3)==1)
CALL ani_txt(
'Acceleration',12)
3425 IF(anim_v(4)==1.AND.animcont==1)
CALL ani_txt(
'Contact Forces',14)
3426 IF(anim_v(5)==1)
CALL ani_txt(
'Internal Forces',15)
3427 IF(anim_v(6)==1)
CALL ani_txt(
'External Forces',15)
3428 IF(anim_v(7)==1)
CALL ani_txt(
'Sect.RBY,Wall F.',16)
3429 IF(anim_v(8)==1)
CALL ani_txt(
'Sect.RBY Moments',16)
3430 IF(anim_v(9)==1)
CALL ani_txt(
'Rotational Velocity',19)
3431 IF(anim_v(10)==1)
CALL ani_txt(
'Fluid velocity',14)
3432 IF(anim_v(11)==1)
CALL ani_txt(
'Residual Forces',15)
3433 IF(anim_v(12)==1)
THEN
3434 CALL ani_txt(
'Contact Pressure / Normal',25)
3435 CALL ani_txt(
'Contact Pressure / Tangent',26)
3437 IF(anim_v(13)==1)
CALL ani_txt(
'Tied Contact Forces',19)
3438 IF(anim_v(14)==1)
CALL ani_txt(
'Rotational DOF',14)
3439 IF(anim_v(16)==1)
CALL ani_txt(
'Gaz Velocity',12)
3440 IF(anim_v(17)==1)
CALL ani_txt(
'Reaction Forces',15)
3441 IF(anim_v(18)==1)
CALL ani_txt(
'Reaction Moments',16)
3442 IF(anim_v(19)==1)
CALL ani_txt(
'Cluster Forces',14)
3443 IF(anim_v(20)==1)
CALL ani_txt(
'Cluster Moments',15)
3444 IF(anim_v(21)==1)
CALL ani_txt(
'inter22 - Centroid Velocity',27)
3445 IF(anim_v(22)==1)
CALL ani_txt(
'inter22 - Faces Velocity',24)
3447 .
CALL ani_txt(
'inter22 - Centroid Momentum Density',35)
3448 IF(anim_v(24)==1)
CALL ani_txt(
'inter22 - Faces Pressure Forces',31)
3450 .
CALL ani_txt(
'inter22 - Centroid Internal Force',33)
3452 .
CALL ani_txt('maximum contact forces over time
',32)
3453 IF(ANIM_V(27)==1) THEN
3454 CALL ANI_TXT('tied contact pressure / normal
',30)
3455 CALL ANI_TXT('tied contact pressure / tangent
',31)
3461 NNNSRG=NNSRG+NNSMD+NNSPHG+2*NUMELS16G
3463.NOT.
IF( ALLOCATED(ICBUF)) ALLOCATE(ICBUF(1))
3464.NOT.
IF( ALLOCATED(CBUF)) ALLOCATE(CBUF(1))
3466 IF(ANIM_V(1)==1) THEN
3467 CALL VELVEC(V,V_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3468 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,1,
3469 . NFNOD_PXFEM,NOD_PXFEM,INDX_PLY,NFNOD_CRKXFEMG,ITAB)
3472 . CALL VELVEC(D,D_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3473 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,2,
3474 . NFNOD_PXFEM,NOD_PXFEM,INDX_PLY,NFNOD_CRKXFEMG,ITAB)
3476 . CALL VELVEC(A,A_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3477 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,3,
3478 . NFNOD_PXFEM,NOD_PXFEM,INDX_PLY,NFNOD_CRKXFEMG,ITAB)
3479.AND.
IF(ANIM_V(4)==1ANIMCONT==1)THEN
3480 IF(NINTSTAMP==0)THEN
3481 CALL VELVECC(CONT,CONT_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3482 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,NFNOD_PXFEM,NFNOD_PXFEMG,
3485 CALL VELVECC21(CONT,CONT_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3486 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,NFNOD_PXFEM,NFNOD_PXFEMG,
3487 . FCONTG,NFNOD_CRKXFEMG)
3491 . CALL VELVEC(FINT,FINT_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3492 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,5,
3493 . NFNOD_PXFEM,NOD_PXFEM,INDX_PLY,NFNOD_CRKXFEMG,ITAB)
3495 . CALL VELVECC(FEXT,FEXT_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3496 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,NFNOD_PXFEM,NFNOD_PXFEMG,
3499 IF(ANIM_V(7)==1) CALL VELVEC2(ICBUF(MIC2),BID_TEMP,CBUF(MAC2),
3500 . NODCUT,FOPT(1,1),NPBY,NNWL,NNNSRG,
3501 . NODGLOB,WEIGHT,FR_SEC,NFVNOD,NFNOD_PXFEM,NFNOD_PXFEMG,
3503 IF(ANIM_V(8)==1) CALL VELVEC2(ICBUF(MIC2),BID_TEMP,CBUF(MAC2),
3504 . NODCUT,FOPT(4,1),NPBY,NNWL,NNNSRG,
3505 . NODGLOB,WEIGHT,FR_SEC,NFVNOD,NFNOD_PXFEM,NFNOD_PXFEMG,
3507.AND.
IF(ANIM_V(9)==1 IRODDL/=0) THEN
3508 CALL VELVEC(VR,BID_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,
3509 . NNWL,NNNSRG,NODGLOB,WEIGHT,NFVNOD,9,
3510 . NFNOD_PXFEM,NOD_PXFEM,INDX_PLY,NFNOD_CRKXFEMG,ITAB)
3511 ELSEIF(ANIM_V(9)==1) THEN
3512 IF (NSPMD == 1) THEN
3515 CALL WRITE_R_C(R4,1)
3516 CALL WRITE_R_C(R4,1)
3517 CALL WRITE_R_C(R4,1)
3519 IF (NUMELIG3D /= 0)THEN
3522 CALL WRITE_R_C(R4,1)
3524 CALL WRITE_R_C(R4,1)
3526 CALL WRITE_R_C(R4,1)
3529 ELSEIF (ISPMD == 0) THEN
3532 CALL WRITE_R_C(R4,1)
3533 CALL WRITE_R_C(R4,1)
3534 CALL WRITE_R_C(R4,1)
3538 IF (ANIM_V(10)==1) THEN
3543 CALL VELVEC3(VFLU,BID_TEMP,VFLU_ALE,ICBUF(MIC2),CBUF(MAC2),
3544 . NODCUT,NNWL,NNNSRG,NODGLOB,WEIGHT,0,NFNOD_PXFEM,
3545 . NFNOD_PXFEMG,NFNOD_CRKXFEMG)
3547 IF (NSPMD == 1) THEN
3550 CALL SPMD_FVB_AVEC()
3554 IF (ANIM_V(11)==1) THEN
3555.AND.
IF(IDTMINS==0IDTMINS_INT==0)THEN
3557.AND.
IF (IMPL_S>0IDYNA==0)FAC=ZERO
3560 VFLU(J,N)=FEXT(J,N)+FINT(J,N)-FAC*MS(N)*A(J,N)
3563 CALL VELVEC(VFLU,BID_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3564 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,11,
3565 . NFNOD_PXFEM,NOD_PXFEM,INDX_PLY,NFNOD_CRKXFEMG,ITAB)
3567 CALL VELVEC(RES_SMS,BID_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3568 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,11,
3569 . NFNOD_PXFEM,NOD_PXFEM,INDX_PLY,NFNOD_CRKXFEMG,ITAB)
3572 IF(ANIM_V(12)==1) THEN
3573 IF(NINTSTAMP==0)THEN
3574 CALL VELVECC(FNCONT,BID_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3575 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,NFNOD_PXFEM,NFNOD_PXFEMG,
3577 CALL VELVECC(FTCONT,BID_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3578 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,NFNOD_PXFEM,NFNOD_PXFEMG,
3581 CALL VELVECC21(FNCONT,BID_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3582 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,NFNOD_PXFEM,NFNOD_PXFEMG,
3583 . FNCONTG,NFNOD_CRKXFEMG)
3584 CALL VELVECC21(FTCONT,BID_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3585 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,NFNOD_PXFEM,NFNOD_PXFEMG,
3586 . FTCONTG,NFNOD_CRKXFEMG)
3590 IF(ANIM_V(13)==1) THEN
3591 CALL VELVECC(FNCONT2,BID_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3592 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,NFNOD_PXFEM,NFNOD_PXFEMG,
3596.AND..OR..OR..OR..AND.
IF(ANIM_V(14)==1 (IDROT == 1 ISECUT>0 IISROT>0 IMPOSE_DR>0 ) IRODDL/=0) THEN
3597 CALL VELVEC(DR,BID_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3598 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,14,
3599 . NFNOD_PXFEM,NOD_PXFEM,INDX_PLY,NFNOD_CRKXFEMG,ITAB)
3602 IF (ANIM_V(15) == 1) THEN
3603 CALL VELVECC(DXANCG,BID_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3604 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,NFNOD_PXFEM,
3605 . NFNOD_PXFEMG,NFNOD_CRKXFEMG)
3607.AND.
IF(ANIM_V(16)==1 IALELAG > 0 ) THEN
3608 CALL VELVEC(VGAZ,BID_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3609 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,16,
3610 . NFNOD_PXFEM,NOD_PXFEM,INDX_PLY,NFNOD_CRKXFEMG,ITAB)
3611.AND.
ELSEIF(ANIM_V(16)==1 IALELAG == 0 ) THEN
3612 IF (ISPMD == 0) THEN
3615 CALL WRITE_R_C(R4,1)
3616 CALL WRITE_R_C(R4,1)
3617 CALL WRITE_R_C(R4,1)
3621 IF(ANIM_V(17)==1) THEN
3623 FANREACT(1,N)=FANREAC(1,N)
3624 FANREACT(2,N)=FANREAC(2,N)
3625 FANREACT(3,N)=FANREAC(3,N)
3627 CALL VELVEC(FANREACT,FANREACT_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3628 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,17,
3629 . NFNOD_PXFEM,NOD_PXFEM,INDX_PLY,NFNOD_CRKXFEMG,ITAB)
3631 IF(ANIM_V(18)==1) THEN
3633 FANREACR(1,N)=FANREAC(4,N)
3634 FANREACR(2,N)=FANREAC(5,N)
3635 FANREACR(3,N)=FANREAC(6,N)
3637 CALL VELVEC(FANREACR,BID_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3638 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,18,
3639 . NFNOD_PXFEM,NOD_PXFEM,INDX_PLY,NFNOD_CRKXFEMG,ITAB)
3643 IF (ANIM_V(19) == 1) THEN
3645 CALL VELVECC(FCLUSTER,BID_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3646 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,NFNOD_PXFEM,
3647 . NFNOD_PXFEMG,NFNOD_CRKXFEMG)
3650 IF (ANIM_V(20) == 1) THEN
3652 CALL VELVECC(MCLUSTER,BID_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3653 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,NFNOD_PXFEM,
3654 . NFNOD_PXFEMG,NFNOD_CRKXFEMG)
3657 IF (ANIM_V(21) == 1) THEN
3659 CALL VELVECC22(ELBUF_TAB,IPARG,1,IXS,IXQ,ITAB)
3662 IF (ANIM_V(22) == 1) THEN
3664 CALL VELVECZ22(ELBUF_TAB,IPARG ,IPARI ,IGRNOD , X,
3665 . IXS ,IXQ ,ITAB ,1 )
3668 IF (ANIM_V(23) == 1) THEN
3670 CALL VELVECC22(ELBUF_TAB,IPARG,2,IXS,IXQ,ITAB)
3673 IF (ANIM_V(24) == 1) THEN
3675 CALL VELVECZ22(ELBUF_TAB,IPARG ,IPARI ,IGRNOD , X,
3676 . IXS ,IXQ ,ITAB ,2 )
3679 IF (ANIM_V(25) == 1) THEN
3681 CALL VELVECC22(ELBUF_TAB,IPARG,3,IXS,IXQ,ITAB)
3684 IF(ANIM_V(26)==1)THEN
3686 IF(NINTSTAMP==0)THEN
3687 CALL VELVECC(FCONT_MAX,BID_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3688 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,NFNOD_PXFEM,NFNOD_PXFEMG,
3691 CALL VELVECC_MAX(FCONT_MAX,NODCUT,NNWL,NNSRG,NFVNOD,
3692 . NFNOD_PXFEMG,NFNOD_CRKXFEMG)
3696 IF(ANIM_V(27)==1) THEN
3697 CALL VELVECC(FNCONTP2,BID_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3698 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,NFNOD_PXFEM,NFNOD_PXFEMG,
3700 CALL VELVECC(FTCONTP2,BID_TEMP,ICBUF(MIC2),CBUF(MAC2),NODCUT,NNWL,
3701 . NNNSRG,NODGLOB,WEIGHT,NFVNOD,NFNOD_PXFEM,NFNOD_PXFEMG,
3709.AND.
IF (ISPMD==0NBF+NELCUT+NESBW2/=0)THEN
3710 IF(ANIM_CT(1)==1) CALL ANI_TXT('stress(membrane)
',17)
3711 IF(ANIM_CT(2)==1) CALL ANI_TXT('stress(moment/t^2)
',19)
3712 IF(ANIM_CT(3)==1) CALL ANI_TXT('stress(upper)
',14)
3713 IF(ANIM_CT(4)==1) CALL ANI_TXT('stress(lower)
',14)
3714 IF(ANIM_CT(5)==1) CALL ANI_TXT('strain(membrane)
',17)
3715 IF(ANIM_CT(6)==1) CALL ANI_TXT('strain(curvature)
',18)
3716 IF(ANIM_CT(7)==1) CALL ANI_TXT('strain(upper)
',14)
3717 IF(ANIM_CT(8)==1) CALL ANI_TXT('strain(lower)
',14)
3718 IF(ANIM_CT(91)==1)CALL ANI_TXT('strn rate(membrane)
',20)
3719 IF(ANIM_CT(92)==1)CALL ANI_TXT('strn rate(curvature)
',21)
3720 IF(ANIM_CT(93)==1)CALL ANI_TXT('strn rate(upper)
',17)
3721 IF(ANIM_CT(94)==1)CALL ANI_TXT('strn rate(lower)
',17)
3723 IF(ANIM_CT(100+I)==1)THEN
3724 WRITE(MES,'(a,i3,a)
')'stress(layer
',I,')
'
3725 CALL ANI_TXT(MES,18)
3729 IF(ANIM_CT(200+I)==1)THEN
3730 WRITE(MES,'(a,i3,a)
')'strain(layer
',I,')
'
3731 CALL ANI_TXT(MES,18)
3735 IF(ANIM_CT(300+I)==1)THEN
3736 WRITE(MES,'(a,i3,a)
')'strn rate(layer
',I,')
'
3737 CALL ANI_TXT(MES,21)
3747 IF (ANIM_CT(I) == 1) THEN
3748 IUS = MOD ((I - 400), 100)
3749 IF(IUS==0) IUS = 100
3750 WRITE(MES,'(a,i3,a)
')'stress(upper/layer',ius,
')'
3758 IF (anim_ct(i) == 1)
THEN
3759 ius = mod((i - 500), 100)
3760 IF(ius==0) ius = 100
3761 WRITE(mes,
'(A,I3,A)')
'Stress (LOWER/LAYER',ius,
')'
3771 IF (anim_ct(ius + 600) == 1)
THEN
3774 WRITE(mes,
'(A,I3,I3,A)')
3775 .
'Stress (LAYER/IPT',ilay,ipt,
')'
3784 IF (anim_ct(1610 + i) == 1)
THEN
3785 WRITE(mes,
'(A,I10,X,I3,A)')
3786 .
'Stress (PLY/IPT',ply_anim_stress( 3 * (i - 1) + 1),
3787 . ply_anim_stress( 3 * (i - 1) + 3),
')'
3795 IF (anim_ct( (1610+ mx_ply_anim) + i) == 1)
THEN
3796 WRITE(mes,
'(A,I10,X,I3,A)')
3797 .
'Strain (PLY/IPT',ply_anim_strain( 3 * (i - 1) + 1),
3798 . ply_anim_strain( 3 * (i - 1) + 3),
')'
3806 IF (anim_ct( (1610+ 2*mx_ply_anim) + i) == 1)
THEN
3807 WRITE(mes,
'(A,I10,X,I3,A)')
3808 .
'Epsdot (PLY/IPT',ply_anim_epsdot( 3 * (i - 1) + 1),
3809 . ply_anim_epsdot( 3 * (i - 1) + 3),
')'
3817 idx = 1610 + 3*mx_ply_anim
3819 IF (anim_ct(i) == 1)
THEN
3820 ius = mod((i - idx), 100)
3821 IF (ius == 0) ius = 100
3822 WRITE(mes,
'(A,I3,A)')
'Strain (UPPER/LAYER',ius,
')'
3827 idx = 1710 + 3*mx_ply_anim
3829 IF (anim_ct(i) == 1)
THEN
3830 ius = mod((i - idx), 100)
3831 IF (ius == 0) ius = 100
3832 WRITE(mes,
'(A,I3,A)')
'Strain (LOWER/LAYER',ius,
')'
3837 idx = 1810 + 3*mx_ply_anim
3841 IF (anim_ct(ius + idx) == 1)
THEN
3844 WRITE(mes,
'(A,I3,I3,A)')
3845 .
'Strain (LAYER/IPT',ilay,ipt,
')'
3854 idx = 2820 + 3*mx_ply_anim
3856 IF (anim_ct(i) == 1)
THEN
3857 ius = mod((i - idx), 100)
3858 IF (ius == 0) ius = 100
3859 WRITE(mes,
'(A,I3,A)')
'Epsdot (UPPER/LAYER',ius,
')'
3864 idx = 2920 + 3*mx_ply_anim
3866 IF (anim_ct(i) == 1)
THEN
3867 ius = mod((i - idx), 100)
3868 IF (ius == 0) ius = 100
3869 WRITE(mes,
'(A,I3,A)')
'Epsdot (LOWER/LAYER',ius,
')'
3874 idx = 3020 + 3*mx_ply_anim
3878 IF (anim_ct(ius + idx) == 1)
THEN
3881 WRITE(mes,
'(A,I3,I3,A)')
3882 .
'Epsdot (LAYER/IPT',ilay,ipt,
')'
3891 idx = 3120 + 3*mx_ply_anim
3893 IF (anim_ct(idx+1)==1)
CALL ani_txt(
'Mstress (membrane)',18)
3894 IF (anim_ct(idx+2)==1)
CALL ani_txt(
'Mstress (upper)',15)
3895 IF (anim_ct(idx+3)==1)
CALL ani_txt(
'Mstress (lower)',15)
3897 idx = 3120 + 3*mx_ply_anim + 3
3898 DO i = idx+1,idx+100
3899 IF (anim_ct(i)==1)
THEN
3900 WRITE(mes,
'(A,I3,A)')
'Mstress (layer',i,
')'
3907 idx = 3120 + 3*mx_ply_anim + 103
3908 DO i = idx+1,idx + mx_ply_anim
3909 IF (anim_ct(i) == 1)
THEN
3910 WRITE(mes,
'(A,I10,X,I3,A)')
3911 .
'Mstress (PLY/IPT',ply_anim_stress( 3 * (i - 1) + 1),
3912 . ply_anim_stress(3 * (i - 1) + 3),
')'
3923 IF (anim_ct(i) == 1)
THEN
3924 CALL tensorc(elbuf_tab,iparg ,ifunc ,invert,nelcut,
3925 . el2fa ,nbf ,waft ,tani ,iad ,
3926 . nbf_l ,nbpart,iadg ,x ,ixc ,
3927 . igeo ,ixtg ,ipm ,stack ,mat_param,
3928 . geo ,drape_sh4n, drape_sh3n, drapeg)
3938 IF (anim_ply > 0)
THEN
3940 . ifunc, invert, el2fa_ply ,nbf_pxfem,
3941 . waft_ply,tani, iad, plynumc,
3942 . nbpart, iad_plyg, x, ixc,mat_param,
3943 . igeo, ixtg, nbf_pxfemg,ipm, stack )
3946 IF (anim_crk > 0)
THEN
3948 . elbuf_tab,xfem_tab ,iparg ,ipm ,
3949 . ifunc ,invert ,el2fa_crk,nbf_crkxfemg,
3950 . len_crkx ,tani ,iad ,nbf_crkxfem ,
3951 . nbpart ,iad_crkg ,x ,ixc ,
3952 . igeo ,ixtg ,iel_crk ,iadc_crk ,
3953 . crkedge ,indx_crk ,mat_param)
3956 IF (ispmd==0.AND.nfvtr>0)
THEN
3990 buf = (numelqg+numelcg+numeltgg)
3999 DO j=1,nesbw2+nelcut
4004 IF(ispmd == 0 .AND. anim_ply > 0 )
THEN
4011 IF(ispmd == 0 .AND. anim_crk > 0)
THEN
4018 IF (ispmd==0.AND.nfvtr>0)
THEN
4029 IF (weight_md(i)==1)
THEN
4039 wa4(m)=wa4(m)+(rby(15,n)-ms(m))* weight_md(m)
4043 IF (nspmd == 1)
THEN
4059 .
CALL cutmass(icbuf,cbuf,cbuf(mac2),nodcut,nelcut,
4060 . v,cbuf(mac3),icbuf(mic2))
4067 DO n=1,nsect+nrwall+nnwl+nnsrg+nnsmd+sznnsph+2*sz16
4072 IF(ispmd==0 .AND. anim_ply > 0 )
THEN
4079 IF(ispmd==0 .AND. anim_crk > 0)
THEN
4081 DO i=1,nfnod_crkxfemg
4086 IF (ispmd==0.AND.nfvnod>0)
THEN
4097 IF (nspmd == 1)
THEN
4099 IF (numelig3d>0)
THEN
4119 DO i=1,nodcut+nsect+nrwall+nnwl+nnsrg+nnsmd+sznnsph+2*sz16
4125 IF(anim_ply > 0)
THEN
4126 IF (nspmd == 1)
THEN
4128 ALLOCATE(itab_ply(nplyxfe))
4132 nn =
plynod(iply)%PLYNUMNODS
4134 itab_ply(i) = idmax + ii + i
4139 DEALLOCATE(itab_ply)
4140 idmax = idmax + nfnod_pxfem
4143 ALLOCATE(itab_ply(nfnod_pxfemg))
4147 itab_ply(j) = idmax + j
4155 DEALLOCATE(itab_ply)
4156 idmax = idmax + nfnod_pxfemg
4161 IF(anim_crk > 0)
THEN
4164 ALLOCATE(itab_crk(nfnod_crkxfemg))
4167 DO i=1,
crknod(ilev)%CRKNUMNODS
4168 j =
crknod(ilev)%CRKNUMNODS*(icrk-1)
4170 itab_crk(k) =
crknod(icrk)%XFECRKNODID(i)+idmax
4174 DEALLOCATE(itab_crk)
4177 buf = nfnod_crkxfemg
4186 ALLOCATE(itab_crk(0))
4190 IF (nspmd == 1 .AND. nfvnod>0)
THEN
4192 IF (
fvdata(i)%NPOLH_ANIM>0)
THEN
4193 DO j=1,
fvdata(i)%NNS_ANIM
4202 ELSEIF(nfvnod>0)
THEN
4206 CALL delnumbc(iparg,ixq ,ixc ,ixtg ,invert,
4207 . el2fa,nbf ,waft ,nelcut,
4208 . dd_iad,iad ,nbf_l,
4220 . ixc ,ixtg ,invert,
4221 . el2fa_ply,nbf_pxfem ,waft_ply ,nelcut,
4222 . dd_iad,iad ,plynumc,
4223 . nbpart,iad_plyg,nodglob,idcmax,nbf_pxfemg)
4226 IF (anim_crk > 0)
THEN
4228 . iparg ,iel_crk ,waft_crk ,idcmax ,
4229 . el2fa_crk,iad_crkg ,nbf_crkxfem,nbf_crkxfemg,indx_crk)
4232 IF (ispmd==0.AND.nfvtr>0)
THEN
4236 DEALLOCATE(fvel2fa, fvinum)
4242 IF (ispmd==0)
ALLOCATE(fvpbuf(nfvpart))
4244 . +
min(1,nsect)+
min(1,nrbody+ nrbe2t+nrbe3t)+
min(1,nrwall)
4245 . +
min(1,nsurg+nsmad) +
min(1,nplypartw)
4246 . +
min(1,ncrkpartw)-1
4259 IF(mater(i)==1)
THEN
4260 IF (ipart(3,i)<nsubs)
THEN
4264 . +
min(1,nsect)+
min(1,nrbody+ nrbe2t+nrbe3t)
4265 . +
min(1,nrwall)+
min(1,nsurg+nsmad)
4266 . +nfvsubs+
min(1,nplypartw)
4267 . +
min(1,ncrkpartw)-1,1)
4273 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)+
min(1,nrwall)
4274 . +
min(1,nsurg+nsmad)+
min(1,nplypartw)
4275 . +
min(1,ncrkpartw)-1,1)
4282 . +
min(1,nrbody+nrbe2t+nrbe3t)-1,1)
4286 . nrbe3t)+
min(1,nrwall)-
4290 . nrbe3t)+
min(1,nrwall)-1,1)
4293 IF(anim_ply > 0)
THEN
4295 ii = nsubs +
min(1,nsect) +
min(1,nrbody+nrbe2t+nrbe3t)
4296 . +
min(1,nrwall)+
min(1,nsurg+nsmad) - 1
4304 IF(anim_crk > 0)
THEN
4306 ii = nsubs +
min(1,nsect
4307 . +
min(1,nrwall)+
min(1,nsurg+nsmad) - 1
4315 IF (nspmd == 1.AND.nfvtr>0)
THEN
4317 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)+
min(1,nrwall)
4318 . +
min(1,nsurg+nsmad) +
min(nplypartw,1)
4319 . +
min(1,ncrkpartw)-1
4321 IF (
fvdata(i)%NPOLH_ANIM>0)
THEN
4323 DO j=1,
fvdata(i)%NPOLH_ANIM
4328 ELSEIF (nfvpart>0)
THEN
4333 IF(mater(i)==1)
CALL write_i_c(ipart(1,i),1)
4335 DO i=1,ncuts+nrwall+nsect+nsurg+nsmad+nplypartw+ncrkpartw
4344 IF(mater(i)==1)
CALL write_i_c(ipart(2,i),1)
4346 DO i=1,ncuts+nrwall+nsect
4358 IF(numels_t+numels16_t+isph3d*(numsph_t+maxpjet)+numelig3d==0)
4379 ELSEIF (isph3d==1.AND.ity==51)
THEN
4384 ELSEIF (ity==101)
THEN
4387 mater(ipartig3d(n))=2
4394 IF(mater(i)>2) mater(i) = 2
4398 mater(i) = mater(i)+bufferp
4404 nbpart = nbpart + mater(i)/2
4411 CALL write_i_c(numels_t+3*numels16g+isph3d*numsphg+27*numelig3d,1)
4420 shftsph = numnodg+nodcut+nsect+nrwall+nnwl+nnsrg+nnsmd
4421 shftsph = shftsph + sphshift
4422 shft16 = numnodg+nodcut+nsect+nrwall+nnwl
4423 shft16 = shft16 + num16shift
4425 insph=numnod+nodcut+nsect+nrwall+nnwl+nnsrg+nnsmd
4427 CALL parsors(iad ,iparg ,ixs ,mater,iparts,
4429 3 iadg ,insph ,kxsp ,ipartsp,
4430 4 ixs10 ,ixs20 ,ixs16 ,nnsph ,isph3d,
4431 5 nodglob,shft16 ,shftsph,nnsphg,ipartig3d,
4432 6 kxig3d,igeo,ig3dsolid)
4436 nnn = numels+isph3d*(numsph+maxpjet)+3*numels16+27*numelig3d
4437 CALL anioffs(elbuf_tab,iparg,waft ,el2fa ,nnn ,
4438 . nbpart ,iadg ,isph3d )
4446 bufferp(i) = bufferp(i) + iadg(k,i)
4458 WRITE(str,
'(I9,A1)')ipart(4,i),
':'
4460 ctext(j)=ichar(str(j:j))
4463 CALL fretitl2(titl,ipart(lipart1-ltitr+1,i),40)
4465 IF(titl(j:j)/=
' ') ib = j+10
4466 ctext(j+10)=ichar(titl(j:j))
4477 IF(anim_m==1.OR.anim_se(3)==1.OR.anim_se(25)==1)
THEN
4478 CALL dmasanis(elbuf_tab,x ,d ,geo ,iparg ,
4479 . ixs ,mas ,pm ,el2fa ,numels ,
4480 . ipart ,ipartsp ,isph3d )
4487 IF(anim_se(1)==1)
CALL ani_txt(
'Plastic Strain',14)
4488 IF(anim_se(2)==1)
CALL ani_txt(
'Density',7)
4489 IF(anim_se(3)==1)
CALL ani_txt(
'Specific Energy',15)
4490 IF(anim_se(4)==1)
CALL ani_txt(
'Temperature',11)
4491 IF(anim_se(6)==1)
CALL ani_txt(
'Pressure',8)
4492 IF(anim_se(7)==1)
CALL ani_txt(
'Von Mises',9)
4493 IF(anim_se(8)==1)
CALL ani_txt(
'Turbulent Energy',16)
4494 IF(anim_se(9)==1)
CALL ani_txt(
'Turbulent Viscosity',19)
4495 IF(anim_se(10)==1)
CALL ani_txt(
'Vorticity-X',11)
4496 IF(anim_se(11)==1)
CALL ani_txt(
'Damage 1',8)
4497 IF(anim_se(12)==1)
CALL ani_txt(
'Damage 2',8)
4498 IF(anim_se(13)==1)
CALL ani_txt(
'Damage 3',8)
4499 IF(anim_se(14)==1)
CALL ani_txt(
'Stress X '
4500 IF(anim_se(15)==1)
CALL ani_txt(
'Stress Y ',9)
4501 IF(anim_se(16)==1)
CALL ani_txt(
'Stress Z ',9)
4502 IF(anim_se(17)==1)
CALL ani_txt(
'Stress XY',9)
4503 IF(anim_se(18)==1)
CALL ani_txt(
'Stress YZ',9)
4504 IF(anim_se(19)==1)
CALL ani_txt(
'Stress ZX',9)
4505 IF(anim_se(20)==1)
CALL ani_txt(
'User Var 1',10)
4506 IF(anim_se(21)==1)
CALL ani_txt(
'User Var 2',10)
4507 IF(anim_se(22)==1)
CALL ani_txt(
'User Var 3',10)
4508 IF(anim_se(23)==1)
CALL ani_txt(
'User Var 4',10)
4509 IF(anim_se(24)==1)
CALL ani_txt(
'User Var 5',10)
4510 IF(anim_se(25)==1)
CALL ani_txt(
'Hourglass Energy per unit mass',30)
4511 IF(anim_se(26)==1)
CALL ani_txt(
'Strain Rate',11)
4512 IF(anim_se(27)==1)
CALL ani_txt(
'User Var 6',10)
4513 IF(anim_se(28)==1)
CALL ani_txt(
'User Var 7',10)
4514 IF(anim_se(29)==1)
CALL ani_txt(
'User Var 8',10)
4515 IF(anim_se(30)==1)
CALL ani_txt(
'User Var 9',10)
4516 IF(anim_se(31)==1)
CALL ani_txt(
'User Var 10',11)
4517 IF(anim_se(32)==1)
CALL ani_txt(
'User Var 11',11)
4518 IF(anim_se(33)==1)
CALL ani_txt(
'User Var 12',11)
4519 IF(anim_se(34)==1)
CALL ani_txt(
'User Var 13',11)
4520 IF(anim_se(35)==1)
CALL ani_txt(
'User Var 14',11)
4521 IF(anim_se(36)==1)
CALL ani_txt(
'User Var 15',11)
4522 IF(anim_se(37)==1)
CALL ani_txt(
'User Var 16',11)
4523 IF(anim_se(38)==1)
CALL ani_txt(
'User Var 17',11)
4524 IF(anim_se(39)==1)
CALL ani_txt(
'User Var 18',11)
4525 IF(anim_se(40)==1)
CALL ani_txt(
'User Var 19',11)
4526 IF(anim_se(41)==1)
CALL ani_txt(
'User Var 20',11)
4527 IF(anim_se(42)==1)
CALL ani_txt(
'User Var 21',11)
4528 IF(anim_se(43)==1)
CALL ani_txt(
'User Var 22',11)
4529 IF(anim_se(44)==1)
CALL ani_txt(
'User Var 23',11)
4530 IF(anim_se(45)==1)
CALL ani_txt(
'User Var 24',11)
4531 IF(anim_se(46)==1)
CALL ani_txt(
'User Var 25',11)
4532 IF(anim_se(47)==1)
CALL ani_txt(
'User Var 26',11)
4533 IF(anim_se(48)==1)
CALL ani_txt(
'User Var 27',11)
4534 IF(anim_se(49)==1)
CALL ani_txt(
'User Var 28',11)
4535 IF(anim_se(50)==1)
CALL ani_txt(
'User Var 29',11)
4536 IF(anim_se(51)==1)
CALL ani_txt(
'User Var 30',11)
4537 IF(anim_se(52)==1)
CALL ani_txt(
'User Var 31',11)
4538 IF(anim_se(53)==1)
CALL ani_txt(
'User Var 32',11)
4539 IF(anim_se(54)==1)
CALL ani_txt(
'User Var 33',11)
4540 IF(anim_se(55)==1)
CALL ani_txt(
'User Var 34',11)
4541 IF(anim_se(56)==1)
CALL ani_txt(
'User Var 35',11)
4542 IF(anim_se(57)==1)
CALL ani_txt(
'User Var 36',11)
4543 IF(anim_se(58)==1)
CALL ani_txt(
'User Var 37',11)
4544 IF(anim_se(59)==1)
CALL ani_txt(
'User Var 38',11)
4545 IF(anim_se(60)==1)
CALL ani_txt(
'User Var 39',11)
4546 IF(anim_se(61)==1)
CALL ani_txt(
'User Var 40',11)
4547 IF(anim_se(62)==1)
CALL ani_txt(
'User Var 41',11)
4548 IF(anim_se(63)==1)
CALL ani_txt(
'User Var 42',11)
4549 IF(anim_se(64)==1)
CALL ani_txt(
'User Var 43',11)
4550 IF(anim_se(65)==1)
CALL ani_txt(
'User Var 44',11)
4551 IF(anim_se(66)==1)
CALL ani_txt(
'User Var 45',11)
4552 IF(anim_se(67)==1)
CALL ani_txt(
'User Var 46',11)
4553 IF(anim_se(68)==1)
CALL ani_txt(
'User Var 47',11)
4554 IF(anim_se(69)==1)
CALL ani_txt(
'User Var 48',11)
4555 IF(anim_se(70)==1)
CALL ani_txt(
'User Var 49',11)
4556 IF(anim_se(71)==1)
CALL ani_txt(
'User Var 50',11)
4557 IF(anim_se(72)==1)
CALL ani_txt(
'User Var 51',11)
4558 IF(anim_se(73)==1)
CALL ani_txt(
'User Var 52',11)
4559 IF(anim_se(74)==1)
CALL ani_txt(
'User Var 53',11)
4560 IF(anim_se(75)==1)
CALL ani_txt(
'User Var 54',11)
4561 IF(anim_se(76)==1)
CALL ani_txt(
'User Var 55',11)
4562 IF(anim_se(77)==1)
CALL ani_txt(
'User Var 56',11)
4563 IF(anim_se(78)==1)
CALL ani_txt(
'User Var 57',11)
4564 IF(anim_se(79)==1)
CALL ani_txt(
'User Var 58',11)
4565 IF(anim_se(80)==1)
CALL ani_txt(
'User Var 59',11)
4566 IF(anim_se(81)==1)
CALL ani_txt(
'User Var 60',11)
4569 IF(anim_se(i)==1)
THEN
4577 IF(anim_se(282)==1)
CALL ani_txt(
'Failed layers',13)
4582 IF(anim_se(283)==1)
CALL ani_txt(
'Volumetric Fraction 1',21)
4583 IF(anim_se(284)==1)
CALL ani_txt(
'Volumetric Fraction 2',21)
4584 IF(anim_se(285)==1)
CALL ani_txt(
'Volumetric Fraction 3',21)
4585 IF(anim_se(286)==1)
CALL ani_txt(
'Volumetric Fraction 4',21)
4589 IF(anim_se(286+3*(i-1)+1)==1)
THEN
4590 WRITE(mes,
'(A,I3,A)')
'Psi (layer',i,
')'
4593 IF(anim_se(286+3*(i-1)+2)==1)
THEN
4594 WRITE(mes,
'(A,I3,A)')
'Teta (layer',i,
')'
4597 IF(anim_se(286+3*(i-1)+3)==1)
THEN
4598 WRITE(mes,
'(A,I3,A)')
'Phi (layer',i,
')'
4603 IF(anim_se(887)==1)
CALL ani_txt(
'Burn Fraction',13)
4604 IF(anim_se(888)==1)
CALL ani_txt(
'Damage variable1',16)
4605 IF(anim_se(889)==1)
CALL ani_txt(
'Damage variable2',16)
4606 IF(anim_se(890)==1)
CALL ani_txt(
'Damage variable3',16)
4608 IF(anim_se(890+i)==1)
THEN
4609 WRITE(mes,
'(A,I3,A)')
'Damage var1 Intg Point (',i,
')'
4614 IF(anim_se(1890+i)==1)
THEN
4615 WRITE(mes,
'(A,I3,A)')
'Damage var2 Intg Point (',i,
')'
4620 IF(anim_se(2890+i)==1)
THEN
4621 WRITE(mes,
'(A,I3,A)')
'Damage var3 Intg Point (',i,
')'
4625 IF(anim_se(3890)==1)
CALL ani_txt(
'MAX DAMAGE ELEMENT',18)
4628 IF(anim_se(3890+i)==1)
THEN
4629 WRITE(mes,
'(A,I3,A)')
'MAX DAMAGE Intg Point (',i,
')'
4634 IF(anim_se(5910+i)==1)
THEN
4636 WRITE(mes,
'(A,3I3)')
4637 .
'MAX DAMAGE Intg Pt ',abs(ii)/2010,
4638 . mod(abs(ii)/10,201),mod(abs(ii),10)
4642 IF(anim_se(4890)==1)
CALL ani_txt(
'TIME DELETION ELEMENT',21)
4643 IF(anim_se(4891)==1)
CALL ani_txt(
'Sound Speed',11)
4644 IF(anim_se(4892)==1)
CALL ani_txt(
'Schlieren',9)
4645 IF(anim_se(4893)==1)
CALL ani_txt(
'Domain',6)
4646 IF(anim_se(4894)==1)
CALL ani_txt(
'Filling percentage',18)
4650 IF(anim_se(4895)==1)
CALL ani_txt(
'Equiv stress',12)
4651 IF(anim_se(4896)==1)
CALL ani_txt(
'Artificial Viscosity',20)
4656 IF(anim_se(4897)==1)
CALL ani_txt(
'Density-1',9)
4657 IF(anim_se(4898)==1)
CALL ani_txt(
'Density-2',9)
4658 IF(anim_se(4899)==1)
CALL ani_txt(
'Density-3',9)
4659 IF(anim_se(4900)==1)
CALL ani_txt(
'Density-4',9)
4661 IF(anim_se(4901)==1)
CALL ani_txt(
'Specific Energy-1',17)
4662 IF(anim_se(4902)==1)
CALL ani_txt(
'Specific Energy-2',17)
4663 IF(anim_se(4903)==1)
CALL ani_txt(
'Specific Energy-3',17)
4664 IF(anim_se(4904)==1)
CALL ani_txt(
'Specific Energy-4',17)
4666 IF(anim_se(4905)==1)
CALL ani_txt(
'Temperature-1',13)
4667 IF(anim_se(4906)==1)
CALL ani_txt(
'Temperature-2',13)
4668 IF(anim_se(4907)==1
CALL ani_txt(
'Temperature-3',13)
4669 IF(anim_se(4908)==1)
CALL ani_txt(
'Temperature-4',13)
4671 IF(anim_se(4909)==1)
CALL ani_txt(
'Pressure-1',10)
4672 IF(anim_se(4910)==1)
CALL ani_txt(
'Pressure-2',10)
4673 IF(anim_se(4911
CALL ani_txt(
'Pressure-3',10)
4674 IF(anim_se(4912)==1)
CALL ani_txt(
'Pressure-4'
4676 IF(anim_se(4913)==1)
CALL ani_txt('plastic strain-1
',16)
4677 IF(ANIM_SE(4914)==1)CALL ANI_TXT('plastic strain-2
',16)
4678 IF(ANIM_SE(4915)==1)CALL ANI_TXT('plastic strain-3
',16)
4679 IF(ANIM_SE(4916)==1)CALL ANI_TXT('plastic strain-4
',16)
4681 IF(ANIM_SE(4917)==1)CALL ANI_TXT('sound speed-1
',13)
4682 IF(ANIM_SE(4918)==1)CALL ANI_TXT('sound speed-2
',13)
4683 IF(ANIM_SE(4919)==1)CALL ANI_TXT('sound speed-3
',13)
4684 IF(ANIM_SE(4920)==1)CALL ANI_TXT('sound speed-4
',13)
4686 IF(ANIM_SE(4921)==1)CALL ANI_TXT('volume
',6) !THIS ONE IS A GLOBAL OUTPUT
4688 IF(ANIM_SE(4922)==1)CALL ANI_TXT('volume-1
',8)
4689 IF(ANIM_SE(4923)==1)CALL ANI_TXT('volume-2
',8)
4690 IF(ANIM_SE(4924)==1)CALL ANI_TXT('volume-3
',8)
4691 IF(ANIM_SE(4925)==1)CALL ANI_TXT('volume-4
',8)
4693 IF(ANIM_SE(4926)==1)CALL ANI_TXT('mass-1
',6)
4694 IF(ANIM_SE(4927)==1)CALL ANI_TXT('mass-2
',6)
4695 IF(ANIM_SE(4928)==1)CALL ANI_TXT('mass-3
',6)
4696 IF(ANIM_SE(4929)==1)CALL ANI_TXT('mass-4
',6)
4698 IF(ANIM_SE(4930)==1)CALL ANI_TXT('detonation time
',15)
4700 IF(ANIM_SE(4931)==1)CALL ANI_TXT('artificial viscosity-1
',22)
4701 IF(ANIM_SE(4932)==1)CALL ANI_TXT('artificial viscosity-2
',22)
4702 IF(ANIM_SE(4933)==1)CALL ANI_TXT('artificial viscosity-3
',22)
4703 IF(ANIM_SE(4934)==1)CALL ANI_TXT('artificial viscosity-4
',22)
4705 IF(ANIM_SE(4935)==1)CALL ANI_TXT('density of liquid - (law37)
',27)
4706 IF(ANIM_SE(4936)==1)CALL ANI_TXT('density of gas - (law37)
',27)
4708 IF(ANIM_SE(4937)==1)CALL ANI_TXT('element time step
',17)
4710 IF(ANIM_SE(4938)==1)CALL ANI_TXT('momentum density x
',20)
4711 IF(ANIM_SE(4939)==1)CALL ANI_TXT('momentum density y
',20)
4712 IF(ANIM_SE(4940)==1)CALL ANI_TXT('momentum density z
',20)
4713 IF(ANIM_SE(4941)==1)CALL ANI_TXT('momentum density xy
',20)
4714 IF(ANIM_SE(4942)==1)CALL ANI_TXT('momentum density yz
',20)
4715 IF(ANIM_SE(4943)==1)CALL ANI_TXT('momentum density xz
',20)
4716 IF(ANIM_SE(4944)==1)CALL ANI_TXT('momentum density abs
',20)
4718 IF(ANIM_SE(4945)==1)CALL ANI_TXT('velocity x
',12)
4719 IF(ANIM_SE(4946)==1)CALL ANI_TXT('velocity y
',12)
4720 IF(ANIM_SE(4947)==1)CALL ANI_TXT('velocity z
',12)
4721 IF(ANIM_SE(4948)==1)CALL ANI_TXT('velocity xy
',12)
4722 IF(ANIM_SE(4949)==1)CALL ANI_TXT('velocity yz
',12)
4723 IF(ANIM_SE(4950)==1)CALL ANI_TXT('velocity xz
',12)
4724 IF(ANIM_SE(4951)==1)CALL ANI_TXT('velocity abs
',12)
4726 IF(ANIM_SE(4952)==1)CALL ANI_TXT('internal force x
',18)
4727 IF(ANIM_SE(4953)==1)CALL ANI_TXT('internal force y
',18)
4728 IF(ANIM_SE(4954)==1)CALL ANI_TXT('internal force z
',18)
4729 IF(ANIM_SE(4955)==1)CALL ANI_TXT('internal force xy
',18)
4730 IF(ANIM_SE(4956)==1)CALL ANI_TXT('internal force yz
',18)
4731 IF(ANIM_SE(4957)==1)CALL ANI_TXT('internal force xy
',18)
4732 IF(ANIM_SE(4958)==1)CALL ANI_TXT('internal force abs
',18)
4734 IF(ANIM_SE(4959)==1)CALL ANI_TXT('ams selection
',13)
4736 IF(ANIM_SE(4960)==1) CALL ANI_TXT('vorticity-y
',11)
4737 IF(ANIM_SE(4961)==1) CALL ANI_TXT('vorticity-z
',11)
4738 IF(ANIM_SE(4962)==1) CALL ANI_TXT('vorticity
',9)
4739 IF(ANIM_SE(4963)==1) CALL ANI_TXT('internal energy
',15)
4741 IF(ANIM_SE(4964)==1)CALL ANI_TXT('plastic work
',12)
4742 IF(ANIM_SE(4965)==1)CALL ANI_TXT('element status
',14)
4743 IF(ANIM_SE(4966)==1)CALL ANI_TXT('mach number
',11)
4744 IF(ANIM_SE(4967)==1)CALL ANI_TXT('color function
',14)
4745 IF(ANIM_SE(4968)==1)CALL ANI_TXT('damage
',6)
4746 IF(ANIM_SE(4969)==1)CALL ANI_TXT('non-local plastic strain
',24)
4747 IF(ANIM_SE(4970)==1)CALL ANI_TXT('non-local plastic strain rate
',29)
4748 IF(ANIM_SE(4971)==1)CALL ANI_TXT('tsai-wu criterion
',17)
4750 IF(ANIM_SE(4971+I)==1)THEN
4752 . 'tsai-wu crit. layer
',I
4753 CALL ANI_TXT(MES,22)
4756 IF(ANIM_SE(5172)==1)CALL ANI_TXT('region identifier in p,v diagram
',32)
4757 IF(ANIM_SE(5173)==1)CALL ANI_TXT('volumetric strain
',17)
4758 IF(ANIM_SE(5174)==1)CALL ANI_TXT('volumetric strain - 1
',21)
4759 IF(ANIM_SE(5175)==1)CALL ANI_TXT('volumetric strain - 2
',21)
4760 IF(ANIM_SE(5176)==1)CALL ANI_TXT('volumetric strain - 3
',21)
4761 IF(ANIM_SE(5177)==1)CALL ANI_TXT('volumetric strain - 4
',21)
4762 IF(ANIM_SE(5178)==1)CALL ANI_TXT('volumetric strain - 5
',21)
4763 IF(ANIM_SE(5179)==1)CALL ANI_TXT('volumetric strain - 6
',21)
4764 IF(ANIM_SE(5180)==1)CALL ANI_TXT('volumetric strain - 7
',21)
4765 IF(ANIM_SE(5181)==1)CALL ANI_TXT('volumetric strain - 8
',21)
4766 IF(ANIM_SE(5182)==1)CALL ANI_TXT('volumetric strain - 9
',21)
4767 IF(ANIM_SE(5183)==1)CALL ANI_TXT('volumetric strain - 10
',22)
4775 NDMA2= NUMNOD*(MIN(1,ANIM_N(1)+OUTP_N(1)+H3D_DATA%N_SCAL_DT)
4776 . +MIN(1,ANIM_N(2)+OUTP_N(2)+H3D_DATA%N_SCAL_DMAS)
4777 . +MIN(1,ANIM_N(12)+OUTP_N(3)+H3D_DATA%N_SCAL_DINER))
4778 NNN = NUMELS+ISPH3D*(NUMSPH+MAXPJET)+3*NUMELS16+27*NUMELIG3D
4781 IF(ANIM_SE(I)==1) THEN
4783 1 ELBUF_TAB ,WAFT ,IFUNC ,IPARG ,GEO ,
4784 2 IXS ,MAS ,PM ,EL2FA ,NNN ,
4785 3 IPM ,IGEO ,NBPART ,EANI ,ANIN(NDMA2+1),
4786 4 IADG ,SPBUF ,IPART ,IPARTSP ,ISPH3D ,
4787 5 X ,V ,W ,ALE_CONNECTIVITY,
4788 6 NERCVOIS ,NESDVOIS ,LERCVOIS ,LESDVOIS ,BUFMAT ,
4789 7 FANI_CELL ,MULTI_FVM ,MAT_PARAM ,GLOB_THERM%ITHERM)
4796 IF(ANIM_ST(1)==1) CALL ANI_TXT('stress
',6)
4797 IF(ANIM_ST(2)==1) CALL ANI_TXT('strain
',6)
4798 IF(ANIM_ST(3)==1) CALL ANI_TXT('strn rate
',9)
4799 IF(ANIM_ST(4)==1) CALL ANI_TXT('damage
',6)
4800 IF(ANIM_ST(5)==1) CALL ANI_TXT('plastic strain tensor
',21)
4803 IF(ANIM_ST(I)==1)THEN
4806 . 'strs intg point
',II
4807 CALL ANI_TXT(MES,20)
4811 IF(ANIM_ST(I)==1)THEN
4814 . 'stra intg point
',II
4815 CALL ANI_TXT(MES,20)
4819 IF(ANIM_ST(I)==1)THEN
4821 WRITE(MES,'(a,3i3)
')
4822 . 'strs in pt
',ABS(II)/2010,
4823 . MOD(ABS(II)/10,201),MOD(ABS(II),10)
4824 CALL ANI_TXT(MES,20)
4828 IF(ANIM_ST(I)==1)THEN
4830 WRITE(MES,'(a,3i3)
')
4831 . 'stra in pt
',ABS(II)/2010,
4832 . MOD(ABS(II)/10,201),MOD(ABS(II),10)
4833 CALL ANI_TXT(MES,20)
4838 IF(ANIM_ST(I)==1)THEN
4841 . 'plastic strn intg point
',II
4842 CALL ANI_TXT(MES,30)
4847 IF(ANIM_ST(I)==1)THEN
4849 WRITE(MES,'(a,3i3)
')
4850 . 'plastic strn in pt
',ABS(II)/2010,
4851 . MOD(ABS(II)/10,201),MOD(ABS(II),10)
4852 CALL ANI_TXT(MES,30)
4862 IF(ANIM_ST(I)==1)THEN
4863 CALL TENSORS(ELBUF_TAB,IPARG ,IFUNC ,IXS ,PM ,
4864 2 EL2FA ,NNN ,WAFT ,TANI ,
4865 3 NBPART ,X ,IADG ,IPART ,
4866 4 IPARTSP ,ISPH3D ,IPM ,IGEO)
4876 CALL WRITE_R_C(R4,1)
4884 BUF = NUMELSG+3*NUMELS16G+NUMSPHG+27*NUMELIG3D
4888 NNNG = NUMELS+3*NUMELS16+NUMSPH+27*NUMELIG3D
4889 CALL SPMD_R4GET_PARTN(1,NNNG,NBPART,IADG,MAS4,BUF)
4895 CALL DELNUMBS(IPARG ,IXS ,EL2FA ,NNN ,WAFT ,
4896 . DD_IAD,IAD ,NBPART,IADG ,KXSP ,
4904 IF (IPART(3,I)<NSUBS) THEN
4905 CALL WRITE_I_C(IPART(3,I)-1,1)
4907 CALL WRITE_I_C(NSUBS
4908 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
4909 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)-1,1)
4914 IF(MATER(I)==2)CALL WRITE_I_C(IPART(1,I),1)
4917 IF(MATER(I)==2)CALL WRITE_I_C(IPART(2,I),1)
4930 . CALL DRBYCNT(NERBY,NPBY,FR_RBY2)
4933 . CALL DRBE2CNT(NERBE2,IRBE2,LRBE2,WEIGHT)
4937 . CALL DRBE3CNT(NERBE3,IRBE3,LRBE3,WEIGHT)
4940 IF(NB1DG+NRBODY+NRBE2T+NRBE3T+NANIM1D==0) GOTO 600
4945 BUFFERP(I) = MATER(I)
4968 ELSEIF(ITY==100)THEN
4972 IF (NFACPTX(1,IPRT)>0) THEN
4981 IF(NSPMD > 1) CALL SPMD_GLOB_ISUM9(MATER,NPART)
4983 IF(MATER(I)>3) MATER(I) = 3
4985 IF(NSPMD > 1)CALL SPMD_IBCAST(MATER,MATER,NPART,1,0,2)
4987 MATER(I) = MATER(I) + BUFFERP(I)
4992 NBPART = NBPART + MATER(I)/3
5002 CALL WRITE_I_C(NB1D_T+NANIM1D+NERBY+NERBE2+NERBE3,1)
5003 CALL WRITE_I_C(NBPART+NRBODY+NRBE2T+NRBE3T,1)
5004 CALL WRITE_I_C(NFE_ANI,1)
5005 CALL WRITE_I_C(NFT_ANI,1)
5013 CALL PARSORF(ELBUF_TAB,
5014 . X ,D ,IAD ,CDG ,IPARG ,
5015 . IXT ,IXP ,IXR ,MATER ,EL2FA ,
5016 . DD_IAD ,IADG ,IPARTT ,IPARTP,IPARTR ,
5017 . NFACPTX,IXEDGE,NODGLOB,NB1D ,NANIM1D_L,
5018 . IPART ,IGEO ,IADG_TPR,SIADG)
5028 SBUFSPM = SBUFSPM + IAD_RBY2(1,I)
5029 SBUFRECVM = SBUFRECVM + IAD_RBY2(2,I)+1
5031 SBUFSPM = SBUFSPM + 2*NRBYKIN
5032 SBUFRECVM = SBUFRECVM + 2*NRBYKIN*NSPMD
5035 IF ((ISPMD+1)==ABS(FR_RBY2(3,I)))
5036 . SBUFSPO = SBUFSPO + FR_RBY2(2,I)
5038 SBUFSPO = SBUFSPO + NRBYKIN*2
5040 SPORBY = NERBY+NRBYKIN*2
5044 CALL SPMD_DPARRBY(NPBY,LPBY,FR_RBY2,IAD_RBY2,
5045 . SBUFSPM,SBUFRECVM,SBUFSPO,SPORBY,
5046 . NODGLOB,WEIGHT,ITAB)
5048 CALL DPARRBY(LPBY ,NPBY )
5053 CALL SPMD_DPARRBE2(LRBE2, IRBE2,NODGLOB,WEIGHT,NERBE2,
5056 CALL DPARRBE2(LRBE2 ,IRBE2 )
5061 CALL SPMD_DPARRBE3(LRBE3, IRBE3,NODGLOB,WEIGHT,NERBE3,
5064 CALL DPARRBE3(LRBE3 ,IRBE3 )
5070 CALL ANIOFFF(ELBUF_TAB, IPARG ,WAFT,EL2FA ,
5071 . NB1D ,IAD ,NBPART,IADG,IOFFX1,
5074 DO J=1,NERBY+NERBE2+NERBE3
5085 BUFFERP(I) = BUFFERP(I) + IADG(K,I)
5088 CALL WRITE_I_C(BUFFERP,NBPART)
5095 PROC=ABS(FR_RBY2(3,I))
5096 IF (PROC==LOC_PROC) THEN
5097 NERBT(I)=FR_RBY2(2,I)
5100 IF(NSPMD > 1) CALL SPMD_GLOB_ISUM9(NERBT,NRBODY)
5106 CALL DONERBY(IRBY,NERBY1,NPBY,NERBT)
5107 CALL WRITE_I_C(NB1D+NANIM1D+NERBY1,1)
5110 CALL DONERBE2(I,NERBE2_1,IRBE2,NERBE2T)
5111 CALL WRITE_I_C(NB1D+NANIM1D+NERBY1+NERBE2_1,1)
5114 CALL DONERBE3(I,NERBE3_1,IRBE3,NERBE3T)
5115 CALL WRITE_I_C(NB1D+NANIM1D+NERBY1+NERBE2_1+NERBE3_1,1)
5124 WRITE(STR,'(i9,a1)
')IPART(4,I),':
'
5126 CTEXT(J)=ICHAR(STR(J:J))
5130 CALL FRETITL2(TITL,IPART(LIPART1-LTITR+1,I),40)
5132 IF(TITL(J:J)/=' ') IB = J+10
5133 CTEXT(J+10)=ICHAR(TITL(J:J))
5136 CALL WRITE_C_C(CTEXT,10+LTITL)
5143 WRITE(STR,'(i9,a2,a10)
') IRBY,':
','rigid body
'
5145 CTEXT(J)=ICHAR(STR(J:J))
5150 CALL WRITE_C_C(CTEXT,10+LTITL)
5153 WRITE(STR,'(i9,a2,a4)
') I,':
','rbe2
'
5155 CTEXT(J)=ICHAR(STR(J:J))
5161 WRITE(STR,'(i9,a2,a4)
') I,':
','rbe3'
5163 ctext(j)=ichar(str(j:j))
5172 WRITE(str,
'(I9,A2)') nom_opt(i161+lnopt1*(irby-1)),
': '
5174 ctext(j)=ichar(str(j:j))
5177 CALL fretitl2(titl,nom_opt(i161+lnopt1*(irby-1)
5178 & +lnopt1-ltitr),40)
5181 ctext(j+11)=ichar(titl(j:j))
5187 WRITE(str,
'(I9,A2)') nom_opt(i16l+lnopt1*(i-1)),
': '
5189 ctext(j)=ichar(str(j:j))
5192 CALL fretitl2(titl,nom_opt(i16l+lnopt1*(i-1)
5193 & +lnopt1-ltitr),40)
5196 ctext(j+11)=ichar(titl(j:j))
5202 WRITE(str,
'(I9,A2)') nom_opt(i16m+lnopt1*(i-1)),
': '
5204 ctext(j)=ichar(str(j:j))
5207 CALL fretitl2(titl,nom_opt(i16m+lnopt1*(i-1)
5208 & +lnopt1-ltitr),40)
5211 ctext(j+11)=ichar(titl(j:j))
5221 IF(anim_m==1.OR.anim_fe(3)==1)
THEN
5222 CALL dmasanif(elbuf_tab, x ,d ,geo ,iparg,
5223 . ixt ,ixp ,ixr ,mas ,pm ,
5230 IF(anim_fe(1)==1)
CALL ani_txt(
'Plastic Strain',14)
5231 IF(anim_fe(3)==1)
CALL ani_txt(
'Specific Energy',15)
5232 IF(anim_fe(7)==1)
CALL ani_txt(
'Von Mises',9)
5233 IF(anim_fe(11)==1)
CALL ani_txt(
'Damage 1',8)
5234 IF(anim_fe(12)==1)
CALL ani_txt(
'Damage 2',8)
5235 IF(anim_fe(13)==1)
CALL ani_txt(
'Damage 3',8)
5236 IF(anim_fe(14)==1)
CALL ani_txt(
'Stress X ',9)
5237 IF(anim_fe(15)==1)
CALL ani_txt(
'Stress Y ',9)
5238 IF(anim_fe(16)==1)
CALL ani_txt(
'Stress Z ',9)
5239 IF(anim_fe(17)==1)
CALL ani_txt(
'Stress XY',9)
5240 IF(anim_fe(18)==1)
CALL ani_txt(
'Stress YZ',9)
5241 IF(anim_fe(19)==1)
CALL ani_txt(
'Stress ZX',9)
5242 IF(anim_fe(20)==1)
CALL ani_txt(
'Element Time Step',17)
5243 IF(anim_fe(21)==1)
CALL ani_txt(
'AMS selection',13)
5244 IF(anim_fe(22)==1)
CALL ani_txt(
'Element status',14)
5247 IF (anim_fe(i) == 1)
THEN
5249 IF (ius==0) ius = 100
5250 WRITE(mes,
'(A,I3,A)')
'Plast Strn IPT ',ius,
' '
5255 IF (anim_fe(123)==1)
CALL ani_txt(
'Strain X ',9)
5256 IF (anim_fe(124)==1)
CALL ani_txt(
'Strain rate',11)
5257 IF (anim_fe(125)==1)
CALL ani_txt(
'Damage ',7)
5263 ndma2= numnod*(
min(1,anim_n(1)+outp_n(1)+h3d_data%N_SCAL_DT)
5264 . +
min(1,anim_n(2)+outp_n(2)+h3d_data%N_SCAL_DMAS)
5265 . +
min(1,anim_n(12)+outp_n(3)+h3d_data%N_SCAL_DINER))
5268 IF(anim_fe(i)==1)
THEN
5270 CALL dfuncf(elbuf_tab ,waft ,ifunc ,iparg ,geo ,
5271 . ixt ,ixp ,ixr ,mas ,pm ,
5272 . el2fa ,nb1d ,iad ,nbpart ,eani ,
5273 . anin(ndma2+1),iadg ,xfunc1 ,nanim1d_l,igeo )
5276 DO j=1,nerby+nerbe2+nerbe3
5286 IF(anim_ft(1)==1)
CALL ani_txt(
'Force & Moment ',15)
5293 IF(anim_ft(i)==1)
THEN
5294 CALL torseur(iadg_tpr ,iparg,ifunc ,ixt ,ixp ,
5295 . ixr ,el2fa,nb1d ,waft ,tors ,
5314 DO j=1,nerby+nerbe2+nerbe3
5331 CALL cntskew(iparg,lrbuf,lrbufg)
5332 IF (ispmd==0) lrbuf=lrbufg
5335 CALL aniskewf(geo,skew,iparg,ixr,dd_iad
5343 DO j=1,nerby+nerbe2+nerbe3
5370 mas4(nb1d+i) = xmass1(i)
5376 DO j=1,nerby+nerbe2+nerbe3
5384 CALL delnumbf(iparg ,ixt ,ixp ,ixr ,el2fa ,
5385 . nb1d ,waft ,dd_iad ,iad ,nbpart,
5386 . iadg ,inumx1,nanim1d_l)
5388 DO j=1,nerby+nerbe2+nerbe3
5398 IF (ipart(3,i)<nsubs)
THEN
5402 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
5403 . +
min(1,nrwall)+
min(1,nsurg+nsmad)-1,1)
5408 DO i=1,nrbody+nrbe2t+nrbe3t
5412 IF(mater(i)==3)
CALL write_i_c(ipart(1,i),1)
5414 DO i=1,nrbody+nrbe2t+nrbe3t
5418 IF(mater(i)==3)
CALL write_i_c(ipart(2,i),1)
5420 DO i=1,nrbody+nrbe2t+nrbe3t
5442 j=j+ncuts+nrwall+nsect+nsurg+nsmad+nplypartw+ncrkpartw
5445 IF(mater(i)==-2)
THEN
5452 IF(mater(i)==-3)
THEN
5457 m3=j+nrbody+nrbe2t+nrbe3t
5463 IF (anim_ply > 0)
THEN
5469 IF(anim_crk > 0)
THEN
5470 ncrksubs =
min(1,ncrkpart)
5477 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
5478 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+nfvsubs+ nplysubs
5492 IF (nrbody+nrbe2t+nrbe3t>0)
THEN
5493 WRITE(str,
'(I8,A28)')mxsubs+1,
':RBODIES & RBE2 & RBE3 MODEL'
5495 ctext(j)=ichar(str(j:j))
5501 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
5502 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+nfvsubs
5503 . +nplysubs+ncrksubs-1,1)
5510 n3=nrbody+nrbe2t+nrbe3t
5517 DO j=nrbody+nrbe2t+nrbe3t,1,-1
5525 WRITE(str,
'(I8,A15)')mxsubs
5526 . +
min(1,nrbody+nrbe2t+nrbe3t)+1,':sections model
'
5528 CTEXT(J)=ICHAR(STR(J:J))
5531 CALL WRITE_C_C(CTEXT,10+LTITL)
5533 CALL WRITE_I_C(NSUBS
5534 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
5535 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)+NFVSUBS
5536 . +NPLYSUBS+NCRKSUBS-1,1)
5545 CALL WRITE_I_C(N1,1)
5547 CALL WRITE_I_C(M1-NSURG-NSMAD-NRWALL-NPLYPARTW
5551 CALL WRITE_I_C(N2,1)
5553 CALL WRITE_I_C(N3,1)
5559 WRITE(STR,'(i8,a13)
')MXSUBS
5560 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)+1,
5563 CTEXT(J)=ICHAR(STR(J:J))
5566 CALL WRITE_C_C(CTEXT,10+LTITL)
5568 CALL WRITE_I_C(NSUBS
5569 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
5570 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)+NFVSUBS
5571 . +NPLYSUBS+NCRKSUBS-1,1)
5580 CALL WRITE_I_C(N1,1)
5582 CALL WRITE_I_C(M1-NSURG-NSMAD-NPLYPARTW
5586 CALL WRITE_I_C(N2,1)
5588 CALL WRITE_I_C(N3,1)
5593 IF (NSURG+NSMAD>0) THEN
5594 WRITE(STR,'(i8,a15)
')MXSUBS
5595 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
5596 . +MIN(1,NRWALL)+1,':surfaces model
'
5598 CTEXT(J)=ICHAR(STR(J:J))
5601 CALL WRITE_C_C(CTEXT,10+LTITL)
5603 CALL WRITE_I_C(NSUBS
5604 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
5605 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)+NFVSUBS
5606 . +NPLYSUBS+NCRKSUBS-1,1)
5615 CALL WRITE_I_C(N1,1)
5616 DO J=NSURG+NSMAD,1,-1
5617 CALL WRITE_I_C(M1-NPLYPARTW-NCRKPARTW-J,1)
5620 CALL WRITE_I_C(N2,1)
5622 CALL WRITE_I_C(N3,1)
5627 IF (NPLYSUBS>0) THEN
5629 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)+MIN(1,NRWALL)
5630 . +MIN(1,NSURG+NSMAD) + 1
5631 WRITE(STR,'(i8,a8)
')
5636 CTEXT(J)=ICHAR(STR(J:J))
5639 CALL WRITE_C_C(CTEXT,10+LTITL)
5641 CALL WRITE_I_C(NSUBS
5642 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
5643 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)+NPLYSUBS
5651 CALL WRITE_I_C(N1,1)
5654 CALL WRITE_I_C(M1-J,1)
5665 IF (NCRKSUBS>0) THEN
5667 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)+MIN(1,NRWALL)
5668 . +MIN(1,NSURG+NSMAD) + 1
5669 WRITE(STR,'(i8,a9)
')
5673 CTEXT(J)=ICHAR(STR(J:J))
5676 CALL WRITE_C_C(CTEXT,10+LTITL)
5678 CALL WRITE_I_C(NSUBS
5679 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
5680 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)+NPLYSUBS
5681 . +NFVSUBS+NCRKSUBS-1,1)
5688 CALL WRITE_I_C(N1,1)
5691 CALL WRITE_I_C(M1-J,1)
5704 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
5705 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)+ NPLYSUBS
5707 OFFPART=NBPART2D + NPLYSUBS + NCRKSUBS
5709 IF (FVDATA(I)%NPOLH_ANIM>0) THEN
5711 WRITE(STR,'(i8,a11,i8)
')
5712 . II,':fvmbag
id ',FVDATA(I)%ID
5714 CTEXT(J)=ICHAR(STR(J:J))
5717 CALL WRITE_C_C(CTEXT,10+LTITL)
5719 CALL WRITE_I_C(NSUBS
5720 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
5721 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)+NFVSUBS
5722 . +NPLYSUBS+NCRKSUBS-1,1)
5726 CALL WRITE_I_C(FVDATA(I)%NPOLH_ANIM,1)
5727 DO J=1,FVDATA(I)%NPOLH_ANIM
5728 CALL WRITE_I_C(OFFPART+J-1,1)
5730 OFFPART=OFFPART+FVDATA(I)%NPOLH_ANIM
5741 WRITE(STR,'(i8,a13)
')1,':global model
'
5743 CTEXT(J)=ICHAR(STR(J:J))
5746 CALL WRITE_C_C(CTEXT,10+LTITL)
5748 CALL WRITE_I_C(-1,1)
5750 CALL WRITE_I_C(MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
5751 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)+NFVSUBS
5752 . +NPLYSUBS+NCRKSUBS,1)
5754 IF (NRBODY+NRBE2T+NRBE3T>0)
5755 . CALL WRITE_I_C(NSUBS-1,1)
5757 . CALL WRITE_I_C(NSUBS+MIN(1,NRBODY+NRBE2T+NRBE3T)-1,1)
5759 . CALL WRITE_I_C(NSUBS+MIN(1,NSECT)
5760 . +MIN(1,NRBODY+NRBE2T+NRBE3T)-1,1)
5762 . CALL WRITE_I_C(NSUBS+MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+
5763 . NRBE3T)+MIN(1,NRWALL)-1,1)
5764.AND.
IF (ISPMD==0 NPLYSUBS > 0) THEN
5765 II=NSUBS+MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
5766 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD) - 1
5767 CALL WRITE_I_C(II,1)
5770.AND.
IF (ISPMD==0 NCRKSUBS > 0) THEN
5771 II=NSUBS+MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
5772 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD) - 1
5773 CALL WRITE_I_C(II,1)
5776.AND.
IF (ISPMD==0NFVSUBS>0) THEN
5777 II=MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)+MIN(1,NRWALL)
5778 . +MIN(1,NSURG+NSMAD)+1
5781 CALL WRITE_I_C(II-1,1)
5789.AND.
IF(MATER(K)>0MATER(K)<=M01)THEN
5791.AND.
ELSEIF(MATER(K)>M1MATER(K)<=M2)THEN
5793 ELSEIF(MATER(K)>M2)THEN
5800 CALL WRITE_I_C(N1,1)
5802.AND.
IF(MATER(K)>0MATER(K)<=M01)
5803 . CALL WRITE_I_C(MATER(K)-1,1)
5807 CALL WRITE_I_C(M1-NRWALL-NSECT-NSURG-NSMAD-NPLYPARTW
5811 CALL WRITE_I_C(N2,1)
5813.AND.
IF(MATER(K)>M1MATER(K)<=M2)
5814 . CALL WRITE_I_C(MATER(K)-M1-1,1)
5817 CALL WRITE_I_C(N3,1)
5819 IF(MATER(K)>M2)CALL WRITE_I_C(MATER(K)-M2-1,1)
5827 IF (SUBSET(I)%ID > MXSUBS) MXSUBS=SUBSET(I)%ID
5828 WRITE(STR,'(i9,a1)
') SUBSET(I)%ID,':
'
5830 CTEXT(J)=ICHAR(STR(J:J))
5833 TITL(1:LTITL) = SUBSET(I)%TITLE(1:LTITL)
5835 IF(TITL(J:J)/=' ') IB = J+10
5836 CTEXT(J+10)=ICHAR(TITL(J:J))
5839 CALL WRITE_C_C(CTEXT,10+LTITL)
5841 IF (SUBSET(I)%PARENT < NSUBS) THEN
5842 CALL WRITE_I_C(SUBSET(I)%PARENT-1,1)
5844 CALL WRITE_I_C(SUBSET(I)%PARENT
5845 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
5846 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)+NFVSUBS
5847 . +NPLYSUBS+NCRKSUBS-1,1)
5850 CALL WRITE_I_C(SUBSET(I)%NCHILD,1)
5852 DO J=1,SUBSET(I)%NCHILD
5853 CALL WRITE_I_C(SUBSET(I)%CHILD(J)-1,1)
5859 DO J=1,SUBSET(I)%NPART
5860 K = SUBSET(I)%PART(J)
5861.AND.
IF(MATER(K)>0MATER(K)<=M01)THEN
5863.AND.
ELSEIF(MATER(K)>M1MATER(K)<=M2)THEN
5865 ELSEIF(MATER(K)>M2)THEN
5870 CALL WRITE_I_C(N1,1)
5871 DO J=1,SUBSET(I)%NPART
5872 K = SUBSET(I)%PART(J)
5873.AND.
IF(MATER(K)>0MATER(K)<=M01)
5874 . CALL WRITE_I_C(MATER(K)-1,1)
5877 CALL WRITE_I_C(N2,1)
5878 DO J=1,SUBSET(I)%NPART
5879 K = SUBSET(I)%PART(J)
5880.AND.
IF(MATER(K)>M1MATER(K)<=M2)
5881 . CALL WRITE_I_C(MATER(K)-M1-1,1)
5884 CALL WRITE_I_C(N3,1)
5885 DO J=1,SUBSET(I)%NPART
5886 K = SUBSET(I)%PART(J)
5887 IF(MATER(K)>M2)CALL WRITE_I_C(MATER(K)-M2-1,1)
5893 IF (NRBODY+NRBE2T+NRBE3T>0) THEN
5894 WRITE(STR,'(i8,a14)
')MXSUBS+1,':rbodies model
'
5896 CTEXT(J)=ICHAR(STR(J:J))
5899 CALL WRITE_C_C(CTEXT,10+LTITL)
5901 CALL WRITE_I_C(NSUBS
5902 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
5903 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)+NFVSUBS
5904 . +NPLYSUBS+NCRKSUBS-1,1)
5911 N3=NRBODY+NRBE2T+NRBE3T
5913 CALL WRITE_I_C(N1,1)
5915 CALL WRITE_I_C(N2,1)
5917 CALL WRITE_I_C(N3,1)
5918 DO J=NRBODY+NRBE2T+NRBE3T,1,-1
5919 CALL WRITE_I_C(M3-J-M2,1)
5926 WRITE(STR,'(i8,a15)
')MXSUBS+MIN(1,NRBODY+NRBE2T+NRBE3T)
5927 . +1,':sections model
'
5929 CTEXT(J)=ICHAR(STR(J:J))
5932 CALL WRITE_C_C(CTEXT,10+LTITL)
5934 CALL WRITE_I_C(NSUBS
5935 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
5936 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)+NFVSUBS
5937 . +NPLYSUBS+NCRKSUBS-1,1)
5946 CALL WRITE_I_C(N1,1)
5948 CALL WRITE_I_C(M1-NSURG-NSMAD-NRWALL-NPLYPARTW-
5952 CALL WRITE_I_C(N2,1)
5954 CALL WRITE_I_C(N3,1)
5960 WRITE(STR,'(i8,a13)
')MXSUBS
5961 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
5962 . +1,':rwalls model
'
5964 CTEXT(J)=ICHAR(STR(J:J))
5967 CALL WRITE_C_C(CTEXT,10+LTITL)
5969 CALL WRITE_I_C(NSUBS
5970 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
5971 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)+NFVSUBS
5972 . +NPLYSUBS+NCRKSUBS-1,1)
5981 CALL WRITE_I_C(N1,1)
5983 CALL WRITE_I_C(M1-NSURG-NSMAD-NPLYPARTW
5987 CALL WRITE_I_C(N2,1)
5989 CALL WRITE_I_C(N3,1)
5994 IF (NSURG+NSMAD>0) THEN
5995 WRITE(STR,'(i8,a15)
')MXSUBS
5996 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
5997 . +MIN(1,NRWALL)+1,':surfaces model
'
5999 CTEXT(J)=ICHAR(STR(J:J))
6002 CALL WRITE_C_C(CTEXT,10+LTITL)
6004 CALL WRITE_I_C(NSUBS
6005 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
6006 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)+NPLYSUBS
6007 . +NFVSUBS+NCRKSUBS-1,1)
6016 CALL WRITE_I_C(N1,1)
6017 DO J=NSURG+NSMAD,1,-1
6018 CALL WRITE_I_C(M1-J-NPLYPARTW-NCRKPARTW,1)
6021 CALL WRITE_I_C(N2,1)
6023 CALL WRITE_I_C(N3,1)
6028 IF (NPLYSUBS>0) THEN
6030 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)+MIN(1,NRWALL)
6031 . +MIN(1,NSURG+NSMAD)+1
6033 WRITE(STR,'(i8,a8)
')
6036 CTEXT(J)=ICHAR(STR(J:J))
6039 CALL WRITE_C_C(CTEXT,10+LTITL)
6041 CALL WRITE_I_C(NSUBS
6042 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
6043 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)+NPLYSUBS
6051 CALL WRITE_I_C(N1,1)
6054 CALL WRITE_I_C(M1-J,1)
6065 IF (NCRKSUBS>0) THEN
6067 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)+MIN(1,NRWALL)
6068 . +MIN(1,NSURG+NSMAD)+1
6070 WRITE(STR,'(i8,a9)
')
6073 CTEXT(J)=ICHAR(STR(J:J))
6076 CALL WRITE_C_C(CTEXT,10+LTITL)
6078 CALL WRITE_I_C(NSUBS
6079 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
6080 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)+NPLYSUBS
6081 . +NFVSUBS+NCRKSUBS-1,1)
6088 CALL WRITE_I_C(N1,1)
6091 CALL WRITE_I_C(M1-J,1)
6104 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
6105 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)+ NPLYSUBS
6107 OFFPART=NBPART2D+ NPLYSUBS+NCRKSUBS
6109 IF (FVDATA(I)%NPOLH_ANIM>0) THEN
6111 WRITE(STR,'(i8,a11,i8)
')
6112 . II,':fvmbag
id ',FVDATA(I)%ID
6114 CTEXT(J)=ICHAR(STR(J:J))
6117 CALL WRITE_C_C(CTEXT,10+LTITL)
6119 CALL WRITE_I_C(NSUBS
6120 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
6121 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)+NPLYSUBS
6122 . +NFVSUBS+NCRKSUBS-1,1)
6126 CALL WRITE_I_C(FVDATA(I)%NPOLH_ANIM,1)
6127 DO J=1,FVDATA(I)%NPOLH_ANIM
6128 CALL WRITE_I_C(OFFPART+J-1,1)
6130 OFFPART=OFFPART+FVDATA(I)%NPOLH_ANIM
6141 WRITE(STR,'(i9,a1)
') SUBSET(NSUBS)%ID,':
'
6143 CTEXT(J)=ICHAR(STR(J:J))
6146 TITL(1:LTITL) = SUBSET(I)%TITLE(1:LTITL)
6148 IF(TITL(J:J)/=' ') IB = J+10
6149 CTEXT(J+10)=ICHAR(TITL(J:J))
6152 CALL WRITE_C_C(CTEXT,10+LTITL)
6154 CALL WRITE_I_C(SUBSET(NSUBS)%PARENT-1,1)
6156 CALL WRITE_I_C(SUBSET(NSUBS)%NCHILD
6157 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
6158 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)+NPLYSUBS+NFVSUBS
6161 DO J=1,SUBSET(NSUBS)%NCHILD
6162 CALL WRITE_I_C(SUBSET(NSUBS)%CHILD(J)-1,1)
6164 IF (NRBODY+NRBE2T+NRBE3T>0)
6165 . CALL WRITE_I_C(NSUBS-1,1)
6167 . CALL WRITE_I_C(NSUBS+MIN(1,NRBODY+NRBE2T+NRBE3T)-1,1)
6169 . CALL WRITE_I_C(NSUBS+MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+
6172 . CALL WRITE_I_C(NSUBS+MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+
6173 . NRBE3T)+MIN(1,NRWALL)-1,1)
6174.AND.
IF (ISPMD==0NPLYSUBS>0) THEN
6175 II=NSUBS+MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
6176 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD) - 1
6177 CALL WRITE_I_C(II,1)
6180.AND.
IF (ISPMD==0NCRKSUBS>0) THEN
6181 II=NSUBS+MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
6182 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD) - 1
6183 CALL WRITE_I_C(II,1)
6186.AND.
IF (ISPMD==0NFVSUBS>0) THEN
6187 II=NSUBS+MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
6188 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)
6190 CALL WRITE_I_C(II-1,1)
6198 DO J=1,SUBSET(I)%NPART
6199 K = SUBSET(I)%PART(J)
6200.AND.
IF(MATER(K)>0MATER(K)<=M01)THEN
6202.AND.
ELSEIF(MATER(K)>M1MATER(K)<=M2)THEN
6204 ELSEIF(MATER(K)>M2)THEN
6211 CALL WRITE_I_C(N1,1)
6212 DO J=1,SUBSET(I)%NPART
6213 K = SUBSET(I)%PART(J)
6214.AND.
IF(MATER(K)>0MATER(K)<=M01)
6215 . CALL WRITE_I_C(MATER(K)-1,1)
6219 CALL WRITE_I_C(M1-NRWALL-NSECT-NSURG-NSMAD-NPLYPARTW-
6223 CALL WRITE_I_C(N2,1)
6224 DO J=1,SUBSET(I)%NPART
6225 K = SUBSET(I)%PART(J)
6226.AND.
IF(MATER(K)>M1MATER(K)<=M2)
6227 . CALL WRITE_I_C(MATER(K)-M1-1,1)
6230 CALL WRITE_I_C(N3,1)
6231 DO J=1,SUBSET(I)%NPART
6232 K = SUBSET(I)%PART(J)
6233 IF(MATER(K)>M2)CALL WRITE_I_C(MATER(K)-M2-1,1)
6241 CALL WRITE_I_C(NUMMAT+1,1)
6242 CALL WRITE_I_C(NUMGEO+1,1)
6248 CALL ANI_TXT50('dummy material
',14)
6250 WRITE(STR,'(i9,a1)
') IPM(1,I),':
'
6252 CTEXT(J)=ICHAR(STR(J:J))
6255 CALL FRETITL2(TITL,IPM(NPROPMI-LTITR+1,I),40)
6257 IF(TITL(J:J)/=' ') IB = J+10
6258 CTEXT(J+10)=ICHAR(TITL(J:J))
6261 CALL WRITE_C_C(CTEXT,10+LTITL)
6270 CALL WRITE_I_C(NINT(PM(19,I)),1)
6277 CALL ANI_TXT50('dummy property
',14)
6279 WRITE(STR,'(i9,a1)
') IGEO(1,I),':
'
6281 CTEXT(J)=ICHAR(STR(J:J))
6284 CALL FRETITL2(TITL,IGEO(NPROPGI-LTITR+1,I),40)
6286 IF(TITL(J:J)/=' ') IB = J+10
6287 CTEXT(J+10)=ICHAR(TITL(J:J))
6290 CALL WRITE_C_C(CTEXT,10+LTITL)
6299 CALL WRITE_I_C(NINT(GEO(12,I)),1)
6307.OR.
IF(ISPH3D==1NUMSPH_T+MAXPJET==0) GOTO 700
6320 BUFFERP(I) = MATER(I)
6335 IF(NSPMD > 1) CALL SPMD_GLOB_ISUM9(MATER,NPART)
6337 IF(MATER(I)>4) MATER(I) = 4
6339 IF(NSPMD > 1) CALL SPMD_IBCAST(MATER,MATER,NPART,1,0,2)
6341 MATER(I) = MATER(I)+BUFFERP(I)
6346 IF(MATER(I)==4)NBPART = NBPART + 1
6352 CALL WRITE_I_C(NUMSPHG+MAXPJET,1)
6353 CALL WRITE_I_C(NBPART,1)
6354 CALL WRITE_I_C(NSE_ANI+2,1)
6355 CALL WRITE_I_C(NST_ANI,1)
6360 CALL PARSOR0(IAD ,IPARG ,MATER ,EL2FA ,
6362 3 KXSP ,IPARTSP ,NODGLOB)
6366 NNN = NUMSPH+MAXPJET
6367 CALL ANIOFF0(ELBUF_TAB ,IPARG ,WAFT ,EL2FA ,
6368 . NNN ,NBPART ,IADG ,SWAFT,SPH2SOL)
6376 BUFFERP(I) = BUFFERP(I) + IADG(K,I)
6379 CALL WRITE_I_C(BUFFERP,NBPART)
6387 WRITE(STR,'(i9,a1)
')IPART(4,I),':
'
6389 CTEXT(J)=ICHAR(STR(J:J))
6392 CALL FRETITL2(TITL,IPART(LIPART1-LTITR+1,I),40)
6394 IF(TITL(J:J)/=' ') IB = J+10
6395 CTEXT(J+10)=ICHAR(TITL(J:J))
6398 CALL WRITE_C_C(CTEXT,10+LTITL)
6405.OR..OR.
IF(ANIM_M==1ANIM_SE(3)==1
6406 . ANIM_SE(25)==1)THEN
6407 CALL DMASANI0(X ,D ,ELBUF_TAB,GEO ,IPARG ,
6408 2 MAS ,PM ,EL2FA ,IPART ,IPARTSP )
6416 CALL ANI_TXT('diameter
',8)
6417 CALL ANI_TXT('number of neighbours
',20)
6419 IF(ANIM_SE(1)==1) CALL ANI_TXT('plastic strain
',14)
6420 IF(ANIM_SE(2)==1) CALL ANI_TXT('density
',7)
6421 IF(ANIM_SE(3)==1) CALL ANI_TXT('specific energy
',15)
6422 IF(ANIM_SE(4)==1) CALL ANI_TXT('temperature
',11)
6423 IF(ANIM_SE(6)==1) CALL ANI_TXT('pressure
',8)
6424 IF(ANIM_SE(7)==1) CALL ANI_TXT('von mises
',9)
6425 IF(ANIM_SE(8)==1) CALL ANI_TXT('turbulent energy
',16)
6426 IF(ANIM_SE(9)==1) CALL ANI_TXT('turbulent viscosity
',19)
6427 IF(ANIM_SE(10)==1) CALL ANI_TXT('vorticity
',9)
6428 IF(ANIM_SE(11)==1) CALL ANI_TXT('damage 1
',8)
6429 IF(ANIM_SE(12)==1) CALL ANI_TXT('damage 2
',8)
6430 IF(ANIM_SE(13)==1) CALL ANI_TXT('damage 3
',8)
6431 IF(ANIM_SE(14)==1) CALL ANI_TXT('stress x
',9)
6432 IF(ANIM_SE(15)==1) CALL ANI_TXT('stress y
',9)
6433 IF(ANIM_SE(16)==1) CALL ANI_TXT('stress z
',9)
6434 IF(ANIM_SE(17)==1) CALL ANI_TXT('stress xy
',9)
6435 IF(ANIM_SE(18)==1) CALL ANI_TXT('stress yz
',9)
6436 IF(ANIM_SE(19)==1) CALL ANI_TXT('stress zx
',9)
6437 IF(ANIM_SE(20)==1) CALL ANI_TXT('user var 1
',10)
6438 IF(ANIM_SE(21)==1) CALL ANI_TXT('user var 2
',10)
6439 IF(ANIM_SE(22)==1) CALL ANI_TXT('user var 3
',10)
6440 IF(ANIM_SE(23)==1) CALL ANI_TXT('user var 4
',10)
6441 IF(ANIM_SE(24)==1) CALL ANI_TXT('user var 5
',10)
6442 IF(ANIM_SE(25)==1) CALL ANI_TXT('hourglass energy per unit mass
',30)
6443 IF(ANIM_SE(26)==1) CALL ANI_TXT('strain rate
',11)
6444 IF(ANIM_SE(27)==1) CALL ANI_TXT('user var 6
',10)
6445 IF(ANIM_SE(28)==1) CALL ANI_TXT('user var 7
',10)
6446 IF(ANIM_SE(29)==1) CALL ANI_TXT('user var 8
',10)
6447 IF(ANIM_SE(30)==1) CALL ANI_TXT('user var 9
',10)
6448 IF(ANIM_SE(31)==1) CALL ANI_TXT('user var 10
',11)
6449 IF(ANIM_SE(32)==1) CALL ANI_TXT('user var 11
',11)
6450 IF(ANIM_SE(33)==1) CALL ANI_TXT('user var 12
',11)
6451 IF(ANIM_SE(34)==1) CALL ANI_TXT('user var 13
',11)
6452 IF(ANIM_SE(35)==1) CALL ANI_TXT('user var 14
',11)
6453 IF(ANIM_SE(36)==1) CALL ANI_TXT('user var 15
',11)
6454 IF(ANIM_SE(37)==1) CALL ANI_TXT('user var 16
',11)
6455 IF(ANIM_SE(38)==1) CALL ANI_TXT('user var 17
',11)
6456 IF(ANIM_SE(39)==1) CALL ANI_TXT('user var 18
',11)
6457 IF(ANIM_SE(40)==1) CALL ANI_TXT('user var 19
',11)
6458 IF(ANIM_SE(41)==1) CALL ANI_TXT('user var 20
',11)
6459 IF(ANIM_SE(42)==1) CALL ANI_TXT('user var 21
',11)
6460 IF(ANIM_SE(43)==1) CALL ANI_TXT('user var 22
',11)
6461 IF(ANIM_SE(44)==1) CALL ANI_TXT('user var 23
',11)
6462 IF(ANIM_SE(45)==1) CALL ANI_TXT('user var 24
',11)
6463 IF(ANIM_SE(46)==1) CALL ANI_TXT('user var 25
',11)
6464 IF(ANIM_SE(47)==1) CALL ANI_TXT('user var 26
',11)
6465 IF(ANIM_SE(48)==1) CALL ANI_TXT('user var 27
',11)
6466 IF(ANIM_SE(49)==1) CALL ANI_TXT('user var 28
',11)
6467 IF(ANIM_SE(50)==1) CALL ANI_TXT('user
',11)
6468 IF(ANIM_SE(51)==1) CALL ANI_TXT('user var 30
',11)
6469 IF(ANIM_SE(52)==1) CALL ANI_TXT('user var 31
',11)
6470 IF(ANIM_SE(53)==1) CALL ANI_TXT('user var 32
',11)
6471 IF(ANIM_SE(54)==1) CALL ANI_TXT('user var 33
',11)
6472 IF(ANIM_SE(55)==1) CALL ANI_TXT('user var 34
',11)
6473 IF(ANIM_SE(56)==1) CALL ANI_TXT('user var 35
',11)
6474 IF(ANIM_SE(57)==1) CALL ANI_TXT('user var 36
',11)
6475 IF(ANIM_SE(58)==1) CALL ANI_TXT('user var 37
',11)
6476 IF(ANIM_SE(59)==1) CALL ANI_TXT('user var 38
',11)
6477 IF(ANIM_SE(60)==1) CALL ANI_TXT('user var 39
',11)
6478 IF(ANIM_SE(61)==1) CALL ANI_TXT('user var 40
',11)
6479 IF(ANIM_SE(62)==1) CALL ANI_TXT('user var 41
',11)
6480 IF(ANIM_SE(63)==1) CALL ANI_TXT('user var 42
',11)
6481 IF(ANIM_SE(64)==1) CALL ANI_TXT('user var 43
',11)
6482 IF(ANIM_SE(65)==1) CALL ANI_TXT('user var 44
',11)
6483 IF(ANIM_SE(66)==1) CALL ANI_TXT('user var 45
',11)
6484 IF(ANIM_SE(67)==1) CALL ANI_TXT('user var 46',11)
6485 IF(anim_se(68)==1)
CALL ani_txt(
'User Var 47',11)
6486 IF(anim_se(69)==1)
CALL ani_txt(
'User Var 48',11)
6487 IF(anim_se(70)==1)
CALL ani_txt(
'User Var 49',11)
6488 IF(anim_se(71)==1)
CALL ani_txt(
'User Var 50',11)
6489 IF(anim_se(72)==1)
CALL ani_txt(
'User Var 51',11)
6490 IF(anim_se(73)==1)
CALL ani_txt(
'User Var 52',11)
6491 IF(anim_se(74)==1)
CALL ani_txt(
'User Var 53',11)
6492 IF(anim_se(75)==1)
CALL ani_txt(
'User Var 54',11)
6493 IF(anim_se(76)==1)
CALL ani_txt(
'User Var 55',11)
6494 IF(anim_se(77)==1)
CALL ani_txt(
'User Var 56',11)
6495 IF(anim_se(78)==1)
CALL ani_txt(
'User Var 57',11)
6496 IF(anim_se(79)==1)
CALL ani_txt(
'User Var 58',11)
6497 IF(anim_se(80)==1)
CALL ani_txt(
'User Var 59',11)
6498 IF(anim_se(81)==1)
CALL ani_txt(
'User Var 60',11)
6500 IF(anim_se(i)==1)
THEN
6508 IF(anim_se(286+3*(i-1)+1)==1)
THEN
6509 WRITE(mes,
'(A,I3,A)')
'Psi (layer',i,
')'
6512 IF(anim_se(286+3*(i-1)+2)==1)
THEN
6513 WRITE(mes,
'(A,I3,A)')
'Teta (layer',i,
')'
6516 IF(anim_se(286+3*(i-1)+3)==1)
THEN
6517 WRITE(mes,
'(A,I3,A)')
'Phi (layer',i,
')'
6521 IF(anim_se(3890)==1)
CALL ani_txt(
'MAX DAMAGE ELEMENT',18)
6522 IF(anim_se(4893)==1)
CALL ani_txt(
'Domain',6)
6523 IF(anim_se(4937)==1)
CALL ani_txt(
'Element Time Step',17)
6524 IF(anim_se(4959)==1)
CALL ani_txt(
'AMS selection',13)
6525 IF(anim_se
CALL ani_txt(
'Element status',14)
6526 IF(anim_se(4895)==1)
CALL ani_txt(
'Equiv stress',12)
6527 IF(anim_se(5172)==1)
CALL ani_txt(
'Region identifier in p,v diagram',32)
6528 IF(anim_se(5173)==1)
CALL ani_txt(
'Volumetric Strain',17)
6533 nnn = numsph+maxpjet
6539 CALL dfunc0(elbuf_tab ,waft ,ifunc ,iparg ,
6540 2 mas ,pm ,el2fa ,nnn ,
6541 3 nbpart ,iadg ,spbuf ,ipart ,
6542 4 ipartsp ,ale_connectivity,ipm ,
6543 5 x ,v ,w ,glob_therm%ITHERM,
6544 6 nercvois ,nesdvois ,lercvois ,lesdvois,
6545 7 bufmat ,multi_fvm ,kxsp ,default_output,
6553 IF(anim_se(i) == 1)
THEN
6554 CALL dfunc0(elbuf_tab ,waft ,ifunc ,iparg ,
6555 2 mas ,pm ,el2fa ,nnn ,
6556 3 nbpart ,iadg ,spbuf ,ipart ,
6557 4 ipartsp ,ale_connectivity,ipm ,
6558 5 x ,v ,w ,glob_therm%ITHERM,
6559 6 nercvois ,nesdvois ,lercvois ,lesdvois,
6560 7 bufmat ,multi_fvm ,kxsp ,default_output
6568 IF(anim_st(1)==1)
CALL ani_txt(
'Stress',6)
6569 IF(anim_st(2)==1)
CALL ani_txt(
'Strain',6)
6570 IF(anim_st(3)==1)
CALL ani_txt(
'Strn rate',9)
6571 IF(anim_st(4)==1)
CALL ani_txt(
'Damage',6)
6572 IF(anim_st(5)==1)
CALL ani_txt(
'Plastic Strain Tensor',21)
6575 IF(anim_st(i)==1)
THEN
6578 .
'Strs Intg Point',ii
6583 IF(anim_st(i)==1)
THEN
6586 .
'Stra Intg Point',ii
6591 IF(anim_st(i)==1)
THEN
6593 WRITE(mes,
'(A,3I3)')
6594 .
'Strs In Pt',abs(ii)/2010,
6595 . mod(abs(ii)/10,201),mod(abs(ii),10)
6600 IF(anim_st(i)==1)
THEN
6602 WRITE(mes,
'(A,3I3)')
6603 .
'Stra In Pt',abs(ii)/2010,
6604 . mod(abs(ii)/10,201),mod(abs(ii),10)
6610 IF(anim_st(i)==1)
THEN
6613 . 'plastic strn intg point
',II
6614 CALL ANI_TXT(MES,30)
6619 IF(ANIM_ST(I)==1)THEN
6621 WRITE(MES,'(a,3i3)
')
6622 . 'plastic strn in pt
',ABS(II)/2010,
6623 . MOD(ABS(II)/10,201),MOD(ABS(II),10)
6624 CALL ANI_TXT(MES,30)
6633 IF(ANIM_ST(I)==1)THEN
6634 CALL TENSOR0(ELBUF_TAB,IPARG ,IFUNC ,PM ,EL2FA ,
6635 2 NNN ,WAFT ,TANI ,IAD ,
6636 3 NBPART ,X ,IADG ,IPART ,IPARTSP ,
6647 CALL WRITE_R_C(R4,1)
6658 CALL SPMD_R4GET_PARTN(1,NNN,NBPART,IADG,MAS4,BUF)
6664 CALL DELNUMB0(IPARG ,EL2FA ,NNN ,WAFT ,DD_IAD,
6665 . IAD ,NBPART,IADG ,KXSP )
6672 IF (IPART(3,I)<NSUBS) THEN
6673 CALL WRITE_I_C(IPART(3,I)-1,1)
6675 CALL WRITE_I_C(NSUBS
6676 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
6677 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)-1,1)
6682 IF(MATER(I)==4)CALL WRITE_I_C(IPART(1,I),1)
6685 IF(MATER(I)==4)CALL WRITE_I_C(IPART(2,I),1)
6709 CALL WRITE_I_C(N0,1)
6712 . CALL WRITE_I_C(MATER(K)-M3-1,1)
6721 DO J=1,SUBSET(I)%NPART
6722 K = SUBSET(I)%PART(J)
6728 CALL WRITE_I_C(N0,1)
6729 DO J=1,SUBSET(I)%NPART
6730 K = SUBSET(I)%PART(J)
6732 . CALL WRITE_I_C(MATER(K)-M3-1,1)
6740 DO J=1,SUBSET(I)%NPART
6741 K = SUBSET(I)%PART(J)
6747 CALL WRITE_I_C(N0,1)
6748 DO J=1,SUBSET(I)%NPART
6749 K = SUBSET(I)%PART(J)
6751 . CALL WRITE_I_C(MATER(K)-M3-1,1)
6756 IF(MATER(I)<0)MATER(I)=-MATER(I)
6764 CALL FILE_SIZE(ANIMSIZE)
6767 IF (OUTPUT%checksum%checksum_count > 0) THEN
6768 CALL COMPUTE_BINARY_CHECKSUM(OUTPUT%checksum%files_checksum,C_LOC(TMP_NAME),LEN_TMP_NAME,IZIP)
6771 ANIMTOTALSIZE=ANIMTOTALSIZE+ANIMSIZE
6773 WRITE (IOUT,1000) FILNAM(1:FILEN)
6774 WRITE (ISTDO,1000) FILNAM(1:FILEN)
6775 1000 FORMAT (4X,' animation file:
',1X,A,' written
')
6778 IF(ANIM_PLY > 0) THEN
6779 DEALLOCATE(WAFT_PLY)
6780 DEALLOCATE(EL2FA_PLY)
6781 DEALLOCATE(IAD_PLYG)
6783 IF(ANIM_CRK > 0) THEN
6784 DEALLOCATE(EL2FA_CRK)
6785 DEALLOCATE(IAD_CRKG)
6788 DEALLOCATE(WAFT_CRK)
6791 DEALLOCATE(WAFT,MAS,XNORM,XMASS1,XMASS2,XMASS3,
6792 . XFUNC1,XFUNC2,XFUNC3,XUSR)
6794 DEALLOCATE(WA4,MAS4)
6797 DEALLOCATE(VFLU,VVAR1,AFLU,VFLU_ALE,FANREACT,FANREACR)
6799 DEALLOCATE(WGPS,VGPS,ITAGPS)
6800 DEALLOCATE(IS_WRITTEN_NODE)
6806 DEALLOCATE(IADG_TPR)
6820 DEALLOCATE(IG3DSOLID)