204 2 IXS ,IXQ ,IXC ,IXT ,IXP ,
205 3 IXR ,IXTG ,SWAFT ,SMAS ,SXNORM ,
206 4 SIAD ,IPARG ,PM ,GEO ,MS ,
207 5 SINVERT ,CONT ,SMATER ,ICUT ,SKEW ,
208 6 XCUT ,FINT ,ITAB ,SEL2FA ,FEXT ,
209 7 FOPT ,LPBY ,NPBY ,NSTRF ,
210 8 RWBUF ,NPRW ,TANI ,ELBUF_TAB ,MAT_PARAM,
211 A DD_IAD ,WEIGHT ,EANI ,IPART ,CLUSTER ,
212 B IPARTS ,IPARTQ ,IPARTC ,IPARTT ,IPARTP ,
213 C IPARTR ,IPARTUR ,IPARTTG ,
214 D RBY ,SWA4 ,TORS ,NOM_OPT ,IGRSURF ,
215 E BUFSF ,IDATA ,RDATA ,SIADG ,BUFMAT ,
216 F BUFGEO ,KXX ,IXX ,IPARTX ,SUIX ,
217 G SXUSR ,SNFACPTX ,SIXEDGE ,SIXFACET ,SIXSOLID ,
218 H SNUMX1 ,SNUMX2 ,SNUMX3 ,SOFFX1 ,SOFFX2 ,
219 I SOFFX3 ,SMASS1 ,SMASS2 ,SMASS3 ,SFUNC1 ,
220 J SFUNC2 ,SFUNC3 ,KXSP ,IXSP ,NOD2SP ,
221 K IPARTSP ,SPBUF ,IXS10 ,IXS20 ,IXS16 ,
222 L VR ,MONVOL ,VOLMON ,IPM ,IGEO ,NODGLOB,
223 M IAD_ELEM ,FR_ELEM ,FR_SEC ,FR_RBY2 ,IAD_RBY2 ,
224 N FR_WALL ,IFLOW ,RFLOW ,FNCONT ,FTCONT ,
225 O TEMP ,THKE ,ERR_THK_SH4 ,ERR_THK_SH3 ,DIAG_SMS ,
226 P IPARI ,FNCONT2 ,DR ,ALE_CONNECTIVITY ,
227 Q IRBE2 ,IRBE3 ,LRBE2 ,LRBE3 ,FR_RBE2,
228 R FR_RBE3M ,IAD_RBE2 ,DXANCG ,NOD_PXFEM ,IEL_PXFEM,
229 S ZI_PLY ,VGAZ ,FCONTG ,FNCONTG ,FTCONTG ,
230 T FANREAC ,INOD_CRK ,IEL_CRK ,ELCUTC ,IADC_CRK ,
231 U PDAMA2 ,RES_SMS ,WEIGHT_MD ,NODGLOBXFE ,NODEDGE ,
232 V FCLUSTER ,MCLUSTER ,XFEM_TAB ,W ,
233 W NV46 ,IPARTIG3D,KXIG3D ,IXIG3D ,SIG3DSOLID,
234 X KNOT ,WIGE ,NERCVOIS ,NESDVOIS ,LERCVOIS ,
235 Y LESDVOIS ,CRKEDGE ,INDX_CRK ,XEDGE4N ,XEDGE3N ,
236 Z STACK ,SPH2SOL ,STIFN ,STIFR ,IGRNOD ,
237 1 H3D_DATA ,SUBSET ,MULTI_FVM ,KNOTLOCPC ,KNOTLOCEL ,
238 2 FCONT_MAX,FNCONTP2 ,FTCONTP2 ,GLOB_THERM ,
239 . DRAPE_SH4N, DRAPE_SH3N, DRAPEG,OUTPUT )
243 USE checksum_output_option_mod
261 USE output_mod ,
ONLY : output_
263 use element_mod ,
only : nixs,nixq,nixc,nixtg,nixr,nixt,nixp
267#include "implicit_f.inc"
271#include "com01_c.inc"
272#include "com04_c.inc"
273#include "com08_c.inc"
274#include "com09_c.inc"
275#include "com_xfem1.inc"
277#include "param_c.inc"
278#include "units_c.inc"
279#include "scr03_c.inc"
280#include "scr06_c.inc"
281#include "scr14_c.inc"
282#include "scr16_c.inc"
283#include "scr17_c.inc"
284#include "scr23_c.inc"
285#include "scr25_c.inc"
286#include "chara_c.inc"
287#include "scrcut_c.inc"
290#include "flowcom.inc"
291#include "impl1_c.inc"
293#include "filescount_c.inc"
294#include "intstamp_c.inc"
298 INTEGER SWAFT,SMAS,SXNORM,SIAD,SINVERT,SMATER,SEL2FA,SWA4,
299 . siadg,nercvois(*),nesdvois(*),lercvois(*),
300 . lesdvois(*),sph2sol(*)
302 . suix, sxusr ,sfacptx,sixedge,sixfacet,sixsolid,snumx1,
303 . snumx2,snumx3,soffx1,soffx2,soffx3,smass1,smass2,
304 .
smass3,sfunc1,sfunc2,sfunc3,sfin,snfacptx
306 INTEGER IGEO(NPROPGI,*),IPM(NPROPMI,*),INDX_CRK(*),
307 . LRBE2(*),LRBE3(*),FR_RBE2(3,*),FR_RBE3M(3,*),
308 . NOD_PXFEM(*), IEL_PXFEM(*),NODEDGE(2,*),XEDGE4N(4,*),XEDGE3N(3,*),
309 . INOD_CRK(*),IEL_CRK(*),ELCUTC(2,*),IADC_CRK(*)
311 . X(3*NUMNOD), D(3*NUMNOD), V(3*NUMNOD), A(3,NUMNOD), BUFEL(*),
312 . PM(NPROPM,NUMMAT), GEO(NPROPG,*),CONT(*),
313 . XCUT(*) , FINT(3,*),MS(*),RWBUF(NRWLP,*),SKEW(LSKEW,*),
314 . RBY(NRBY,*),FEXT(3,*) ,FOPT(6,*),TANI(6,*),EANI(*),
315 . TORS(15,*),BUFSF(*), RDATA(*),
316 . BUFMAT(*),BUFGEO(*),
317 . SPBUF(*), VR(*),VOLMON(*), RFLOW(*), FNCONT(3,*), FTCONT(3,*),
318 . TEMP(*), THKE(*), ERR_THK_SH4(*), ERR_THK_SH3(*), DIAG_SMS(*),
319 . FNCONT2(3,*), DR(3,*),DXANCG(3,*),ZI_PLY(*),VGAZ(*),
320 . FCONTG(*), FNCONTG(*), FTCONTG(*),FANREAC(6,*),PDAMA2(2,*),
321 . RES_SMS(*),FCLUSTER(3,*),MCLUSTER(3,*),W(*),
322 . WIGE(*),KNOT(*),STIFN(*),STIFR(*),KNOTLOCPC(*),KNOTLOCEL(*),
323 . FCONT_MAX(*),FNCONTP2(3,*) ,FTCONTP2(3,*)
324 INTEGER IPARG(NPARG,*),NSTRF(*),LPBY(*),
325 . IXS(NIXS,*),IXQ(NIXQ,*),IXC(NIXC,*),IXTG(NIXTG,*),
326 . IXT(NIXT,*),IXP(NIXP,*),IXR(NIXR,*),MONVOL(*) ,
327 . IXS10(6,*) ,IXS16(8,*) ,IXS20(12,*) ,
328 . ICUT(*), ITAB(*),NPBY(NNPBY,*),NPRW(*),
329 . WEIGHT(*),IPART(LIPART1,*),IPARTS(*),IPARTQ(*),IPARTC(*),
330 . IPARTT(*),IPARTP(*),IPARTR(*),IPARTUR(*),IPARTTG(*),
332 . IDATA(*),KXX(NIXX,*), IXX(*), IPARTX(*),
333 . KXSP(NISP,*), IXSP(KVOISPH,*), NOD2SP(*), IPARTSP(*),
334 . nodglob(*),iad_elem(2,*),fr_elem(*),fr_wall(*), iflow(*),
335 . ipari(npari,*),irbe2(nrbe2l,*),irbe3(nrbe3l,*),
336 . weight_md(*),nodglobxfe(*),ipartig3d(*)
337 INTEGER CTEXT(2159), IB
338 INTEGER DD_IAD(NSPMD+1,*),
339 . NN1,NN2,NN3,NN4,NN5,NN6,NN7,NN8,NN9,NN10,
341 INTEGER FR_SEC(NSPMD+1,*),FR_RBY2(3,*),IAD_RBY2(4,*),
342 . nerbt(nrbody),loc_proc,proc,nerbe2t(nrbe2g),
343 . nerbe3t(nrbe3g),iad_rbe2(4,*),nv46,kxig3d(*),
344 . ixig3d(*),sig3dsolid
345 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
346 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP,NXEL) :: XFEM_TAB
347 TYPE (CLUSTER_) ,
DIMENSION(NCLUSTER) :: CLUSTER
348 TYPE (XFEM_EDGE_) ,
DIMENSION(*) :: CRKEDGE
349 TYPE (STACK_PLY) :: STACK
350 TYPE(H3D_DATABASE) :: H3D_DATA
351 TYPE (SUBSET_) ,
DIMENSION(NSUBS) :: SUBSET
353 TYPE (GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
354 TYPE (SURF_) ,
DIMENSION(NSURF) :: IGRSURF
355 TYPE(MULTI_FVM_STRUCT),
INTENT(IN) :: MULTI_FVM
356 TYPE(t_ale_connectivity),
INTENT(IN) :: ALE_CONNECTIVITY
357 TYPE (MATPARAM_STRUCT_) ,
DIMENSION(NUMMAT) ,
INTENT(IN)
358type (glob_therm_) ,
intent(in) :: glob_therm
359 TYPE (DRAPE_) ,
INTENT(IN) :: DRAPE_SH4N(NUMELC_DRAPE)
360 TYPE (DRAPE_) ,
INTENT(IN) :: DRAPE_SH3N(NUMELTG_DRAPE)
361 TYPE (DRAPEG_) ,
INTENT(IN) :: DRAPEG
362 TYPE(OUTPUT_),
INTENT(INOUT) :: OUTPUT
367 my_real,
DIMENSION(:),
ALLOCATABLE :: WAFT , MAS , XNORM,
368 . XMASS1, XMASS2, XMASS3,
369 . XFUNC1, XFUNC2, XFUNC3,
371 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IAD
372 INTEGER,
DIMENSION(:),
ALLOCATABLE :: INVERT
373 INTEGER,
DIMENSION(:),
ALLOCATABLE :: MATER
374 INTEGER,
DIMENSION(:),
ALLOCATABLE :: EL2FA
375 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: IADG
376 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: IADG_TPR
378 INTEGER,
DIMENSION(:),
ALLOCATABLE :: UIX
379 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: NFACPTX
380 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IXEDGE
381 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IXFACET
382 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IXSOLID
383 INTEGER,
DIMENSION(:),
ALLOCATABLE :: INUMX1
384 INTEGER,
DIMENSION(:),
ALLOCATABLE :: INUMX2
385 INTEGER,
DIMENSION(:),
ALLOCATABLE :: INUMX3
386 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IOFFX1
387 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IOFFX2
388 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IOFFX3
389 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IG3DSOLID
390 INTEGER SZ16,SHFT16,IADGPS,NSN,IADISO,,IADCHKSUM
393 . ,
DIMENSION(:),
ALLOCATABLE :: wa4, mas4, wa4_fvm
395 . x_temp(3,64*numelig3d),d_temp(3,64*numelig3d),
396 . v_temp(3,64*numelig3d),a_temp(3,64*numelig3d),tabstresl(6,64*numelig3d),
397 . bid_temp(3,64*numelig3d),cont_temp(3,64*numelig3d),fint_temp(3,64*numelig3d),
398 . fext_temp(3,64*numelig3d),fanreact_temp(3,64*numelig3d)
401 my_real ,
DIMENSION (:),
ALLOCATABLE :: cbuf
402 INTEGER ,
DIMENSION (:),
ALLOCATABLE :: ICBUF
405 CHARACTER*80 STR, MES*30, CAUX,TITL*100
406 CHARACTER CHANIM*9,FILNAM*100, CHANIM1*4
407 INTEGER I, IDX,IDX0,IDX1,IDX2,NBF, NBPART, MAGIC, J, IFUNC, FILEN, NPSOL,
408 . nodcut,nelcut,lenr,leni,lencut,lencuto,ixel,
409 . mic1,mic2,mic3,mic4,mic5,mac1,mac2,mac3,npspr,n,k,
410 . i3000, nesct,nerby,nerwl,nnwl,tmpnbf,isk(6),
411 . nesbw2,nel,nft,ity,ng,oui,ipt
412 INTEGER II,II_L,INC,P,NSLARB_L,NDMA2,NUMELS_T,NSKEWA,,
413 . M1,M2,M3,M,M01,NB1D_T, NBF_L, LEN, NUMELT_T,
415 INTEGER ISECT,NESCT1,IRBY,NERBY1,IRWL,NERWL1,NERBE2,NERBE3,
417 INTEGER NSURG,NESRG, NNSRG, NESRG1, NNSRG1,ISRG,ISRF,ISRK
418 INTEGER NSMAD,NESMD, NNSMD, NESMD1, NNSMD1,ISMD
419 INTEGER NENT,OFFSI,OFFSRF,OFFSRV
420 INTEGER NESPH,NNSPH,INSPH,NESPHG,NNSPHG,SNNSPHG,SZNNSPH,SHFTSPH
421 INTEGER I161,I16A,I16B,I16C,I16D,I16E,I16F,I16G,I16H,I16I,I16J,
422 . i16k,i16l,i16m,i16n
423 INTEGER MXSUBS,NSECTSA
425 INTEGER IFLAG1D,NNNSRG,,BUF
426 INTEGER NANIM1D_L,IUS,NANIM3D_L
429 INTEGER LRBUF,BUFL,BUFFERP(NPART),SBUFSPM,SBUFRECVM,SBUFSPO,
430 . sporby,numsph_t,numels16_t,lrbufg,nnng
432 . cdg(3), s3000,xmin,ymin,zmin,xmax,
ymax,zmax, scale,
434 INTEGER K1, KK1, K2, KIBJET, KIBHOL, IADHOL, KK2, KRBJET, KRBHOL,
435 . RADHOL, ITYP, KI1, KR1, NCA
437DIMENSION(:,:),
ALLOCATABLE :: vflu , vvar1 , aflu,
438 . vflu_ale, fanreact, fanreacr
440 INTEGER IADI, , NINOUT, NNO, II1, II2, IR1, NNO_L, NNN_L,
442 INTEGER NNS, NNI, NNT, NNA, NBA, KI2, KR2
443 INTEGER FVOFF(2,NFVBAG), INOD(4), INORM(3), NFVTR, NFVNOD,
444 . NFVPART, NFVSUBS, IDMAX, KK, NN, FVIAD, JJ, OFFPART,
445 . ELOFF, IDCMAX, NND, NBID1, NBID2, NBID3, NFVNODT, IDP,
446 . NBPART2D,NRBE2T,NRBE3T,EMPSIZPL
449 INTEGER,
DIMENSION(:),
ALLOCATABLE :: , ITAGT, FVEL2FA,
450 . FVINUM, FVPBUF,EL2FA_PLY,
454 . ,
DIMENSION(:),
ALLOCATABLE :: fvmass, fvpres, fvqx, fvqy,
455 . fvqz, fvrho, fvener, fvcson,
456 . fvgama, fvvisu,waft_ply,
459 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: IAD_PLYG
460 INTEGER IUL,IAD_GP2,IFIRST,
461 . nel_ply, nfnod_pxfem,idply,nbf_pxfem_l,
462 . iply,nplysubs,id_part,nbf_pxfem,swaft_pxfem,maxpart,
463 . nbf_pxfemg,nfnod_pxfemg,plynumc,
464 . sel2fa_ply,iadpc,ifv,iad_gp3,iad_iso,iad_gp4
465 INTEGER,
DIMENSION(:),
ALLOCATABLE :: NFSHSZ
466 INTEGER,
DIMENSION(:),
ALLOCATABLE :: NFNODSZ
467 INTEGER,
DIMENSION(:),
ALLOCATABLE ::
469 . ,
DIMENSION(:),
ALLOCATABLE :: WGPS , VGPS
475 INTEGER ITG,NPLYPARTW,ILAY,ILEV,IANIM_TMP,CPT,KKT
477 INTEGER NFNOD_CRKXFEM,IDCRK,ICRK,NCRKSUBS,
478 . nbf_crkxfem,len_crkx,nbf_crkxfemg,nfnod_crkxfemg,
479 . nfshszcrk(nlevmax),sel2fa_crk,ncrkpartw,nxfenodg2(nlevmax),
481 INTEGER,
DIMENSION(:),
ALLOCATABLE :: EL2FA_CRK,IAD_CRK,ITAB_CRK,
483 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: IAD_CRKG
485 INTEGER :: LEN_TMP_NAME
486 CHARACTER(len=2048),
TARGET :: TMP_NAME
488 INTEGER :: IS_WRITTEN_NODE_FVM(AIRBAGS_TOTAL_FVM_IN_H3D)
489 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IS_WRITTEN_NODE
490 INTEGER :: DEFAULT_OUTPUT
492 ALLOCATE(WAFT(SWAFT) , MAS(SMAS) , XNORM(SXNORM) ,
493 . XMASS1(SMASS1), XMASS2(SMASS2), XMASS3(SMASS3),
494 . XFUNC1(SFUNC1), XFUNC2(SFUNC2), XFUNC3(SFUNC3),
498 ALLOCATE (wa4(swa4), mas4(smas))
499 ALLOCATE (wa4_fvm(airbags_total_fvm_in_h3d))
501 ALLOCATE(vflu(3,numnod), vvar1(3,numnod), aflu(3,numnod),
502 . vflu_ale(3,numnod),fanreact(3,numnod),fanreacr(3,numnod))
504 ALLOCATE(wgps(numnod), vgps(numnod), itagps(numnod))
506 CALL my_alloc(is_written_node,numnod)
507 CALL my_alloc(iad,siad)
508 IF(siad >0) iad(1:siad) = -huge(iad(1))
509 CALL my_alloc(invert,sinvert)
510 CALL my_alloc(mater,smater)
511 CALL my_alloc(el2fa,sel2fa)
512 CALL my_alloc(iadg,nspmd,siadg)
513 CALL my_alloc(iadg_tpr,nspmd,siadg)
514 CALL my_alloc(nfshsz,nplymax)
515 CALL my_alloc(nfnodsz,nplymax)
516 CALL my_alloc(uix,suix)
517 CALL my_alloc(nfacptx,3,snfacptx)
518 CALL my_alloc(ixedge,sixedge)
519 CALL my_alloc(ixfacet,sixfacet)
520 CALL my_alloc(ixsolid,sixsolid)
521 CALL my_alloc(inumx1,snumx1)
522 CALL my_alloc(inumx2,snumx2)
523 CALL my_alloc(inumx3,snumx3)
524 CALL my_alloc(ioffx1,soffx1)
525 CALL my_alloc(ioffx2,soffx2)
526 CALL my_alloc(ioffx3,soffx3)
527 CALL my_alloc(ig3dsolid,sig3dsolid)
529 iadg(1:nspmd,1:siadg) = 0
530 IF (anim_ply > 0)
THEN
535 IF (anim_crk > 0 .and.
THEN
536 ncrkpartw = int(ncrkpart/nxel)
544 IF(anim_vers>=47)
THEN
555 i16a=i161+lnopt1*nrbody0
556 i16b=i16a+lnopt1*naccelm
557 i16c=i16b+lnopt1*nvolu
558 i16d=i16c+lnopt1*(ninter+nintsub)
559 i16e=i16d+lnopt1*nrwall
561 i16g=i16f+lnopt1*njoint
562 i16h=i16g+lnopt1*nsect
563 i16i=i16h+lnopt1*nlink
564 i16j=i16i+lnopt1*(numskw+1+numfram+1)
565 i16k=i16j+lnopt1*nfxbody
566 i16l=i16k+lnopt1*nflow
567 i16m=i16l+lnopt1*nrbe2t
568 i16n=i16m+lnopt1*nrbe3t
580 DO WHILE(ianim_tmp /= 0)
581 ianim_tmp = ianim_tmp / 10
585 WRITE(chanim,
'(I4.4)')ianim
586 filnam=rootnam(1:rootlen)//
'A'//chanim
588 ELSEIF (cpt == 6)
THEN
589 WRITE(chanim,
'(I5.5)')ianim
590 filnam=rootnam(1:rootlen)//
'A'//chanim
592 ELSEIF (cpt == 7)
THEN
593 WRITE(chanim,
'(I6.6)')ianim
594 filnam=rootnam(1:rootlen)//'a
'//CHANIM
596 ELSEIF (CPT == 8)THEN
597 WRITE(CHANIM,'(i7.7)
')IANIM
598 FILNAM=ROOTNAM(1:ROOTLEN)//'a
'//CHANIM
600 ELSEIF (CPT == 9)THEN
601 WRITE(CHANIM,'(i8.8)
')IANIM
602 FILNAM=ROOTNAM(1:ROOTLEN)//'a
'//CHANIM
606 WRITE(CHANIM,'(i3.3)
')IANIM
607 FILNAM=ROOTNAM(1:ROOTLEN)//'a
'//CHANIM
611 WRITE(CHANIM,'(i3.3)
')IANIM
612 FILNAM=ROOTNAM(1:ROOTLEN)//'a
'//CHANIM
616 IF(ANIM_VERS>=50)THEN
617 IF(IANIM>=10000)IANIM=1
618 WRITE(CHANIM1,'(i4.4)
')IANIM
619 FILNAM=ROOTNAM(1:ROOTLEN)//'_
'//CHANIM1//'.ani
'
623 LEN_TMP_NAME = OUTFILE_NAME_LEN + FILEN
624 TMP_NAME=OUTFILE_NAME(1:OUTFILE_NAME_LEN)//FILNAM(1:FILEN)
626 CTEXT(I)=ICHAR(TMP_NAME(I:I))
630 CALL OPEN_C(CTEXT,LEN_TMP_NAME,0)
632 CALL OPEN_C(CTEXT,LEN_TMP_NAME,3)
634 CALL OPEN_C(CTEXT,LEN_TMP_NAME,6)
649 CALL ANIMX(ELBUF_TAB,
650 . IPARG ,ITAB ,X ,KXX ,IXX ,
651 . IPARTX ,PM ,GEO ,BUFMAT ,BUFGEO ,
652 . UIX ,XUSR ,NFACPTX ,IXEDGE ,IXFACET,
653 . IXSOLID ,INUMX1 ,INUMX2 ,INUMX3 ,IOFFX1 ,
654 . IOFFX2 ,IOFFX3 ,XMASS1 ,XMASS2 ,XMASS3 ,
655 . XFUNC1 ,XFUNC2 ,XFUNC3 ,NANIM1D_L)
661 IF (NUMELIG3D>0) THEN
662 BID_TEMP(:,:) = ZERO ! set to zero for vector values that are not computed
663 FIRST_NODE_IG3D = 1000000000 ! warning: if points are created elsewhere, there is a risk of exceeding 1000000000
664 CALL ANIMIG3D(ELBUF_TAB,IPARG ,X ,D ,V ,A ,
665 . WIGE ,KXIG3D ,IXIG3D,IG3DSOLID,NANIM3D_L,
666 . X_TEMP ,D_TEMP ,V_TEMP,A_TEMP, TABSTRESL,IGEO ,
667 . KNOT ,ITAB ,IPARTIG3D,IPART ,CONT, CONT_TEMP,
668 . FINT ,FINT_TEMP,FEXT ,FEXT_TEMP, FANREAC, FANREACT_TEMP,
669 . KNOTLOCPC,KNOTLOCEL)
675 NSKEWA=NUMELP + NUMELT + NUMSKW
676 NB1D =NUMELP + NUMELT + NUMELR
679 IF(IGEO(11,IXR(1,I))==12)THEN
684.AND.
IF(NSPMD>1NFVBAG>0)
685 . CALL SPMD_FVB_AMON(MONVOL, VOLMON)
687 IF (ANIM_V(10)>0) THEN
697 KIBHOL=KIBJET+LIBAGJET
698 IADHOL=KIBHOL+LIBAGHOL
701 KRBHOL=KRBJET+LRBAGJET
702 RADHOL=KRBHOL+LRBAGHOL
709.OR.
IF (ITYP==6ITYP==8) THEN
718 KI1=IADHOL+MONVOL(K1-1+31)
719 KI2=KI1+MONVOL(K1-1+20)-1
720 KR1=RADHOL+MONVOL(K1-1+34)+3*NNT
721 KR2=KR1+3*NNT+4*(NTG+NTGI)+3*NNA
723 . VFLU_ALE, NNT, VOLMON(KR1), NNA,
724 . VOLMON(KR2), IFV,NSPMD)
749 II2=II1+NNO+3*NEL+NINOUT*NIIOFLOW
754 II3=II2+NNN+NEL+2*NNO
757 IR1=1+NRFLOW+2*(NNO+NNN)
759 . VFLU, NNO, NNO_L, NNN_L,
760 . IFLOW(II1), IFLOW(II2), IFLOW(II3), IFLOW(II4), RFLOW(IR1))
763 IADR=IADR+IFLOW(IADI+15)
764 IADI=IADI+IFLOW(IADI+14)
794 MATER(IPARTTG(N)) = 1
799 MATER(IPARTUR(N)) = 1
805 IF(NSPMD > 1)CALL SPMD_GLOB_ISUM9(MATER,NPART)
807 IF(MATER(I)>1)MATER(I) = 1
809 IF(NSPMD > 1)CALL SPMD_IBCAST(MATER,MATER,NPART,1,0,2)
813 NBPART = NBPART + MATER(I)
816 NBF = NUMELQ + NUMELC + NUMELTG
818 NBF = NUMELQG+NUMELCG+NUMELTGG
819 DO I=1,NUMELQ + NUMELC + NUMELTG + 1
831 IF (ANIM_PLY > 0 ) THEN
838 NFSHSZ(I) = PLYSHELL(I)%PLYNUMSHELL
840 CALL SPMD_GLOB_ISUM9(NFSHSZ,NPLYMAX)
843 NBF_PXFEMG = NBF_PXFEMG + NFSHSZ(I)
845 NFNOD_PXFEMG = NPLYNODG
846 SWAFT_PXFEM = MAX(3*NFNOD_PXFEMG,3*NBF_PXFEMG)
847 SEL2FA_PLY = NBF_PXFEMG
851 NFNOD_PXFEM = NFNOD_PXFEM + PLYNOD(I)%PLYNUMNODS
852 NBF_PXFEM = NBF_PXFEM + PLYSHELL(I)%PLYNUMSHELL
854 SWAFT_PXFEM = MAX(3*NFNOD_PXFEM,3*NBF_PXFEM)
855 SEL2FA_PLY = NBF_PXFEM
857 ALLOCATE(EL2FA_PLY(SEL2FA_PLY), WAFT_PLY(SWAFT_PXFEM),
858 . IAD_PLY(NPLYMAX),IAD_PLYG(NSPMD,NPLYMAX))
868 NFNOD_PXFEM = NFNOD_PXFEM + PLYNOD(I)%PLYNUMNODS
869 NBF_PXFEM = NBF_PXFEM + PLYSHELL(I)%PLYNUMSHELL
872 SWAFT_PXFEM = MAX(3*NFNOD_PXFEM,3*NBF_PXFEM)
873 ALLOCATE(EL2FA_PLY(NBF_PXFEM), WAFT_PLY(SWAFT_PXFEM),
874 . IAD_PLY(NPLYMAX),IAD_PLYG(NSPMD,NPLYMAX))
881 NFNOD_PXFEMG = NFNOD_PXFEM
882 NBF_PXFEMG = NBF_PXFEM
895 IF (ANIM_CRK > 0) THEN
898 NFSHSZCRK(I) = CRKSHELL(I)%CRKNUMSHELL
900 CALL SPMD_GLOB_ISUM9(NFSHSZCRK,NLEVMAX)
901 CALL SPMD_IBCAST(NFSHSZCRK,NFSHSZCRK,NLEVMAX,1,0,2)
904 NXFENODG2(I) = CRKNOD(I)%CRKNUMNODS
906 CALL SPMD_GLOB_ISUM9(NXFENODG2,NLEVMAX)
910 NBF_CRKXFEMG = NBF_CRKXFEMG + NFSHSZCRK(I)
914 NXFENODG = NXFENODG + NXFENODG2(I)
915 NBF_CRKXFEM = NBF_CRKXFEM + CRKSHELL(I)%CRKNUMSHELL
918 NFNOD_CRKXFEMG = NXFENODG
919 LEN_CRKX = MAX(NFNOD_CRKXFEMG,NBF_CRKXFEMG) ! max of phantom nodes and elements
920 SEL2FA_CRK = NBF_CRKXFEMG + 1
921 SWAFT_CRK = MAX(3*NFNOD_CRKXFEMG,3*NBF_CRKXFEMG)
924 NFNOD_CRKXFEM = NFNOD_CRKXFEM + CRKNOD(I)%CRKNUMNODS
925 NBF_CRKXFEM = NBF_CRKXFEM + CRKSHELL(I)%CRKNUMSHELL
927 LEN_CRKX = MAX(NFNOD_CRKXFEM,NBF_CRKXFEM)
928 SEL2FA_CRK = NBF_CRKXFEM + 1
929 SWAFT_CRK = MAX(3*NFNOD_CRKXFEM,3*NBF_CRKXFEM)
931 ALLOCATE(EL2FA_CRK(SEL2FA_CRK),WAFT_CRK(SWAFT_CRK),
932 . IAD_CRK(NLEVMAX),IAD_CRKG(NSPMD,NLEVMAX))
934 ALLOCATE(IAD_LAY(INT(NLEVMAX/NXEL)))
945 NFNOD_CRKXFEM = NFNOD_CRKXFEM + CRKNOD(I)%CRKNUMNODS
946 NBF_CRKXFEM = NBF_CRKXFEM + CRKSHELL(I)%CRKNUMSHELL
949 LEN_CRKX = MAX(NFNOD_CRKXFEM,NBF_CRKXFEM)
950 SWAFT_CRK = MAX(3*NFNOD_CRKXFEM,3*NBF_CRKXFEM)
951 ALLOCATE(EL2FA_CRK(NBF_CRKXFEM))
952 ALLOCATE(WAFT_CRK(SWAFT_CRK))
953 ALLOCATE(IAD_CRK(NLEVMAX))
954 ALLOCATE(IAD_CRKG(NSPMD,NLEVMAX))
955 ALLOCATE(IAD_LAY(INT(NLEVMAX/NXEL)))
962 NFNOD_CRKXFEMG = NFNOD_CRKXFEM
963 NBF_CRKXFEMG = NBF_CRKXFEM
966 ALLOCATE(EL2FA_CRK(0),IAD_CRK(0),IAD_CRKG(0,0),IAD_LAY(0),
983 CALL CUTCNT(output,ICUT,XCUT,IXS,X,D,LENCUT)
984 LENCUT = MAX(LENCUT,NCUTS)
985 IF(LENCUT>LENCUTO)THEN
986 IF(ALLOCATED(CBUF))THEN
991 LENI=28*LENCUT+2*NCUTS
992 ALLOCATE(CBUF(LENR),STAT=oui)
993 ALLOCATE(ICBUF(LENI),STAT=oui)
995 CALL ANCMSG(MSGID=29,ANMODE=ANINFO)
1000 CALL CUTMAIN(ICUT ,XCUT ,IXS ,X ,D ,
1001 . NODCUT,NELCUT,ICBUF,CBUF,LENCUTO,NBF)
1003 MIC2=MIC1+10*LENCUTO
1004 MIC3=MIC2+12*LENCUTO
1008 MAC2=MAC1+18*LENCUTO
1022 IF(NSECT+NRWALL>0) THEN
1023 CALL DSECCNT(NESCT,NERWL,NESBW2,NSTRF,
1024 1 RWBUF ,NPRW,NNWL,IXS)
1031 . CALL DSRGCNT(IGRSURF, NSURG,NESRG,NNSRG,NESBW2)
1038.AND.
IF (ISPH3D==1NUMSPH_T+MAXPJET>0)
1039 . CALL DSPHCNT(NESPH,NNSPH,NESPHG,NNSPHG)
1049 IF (ANIM_PLY > 0) THEN
1052 IDMAX=MAX(IDMAX,ITAB(I))
1054 IF (NSPMD > 1) CALL SPMD_GLOB_IMAX9(IDMAX,1)
1057 IF (NSPMD == 1) THEN
1058.OR.
IF (NFVBAG>0 ANIM_PLY > 0) THEN
1061 IDMAX=MAX(IDMAX,ITAB(I))
1067 NFVTR=NFVTR+FVDATA(I)%NNTR
1068 FVOFF(1,I)=NUMNOD+NODCUT+NSECT+NRWALL+NNWL
1069 . +NNSRG+NNSMD+NNSPH+2*NUMELS16+NFVNOD
1070 FVOFF(2,I)=IDMAX+NFVNOD
1071 NFVNOD=NFVNOD+FVDATA(I)%NNS_ANIM
1072 NFVPART=NFVPART+FVDATA(I)%NPOLH_ANIM
1078 . CALL SPMD_FVB_ADIM(NFVTR, FVOFF, NFVNOD, NFVPART, NFVSUBS,
1079 . IDMAX, ITAB, NODCUT, NNWL, NNSRG,
1082.AND.
IF (ISPMD==0NFVTR>0)
1083 . ALLOCATE(FVEL2FA(NFVTR), FVINUM(NFVTR))
1087 IF (ANIM_CRK > 0) THEN
1088 IF (NSPMD == 1) THEN
1090 IDMAX = MAX(IDMAX,ITAB(I)) ! max id of all standard nodes
1093 CALL SPMD_CRK_IDMAX(IDMAX,ITAB)
1094 CALL SPMD_MAX_XFE_I(IDMAX)
1103 NUMELS16_T = NUMELS16G
1111 CALL WRITE_I_C(MAGIC,1)
1115 CALL WRITE_R_C(R4,1)
1116 CALL ANI_TXT('time=
',5)
1119 IF(NTITLETAB(K)==IANIM) THEN
1125 CALL ANI_TXT(TITL,81)
1127 CALL ANI_TXT('modanim
',7)
1131 CALL WRITE_R_C(R4,1)
1132 CALL ANI_TXT('frequency=
',10)
1133 CALL ANI_TXT('eigenmode
',9)
1135 CALL WRITE_R_C(ZERO,1)
1136 CALL ANI_TXT('frequency=
',10)
1137 CALL ANI_TXT('static mode
',11)
1140 CALL ANI_TXT('radioss run=
',12)
1142 CALL WRITE_I_C(ANIM_M,1)
1145 IF(NUMELS_T+ISPH3D*(NUMSPH_T+MAXPJET)+NUMELIG3D==0) THEN
1151 IFLAG1D = NUMELT_T+NUMELP_T+NUMELR_T+NANIM1D+NRBODY+
1153 IF (IFLAG1D/=0) IFLAG1D = 1
1154 CALL WRITE_I_C(IFLAG1D,1)
1169 . (NUMSPH_T+MAXPJET/=0))THEN
1175 IF(ANIM_VERS>=47)THEN
1186 CALL WRITE_I_C(NUMNODG+NODCUT+NSECT+NRWALL+NNWL
1187 . +NNSRG+NNSMD+NNSPHG+2*NUMELS16G+NFVNODT+NFNOD_PXFEMG
1188 . +NFNOD_CRKXFEMG+64*NUMELIG3D,1)
1190 CALL WRITE_I_C(NBF+NELCUT+NESBW2+NFVTR+NBF_PXFEMG
1192 NBPART2D=NBPART+NCUTS+NSECT+NRWALL+NSURG+NSMAD
1194 NBPART2D = NBPART2D + NPLYPARTW
1196 NBPART2D = NBPART2D + NCRKPARTW
1197 CALL WRITE_I_C(NBPART+NCUTS
1198 . +NSECT+NRWALL+NSURG+NSMAD+NFVPART+NPLYPARTW
1200 CALL WRITE_I_C(NN_ANI,1)
1201 IF(NBF+NELCUT+NESBW2+NFVTR+NBF_PXFEMG
1202 . +NBF_CRKXFEMG==0)THEN
1205 CALL WRITE_I_C(NCE_ANI,1)
1207 CALL WRITE_I_C(NV_ANI,1)
1208 IF(NBF+NELCUT+NESBW2+NFVTR+NBF_PXFEMG
1209 . +NBF_CRKXFEMG==0)THEN
1212 CALL WRITE_I_C(NCT_ANI,1)
1214 CALL WRITE_I_C(NSKEWA,1)
1225 CALL ANISKEW(ELBUF_TAB,SKEW ,IPARG,X ,IXT ,
1226 2 IXP ,IXR ,GEO ,DD_IAD,BUFL)
1230 CALL SCANOR(X,D,CDG,XMIN,YMIN,ZMIN,XMAX,YMAX,ZMAX,SCALE,
1233 CALL XYZNOD(X,X_TEMP,NODGLOB,WEIGHT)
1235 IF(NODCUT>0)CALL XYZCUT(CBUF,NODCUT)
1237 IF(NSECT+NRWALL>0) CALL DXYZSECT(
1238 2 NSTRF,RWBUF,NPRW ,X,XMIN,
1239 3 YMIN,ZMIN,XMAX,YMAX,ZMAX,
1240 4 FR_SEC,FR_WALL,WEIGHT,ITAB)
1242 IF (NSURG>0) CALL DXYZSRG(NESRG,IGRSURF,BUFSF)
1245 IF (ISPH3D*(NUMSPH_T+MAXPJET)>0)
1246 . CALL DXYZSPH(NESPH,KXSP,X,SPBUF,SNNSPHG,NNSPH)
1248 IF (SZ16>0) CALL XYZ16(IXS,IXS16,X,ISPMD,NSPMD,NUMELS16,NUMELS8,NUMELS10,
1249 . NUMELS20,NUMELS16G)
1252 IF(ANIM_PLY > 0)THEN
1253 IDPLY = NUMNODG+NODCUT+NSECT+NRWALL+NNWL
1254 . +NNSRG+NNSMD+NNSPHG+2*SZ16
1259 CALL XYZNOD_PLY(IPLY,IDPLY,NOD_PXFEM,X,ZI_PLY,NODGLOB,
1265 IF (ANIM_CRK > 0) THEN
1266 IDCRK = NUMNODG+NODCUT+NSECT+NRWALL+NNWL
1267 . +NNSRG+NNSMD+NNSPHG+2*SZ16
1268 IF (NSPMD > 1) CALL SPMD_MAX_XFE_I(IDCRK)
1270 ICRK = INDX_CRK(I) ! = ILEV
1271 CALL XYZNOD_CRK0(ICRK)
1272 CALL XFECUT(IPARG ,IXC ,IXTG ,ICRK ,ELCUTC ,
1273 . IEL_CRK ,IADC_CRK ,NODEDGE,CRKEDGE,XEDGE4N,
1275 CALL XYZNOD_CRK(ICRK,NFNOD_CRKXFEMG,NODGLOBXFE)
1282 IF (NSPMD == 1) THEN
1284 DO J=1,FVDATA(I)%NNS_ANIM
1285 R4=FVDATA(I)%NOD_ANIM(1,J)
1286 CALL WRITE_R_C(R4,1)
1287 R4=FVDATA(I)%NOD_ANIM(2,J)
1288 CALL WRITE_R_C(R4,1)
1289 R4=FVDATA(I)%NOD_ANIM(3,J)
1290 CALL WRITE_R_C(R4,1)
1294 CALL SPMD_FVB_ANOD()
1298 CALL WRITE_R_C(R4,1)
1300 CALL WRITE_R_C(R4,1)
1302 CALL WRITE_R_C(R4,1)
1304 CALL WRITE_R_C(R4,1)
1306 CALL WRITE_R_C(R4,1)
1308 CALL WRITE_R_C(R4,1)
1310 CALL WRITE_R_C(R4,1)
1312 CALL WRITE_R_C(R4,1)
1314 CALL WRITE_R_C(R4,1)
1315 NBID1=NUMNODG+NODCUT+NSECT+NRWALL+NNWL
1316 . +NNSRG+NNSMD+NNSPHG+2*NUMELS16G+NFVNOD+NFNOD_PXFEMG
1325 CALL PARSORC(X ,D ,XNORM,IAD ,CDG ,
1326 . BUFEL,IPARG,IXQ ,IXC ,IXTG ,
1327 . ELBUF_TAB,INVERT,EL2FA,IADG ,
1328 . MATER,IPARTQ,IPARTC,IPARTUR,IPARTTG,
1335 LENR = IAD_ELEM(1,NSPMD+1)-IAD_ELEM(1,1)
1336 CALL SPMD_EXCH_N(XNORM,IAD_ELEM,FR_ELEM,LENR)
1341 IF(NCUTS>0)CALL PARCUT(ICBUF,NELCUT)
1343 IF(NSECT+NRWALL>0) CALL DPARRWS(
1344 1 NESBW2,NSTRF, IXC ,
1345 2 IXTG ,X ,NODCUT,RWBUF,NPRW,
1348 IF (NSURG>0) CALL DPARSRG(NSURG,NNWL,NODCUT)
1351 IF (ANIM_PLY > 0) THEN
1354 PLYNUMC=PLYNUMC+PLYSHELL(I)%PLYNUMSHELL
1356 CALL PARSOR_PLY(NEL_PLY, X, D, XNORM, CDG,
1357 . IPARG, IXC, IXTG, INVERT, EL2FA_PLY,
1358 . MATER, IPARTC, NODGLOB, IDPLY, IAD_PLY,
1359 . IAD_PLYG, PLYNUMC, NBF_PXFEMG )
1363 IF (ANIM_CRK > 0) THEN ! part xfem
1365 . IPARG ,IXC ,IXTG ,EL2FA_CRK ,IDCRK ,
1366 . IAD_CRK,IAD_CRKG,NBF_CRKXFEM,NBF_CRKXFEMG,IEL_CRK ,
1367 . NODGLOBXFE,INDX_CRK,ITAB )
1371 IF (NSPMD == 1) THEN
1376 ALLOCATE(ITAGT(FVDATA(I)%NNTR))
1377 DO J=1,FVDATA(I)%NNTR
1381 DO J=1,FVDATA(I)%NPOLH_ANIM
1382 DO K=FVDATA(I)%IFVPADR_ANIM(J),
1383 . FVDATA(I)%IFVPADR_ANIM(J+1)-1
1384 KK=FVDATA(I)%IFVPOLH_ANIM(K)
1385 DO N=FVDATA(I)%IFVTADR_ANIM(KK),
1386 . FVDATA(I)%IFVTADR_ANIM(KK+1)-1
1387 NN=FVDATA(I)%IFVPOLY_ANIM(N)
1388 IF (ITAGT(NN)==1) CYCLE
1389 INOD(1)=FVOFF(1,I)+FVDATA(I)%IFVTRI_ANIM(1,NN)-1
1390 INOD(2)=FVOFF(1,I)+FVDATA(I)%IFVTRI_ANIM(2,NN)-1
1391 INOD(3)=FVOFF(1,I)+FVDATA(I)%IFVTRI_ANIM(3,NN)-1
1396 IF (INOD(2)/=INOD(1)) NND=NND+1
1397.AND.
IF (INOD(3)/=INOD(1)
1398 . INOD(3)/=INOD(2)) NND=NND+1
1406 CALL WRITE_I_C(INOD,4)
1408 FVEL2FA(ELOFF+NN)=II
1413 ELOFF=ELOFF+FVDATA(I)%NNTR
1419 . CALL SPMD_FVB_ATR(NBID1, NBID2, NBID3, FVEL2FA, FVINUM,
1425 CALL ANIOFFC(ELBUF_TAB,IPARG,WAFT ,EL2FA,NBF ,
1426 . IAD ,NBF_L,NBPART,IADG,NODGLOB ,
1427 . IPART,IPARTC,IPARTTG)
1430 DO J=1,NESBW2+NELCUT
1436 IF(ANIM_PLY > 0) THEN
1437 CALL ANIOFFC_PLY( IPLY, NEL_PLY, ELBUF_TAB, IPARG,
1438 . WAFT_PLY, EL2FA_PLY, NBF_PXFEM, IAD_PLY,
1439 . PLYNUMC, NBPART, IAD_PLYG, NODGLOB,
1440 . IPART, IPARTC, IPARTTG, NBF_PXFEMG,
1441 . IPM, IGEO, IXC , STACK )
1445 IF (ANIM_CRK > 0) THEN
1447 . XFEM_TAB ,IPARG ,IPART ,IPARTC ,IPARTTG ,
1448 . WAFT_CRK ,EL2FA_CRK ,NBF_CRKXFEMG,NBF_CRKXFEM,IAD_CRKG,
1449 . IEL_CRK ,INDX_CRK)
1452 IF (NSPMD == 1) THEN
1454 ALLOCATE(OFFTR(NFVTR))
1460 DO J=1,FVDATA(I)%NPOLH
1461 DO K=FVDATA(I)%IFVPADR(J),FVDATA(I)%IFVPADR(J+1)-1
1462 KK=FVDATA(I)%IFVPOLH(K)
1463 DO N=FVDATA(I)%IFVTADR(KK),
1464 . FVDATA(I)%IFVTADR(KK+1)-1
1465 NN=FVDATA(I)%IFVPOLY(N)
1467 N1=FVDATA(I)%IFVTRI_ANIM(1,NN)
1468 N2=FVDATA(I)%IFVTRI_ANIM(2,NN)
1469 N3=FVDATA(I)%IFVTRI_ANIM(3,NN)
1471 IF (N2/=N1) NND=NND+1
1472.AND.
IF (N3/=N2N3/=N1) NND=NND+1
1474 NN=FVEL2FA(ELOFF+NN)
1475 IF (NND==3) OFFTR(NN)=1
1480 ELOFF=ELOFF+FVDATA(I)%NNTR
1483 CALL WRITE_C_C(OFFTR,NFVTR)
1487 IF (IFVANI==1) CALL SPMD_FVB_AOFF(FVEL2FA)
1496 BUFFERP(I) = BUFFERP(I) + IADG(K,I)
1499 CALL WRITE_I_C(BUFFERP,NBPART)
1503 CALL WRITE_I_C(ICBUF(MIC4),NCUTS)
1511 CALL DONESEC(ISECT,NESCT1,NSTRF,IXS)
1514 CALL WRITE_I_C(NELCUT+NBF+NESCT1,1)
1518 IF (ISPMD==0) ALLOCATE(FVPBUF(NFVPART))
1521 . CALL SPMD_FVB_APAR(NELCUT, NBF, NESCT, NERWL, NESRG,
1528 CALL DONERWL(IRWL,NERWL1,NPRW)
1529 CALL WRITE_I_C(NELCUT+NBF+NESCT+NERWL1,1)
1534 CALL DONESRG(ISRG,NESRG1)
1535 CALL WRITE_I_C(NELCUT+NBF+NESCT+NERWL+NESRG1,1)
1539 IF(ANIM_PLY > 0 )THEN
1543 IAD_PLY(IPLY) = IAD_PLY(IPLY)
1544 . + NELCUT+NBF+NESCT+NERWL+NESRG+NESMD1
1545 CALL WRITE_I_C(IAD_PLY(IPLY) ,1)
1553 IADPC = IADPC + IAD_PLYG(P,I)
1556 * + NELCUT+NBF+NESCT+NERWL+NESRG+NESMD1
1557 CALL WRITE_I_C(IADPC ,1)
1565 IF (ANIM_CRK > 0) THEN ! xfem part addresses by layer
1567 DO ILAY = 1,NXLAYMAX
1569 ICRK = INDX_CRK(ILEV)
1570 IAD_LAY(ILAY) = IAD_LAY(ILAY) + IAD_CRK(ICRK)
1573 IAD_LAY(ILAY) = IAD_LAY(ILAY)
1574 . + NELCUT+NBF+NESCT+NERWL+NESRG+NESMD1
1575 CALL WRITE_I_C(IAD_LAY(ILAY),1)
1579 DO ILAY = 1,NXLAYMAX
1581 ICRK = INDX_CRK(ILEV)
1583 IAD_LAY(ILAY) = IAD_LAY(ILAY) + IAD_CRKG(P,ICRK)
1587 IAD_LAY(ILAY) = IAD_LAY(ILAY)
1588 . + NELCUT+NBF+NESCT+NERWL+NESRG+NESMD1
1589 CALL WRITE_I_C(IAD_LAY(ILAY),1)
1618 IF (NSPMD == 1 ) THEN
1620 FVIAD=NELCUT+NBF+NESCT+NERWL+NESRG+NESMD1
1622 ALLOCATE(ITAGT(FVDATA(I)%NNTR))
1623 DO J=1,FVDATA(I)%NNTR
1627 DO J=1,FVDATA(I)%NPOLH_ANIM
1628 DO K=FVDATA(I)%IFVPADR_ANIM(J),
1629 . FVDATA(I)%IFVPADR_ANIM(J+1)-1
1630 KK=FVDATA(I)%IFVPOLH_ANIM(K)
1631 DO N=FVDATA(I)%IFVTADR_ANIM(KK),
1632 . FVDATA(I)%IFVTADR_ANIM(KK+1)-1
1633 NN=FVDATA(I)%IFVPOLY_ANIM(N)
1634 IF (ITAGT(NN)==0) THEN
1640 CALL WRITE_I_C(FVIAD,1)
1647.AND.
IF (IFVANI==1NFVPART>0) THEN
1650 CALL WRITE_I_C(FVIAD,1)
1661 WRITE(STR,'(i9,a1)
')IPART(4,I),':
'
1663 CTEXT(J)=ICHAR(STR(J:J))
1666 CALL FRETITL2(TITL,IPART(LIPART1-LTITR+1,I),40)
1668 IF(TITL(J:J)/=' ') IB = J+10
1669 CTEXT(J+10)=ICHAR(TITL(J:J))
1672 CALL WRITE_C_C(CTEXT,10+LTITL)
1674 MAXPART = MAX(MAXPART,IPART(4,I))
1681 WRITE(STR,'(9h cut:)
')
1683 CTEXT(J)=ICHAR(STR(J:J))
1687 IAUX = ICUT(44*(I-1)+J)
1688 CAUX(1:1) = CHAR(IAUX)
1689 IF(CAUX(1:1)/=' ') IB = J+9
1690 CTEXT(J+9)=ICUT(44*(I-1)+4+J)
1693 CALL WRITE_C_C(CTEXT,10+LTITL)
1698 WRITE(STR,'(i9,a2,a7)
') ISECT,':
','section'
1700 CTEXT(J)=ICHAR(STR(J:J))
1704 CALL WRITE_C_C(CTEXT,10+LTITL)
1708 WRITE(STR,'(i9,a2)
') NOM_OPT(I16G+LNOPT1*(ISECT-1)),':
'
1710 CTEXT(J)=ICHAR(STR(J:J))
1712 CALL FRETITL2(TITL,NOM_OPT(I16G+LNOPT1*(ISECT-1)
1713 & +LNOPT1-LTITR),40)
1716 CTEXT(J+11)=ICHAR(TITL(J:J))
1719 CALL WRITE_C_C(CTEXT,10+LTITL)
1724 WRITE(STR,'(i9,a2,a10)
') IRWL,':
','rigid wall
'
1726 CTEXT(J)=ICHAR(STR(J:J))
1730 CALL WRITE_C_C(CTEXT,10+LTITL)
1734 WRITE(STR,'(i9,a2)
') NOM_OPT(I16D+LNOPT1*(IRWL-1)),':
'
1736 CTEXT(J)=ICHAR(STR(J:J))
1739 CALL FRETITL2(TITL,NOM_OPT(I16D+LNOPT1*(IRWL-1)
1740 & +LNOPT1-LTITR),40)
1742 CTEXT(J+11)=ICHAR(TITL(J:J))
1745 CALL WRITE_C_C(CTEXT,10+LTITL)
1751 IF (IGRSURF(ISRF)%TYPE==101) THEN
1753 WRITE(STR,'(i9,a1)
') ISRG,':
'
1755 CTEXT(J)=ICHAR(STR(J:J))
1758 TITL = IGRSURF(ISRF)%TITLE
1760 IF(TITL(J:J)/=' ') IB = J+10
1761 CTEXT(J+10)=ICHAR(TITL(J:J))
1764 CALL WRITE_C_C(CTEXT,10+LTITL)
1771 MAXPART = MAXPART + NSECT + NRWALL + NSURF + NCUTS
1772 IF(ANIM_PLY > 0 ) THEN
1775 WRITE(STR,'(i8,a15)
') IDPID_PLY(I),':
ply composite
'
1777 CTEXT(J)=ICHAR(STR(J:J))
1781 CALL WRITE_C_C(CTEXT,10+LTITL)
1783 MAXPART = MAXPART + NPLYPART
1787 IF(ANIM_CRK > 0) THEN
1791 WRITE(STR,'(i9,a1)
') MAXPART + I,':
'
1793 CTEXT(K)=ICHAR(STR(K:K))
1796 WRITE(TITL,'(a20,i9)
') 'cracked shell layer
',ILAY
1798 CTEXT(K+10)=ICHAR(TITL(K:K))
1801 CALL WRITE_C_C(CTEXT,10+LTITL)
1803 MAXPART = MAXPART + NCRKPARTW
1807 IF (NSPMD == 1) THEN
1810 DO J=1,FVDATA(I)%NPOLH_ANIM
1811 WRITE(STR,'(i9,a1)
') MAXPART + J,':
'
1813 CTEXT(K)=ICHAR(STR(K:K))
1816 WRITE(titl,
'(A11,I9)')
'POLYHEDRON ',j
1818 ctext(k+10)=ichar(titl(k:k))
1833 CALL xyznor(xnorm,nodglob,weight)
1836 CALL norcut(xcut,icbuf(mic5))
1839 IF (nsurg>0)
CALL dsrgnor(igrsurf,bufsf)
1847 IF (isph3d*(numsph_t+maxpjet)>0)
1848 .
CALL dsphnor(kxsp,x,spbuf,nnsphg)
1849 IF (ispmd==0.AND.numels16g>0)
1852 IF(anim_ply > 0)
THEN
1856 CALL xyznor_ply(iply,xnorm,nodglob,weight,empsizpl)
1860 IF (anim_crk > 0)
THEN
1888 IF(anim_m==1.OR.anim_ce(3)==1.OR.
1889 . anim_ce(25)==1)
THEN
1890 CALL dmasanic(elbuf_tab,x ,d ,geo ,iparg,
1891 . ixq ,ixc ,ixtg ,mas ,pm ,
1892 . el2fa,nbf ,igeo , stack )
1898 iadchksum = iad_gps+500
1899 DO i=1,output%CHECKSUM%CHECKSUM_COUNT
1900 anim_n(iadchksum+i) = 1
1905 IF(anim_n(01)==1)
CALL ani_txt(
'Time Step',9)
1906 IF(anim_n(02)==1)
CALL ani_txt(
'Mass Change',11)
1907 IF(anim_n(03)==1)
CALL ani_txt(
'Nodal Pressure',14)
1908 IF(anim_n(04)==1)
CALL ani_txt(
'Nodal Density',13)
1909 IF(anim_n(05)==1)
CALL ani_txt(
'Nodal Specific Energy',21)
1910 IF(anim_n(06)==1)
CALL ani_txt(
'Nodal Temperature',17)
1911 IF(anim_n(07)==1)
CALL ani_txt(
'Nodal Variable 1',16)
1912 IF(anim_n(08)==1)
CALL ani_txt(
'Nodal Variable 2',16)
1913 IF(anim_n(09)==1)
CALL ani_txt(
'Nodal Variable 3',16)
1914 IF(anim_n(10)==1)
CALL ani_txt(
'Nodal Variable 4',16)
1915 IF(anim_n(11)==1)
CALL ani_txt(
'Nodal Variable 5',16)
1916 IF(anim_n(12)==1)
CALL ani_txt(
'Inertia Change',14)
1917 IF(anim_n(13)==1)
CALL ani_txt(
'Nodal Potential',15)
1918 IF(anim_n(14)==1)
CALL ani_txt(
'Non Diagonal Mass Change',24)
1919 IF(anim_n(15)==1)
CALL ani_txt(
'%damage(type2 interface) / Normal',33)
1920 IF(anim_n(16)==1)
CALL ani_txt(
'%damage(type2 interface) / Tangent',34)
1921 IF(anim_n(17)==1)
CALL ani_txt(
'Nodal Schlieren',15)
1922 IF(anim_n(18)==1)
CALL ani_txt(
'Nodal Rotational Stiffness',26)
1923 IF(anim_n(19)==1)
CALL ani_txt(
'Nodal Stiffness',15)
1924 IF(anim_n(20)==1)
CALL ani_txt(
'Nodal Volumetric Fraction - 1',29)
1925 IF(anim_n(21)==1)
CALL ani_txt(
'Nodal Volumetric Fraction - 2',29)
1926 IF(anim_n(22)==1)
CALL ani_txt(
'Nodal Volumetric Fraction - 3',29)
1927 IF(anim_n(23)==1)
CALL ani_txt(
'Nodal Volumetric Fraction - 4',29)
1928 IF(anim_n(24)==1)
CALL ani_txt(
'Centroid Volumetric Fraction - 1',32)
1929 IF(anim_n(25)==1)
CALL ani_txt(
'Centroid Volumetric Fraction - 2',32)
1930 IF(anim_n(26)==1)
CALL ani_txt(
'Centroid Volumetric Fraction - 3',32)
1931 IF(anim_n(27)==1)
CALL ani_txt(
'Centroid Volumetric Fraction - 4',32)
1932 IF(anim_n(28)==1)
CALL ani_txt(
'Centroid New Volume',19)
1933 IF(anim_n(29)==1)
CALL ani_txt(
'Centroid Old Volume',19)
1934 IF(anim_n(30)==1)
CALL ani_txt(
'Nodal Sound Speed',17)
1935 IF(anim_n(31)==1)
CALL ani_txt(
'Nodal External Pressure',23)
1940 IF(anim_n(iadgps+1)==1)
CALL ani_txt(
'GPS1 Pressure',13)
1941 IF(anim_n(iadgps+2)==1)
CALL ani_txt(
'GPS1 Von Mises',14)
1942 IF(anim_n(iadgps+3)==1)
CALL ani_txt(
'GPS1 SIGXX',10)
1943 IF(anim_n(iadgps+4)==1)
CALL ani_txt(
'GPS1 SIGYY',10)
1944 IF(anim_n(iadgps+5)==1)
CALL ani_txt(
'GPS1 SIGZZ',10)
1945 IF(anim_n(iadgps+6)==1)
CALL ani_txt(
'GPS1 SIGXY',10)
1946 IF(anim_n(iadgps+7)==1)
CALL ani_txt(
'GPS1 SIGZY',10)
1947 IF(anim_n(iadgps+8)==1)
CALL ani_txt(
'GPS1 SIGXZ',10)
1948 IF(anim_n(iadgps+9)==1)
CALL ani_txt(
'GPS1 SIGXX_U',12)
1949 IF(anim_n(iadgps+10)==1)
CALL ani_txt(
'GPS1 SIGYY_U',12)
1950 IF(anim_n(iadgps+11)==1)
CALL ani_txt(
'GPS1 SIGZZ_U',12)
1951 IF(anim_n(iadgps+12)==1)
CALL ani_txt(
'GPS1 SIGXY_U',12)
1952 IF(anim_n(iadgps+13)==1)
CALL ani_txt(
'GPS1 SIGZY_U',12)
1953 IF(anim_n(iadgps+14)==1)
CALL ani_txt(
'GPS1 SIGXZ_U',12)
1954 IF(anim_n(iadgps+15)==1)
CALL ani_txt(
'GPS1 SIGXX_L',12)
1955 IF(anim_n(iadgps+16)==1)
CALL ani_txt(
'GPS1 SIGYY_L',12)
1956 IF(anim_n(iadgps+17)==1)
CALL ani_txt(
'GPS1 SIGZZ_L',12)
1957 IF(anim_n(iadgps+18)==1)
CALL ani_txt(
'GPS1 SIGXY_L',12)
1958 IF(anim_n(iadgps+19)==1)
CALL ani_txt(
'GPS1 SIGZY_L',12)
1959 IF(anim_n(iadgps+20)==1)
CALL ani_txt(
'GPS1 SIGXZ_L',12)
1960 iadgps = iad_gps+100
1961 IF(anim_n(iadgps+1)==1)
CALL ani_txt(
'GPS2 Pressure',13)
1962 IF(anim_n(iadgps+2)==1)
CALL ani_txt(
'GPS2 Von Mises',14)
1963 IF(anim_n(iadgps+3)==1)
CALL ani_txt(
'GPS2 SIGXX',10)
1964 IF(anim_n(iadgps+4)==1)
CALL ani_txt(
'GPS2 SIGYY',10)
1965 IF(anim_n(iadgps+5)==1)
CALL ani_txt(
'GPS2 SIGZZ',10)
1966 IF(anim_n(iadgps+6)==1)
CALL ani_txt(
'GPS2 SIGXY',10)
1967 IF(anim_n(iadgps+7)==1)
CALL ani_txt(
'GPS2 SIGZY',10)
1968 IF(anim_n(iadgps+8)==1)
CALL ani_txt(
'GPS2 SIGXZ',10)
1969 IF(anim_n(iadgps+9)==1)
CALL ani_txt(
'GPS2 SIGXX_U',12)
1970 IF(anim_n(iadgps+10)==1)
CALL ani_txt(
'GPS2 SIGYY_U',12)
1971 IF(anim_n(iadgps+11)==1)
CALL ani_txt(
'GPS2 SIGZZ_U',12)
1972 IF(anim_n(iadgps+12)==1)
CALL ani_txt(
'GPS2 SIGXY_U',12)
1973 IF(anim_n(iadgps+13)==1)
CALL ani_txt(
'GPS2 SIGZY_U',12)
1974 IF(anim_n(iadgps+14)==1)
CALL ani_txt(
'GPS2 SIGXZ_U',12)
1975 IF(anim_n(iadgps+15)==1)
CALL ani_txt(
'GPS2 SIGXX_L',12)
1976 IF(anim_n(iadgps+16)==1)
CALL ani_txt(
'GPS2 SIGYY_L',12)
1977 IF(anim_n(iadgps+17)==1)
CALL ani_txt(
'GPS2 SIGZZ_L',12)
1978 IF(anim_n(iadgps+18)==1)
CALL ani_txt('gps2 sigxy_l
',12)
1979 IF(ANIM_N(IADGPS+19)==1) CALL ANI_TXT('gps2 sigzy_l
',12)
1980 IF(ANIM_N(IADGPS+20)==1) CALL ANI_TXT('gps2 sigxz_l
',12)
1982 IADGPS = IAD_GPS+200
1983 IF(ANIM_N(IADGPS+1)==1) CALL ANI_TXT('gps sigxx
',9)
1984 IF(ANIM_N(IADGPS+2)==1) CALL ANI_TXT('gps sigyy
',9)
1985 IF(ANIM_N(IADGPS+3)==1) CALL ANI_TXT('gps sigzz
',9)
1986 IF(ANIM_N(IADGPS+4)==1) CALL ANI_TXT('gps sigxy
',9)
1987 IF(ANIM_N(IADGPS+5)==1) CALL ANI_TXT('gps sigzy
',9)
1988 IF(ANIM_N(IADGPS+6)==1) CALL ANI_TXT('gps sigxz
',9)
1990 IADISO = IAD_GPS+300
1991 IF(ANIM_N(IADISO+1)==1) CALL ANI_TXT('stress isogeo sigxx
',19)
1992 IF(ANIM_N(IADISO+2)==1) CALL ANI_TXT('stress isogeo sigyy
',19)
1993 IF(ANIM_N(IADISO+3)==1) CALL ANI_TXT('stress isogeo sigzz
',19)
1994 IF(ANIM_N(IADISO+4)==1) CALL ANI_TXT('stress isogeo sigxy
',19)
1995 IF(ANIM_N(IADISO+5)==1) CALL ANI_TXT('stress isogeo sigzy
',19)
1996 IF(ANIM_N(IADISO+6)==1) CALL ANI_TXT('stress isogeo sigxz
',19)
1998 IADGPS = IAD_GPS+400
1999 IF(ANIM_N(IADGPS+1)==1) CALL ANI_TXT('gpstrain epsxx
',14)
2000 IF(ANIM_N(IADGPS+2)==1) CALL ANI_TXT('gpstrain epsyy
',14)
2001 IF(ANIM_N(IADGPS+3)==1) CALL ANI_TXT('gpstrain epszz
',14)
2002 IF(ANIM_N(IADGPS+4)==1) CALL ANI_TXT('gpstrain epsxy
',14)
2003 IF(ANIM_N(IADGPS+5)==1) CALL ANI_TXT('gpstrain epszy
',14)
2004 IF(ANIM_N(IADGPS+6)==1) CALL ANI_TXT('gpstrain epsxz
',14)
2006 IADCHKSUM = IAD_GPS+500
2007 IF(OUTPUT%CHECKSUM%CHECKSUM_COUNT > 0) THEN
2008 ! print *,'output%CHECKSUM%CHECKSUM_COUNT =
',OUTPUT%CHECKSUM%CHECKSUM_COUNT
2009 DO I=1,OUTPUT%CHECKSUM%CHECKSUM_COUNT
2010 CALL ANI_TXT('zchksm_
'//OUTPUT%CHECKSUM%CHECKSUMS(I), 7+LEN_TRIM(OUTPUT%CHECKSUM%CHECKSUMS(I)))
2011 ! print *, 'anim_n(iadchksum+i) =
', ANIM_N(IADCHKSUM+I)
2012 ! print *, 'output%CHECKSUM%CHECKSUMS(i) =
', OUTPUT%CHECKSUM%CHECKSUMS(I)
2018 IF(NBF+NELCUT+NESBW2/=0)THEN
2019 IF(ANIM_CE(1)==1) CALL ANI_TXT('plastic strain
',14)
2020 IF(ANIM_CE(2)==1) CALL ANI_TXT('density
',7)
2021 IF(ANIM_CE(3)==1) CALL ANI_TXT('specific energy
',15)
2022 IF(ANIM_CE(4)==1) CALL ANI_TXT('temperature
',11)
2023 IF(ANIM_CE(5)==1) CALL ANI_TXT('thickness
',9)
2024 IF(ANIM_CE(6)==1) CALL ANI_TXT('pressure
',8)
2025 IF(ANIM_CE(7)==1) CALL ANI_TXT('von mises
',9)
2026 IF(ANIM_CE(8)==1) CALL ANI_TXT('turbulent energy
',16)
2027 IF(ANIM_CE(9)==1) CALL ANI_TXT('turbulent viscosity
',19)
2028 IF(ANIM_CE(10)==1) CALL ANI_TXT('vorticity-x
',11)
2029 IF(ANIM_CE(11)==1) CALL ANI_TXT('damage 1
',8)
2030 IF(ANIM_CE(12)==1) CALL ANI_TXT('damage 2
',8)
2031 IF(ANIM_CE(13)==1) CALL ANI_TXT('damage 3
',8)
2032 IF(ANIM_CE(14)==1) CALL ANI_TXT('stress x
',9)
2033 IF(ANIM_CE(15)==1) CALL ANI_TXT('stress y
',9)
2034 IF(ANIM_CE(16)==1) CALL ANI_TXT('stress z
',9)
2035 IF(ANIM_CE(17)==1) CALL ANI_TXT('stress xy
',9)
2036 IF(ANIM_CE(18)==1) CALL ANI_TXT('stress yz
',9)
2037 IF(ANIM_CE(19)==1) CALL ANI_TXT('stress zx
',9)
2038 IF(ANIM_CE(20)==1) CALL ANI_TXT('user var 1
',10)
2039 IF(ANIM_CE(21)==1) CALL ANI_TXT('user var 2
',10)
2040 IF(ANIM_CE(22)==1) CALL ANI_TXT('user var 3
',10)
2041 IF(ANIM_CE(23)==1) CALL ANI_TXT('user var 4
',10)
2042 IF(ANIM_CE(24)==1) CALL ANI_TXT('user var 5
',10)
2043 IF(ANIM_CE(25)==1) CALL ANI_TXT('hourglass energy per unit mass
',30)
2044 IF(ANIM_CE(26)==1) CALL ANI_TXT('strain rate
',11)
2045 IF(ANIM_CE(27)==1) CALL ANI_TXT('user var 6
',10)
2046 IF(ANIM_CE(28)==1) CALL ANI_TXT('user var 7
',10)
2047 IF(ANIM_CE(29)==1) CALL ANI_TXT('user var 8
',10)
2048 IF(ANIM_CE(30)==1) CALL ANI_TXT('user var 9
',10)
2049 IF(ANIM_CE(31)==1) CALL ANI_TXT('user var 10
',11)
2050 IF(ANIM_CE(32)==1) CALL ANI_TXT('user var 11
',11)
2051 IF(ANIM_CE(33)==1) CALL ANI_TXT('user var 12
',11)
2052 IF(ANIM_CE(34)==1) CALL ANI_TXT('user var 13
',11)
2053 IF(ANIM_CE(35)==1) CALL ANI_TXT('user var 14
',11)
2054 IF(ANIM_CE(36)==1) CALL ANI_TXT('user var 15
',11)
2055 IF(ANIM_CE(37)==1) CALL ANI_TXT('user var 16
',11)
2056 IF(ANIM_CE(38)==1) CALL ANI_TXT('user var 17
',11)
2057 IF(ANIM_CE(39)==1) CALL ANI_TXT('user var 18
',11)
2059 IF(ANIM_CE(I)==1)THEN
2060 II = (I - 39)/100 + 1
2061 IUS = MOD ((I - 39), 100)
2066 WRITE(MES,'(a,i2,a,i3,a)
')
2067 . 'user var
',II,'(layer
',IUS,')
'
2068 CALL ANI_TXT(MES,20)
2071 IF(ANIM_CE(2040)==1) CALL ANI_TXT('plastic strain upper
',20)
2072 IF(ANIM_CE(2041)==1) CALL ANI_TXT('plastic strain lower
',20)
2074 IF(ANIM_CE(I)==1)THEN
2075 IUS = MOD ((I - 2041), 100)
2077 WRITE(MES,'(a,i3,a)
')
2078 . 'plast strn layer
',IUS, ' '
2079 CALL ANI_TXT(MES,21)
2082 IF(ANIM_CE(2142)==1) CALL ANI_TXT('nb of failed layers
',19)
2083 IF(ANIM_CE(2143)==1) CALL ANI_TXT('airbag crossing mass
',20)
2084 IF(ANIM_CE(2144)==1)
2085 . CALL ANI_TXT('airbag crossing
velocity',24)
2086 IF(ANIM_CE(2145)==1) CALL ANI_TXT('fvmbag - mass
',13)
2087 IF(ANIM_CE(2146)==1) CALL ANI_TXT('fvmbag - pressure
',17)
2088 IF(ANIM_CE(2147)==1)
2089 . CALL ANI_TXT('fvmbag - fluid
velocity x
',25)
2090 IF(ANIM_CE(2148)==1)
2091 . CALL ANI_TXT('fvmbag - fluid
velocity y
',25)
2092 IF(ANIM_CE(2149)==1)
2093 . CALL ANI_TXT('fvmbag - fluid
velocity z
',25)
2094 IF(ANIM_CE(2150)==1) CALL ANI_TXT('fvmbag - density
',16)
2095 IF(ANIM_CE(2151)==1)
2096 . CALL ANI_TXT('fvmbag - specific energy
',24)
2097 IF(ANIM_CE(2152)==1) CALL ANI_TXT('fvmbag - sound speed
',20)
2098 IF(ANIM_CE(2153)==1) CALL ANI_TXT('fvmbag - gama
',13)
2099 IF(ANIM_CE(2154)==1)
2100 . CALL ANI_TXT('fvmbag - visu polyhedra
',23)
2101 IF(ANIM_CE(2155)==1) CALL ANI_TXT('thinning percentage
',19)
2102 IF(ANIM_CE(2156)==1)
2103 . CALL ANI_TXT('estimated error on thickness
',28)
2105 IF(ANIM_CE(I)==1)THEN
2106 II = (I - 2239)/100 + 21
2107 IUS = MOD ((I - 2239), 100)
2112 WRITE(MES,'(a,i2,a,i3,a)
')
2113 . 'user var
',II,'(layer
',IUS,')
'
2114 CALL ANI_TXT(MES,20)
2119 IF(ANIM_CE(I)==1)THEN
2121 WRITE(MES,'(a,i3,a)
')
2122 . 'phi,(layer
',II,')
'
2123 CALL ANI_TXT(MES,16)
2126 IF(ANIM_CE(10240)==1) CALL ANI_TXT('inter
ply -
min-damage
',22)
2127 IF(ANIM_CE(10241)==1) CALL ANI_TXT('inter
ply -sigzz
',16)
2128 IF(ANIM_CE(10242)==1) CALL ANI_TXT('inter
ply -sigyz
',16)
2129 IF(ANIM_CE(10243)==1) CALL ANI_TXT('inter
ply -sigxz
',16)
2130 IF(ANIM_CE(10244)==1) CALL ANI_TXT('inter
ply -epszz
',16)
2131 IF(ANIM_CE(10245)==1) CALL ANI_TXT('inter
ply -epsyz',16)
2132 IF(anim_ce(10246)==1)
CALL ani_txt(
'INTER PLY -EPSXZ',16)
2133 IF(anim_ce(10247)==1)
CALL ani_txt(
'INTER PLY -EINT',15)
2134 IF(anim_ce(10248)==1)
CALL ani_txt(
'Volumetric Fraction 1',21)
2135 IF(anim_ce(10249)==1)
CALL ani_txt(
'Volumetric Fraction 2',21)
2136 IF(anim_ce(10250)==1)
CALL ani_txt(
'Volumetric Fraction 3',21)
2137 IF(anim_ce(10251)==1)
CALL ani_txt(
'Volumetric Fraction 4',21)
2138 IF(anim_ce(10252)==1)
CALL ani_txt(
'Burn Fraction',13)
2142 IF(anim_ce(10253)==1)
CALL ani_txt(
'NXT FAILURE FACTOR',18)
2143 IF(anim_ce(10254)==1)
CALL ani_txt(
'SIGMA1/h',8)
2144 IF(anim_ce(10255)==1)
CALL ani_txt(
'SIGMA2/h',8)
2148 IF(anim_ce(10256)==1)
CALL ani_txt(
'MAX DAMAGE ELEMENT',18)
2149 IF(anim_ce(10257)==1)
CALL ani_txt(
'MAX DAMAGE UPPER',16)
2150 IF(anim_ce(10258)==1)
CALL ani_txt(
'MAX DAMAGE LOWER',16)
2151 IF(anim_ce(10259)==1)
CALL ani_txt(
'MAX DAMAGE MEMBRANE',19)
2153 IF(anim_ce(i)==1)
THEN
2155 WRITE(mes,
'(A,I3,A)')
2156 .
'DAMAGE,(Layer ',ii,
')'
2160 IF(anim_ce(10360)==1)
CALL ani_txt(
'NXT FAILURE FACTOR UPPER',24)
2161 IF(anim_ce(10361)==1)
CALL ani_txt(
'NXT FAILURE FACTOR LOWER',24)
2162 IF(anim_ce(10362)==1)
CALL ani_txt(
'NXT FAILURE FACTOR MEMBRANE',27)
2164 IF(anim_ce(i)==1)
THEN
2166 WRITE(mes,
'(A,I3,A)')
2167 .
'NXT FAILURE FACTOR,(Layer ',ii,
')'
2171 IF(anim_ce(10463)==1)
CALL ani_txt(
'SIGMA1/h UPPER',14)
2172 IF(anim_ce(10464)==1)
CALL ani_txt(
'SIGMA1/h LOWER',14)
2173 IF(anim_ce(10465)==1)
CALL ani_txt(
'SIGMA1/h MEMBRANE',17)
2175 IF(anim_ce(i)==1)
THEN
2177 WRITE(mes,
'(A,I3,A)')
2178 .
'SIGMA1/h,(Layer ',ii,
')'
2182 IF(anim_ce(10566)==1)
CALL ani_txt(
'SIGMA2/h UPPER',14)
2183 IF(anim_ce(10567)==1)
CALL ani_txt(
'SIGMA2/h LOWER',14)
2184 IF(anim_ce(10568)==1)
CALL ani_txt(
'SIGMA2/h MEMBRANE',17)
2186 IF(anim_ce(i)==1)
THEN
2188 WRITE(mes,
'(A,I3,A)')
2189 .
'SIGMA2/h,(Layer ',ii,
')'
2193 IF(anim_ce(10669)==1)
CALL ani_txt(
'INTER PLY - MAX-DAMAGE',22)
2194 IF(anim_ce(10670)==1)
CALL ani_txt(
'TIME DELETION ELEMENT',21)
2195 IF(anim_ce(10671)==1)
CALL ani_txt(
'Sound Speed',11)
2196 IF(anim_ce(10672)==1)
CALL ani_txt(
'Schlieren',9)
2197 IF(anim_ce(10673)==1)
CALL ani_txt(
'phi MEMBRANE',12)
2198 IF(anim_ce(10674)==1)
CALL ani_txt(
'phi UPPER',9)
2199 IF(anim_ce(10675)==1)
CALL ani_txt(
'phi LOWER',9)
2200 IF(anim_ce(10676)==1)
CALL ani_txt(
'Domain',6)
2204 IF(anim_ce(10677)==1)
CALL ani_txt(
'Equiv stress',12)
2210 IF (anim_ce(i) == 1)
THEN
2211 ius = mod((i - 10677), 100)
2212 IF(ius==0) ius = 100
2213 WRITE(mes,
'(A,I3,A)')
2214 .
'Plastic Strain Upper Layer',ius,
' '
2220 IF (anim_ce(i) == 1)
THEN
2221 ius = mod((i - 10777), 100)
2222 IF(ius==0) ius = 100
2223 WRITE(mes,
'(A,I3,A)')
2224 .
'Plastic Strain Lower Layer',ius,
' '
2232 IF (anim_ce(ius + 10877) == 1)
THEN
2235 WRITE(mes,
'(A,I4,I3,A)')
2236 .
'Plast Strn Layer/IPT ',ilay,ipt,
' '
2244 IF(anim_ce(11888)==1)
CALL ani_txt(
'Artificial Viscosity',20)
2245 IF(anim_ce(11889)==1)
CALL ani_txt(
'Detonation Time',15)
2248 IF(anim_ce(11890)==1)
CALL ani_txt(
'Density-1',9)
2249 IF(anim_ce(11891)==1)
CALL ani_txt(
'Density-2',9)
2250 IF(anim_ce(11892)==1)
CALL ani_txt(
'Density-3',9)
2251 IF(anim_ce(11893)==1)
CALL ani_txt(
'Density-4',9)
2253 IF(anim_ce(11894)==1)
CALL ani_txt(
'Specific Energy-1',17)
2254 IF(anim_ce(11895)==1)
CALL ani_txt(
'Specific Energy-2',17)
2255 IF(anim_ce(11896)==1)
CALL ani_txt(
'Specific Energy-3',17)
2256 IF(anim_ce(11897)==1)
CALL ani_txt(
'Specific Energy-4',17)
2258 IF(anim_ce(11898)==1)
CALL ani_txt(
'Temperature-1',13)
2259 IF(anim_ce(11899)==1)
CALL ani_txt(
'Temperature-2',13)
2260 IF(anim_ce(11900)==1)
CALL ani_txt(
'Temperature-3',13)
2261 IF(anim_ce(11901)==1)
CALL ani_txt(
'Temperature-4',13)
2263 IF(anim_ce(11902)==1)
CALL ani_txt(
'Pressure-1',10)
2264 IF(anim_ce(11903)==1)
CALL ani_txt(
'Pressure-2',10)
2265 IF(anim_ce(11904)==1)
CALL ani_txt(
'Pressure-3',10)
2266 IF(anim_ce(11905)==1)
CALL ani_txt(
'Pressure-4',10)
2268 IF(anim_ce(11906)==1)
CALL ani_txt(
'Plastic Strain-1',16)
2269 IF(anim_ce(11907)==1)
CALL ani_txt(
'Plastic Strain-2',16)
2270 IF(anim_ce(11908)==1)
CALL ani_txt(
'Plastic Strain-3',16)
2271 IF(anim_ce(11909)==1)
CALL ani_txt(
'Plastic Strain-4',16)
2273 IF(anim_ce(11910)==1)
CALL ani_txt(
'Sound Speed-1',13)
2274 IF(anim_ce(11911)==1)
CALL ani_txt(
'Sound Speed-2',13)
2275 IF(anim_ce(11912)==1)
CALL ani_txt(
'Sound Speed-3',13)
2276 IF(anim_ce(11913)==1)
CALL ani_txt(
'Sound Speed-4',13)
2278 IF(anim_ce(11914)==1)
CALL ani_txt(
'Volume-1',8)
2279 IF(anim_ce(11915)==1)
CALL ani_txt(
'Volume-2',8)
2280 IF(anim_ce(11916)==1)
CALL ani_txt(
'Volume-3',8)
2281 IF(anim_ce(11917)==1)
CALL ani_txt(
'Volume-4',8)
2283 IF(anim_ce(11918)==1)
CALL ani_txt(
'Mass-1',6)
2284 IF(anim_ce(11919)==1)
CALL ani_txt(
'Mass-2',6)
2285 IF(anim_ce(11920)==1)
CALL ani_txt(
'Mass-3',6)
2286 IF(anim_ce(11921)==1)
CALL ani_txt(
'Mass-4',6)
2288 IF(anim_ce(11922)==1)
CALL ani_txt(
'Artificial Viscosity-1',22)
2289 IF(anim_ce(11923)==1)
CALL ani_txt(
'Artificial Viscosity-2',22)
2290 IF(anim_ce(11924)==1)
CALL ani_txt(
'Artificial Viscosity-3',22)
2291 IF(anim_ce(11925)==1)
CALL ani_txt(
'Artificial Viscosity-4',22)
2298 IF(anim_ce(11925+i) == 1)
THEN
2299 WRITE(mes,
'(A,I10)')
2300 .
'PLY_ID ',ply_anim( 3 * (i - 1) + 1)
2308 IF(anim_ce( (11925+mx_ply_anim) +i) == 1)
THEN
2309 WRITE(mes,
'(A,I10,A)')
2310 .
'PHI,(Ply_id ',ply_anim_phi( 3 * (i - 1) + 1),
')'
2318 IF(anim_ce( (11925+2*mx_ply_anim) +i) == 1)
THEN
2319 WRITE(mes,
'(A,I10,A,I3)')
2320 .
'Plas Str PLY/IPT',ply_anim_epsp( 3 * (i - 1) + 1),
2321 .
' ',ply_anim_epsp( 3 * (i - 1) + 3)
2329 IF(anim_ce( (11925+3*mx_ply_anim) +i) == 1)
THEN
2330 WRITE(mes,
'(A,I10,A,I3)')
2331 .
'DAMAGE PLY/IPT',ply_anim_dama( 3 * (i - 1) + 1),
2332 .
' ',ply_anim_dama( 3 * (i - 1) + 3)
2339 idx = 11925+4*mx_ply_anim
2340 IF(anim_ce(idx+1) == 1)
CALL ani_txt(
'FLD FAILURE FACTOR UPPER',24)
2341 IF(anim_ce(idx+2) == 1)
CALL ani_txt(
'FLD FAILURE FACTOR LOWER',24)
2342 IF(anim_ce(idx+3) == 1)
CALL ani_txt(
'FLD FAILURE FACTOR MEMBRANE',27)
2346 idx = 11925+4*mx_ply_anim+3
2347 IF(anim_ce(idx+1) == 1)
CALL ani_txt(
'FLD ZONE INDEX UPPER',20)
2348 IF(anim_ce(idx+2) == 1)
CALL ani_txt(
'FLD ZONE INDEX LOWER',20)
2349 IF(anim_ce(idx+3) == 1)
CALL ani_txt(
'FLD ZONE INDEX MEMBRANE',23)
2355 idx = 11931+4*mx_ply_anim
2357 IF (anim_ce(i) == 1)
THEN
2358 ius = mod((i - idx), 100)
2359 IF (ius == 0) ius = 100
2360 WRITE(mes,
'(A,I3,A)')
2361 .
'MAX DAMAGE UPPER Layer',ius,
' '
2366 idx = 12031+4*mx_ply_anim
2368 IF (anim_ce(i) == 1)
THEN
2369 ius = mod((i - idx), 100)
2370 IF (ius == 0) ius = 100
2371 WRITE(mes,
'(A,I3,A)')
2372 .
'MAX DAMAGE LOWER Layer',ius,
' '
2377 idx = 12131+4*mx_ply_anim
2379 IF (anim_ce(i) == 1)
THEN
2380 ius = mod((i - idx), 100)
2381 IF (ius == 0) ius = 100
2382 WRITE(mes,
'(A,I3,A)')
2383 .
'MAX DAMAGE MEMBRANE Layer',ius,
' '
2388 idx = 12231+4*mx_ply_anim
2392 IF (anim_ce(ius + idx) == 1)
THEN
2395 WRITE(mes,
'(A,I4,I3,A)')
2396 .
'MAX DAMAGE Layer/IPT ',ilay,ipt,
' '
2404 IF(anim_ce(idx+13242)==1)
CALL ani_txt(
'Element Time Step',17)
2408 IF(anim_ce(idx+13242+1)==1)
CALL ani_txt(
'AMS selection',13)
2412 IF(anim_ce(idx+13242+2)==1)
CALL ani_txt(
'Internal Energy',15)
2415 IF(anim_ce(idx+13242+3)==1)
CALL ani_txt(
'Plastic Work',12)
2417 idx = 13245 + 4*mx_ply_anim
2418 IF(anim_ce(idx + 1)==1)
CALL ani_txt(
'Plastic Work Upper',18)
2419 IF(anim_ce(idx + 2)==1)
CALL ani_txt(
'Plastic Work Lower',18)
2420 idx = 13247 + 4*mx_ply_anim
2422 IF(anim_ce(idx + i)==1)
THEN
2425 WRITE(mes,
'(A,I3,A)')
2426 .
'Plast Work Layer ',ius,
' '
2435 idx = 13347 + 4*mx_ply_anim
2437 IF (anim_ce(idx + i) == 1)
THEN
2439 IF(ius==0) ius = 100
2440 WRITE(mes,
'(A,I3,A)')
2441 .
'Plastic Work Upper Layer',ius,
' '
2446 idx = 13447 + 4*mx_ply_anim
2448 IF (anim_ce(idx + i) == 1)
THEN
2450 IF(ius==0) ius = 100
2451 WRITE(mes,
'(A,I3,A)')
2452 .
'Plastic Work Lower Layer',ius,
' '
2457 idx = 13547 + 4*mx_ply_anim
2461 IF (anim_ce(idx + ius) == 1)
THEN
2464 WRITE(mes,
'(A,I4,I3,A)')
2465 .
'Plast Work Layer/IPT ',ilay,ipt,
' '
2475 idx = 13547 + 4*mx_ply_anim +1000 +1
2476 IF(anim_ce(idx) == 1)
CALL ani_txt(
'Element Status',14)
2478 idx = 13547 + 4*mx_ply_anim +1000 +2
2479 IF(anim_ce(idx) == 1)
CALL ani_txt(
'Mach Number',11)
2481 idx = 13547 + 4*mx_ply_anim +1000 +3
2482 IF(anim_ce(idx) == 1)
CALL ani_txt(
'Color Function',14)
2484 idx = 13547 + 4*mx_ply_anim +1000 +4
2485 IF(anim_ce(idx)==1)
CALL ani_txt(
'Damage (Mean value)',19)
2486 IF(anim_ce(idx+1)==1)
CALL ani_txt(
'Damage (Upper value)',20)
2487 IF(anim_ce(idx+2)==1)
CALL ani_txt(
'Damage (Lower value)',20)
2488 IF(anim_ce(idx+3)==1)
CALL ani_txt(
'Damage (Membrane value)',23)
2489 DO i=idx+3+1,idx+3+11
2490 IF(anim_ce(i)==1)
THEN
2492 WRITE(mes,
'(A,I3,A)')
2493 .
'Damage (Thck. point ',ii,
' value)'
2501 IF(anim_ce(idx) == 1)
THEN
2506 idx = 14567 + 4*mx_ply_anim
2507 IF(anim_ce(idx) == 1)
CALL ani_txt(
'Non-local plastic strain',24)
2508 IF(anim_ce(idx+1) == 1)
CALL ani_txt(
'Non-local plastic strain (Upper)',32)
2509 IF(anim_ce(idx+2) == 1)
CALL ani_txt(
'Non-local plastic strain (Lower)',32)
2510 DO i=idx+2+1,idx+2+11
2511 IF (anim_ce(i) == 1)
THEN
2513 WRITE(mes,
'(A,I3,A)')
2514 .
'Nloc plast at point ',ii,
' '
2520 idx = 14581 + 4*mx_ply_anim
2521 IF(anim_ce(idx) == 1)
CALL ani_txt(
'Non-local plastic strain rate',29)
2522 IF(anim_ce(idx+1) == 1)
CALL ani_txt(
'Non-local plastic strain rate (Upper)',37)
2523 IF(anim_ce(idx+2) == 1)
CALL ani_txt(
'Non-local plastic strain rate (Lower)',37)
2524 DO i=idx+2+1,idx+2+11
2525 IF (anim_ce(i) == 1)
THEN
2527 WRITE(mes,
'(A,I3,A)')
'Nloc rate at point ',ii,
' '
2536 idx = 14595 + 4*mx_ply_anim
2537 IF(anim_ce(idx )==1)
CALL ani_txt(
'Tsai-Wu Criterion' ,17)
2538 IF(anim_ce(idx + 1)==1)
CALL ani_txt(
'Tsai-Wu Crit. Upper',19)
2539 IF(anim_ce(idx + 2)==1)
CALL ani_txt(
'Tsai-Wu Crit. Lower',19)
2541 IF(anim_ce(idx + 2 + i)==1)
THEN
2543 IF(ius==0) ius = 100
2544 WRITE(mes,
'(A,I3,A)')
'Tsai-Wu Crit. Layer ',ius,
' '
2550 idx = 14697 + 4*mx_ply_anim
2552 IF (anim_ce(idx + i) == 1)
THEN
2554 IF(ius==0) ius = 100
2555 WRITE(mes,
'(A,I3,A)')
'Tsai-Wu Crit. Upper Layer',ius,
' '
2560 idx = 14797 + 4*mx_ply_anim
2562 IF (anim_ce(idx + i) == 1)
THEN
2564 IF(ius==0) ius = 100
2565 WRITE(mes,
'(A,I3,A)')
'Tsai-Wu Crit. Lower Layer',ius,
' '
2570 idx = 14897 + 4*mx_ply_anim
2574 IF (anim_ce(idx + ius) == 1)
THEN
2577 WRITE(mes,
'(A,I4,I3,A)')
'Tsai-Wu Crit. Lay/IPT ',ilay,ipt,
' '
2584 idx = 15898 + 4*mx_ply_anim
2585 IF(anim_ce(idx) == 1)
CALL ani_txt(
'Region identifier in p,v diagram',32)
2588 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain',17)
2589 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain - 1',21)
2590 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain - 2',21)
2591 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain - 3',21)
2592 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain - 4',21)
2593 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain - 5',21)
2594 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain - 6',21)
2595 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain - 7',21)
2596 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain - 8',21)
2597 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain - 9',21)
2598 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Volumetric Strain - 10',22)
2600 idx0 = 15921 + 4*mx_ply_anim
2605 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Magnitude',18)
2606 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Magnitude - 1',22)
2607 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Magnitude - 2',22)
2608 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Magnitude - 3',22)
2609 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Magnitude - 4',22)
2610 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Magnitude - 5',22)
2611 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Magnitude - 6',22)
2612 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Magnitude - 7',22)
2613 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Magnitude - 8',22)
2614 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Magnitude - 9',22)
2615 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Magnitude - 10',23)
2618 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Y',10)
2619 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Y - 1',14)
2620 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Y - 2',14)
2621 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Y - 3',14)
2622 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Y - 4',14)
2623 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Y - 5',14)
2624 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Y - 6',14)
2625 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Y - 7',14)
2626 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Y - 8',14)
2627 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Y - 9',14)
2628 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Y - 10',15)
2631 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Z',10)
2632 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Z - 1',14)
2633 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Z - 2',14)
2634 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Z - 3',14)
2635 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Z - 4',14)
2636 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Z - 5',14)
2637 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Z - 6',14)
2638 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Z - 7',14)
2639 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Z - 8',14)
2640 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Z - 9',14)
2641 idx=idx+1;
IF(anim_ce(idx) == 1)
CALL ani_txt(
'Velocity Z - 10',15)
2659 IF (i==(iad_gps+3).OR.i==(iad_gps+9).OR.i==(iad_gps+15)
2660 . .OR.i==(iad_gp2+3).OR.i==(iad_gp2+9)
2661 . .OR.i==(iad_gp2+15) .OR.i==(iad_gp3+1).OR.i==(iad_iso+1) )
2663 IF(anim_n(i)/=1) cycle
2667 IF(i<3.OR.i==12)
THEN
2670 wa4(1:numnod)=output%DATA%SCAL_DT(1:numnod)
2673 wa4(1:numnod) = output%DATA%SCAL_DMAS(1:numnod)
2676 wa4(1:numnod) = output%DATA%SCAL_DINER(1:numnod)
2686 ELSEIF(i>=3.AND.i<=11 .OR. i==30)
THEN
2687 IF(i == 6 .AND. (glob_therm%ITHERM_FE > 0 ))
THEN
2694 IF(n2d==0)
CALL nodalp(i, wa4, wa4_fvm, iflow, rflow,iparg,elbuf_tab,ixs,nixs,numels,itab,nv46,monvol,volmon,
2695 . 0, is_written_node, is_written_node_fvm, ispmd,
fvdata, swa4, 0)
2696 IF(n2d/=0)
CALL nodalp(i, wa4, wa4_fvm, iflow, rflow,iparg,elbuf_tab,ixq,nixq,numelq,itab,nv46,monvol,volmon,
2697 . 0, is_written_node, is_written_node_fvm, ispmd,
fvdata, swa4, 0)
2701 IF(n2d==0)
CALL nodald(i, wa4, wa4_fvm, iflow, rflow,iparg,elbuf_tab,ixs,nixs,numels,itab,nv46,monvol,volmon,
2702 . 0, is_written_node, is_written_node_fvm, ispmd,
fvdata, swa4, 0)
2703 IF(n2d/=0)
CALL nodald(i, wa4, wa4_fvm, iflow, rflow,iparg,elbuf_tab,ixq,nixq,numelq,itab,nv46,monvol,volmon,
2704 . 0, is_written_node, is_written_node_fvm, ispmd,
fvdata, swa4, 0)
2708 IF(n2d==0)
CALL nodalt(i, wa4, wa4_fvm, iflow, rflow,iparg,elbuf_tab,ixs,nixs,numels,itab,nv46,monvol,volmon,
2709 . 0, is_written_node, is_written_node_fvm, ispmd,
fvdata, swa4, 0)
2710 IF(n2d/=0)
CALL nodalt(i, wa4, wa4_fvm, iflow, rflow,iparg,elbuf_tab,ixq,nixq,numelq,itab,nv46,monvol,volmon,
2711 . 0, is_written_node, is_written_node_fvm, ispmd,
fvdata, swa4, 0)
2715 IF(n2d==0)
CALL nodalssp(i, wa4, wa4_fvm, iflow, rflow,iparg,elbuf_tab,ixs,nixs,numels,itab,nv46,monvol,volmon,
2716 . 0, is_written_node, is_written_node_fvm, ispmd,
fvdata, swa4, 0, multi_fvm)
2717 IF(n2d/=0)
CALL nodalssp(i, wa4, wa4_fvm, iflow, rflow,iparg,elbuf_tab,ixq,nixq,numelq,itab,nv46,monvol,volmon,
2718 . 0, is_written_node, is_written_node_fvm, ispmd,
fvdata, swa4, 0, multi_fvm)
2723 CALL animbale(i, wa4,is_written_node, monvol, volmon ,2,
2724 . numnod, nimv, nvolu, nrvolu, licbag, libagjet,
2725 . libaghol, lrcbag, lrbagjet, lrbaghol, nspmd)
2731 CALL nodalp(i, wa4, wa4_fvm, iflow, rflow,iparg,elbuf_tab,ixs,nixs,numels,itab,nv46,monvol,volmon,
2732 . 0, is_written_node, is_written_node_fvm, ispmd,
fvdata, swa4, 0)
2742 wa4(n)=
max(zero,diag_sms(n)/
max(em20,ms(n))-one)
2755 CALL nodal_schlieren(wa4,x,ixs,ixq,itab,iparg,0,elbuf_tab,ale_connectivity)
2768 ELSEIF (i > iadchksum .AND. i < iadchksum + 256 -1)
THEN
2770 IF (i == iadchksum + j)
THEN
2782 ELSEIF(i>=20 .AND. i<=23)
THEN
2784 IF(n2d==0)
CALL nodalvfrac(i, wa4, iflow, rflow,iparg,elbuf_tab,ixs,nixs,itab,nv46)
2785 IF(n2d/=0)
CALL nodalvfrac(i, wa4, iflow, rflow,iparg,elbuf_tab,ixq,nixq,itab,nv46)
2786 ELSEIF(i>=24 .AND. i<=27)
THEN
2789 ELSEIF(i==28.OR.i==29)
THEN
2791 IF(n2d==0)
CALL nodalzvol(i, wa4, iflow, rflow,iparg,elbuf_tab,ixs,nixs,itab,nv46)
2795 IF(output%DATA%ANIM_HAS_NODA_PEXT == 1)
THEN
2797 IF(output%DATA%NODA_SURF(n) > zero)
THEN
2798 wa4(n) = output%DATA%NODA_PEXT(n) / output%DATA%NODA_SURF(n)
2804 ELSEIF (i>iad_gps.AND.i<(iad_gps+3))
THEN
2811 CALL dfungps1(elbuf_tab ,wgps ,j ,iparg ,geo ,
2812 . ixs ,ixs10 ,ixs16 ,ixs20 ,ixq ,
2813 . ixc ,ixtg ,ixt ,ixp ,ixr ,
2818 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
2825 IF (itagps(n)>0) wa4(n)=wgps(n)/itagps(n)
2827 ELSEIF (i>(iad_gps+2).AND.i<(iad_gps+9))
THEN
2839 CALL tensgps1(vflu ,aflu ,iparg ,geo ,
2840 . ixs ,ixs10 ,ixs16 ,ixs20 ,ixq ,
2841 . ixc ,ixtg ,ixt ,ixp ,ixr ,
2842 . x ,itagps ,elbuf_tab)
2847 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
2859 IF (itagps(n)>0) wa4(n)=vflu(j,n)/itagps(n)
2863 IF (itagps(n)>0) wa4(n)=aflu(j-3,n)/itagps(n)
2867 ELSEIF (i>(iad_gps+8).AND.i<(iad_gps+15))
THEN
2880 CALL tencgps1(elbuf_tab ,iparg,iul ,vflu ,aflu ,
2881 . x ,ixc ,igeo ,ixtg ,itagps )
2886 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
2898 IF (itagps(n)>0) wa4(n)=vflu(j,n)/itagps(n)
2902 IF (itagps(n)>0) wa4(n)=aflu(j-3,n)/itagps(n)
2905 ELSEIF (i>(iad_gps+14).AND.i<(iad_gps+21))
THEN
2918 CALL tencgps1(elbuf_tab ,iparg,iul ,vflu ,aflu ,
2919 . x ,ixc ,igeo ,ixtg ,itagps )
2924 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
2936 IF (itagps(n)>0) wa4(n)=vflu(j,n)/itagps(n)
2940 IF (itagps(n)>0) wa4(n)=aflu(j-3,n)/itagps(n)
2944 ELSEIF (i>iad_gp2.AND.i<(iad_gp2+3))
THEN
2950 CALL dfungps2(elbuf_tab ,wgps ,j ,iparg ,geo ,
2951 . ixs ,ixs10 ,ixs16 ,ixs20 ,ixq ,
2952 . ixc ,ixtg ,ixt ,ixp ,ixr ,
2957 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
2964 IF (vgps(n)>zero) wa4(n)=wgps(n)/vgps(n)
2966 ELSEIF (i>(iad_gp2+2).AND.i<(iad_gp2+9))
THEN
2978 CALL tensgps2(vflu ,aflu ,iparg ,geo ,
2979 . ixs ,ixs10 ,ixs16 ,ixs20 ,ixq ,
2980 . ixc ,ixtg ,ixt ,ixp ,ixr ,
2981 . x ,vgps ,elbuf_tab )
2987 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
2999 IF (vgps(n)>zero) wa4(n)=vflu(j,n)/vgps(n)
3003 IF (vgps(n)>zero) wa4(n)=aflu(j-3,n)/vgps(n)
3007 ELSEIF (i>(iad_gp2+8).AND.i<(iad_gp2+15))
THEN
3020 CALL tencgps2(elbuf_tab ,iparg,iul ,vflu ,aflu ,
3021 . x ,ixc ,igeo ,ixtg ,geo ,
3027 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
3038 IF (vgps(n)>zero) wa4(n)=vflu(j,n)/vgps(n)
3042 IF (vgps(n)>zero) wa4(n)=aflu(j-3,n)/vgps(n)
3045 ELSEIF (i>(iad_gp2+14).AND.i<(iad_gp2+21))
THEN
3058 CALL tencgps2(elbuf_tab ,iparg,iul ,vflu ,aflu ,
3059 . x ,ixc ,igeo ,ixtg ,geo ,
3065 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
3077 IF (vgps(n)>zero) wa4(n)=vflu(j,n)/vgps(n)
3081 IF (vgps(n)>zero) wa4(n)=aflu(j-3,n)/vgps(n)
3084 ELSEIF (i>(iad_gp3).AND.i<(iad_gp3+7))
THEN
3098 CALL tensgps3(elbuf_tab,vflu ,aflu ,iparg ,geo ,
3099 . ixs ,ixs10 ,ixs16 ,ixs20 ,ixq ,
3100 . ixc ,ixtg ,ixt ,ixp ,ixr ,
3106 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
3118 IF (itagps(n)>0) wa4(n)=vflu(j,n)/itagps(n)
3122 IF (itagps(n)>0) wa4(n)=aflu(j-3,n)/itagps(n)
3125 ELSEIF (i>(iad_iso).AND.i<(iad_iso+7))
THEN
3128 wa4(numnod + n)=tabstresl(i-iad_iso,n)
3130 ELSEIF (i>(iad_gp4).AND.i<(iad_gp4+7))
THEN
3145 . ixs ,ixs10 ,ixs16 ,ixs20 ,ixq ,
3146 . ixc ,ixtg ,ixt ,ixp ,ixr ,
3155 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
3167 IF (itagps(n)>0) wa4(n)=vflu(j,n)/itagps(n)
3171 IF (itagps(n)>0) wa4(n)=aflu(j-3,n)/itagps(n)
3179 IF (nspmd == 1)
THEN
3180 IF (numelig3d /= 0)
THEN
3181 DO j=1,numnod + 64*numelig3d
3198 IF (i<3.OR.i==12)
THEN
3200 IF(i ==1)
CALL cutfunc(output%DATA%SCAL_DT,icbuf(mic2),cbuf(mac2),nodcut)
3201 IF(i ==2)
CALL cutfunc(output%DATA%SCAL_DMAS,icbuf(mic2),cbuf(mac2),nodcut)
3202 IF(i ==12)
CALL cutfunc(output%DATA%SCAL_DINER,icbuf(mic2),cbuf(mac2),nodcut)
3210 DO n=1,nsect+nrwall+nnwl+nnsrg+nnsmd+nnsphg+2*numels16g
3215 IF(ispmd == 0. and. anim_ply >0 )
THEN
3222 IF(ispmd == 0 .AND. anim_crk > 0)
THEN
3224 DO n=1,nfnod_crkxfemg
3230 IF (ispmd==0.AND.nfvnod>0)
THEN
3240 ndma2= numnod*(
min(1,anim_n(1)+outp_n(1)+h3d_data%N_SCAL_DT)
3241 . +
min(1,anim_n(2)+outp_n(2)+h3d_data%N_SCAL_DMAS)
3242 . +
min(1,anim_n(12)+outp_n(3)+h3d_data%N_SCAL_DINER))
3244 IF (nspmd == 1 .AND. 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 IF (
fvdata(i)%NPOLH_ANIM>0)
THEN
3268 ssp=sqrt((gama-one)*gama*
fvdata(i)%EPOLH(j)/
3272 DO n=
fvdata(i)%IFVTADR(kk),
3273 .
fvdata(i)%IFVTADR(kk+1)-1
3276 IF (
fvdata(i)%IFVTRI(4,nn)>0)
THEN
3278 fvvisu(fvel2fa(eloff+nn))=idp-(idp/8)*8+1
3280 fvvisu(fvel2fa(eloff+nn))=-1
3283 nn=fvel2fa(eloff+nn)
3284 fvmass(nn)=fvmass(nn)+fac*
fvdata(i)%MPOLH(j)
3285 fvpres(nn)=fvpres(nn)+fac*
fvdata(i)%PPOLH(j)
3286 IF (
fvdata(i)%MPOLH(j)>zero)
THEN
3287 fvqx(nn)=fvqx(nn)+fac*
fvdata(i)%QPOLH(1,j)/
3289 fvqy(nn)=fvqy(nn)+fac*
fvdata(i)%QPOLH(2,j)/
3291 fvqz(nn)=fvqz(nn)+fac*
fvdata(i)%QPOLH(3,j)/
3293 fvener(nn)=fvener(nn)+fac*
fvdata(i)%EPOLH(j)/
3296 fvrho(nn)=fvrho(nn)+fac*
fvdata(i)%RPOLH(j)
3297 fvcson(nn)=fvcson(nn)+fac*ssp
3298 fvgama(nn)=fvgama(nn)+fac*gama
3302 eloff=eloff+
fvdata(i)%NNTR
3305 ELSEIF(nfvtr>0)
THEN
3307 ALLOCATE(fvmass(nfvtr),fvpres(nfvtr), fvqx(nfvtr),
3308 . fvqy(nfvtr), fvqz(nfvtr), fvrho(nfvtr),
3309 . fvener(nfvtr), fvcson(nfvtr), fvgama(nfvtr),
3326 . fvrho, fvener, fvcson, fvgama, fvvisu,
3332 IF(anim_ce(i)==1)
THEN
3333 IF(i<=2142 .OR. i==2155 .OR. i==2156 .OR. (i>=2239.AND.i<=10252) .OR.
3334 . (i>=10253.AND.i<=10675) .OR. (i >= 10676 .AND. i <= 1000000))
THEN
3335 CALL dfuncc(elbuf_tab ,waft ,ifunc ,iparg,geo ,
3336 . ixq ,ixc ,ixtg ,mas ,pm ,
3337 . el2fa ,nbf ,iad ,glob_therm%ITHERM ,
3338 . nbf_l ,eani ,output%DATA%SCAL_SPRING ,nbpart ,iadg ,
3339 . ipm ,igeo ,thke ,err_thk_sh4 ,err_thk_sh3,
3340 . invert ,x ,v ,w ,ale_connectivity,
3341 . nv46 ,nercvois ,nesdvois ,lercvois ,lesdvois ,
3342 . stack ,bufmat ,multi_fvm ,mat_param)
3344 .
CALL cutfunce(icbuf,nelcut,elbuf_tab,ifunc,iparg,pm,ixs)
3353 IF (anim_ply > 0)
THEN
3354 CALL dfuncc_ply(elbuf_tab, waft_ply, ifunc, iparg, geo,
3355 . ixc , ixtg , mas, pm, el2fa_ply,
3356 . nbf_pxfem,iad , plynumc,eani,output%DATA%SCAL_SPRING,
3357 .
nplypart,iad_plyg,ipm ,igeo , thke,
3358 . err_thk_sh4, err_thk_sh3,mat_param,
3359 . nbf_pxfemg ,x , stack )
3361 IF (anim_crk > 0)
THEN
3363 . elbuf_tab ,len_crkx ,ifunc ,iparg,geo ,
3364 . ixc ,ixtg ,mas ,pm ,el2fa_crk ,
3365 . nbf_crkxfem ,iad ,nbf_crkxfem,eani ,output%DATA%SCAL_SPRING,
3366 . ncrkpart ,iad_crkg ,ipm ,igeo ,thke ,
3367 . err_thk_sh4 ,err_thk_sh3,xfem_tab ,iel_crk ,indx_crk,
3368 . nbf_crkxfemg,el2fa ,crkedge )
3372 IF (ispmd==0.AND.nfvtr>0)
THEN
3378 ELSEIF (i==2143.OR.i==2144)
THEN
3379 CALL animcale(i, monvol, volmon, nbf, el2fa,
3380 . nbpart, iadg, nbf_l ,
3381 . ispmd, nspmd, nimv, nrvolu, nvolu,
3383 . libaghol, lrbaghol,lrbagjet, libagjet,
3384 . numelqg, numelcg, numeltgg)
3393 IF(ispmd == 0 .AND. anim_ply > 0 )
THEN
3400 IF(ispmd==0 .AND. anim_crk > 0)
THEN
3407 IF (ispmd==0.AND.nfvtr>0)
THEN
3414 ELSEIF (i>=2145.AND.i<=2154)
THEN
3417 DO j=1,nbf+nelcut+nesbw2+nbf_pxfemg+nbf_crkxfemg
3421 IF (ispmd==0.AND.nfvtr>0)
THEN
3427 ELSEIF (i==2146)
THEN
3432 ELSEIF (i==2147)
THEN
3437 ELSEIF (i==2148)
THEN
3442 ELSEIF (i==2149)
THEN
3447 ELSEIF (i==2150)
THEN
3452 ELSEIF (i==2151)
THEN
3457 ELSEIF (i==2152)
THEN
3462 ELSEIF (i==2153)
THEN
3467 ELSEIF (i==2154)
THEN
3477 IF (ispmd==0.AND.nfvtr>0)
3478 .
DEALLOCATE(fvmass, fvpres, fvqx, fvqy, fvqz, fvrho, fvener,
3484 IF(anim_v(1)==1)
CALL ani_txt(
'Velocity',8)
3485 IF(anim_v(2)==1)
CALL ani_txt(
'Displacement',12)
3486 IF(anim_v(3)==1)
CALL ani_txt(
'Acceleration',12)
3487 IF(anim_v(4)==1.AND.animcont==1)
CALL ani_txt(
'Contact Forces',14)
3488 IF(anim_v(5)==1)
CALL ani_txt(
'Internal Forces',15)
3489 IF(anim_v(6)==1)
CALL ani_txt(
'External Forces',15)
3490 IF(anim_v(7)==1)
CALL ani_txt(
'Sect.RBY,Wall F.',16)
3491 IF(anim_v(8)==1)
CALL ani_txt(
'Sect.RBY Moments',16)
3492 IF(anim_v(9)==1)
CALL ani_txt(
'Rotational Velocity',19)
3493 IF(anim_v(10)==1)
CALL ani_txt(
'Fluid velocity',14)
3494 IF(anim_v(11)==1)
CALL ani_txt(
'Residual Forces',15)
3495 IF(anim_v(12)==1)
THEN
3496 CALL ani_txt(
'Contact Pressure / Normal',25)
3497 CALL ani_txt(
'Contact Pressure / Tangent',26)
3499 IF(anim_v(13)==1)
CALL ani_txt(
'Tied Contact Forces',19)
3500 IF(anim_v(14)==1)
CALL ani_txt(
'Rotational DOF',14)
3501 IF(anim_v(16)==1)
CALL ani_txt(
'Gaz Velocity',12)
3502 IF(anim_v(17)==1)
CALL ani_txt(
'Reaction Forces',15)
3503 IF(anim_v(18)==1)
CALL ani_txt(
'Reaction Moments',16)
3504 IF(anim_v(19)==1)
CALL ani_txt(
'Cluster Forces',14)
3505 IF(anim_v(20)==1)
CALL ani_txt(
'Cluster Moments',15)
3506 IF(anim_v(21)==1)
CALL ani_txt(
'inter22 - Centroid Velocity',27)
3507 IF(anim_v(22)==1)
CALL ani_txt(
'inter22 - Faces Velocity',24)
3509 .
CALL ani_txt(
'inter22 - Centroid Momentum Density',35)
3510 IF(anim_v(24)==1)
CALL ani_txt(
'inter22 - Faces Pressure Forces',31)
3512 .
CALL ani_txt(
'inter22 - Centroid Internal Force',33)
3514 .
CALL ani_txt(
'Maximum Contact Forces Over Time',32)
3515 IF(anim_v(27)==1)
THEN
3516 CALL ani_txt(
'Tied Contact Pressure / Normal',30)
3517 CALL ani_txt(
'Tied Contact Pressure / Tangent',31)
3523 nnnsrg=nnsrg+nnsmd+nnsphg+2*numels16g
3525 IF(.NOT.
ALLOCATED(icbuf))
ALLOCATE(icbuf(1))
3526 IF(.NOT.
ALLOCATED(cbuf))
ALLOCATE(cbuf(1))
3528 IF(anim_v(1)==1)
THEN
3529 CALL velvec(v,v_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3530 . nnnsrg,nodglob,weight,nfvnod,1,
3531 . nfnod_pxfem,nod_pxfem,
indx_ply,nfnod_crkxfemg,itab)
3534 .
CALL velvec(d,d_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3535 . nnnsrg,nodglob,weight,nfvnod,2,
3536 . nfnod_pxfem,nod_pxfem,
indx_ply,nfnod_crkxfemg,itab)
3538 .
CALL velvec(a,a_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3539 . nnnsrg,nodglob,weight,nfvnod,3,
3540 . nfnod_pxfem,nod_pxfem,
indx_ply,nfnod_crkxfemg,itab)
3541 IF(anim_v(4)==1.AND.animcont==1)
THEN
3542 IF(nintstamp==0)
THEN
3543 CALL velvecc(cont,cont_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3544 . nnnsrg,nodglob,weight,nfvnod,nfnod_pxfem,nfnod_pxfemg,
3547 CALL velvecc21(cont,cont_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3548 . nnnsrg,nodglob,weight,nfvnod,nfnod_pxfem,nfnod_pxfemg,
3549 . fcontg,nfnod_crkxfemg)
3553 .
CALL velvec(fint,fint_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3554 . nnnsrg,nodglob,weight,nfvnod,5,
3555 . nfnod_pxfem,nod_pxfem,
indx_ply,nfnod_crkxfemg,itab)
3557 .
CALL velvecc(fext,fext_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3558 . nnnsrg,nodglob,weight,nfvnod,nfnod_pxfem,nfnod_pxfemg,
3561 IF(anim_v(7)==1)
CALL velvec2(icbuf(mic2),bid_temp,cbuf(mac2),
3562 . nodcut,fopt(1,1),npby,nnwl,nnnsrg,
3563 . nodglob,weight,fr_sec,nfvnod,nfnod_pxfem,nfnod_pxfemg,
3565 IF(anim_v(8)==1)
CALL velvec2(icbuf(mic2),bid_temp,cbuf(mac2),
3566 . nodcut,fopt(4,1),npby,nnwl,nnnsrg,
3567 . nodglob,weight,fr_sec,nfvnod,nfnod_pxfem,nfnod_pxfemg,
3569 IF(anim_v(9)==1 .AND. iroddl/=0)
THEN
3570 CALL velvec(vr,bid_temp,icbuf(mic2),cbuf(mac2),nodcut,
3571 . nnwl,nnnsrg,nodglob,weight,nfvnod,9,
3572 . nfnod_pxfem,nod_pxfem,
indx_ply,nfnod_crkxfemg,itab)
3573 ELSEIF(anim_v(9)==1)
THEN
3574 IF (nspmd == 1)
THEN
3581 IF (numelig3d /= 0)
THEN
3591 ELSEIF (ispmd == 0)
THEN
3600 IF (anim_v(10)==1)
THEN
3605 CALL velvec3(vflu,bid_temp,vflu_ale,icbuf(mic2),cbuf(mac2),
3606 . nodcut,nnwl,nnnsrg,nodglob,weight,0,nfnod_pxfem,
3607 . nfnod_pxfemg,nfnod_crkxfemg)
3609 IF (nspmd == 1)
THEN
3616 IF (anim_v(11)==1)
THEN
3617 IF(idtmins==0.AND.idtmins_int==0)
THEN
3619 IF (impl_s>0.AND.idyna==0)fac=zero
3622 vflu(j,n)=fext(j,n)+fint(j,n)-fac*ms(n)*a(j,n)
3625 CALL velvec(vflu,bid_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3626 . nnnsrg,nodglob,weight,nfvnod,11,
3627 . nfnod_pxfem,nod_pxfem,
indx_ply,nfnod_crkxfemg,itab)
3629 CALL velvec(res_sms,bid_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3630 . nnnsrg,nodglob,weight,nfvnod,11,
3631 . nfnod_pxfem,nod_pxfem,
indx_ply,nfnod_crkxfemg,itab)
3634 IF(anim_v(12)==1)
THEN
3635 IF(nintstamp==0)
THEN
3636 CALL velvecc(fncont,bid_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3637 . nnnsrg,nodglob,weight,nfvnod,nfnod_pxfem,nfnod_pxfemg,
3639 CALL velvecc(ftcont,bid_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3640 . nnnsrg,nodglob,weight,nfvnod,nfnod_pxfem,nfnod_pxfemg,
3643 CALL velvecc21(fncont,bid_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3644 . nnnsrg,nodglob,weight,nfvnod,nfnod_pxfem,nfnod_pxfemg,
3645 . fncontg,nfnod_crkxfemg)
3646 CALL velvecc21(ftcont,bid_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3647 . nnnsrg,nodglob,weight,nfvnod,nfnod_pxfem,nfnod_pxfemg,
3648 . ftcontg,nfnod_crkxfemg)
3652 IF(anim_v(13)==1)
THEN
3653 CALL velvecc(fncont2,bid_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3654 . nnnsrg,nodglob,weight,nfvnod,nfnod_pxfem,nfnod_pxfemg,
3658 IF(anim_v(14)==1 .AND.(idrot == 1 .OR. isecut>0 .OR. iisrot>0 .OR. impose_dr>0 ) .AND. iroddl/=0)
THEN
3659 CALL velvec(dr,bid_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3660 . nnnsrg,nodglob,weight,nfvnod,14,
3661 . nfnod_pxfem,nod_pxfem,
indx_ply,nfnod_crkxfemg,itab)
3664 IF (anim_v(15) == 1)
THEN
3665 CALL velvecc(dxancg,bid_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3666 . nnnsrg,nodglob,weight,nfvnod,nfnod_pxfem,
3667 . nfnod_pxfemg,nfnod_crkxfemg)
3669 IF(anim_v(16)==1 .AND. ialelag > 0 )
THEN
3670 CALL velvec(vgaz,bid_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3671 . nnnsrg,nodglob,weight,nfvnod,16,
3672 . nfnod_pxfem,nod_pxfem,
indx_ply,nfnod_crkxfemg,itab)
3673 ELSEIF(anim_v(16)==1 .AND. ialelag == 0 )
THEN
3674 IF (ispmd == 0)
THEN
3683 IF(anim_v(17)==1)
THEN
3685 fanreact(1,n)=fanreac(1,n)
3686 fanreact(2,n)=fanreac(2,n)
3687 fanreact(3,n)=fanreac(3,n)
3689 CALL velvec(fanreact,fanreact_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3690 . nnnsrg,nodglob,weight,nfvnod,17,
3691 . nfnod_pxfem,nod_pxfem,
indx_ply,nfnod_crkxfemg,itab)
3693 IF(anim_v(18)==1)
THEN
3695 fanreacr(1,n)=fanreac(4,n)
3696 fanreacr(2,n)=fanreac(5,n)
3697 fanreacr(3,n)=fanreac(6,n)
3699 CALL velvec(fanreacr,bid_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3700 . nnnsrg,nodglob,weight,nfvnod,18,
3701 . nfnod_pxfem,nod_pxfem,
indx_ply,nfnod_crkxfemg,itab)
3705 IF (anim_v(19) == 1)
THEN
3707 CALL velvecc(fcluster,bid_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3708 . nnnsrg,nodglob,weight,nfvnod,nfnod_pxfem,
3709 . nfnod_pxfemg,nfnod_crkxfemg)
3712 IF (anim_v(20) == 1)
THEN
3714 CALL velvecc(mcluster,bid_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3715 . nnnsrg,nodglob,weight,nfvnod,nfnod_pxfem,
3716 . nfnod_pxfemg,nfnod_crkxfemg)
3719 IF (anim_v(21) == 1)
THEN
3721 CALL velvecc22(elbuf_tab,iparg,1,ixs,ixq,itab)
3724 IF (anim_v(22) == 1)
THEN
3726 CALL velvecz22(elbuf_tab,iparg ,ipari ,igrnod , x,
3727 . ixs ,ixq ,itab ,1 )
3730 IF (anim_v(23) == 1)
THEN
3732 CALL velvecc22(elbuf_tab,iparg,2,ixs,ixq,itab)
3735 IF (anim_v(24) == 1)
THEN
3737 CALL velvecz22(elbuf_tab,iparg ,ipari ,igrnod , x,
3738 . ixs ,ixq ,itab ,2 )
3741 IF (anim_v(25) == 1)
THEN
3743 CALL velvecc22(elbuf_tab,iparg,3,ixs,ixq,itab)
3746 IF(anim_v(26)==1)
THEN
3748 IF(nintstamp==0)
THEN
3749 CALL velvecc(fcont_max,bid_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3750 . nnnsrg,nodglob,weight,nfvnod,nfnod_pxfem,nfnod_pxfemg,
3753 CALL velvecc_max(fcont_max,nodcut,nnwl,nnsrg,nfvnod,
3754 . nfnod_pxfemg,nfnod_crkxfemg)
3758 IF(anim_v(27)==1)
THEN
3759 CALL velvecc(fncontp2,bid_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3760 . nnnsrg,nodglob,weight,nfvnod,nfnod_pxfem,nfnod_pxfemg,
3762 CALL velvecc(ftcontp2,bid_temp,icbuf(mic2),cbuf(mac2),nodcut,nnwl,
3763 . nnnsrg,nodglob,weight,nfvnod,nfnod_pxfem,nfnod_pxfemg,
3771 IF (ispmd==0.AND.nbf+nelcut+nesbw2/=0)
THEN
3772 IF(anim_ct(1)==1)
CALL ani_txt(
'Stress (membrane)',17)
3773 IF(anim_ct(2)==1)
CALL ani_txt(
'Stress (moment/t^2)',19)
3774 IF(anim_ct(3)==1)
CALL ani_txt(
'Stress (upper)',14)
3775 IF(anim_ct(4)==1)
CALL ani_txt(
'Stress (lower)',14)
3776 IF(anim_ct(5)==1)
CALL ani_txt(
'Strain (membrane)',17)
3777 IF(anim_ct(6)==1)
CALL ani_txt(
'Strain (Curvature)',18)
3778 IF(anim_ct(7)==1)
CALL ani_txt(
'Strain (upper)',14)
3779 IF(anim_ct(8)==1)
CALL ani_txt(
'Strain (lower)',14)
3780 IF(anim_ct(91)==1)
CALL ani_txt(
'Strn rate (membrane)',20)
3781 IF(anim_ct(92)==1)
CALL ani_txt(
'Strn rate (Curvature)',21)
3782 IF(anim_ct(93)==1)
CALL ani_txt(
'Strn rate (upper)',17)
3783 IF(anim_ct(94)==1)
CALL ani_txt(
'Strn rate (lower)',17)
3785 IF(anim_ct(100+i)==1)
THEN
3786 WRITE(mes,
'(A,I3,A)')
'Stress (layer',i,
')'
3791 IF(anim_ct(200+i)==1)
THEN
3792 WRITE(mes,
'(A,I3,A)')
'Strain (layer',i,
')'
3797 IF(anim_ct(300+i)==1)
THEN
3798 WRITE(mes,
'(A,I3,A)')
'Strn rate (layer',i,
')'
3809 IF (anim_ct(i) == 1)
THEN
3810 ius = mod((i - 400), 100)
3811 IF(ius==0) ius = 100
3812 WRITE(mes,
'(A,I3,A)')
'Stress (UPPER/LAYER',ius,
')'
3820 IF (anim_ct(i) == 1)
THEN
3821 ius = mod((i - 500), 100)
3822 IF(ius==0) ius = 100
3823 WRITE(mes,
'(A,I3,A)')
'Stress (LOWER/LAYER',ius,
')'
3833 IF (anim_ct(ius + 600) == 1)
THEN
3836 WRITE(mes,
'(A,I3,I3,A)')
3837 .
'Stress (LAYER/IPT',ilay,ipt,
')'
3846 IF (anim_ct(1610 + i) == 1)
THEN
3847 WRITE(mes,
'(A,I10,X,I3,A)')
3848 .
'Stress (PLY/IPT',ply_anim_stress( 3 * (i - 1) + 1),
3849 . ply_anim_stress( 3 * (i - 1) + 3),
')'
3857 IF (anim_ct( (1610+ mx_ply_anim) + i) == 1)
THEN
3858 WRITE(mes,
'(A,I10,X,I3,A)')
3859 .
'Strain (PLY/IPT',ply_anim_strain( 3 * (i - 1) + 1),
3860 . ply_anim_strain( 3 * (i - 1) + 3),
')'
3868 IF (anim_ct( (1610+ 2*mx_ply_anim) + i) == 1)
THEN
3869 WRITE(mes,
'(A,I10,X,I3,A)')
3870 .
'Epsdot (PLY/IPT',ply_anim_epsdot( 3 * (i - 1) + 1),
3871 . ply_anim_epsdot( 3 * (i - 1) + 3),
')'
3879 idx = 1610 + 3*mx_ply_anim
3881 IF (anim_ct(i) == 1)
THEN
3882 ius = mod((i - idx), 100)
3883 IF (ius == 0) ius = 100
3884 WRITE(mes,
'(A,I3,A)')
'Strain (UPPER/LAYER',ius,
')'
3889 idx = 1710 + 3*mx_ply_anim
3891 IF (anim_ct(i) == 1)
THEN
3892 ius = mod((i - idx), 100)
3893 IF (ius == 0) ius = 100
3894 WRITE(mes,
'(A,I3,A)')
'Strain (LOWER/LAYER',ius,
')'
3899 idx = 1810 + 3*mx_ply_anim
3903 IF (anim_ct(ius + idx) == 1)
THEN
3906 WRITE(mes,
'(A,I3,I3,A)')
3907 .
'Strain (LAYER/IPT',ilay,ipt,
')'
3916 idx = 2820 + 3*mx_ply_anim
3918 IF (anim_ct(i) == 1)
THEN
3919 ius = mod((i - idx), 100)
3920 IF (ius == 0) ius = 100
3921 WRITE(mes,
'(A,I3,A)')
'Epsdot (UPPER/LAYER',ius,
')'
3926 idx = 2920 + 3*mx_ply_anim
3928 IF (anim_ct(i) == 1)
THEN
3929 ius = mod((i - idx), 100)
3930 IF (ius == 0) ius = 100
3931 WRITE(mes,
'(A,I3,A)')
'Epsdot (LOWER/LAYER',ius,
')'
3936 idx = 3020 + 3*mx_ply_anim
3940 IF (anim_ct(ius + idx) == 1)
THEN
3943 WRITE(mes,
'(A,I3,I3,A)')
3944 .
'Epsdot (LAYER/IPT',ilay,ipt,
')'
3953 idx = 3120 + 3*mx_ply_anim
3955 IF (anim_ct(idx+1)==1)
CALL ani_txt(
'Mstress (membrane)',18)
3956 IF (anim_ct(idx+2)==1)
CALL ani_txt(
'Mstress (upper)',15)
3957 IF (anim_ct(idx+3)==1)
CALL ani_txt(
'Mstress (lower)',15)
3959 idx = 3120 + 3*mx_ply_anim + 3
3960 DO i = idx+1,idx+100
3961 IF (anim_ct(i)==1)
THEN
3962 WRITE(mes,
'(A,I3,A)')
'Mstress (layer',i,
')'
3969 idx = 3120 + 3*mx_ply_anim + 103
3970 DO i = idx+1,idx + mx_ply_anim
3971 IF (anim_ct(i) == 1)
THEN
3972 WRITE(mes,
'(A,I10,X,I3,A)')
3973 .
'Mstress (PLY/IPT',ply_anim_stress( 3 * (i - 1) + 1),
3974 . ply_anim_stress(3 * (i - 1) + 3),
')'
3985 IF (anim_ct(i) == 1)
THEN
3986 CALL tensorc(elbuf_tab,iparg ,ifunc ,invert,nelcut,
3987 . el2fa ,nbf ,waft ,tani ,iad ,
3988 . nbf_l ,nbpart,iadg ,x ,ixc ,
3989 . igeo ,ixtg ,ipm ,stack ,mat_param,
3990 . geo ,drape_sh4n, drape_sh3n, drapeg)
4000 IF (anim_ply > 0)
THEN
4002 . ifunc, invert, el2fa_ply ,nbf_pxfem,
4003 . waft_ply,tani, iad, plynumc,
4004 . nbpart, iad_plyg, x, ixc,mat_param,
4005 . igeo, ixtg, nbf_pxfemg,ipm, stack )
4008 IF (anim_crk > 0)
THEN
4010 . elbuf_tab,xfem_tab ,iparg ,ipm ,
4011 . ifunc ,invert ,el2fa_crk,nbf_crkxfemg,
4012 . len_crkx ,tani ,iad ,nbf_crkxfem ,
4013 . nbpart ,iad_crkg ,x ,ixc ,
4015 . crkedge ,indx_crk ,mat_param)
4018 IF (ispmd==0.AND.nfvtr>0)
THEN
4052 buf = (numelqg+numelcg+numeltgg)
4061 DO j=1,nesbw2+nelcut
4066 IF(ispmd == 0 .AND. anim_ply > 0 )
THEN
4073 IF(ispmd == 0 .AND. anim_crk > 0)
THEN
4080 IF (ispmd==0.AND.nfvtr>0)
THEN
4091 IF (weight_md(i)==1)
THEN
4101 wa4(m)=wa4(m)+(rby(15,n)-ms(m))* weight_md(m)
4105 IF (nspmd == 1)
THEN
4121 .
CALL cutmass(icbuf,cbuf,cbuf(mac2),nodcut,nelcut,
4122 . v,cbuf(mac3),icbuf(mic2))
4129 DO n=1,nsect+nrwall+nnwl+nnsrg+nnsmd+sznnsph+2*sz16
4134 IF(ispmd==0 .AND. anim_ply > 0 )
THEN
4141 IF(ispmd==0 .AND. anim_crk > 0)
THEN
4143 DO i=1,nfnod_crkxfemg
4148 IF (ispmd==0.AND.nfvnod>0)
THEN
4159 IF (nspmd == 1)
THEN
4161 IF (numelig3d>0)
THEN
4181 DO i=1,nodcut+nsect+nrwall+nnwl+nnsrg+nnsmd+sznnsph+2*sz16
4187 IF(anim_ply > 0)
THEN
4188 IF (nspmd == 1)
THEN
4190 ALLOCATE(itab_ply(nplyxfe))
4194 nn =
plynod(iply)%PLYNUMNODS
4196 itab_ply(i) = idmax + ii + i
4201 DEALLOCATE(itab_ply)
4202 idmax = idmax + nfnod_pxfem
4205 ALLOCATE(itab_ply(nfnod_pxfemg))
4209 itab_ply(j) = idmax + j
4217 DEALLOCATE(itab_ply)
4218 idmax = idmax + nfnod_pxfemg
4223 IF(anim_crk > 0)
THEN
4226 ALLOCATE(itab_crk(nfnod_crkxfemg))
4229 DO i=1,
crknod(ilev)%CRKNUMNODS
4230 j =
crknod(ilev)%CRKNUMNODS*(icrk-1)
4232 itab_crk(k) =
crknod(icrk)%XFECRKNODID(i)+idmax
4236 DEALLOCATE(itab_crk)
4239 buf = nfnod_crkxfemg
4248 ALLOCATE(itab_crk(0))
4252 IF (nspmd == 1 .AND. nfvnod>0)
THEN
4254 IF (
fvdata(i)%NPOLH_ANIM>0)
THEN
4255 DO j=1,
fvdata(i)%NNS_ANIM
4264 ELSEIF(nfvnod>0)
THEN
4268 CALL delnumbc(iparg,ixq ,ixc ,ixtg ,invert,
4269 . el2fa,nbf ,waft ,nelcut,
4270 . dd_iad,iad ,nbf_l,
4271 . nbpart,iadg,nodglob,idcmax)
4279 IF(anim_ply > 0 )
THEN
4282 . ixc ,ixtg ,invert,
4283 . el2fa_ply,nbf_pxfem ,waft_ply ,nelcut,
4284 . dd_iad,iad ,plynumc,
4285 . nbpart,iad_plyg,nodglob,idcmax,nbf_pxfemg)
4288 IF (anim_crk > 0)
THEN
4290 . iparg ,iel_crk ,waft_crk ,idcmax ,
4291 . el2fa_crk,iad_crkg ,nbf_crkxfem,nbf_crkxfemg,indx_crk)
4294 IF (ispmd==0.AND.nfvtr>0)
THEN
4298 DEALLOCATE(fvel2fa, fvinum)
4304 IF (ispmd==0)
ALLOCATE(fvpbuf(nfvpart))
4306 . +
min(1,nsect)+
min(1,nrbody+ nrbe2t+nrbe3t)+
min(1,nrwall)
4307 . +
min(1,nsurg+nsmad) +
min(1,nplypartw)
4308 . +
min(1,ncrkpartw)-1
4321 IF(mater(i)==1)
THEN
4322 IF (ipart(3,i)<nsubs)
THEN
4326 . +
min(1,nsect)+
min(1,nrbody+ nrbe2t+nrbe3t)
4327 . +
min(1,nrwall)+
min(1,nsurg+nsmad)
4328 . +nfvsubs+
min(1,nplypartw)
4329 . +
min(1,ncrkpartw)-1,1)
4335 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)+
min(1,nrwall)
4336 . +
min(1,nsurg+nsmad)+
min(1,nplypartw)
4337 . +
min(1,ncrkpartw)-1,1)
4344 . +
min(1,nrbody+nrbe2t+nrbe3t)-1,1)
4348 . nrbe3t)+
min(1,nrwall)-1,1)
4352 . nrbe3t)+
min(1,nrwall)-1,1)
4355 IF(anim_ply > 0)
THEN
4357 ii = nsubs +
min(1,nsect) +
min(1,nrbody+nrbe2t+nrbe3t)
4366 IF(anim_crk > 0)
THEN
4368 ii = nsubs +
min(1,nsect) +
min(1,nrbody+nrbe2t+nrbe3t)
4369 . +
min(1,nrwall)+
min(1,nsurg+nsmad) - 1
4379 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)+
min(1,nrwall)
4380 . +
min(1,nsurg+nsmad) +
min(nplypartw,1)
4381 . +
min(1,ncrkpartw)-1
4383 IF (
fvdata(i)%NPOLH_ANIM>0)
THEN
4385 DO j=1,
fvdata(i)%NPOLH_ANIM
4390 ELSEIF (nfvpart>0)
THEN
4395 IF(mater(i)==1)
CALL write_i_c(ipart(1,i),1)
4397 DO i=1,ncuts+nrwall+nsect+nsurg+nsmad+nplypartw+ncrkpartw
4406 IF(mater(i)==1)
CALL write_i_c(ipart(2,i),1)
4408 DO i=1,ncuts+nrwall+nsect+nsurg+nsmad+nplypartw+ncrkpartw
4420 IF(numels_t+numels16_t+isph3d*(numsph_t+maxpjet)+numelig3d==0)
4426 bufferp(i) = mater(i)
4441 ELSEIF (isph3d==1.AND.ity==51)
THEN
4446 ELSEIF (ity==101)
THEN
4449 mater(ipartig3d(n))=2
4456 IF(mater(i)>2) mater(i) = 2
4458 IF(nspmd > 1)
CALL spmd_ibcast(mater,mater,npart,1,0,2)
4460 mater(i) = mater(i)+bufferp(i)
4466 nbpart = nbpart + mater(i)/2
4473 CALL write_i_c(numels_t+3*numels16g+isph3d*numsphg+27*numelig3d,1)
4482 shftsph = numnodg+nodcut+nsect+nrwall+nnwl+nnsrg+nnsmd
4483 shftsph = shftsph + sphshift
4484 shft16 = numnodg+nodcut+nsect+nrwall+nnwl+nnsrg+nnsmd+nnsphg
4485 shft16 = shft16 + num16shift
4487 insph=numnod+nodcut+nsect+nrwall+nnwl+nnsrg+nnsmd
4489 CALL parsors(iad ,iparg ,ixs ,mater,iparts,
4491 3 iadg ,insph ,kxsp ,ipartsp,
4492 4 ixs10 ,ixs20 ,ixs16 ,nnsph ,isph3d,
4493 5 nodglob,shft16 ,shftsph,nnsphg,ipartig3d,
4494 6 kxig3d,igeo,ig3dsolid)
4498 nnn = numels+isph3d*(numsph+maxpjet)+3*numels16+27*numelig3d
4499 CALL anioffs(elbuf_tab,iparg,waft ,el2fa ,nnn ,
4500 . nbpart ,iadg ,isph3d )
4508 bufferp(i) = bufferp(i) + iadg(k,i)
4520 WRITE(str,
'(I9,A1)')ipart(4,i),
':'
4522 ctext(j)=ichar(str(j:j))
4525 CALL fretitl2(titl,ipart(lipart1-ltitr+1,i),40)
4527 IF(titl(j:j)/=
' ') ib = j+10
4528 ctext(j+10)=ichar(titl(j:j))
4539 IF(anim_m==1.OR.anim_se(3)==1.OR.anim_se(25)==1)
THEN
4540 CALL dmasanis(elbuf_tab,x ,d ,geo ,iparg ,
4541 . ixs ,mas ,pm ,el2fa ,numels ,
4542 . ipart ,ipartsp ,isph3d )
4549 IF(anim_se(1)==1)
CALL ani_txt(
'Plastic Strain',14)
4550 IF(anim_se(2)==1)
CALL ani_txt(
'Density',7)
4551 IF(anim_se(3)==1)
CALL ani_txt(
'Specific Energy',15)
4552 IF(anim_se(4)==1)
CALL ani_txt(
'Temperature',11)
4553 IF(anim_se(6)==1)
CALL ani_txt(
'Pressure',8)
4554 IF(anim_se(7)==1)
CALL ani_txt(
'Von Mises',9)
4555 IF(anim_se(8)==1)
CALL ani_txt(
'Turbulent Energy',16)
4556 IF(anim_se(9)==1)
CALL ani_txt(
'Turbulent Viscosity',19)
4557 IF(anim_se(10)==1)
CALL ani_txt(
'Vorticity-X',11)
4558 IF(anim_se(11)==1)
CALL ani_txt(
'Damage 1',8)
4559 IF(anim_se(12)==1)
CALL ani_txt(
'Damage 2',8)
4560 IF(anim_se(13)==1)
CALL ani_txt(
'Damage 3',8)
4561 IF(anim_se(14)==1)
CALL ani_txt(
'Stress X ',9)
4562 IF(anim_se(15)==1)
CALL ani_txt(
'Stress Y ',9)
4563 IF(anim_se(16)==1)
CALL ani_txt(
'Stress Z ',9)
4564 IF(anim_se(17)==1)
CALL ani_txt(
'Stress XY',9)
4565 IF(anim_se(18)==1)
CALL ani_txt(
'Stress YZ',9)
4566 IF(anim_se(19)==1)
CALL ani_txt(
'Stress ZX',9)
4567 IF(anim_se(20)==1)
CALL ani_txt(
'User Var 1',10)
4568 IF(anim_se(21)==1)
CALL ani_txt(
'User Var 2',10)
4569 IF(anim_se(22)==1)
CALL ani_txt(
'User Var 3',10)
4570 IF(anim_se(23)==1)
CALL ani_txt(
'User Var 4',10)
4571 IF(anim_se(24)==1)
CALL ani_txt(
'User Var 5',10)
4572 IF(anim_se(25)==1)
CALL ani_txt(
'Hourglass Energy per unit mass',30)
4573 IF(anim_se(26)==1)
CALL ani_txt(
'Strain Rate',11)
4574 IF(anim_se(27)==1)
CALL ani_txt(
'User Var 6',10)
4575 IF(anim_se(28)==1)
CALL ani_txt(
'User Var 7',10)
4576 IF(anim_se(29)==1)
CALL ani_txt(
'User Var 8',10)
4577 IF(anim_se(30)==1)
CALL ani_txt(
'User Var 9',10)
4578 IF(anim_se(31)==1)
CALL ani_txt(
'User Var 10',11)
4579 IF(anim_se(32)==1)
CALL ani_txt(
'User Var 11',11)
4580 IF(anim_se(33)==1)
CALL ani_txt(
'User Var 12',11)
4581 IF(anim_se(34)==1)
CALL ani_txt'User Var 13',11)
4582 IF(anim_se(35)==1)
CALL ani_txt(
'User Var 14',11)
4583 IF(anim_se(36)==1)
CALL ani_txt(
'User Var 15',11)
4584 IF(anim_se(37)==1)
CALL ani_txt(
'User Var 16',11)
4585 IF(anim_se(38)==1)
CALL ani_txt(
'User Var 17',11)
4586 IF(anim_se(39)==1)
CALL ani_txt(
'User Var 18',11)
4587 IF(anim_se(40)==1)
CALL ani_txt(
'User Var 19',11)
4588 IF(anim_se(41)==1)
CALL ani_txt(
'User Var 20',11)
4589 IF(anim_se(42)==1)
CALL ani_txt(
'User Var 21',11)
4590 IF(anim_se(43)==1)
CALL ani_txt(
'User Var 22',11)
4591 IF(anim_se(44)==1)
CALL ani_txt(
'User Var 23',11)
4592 IF(anim_se(45)==1)
CALL ani_txt(
'User Var 24',11)
4593 IF(anim_se(46)==1)
CALL ani_txt(
'User Var 25',11)
4594 IF(anim_se(47)==1)
CALL ani_txt(
'User Var 26',11)
4595 IF(anim_se(48)==1)
CALL ani_txt(
'User Var 27',11)
4596 IF(anim_se(49)==1)
CALL ani_txt(
'User Var 28',11)
4597 IF(anim_se(50)==1)
CALL ani_txt(
'User Var 29',11)
4598 IF(anim_se(51)==1)
CALL ani_txt(
'User Var 30',11)
4599 IF(anim_se(52)==1)
CALL ani_txt(
'User Var 31',11)
4600 IF(anim_se(53)==1)
CALL ani_txt(
'User Var 32',11)
4601 IF(anim_se(54)==1)
CALL ani_txt(
'User Var 33',11)
4602 IF(anim_se(55)==1)
CALL ani_txt(
'User Var 34',11)
4603 IF(anim_se(56)==1)
CALL ani_txt(
'User Var 35',11)
4604 IF(anim_se(57)==1)
CALL ani_txt(
'User Var 36',11)
4605 IF(anim_se(58)==1)
CALL ani_txt(
'User Var 37',11)
4606 IF(anim_se(59)==1)
CALL ani_txt(
'User Var 38',11)
4607 IF(anim_se(60)==1)
CALL ani_txt(
'User Var 39',11)
4608 IF(anim_se(61)==1)
CALL ani_txt(
'User Var 40',11)
4609 IF(anim_se(62)==1)
CALL ani_txt(
'User Var 41',11)
4610 IF(anim_se(63)==1)
CALL ani_txt(
'User Var 42',11)
4611 IF(anim_se(64)==1)
CALL ani_txt(
'User Var 43',11)
4612 IF(anim_se(65)==1)
CALL ani_txt(
'User Var 44',11)
4613 IF(anim_se(66)==1)
CALL ani_txt(
'User Var 45',11)
4614 IF(anim_se(67)==1)
CALL ani_txt(
'User Var 46',11)
4615 IF(anim_se(68)==1)
CALL ani_txt(
'User Var 47',11)
4616 IF(anim_se(69)==1)
CALL ani_txt(
'User Var 48',11)
4617 IF(anim_se(70)==1)
CALL ani_txt(
'User Var 49',11)
4618 IF(anim_se(71)==1)
CALL ani_txt(
'User Var 50',11)
4619 IF(anim_se(72)==1)
CALL ani_txt(
'User Var 51',11)
4620 IF(anim_se(73)==1)
CALL ani_txt('user var 52
',11)
4621 IF(ANIM_SE(74)==1) CALL ANI_TXT('user var 53
',11)
4622 IF(ANIM_SE(75)==1) CALL ANI_TXT('user var 54
',11)
4623 IF(ANIM_SE(76)==1) CALL ANI_TXT('user var 55
',11)
4624 IF(ANIM_SE(77)==1) CALL ANI_TXT('user var 56
',11)
4625 IF(ANIM_SE(78)==1) CALL ANI_TXT('user var 57
',11)
4626 IF(ANIM_SE(79)==1) CALL ANI_TXT('user var 58
',11)
4627 IF(ANIM_SE(80)==1) CALL ANI_TXT('user var 59
',11)
4628 IF(ANIM_SE(81)==1) CALL ANI_TXT('user var 60
',11)
4629 !-------------------------------------------------------------!
4631 IF(ANIM_SE(I)==1)THEN
4635 CALL ANI_TXT(MES,20)
4638 !-------------------------------------------------------------!
4639 IF(ANIM_SE(282)==1) CALL ANI_TXT('failed layers
',13)
4640 !-------------------------------------------------------------!
4641 !283 to 286 : VOLUMETRIC FRACTION FOR ALE MULTIMATERIAL LAWS
4642 ! radioss2.F: check consistency with engine keyword and occurrence material law. ANIM_SE(.) flag is enabled only if consistent
4643 ! dfunc6.F : corresponding value (in MBUF%VAR) is stored in this function according material law number
4644 IF(ANIM_SE(283)==1) CALL ANI_TXT('volumetric fraction 1
',21) !law51 & law37 & law20
4645 IF(ANIM_SE(284)==1) CALL ANI_TXT('volumetric fraction 2
',21) !law37 & law37 & law20
4646 IF(ANIM_SE(285)==1) CALL ANI_TXT('volumetric fraction 3
',21) !law51
4647 IF(ANIM_SE(286)==1) CALL ANI_TXT('volumetric fraction 4
',21) !law51
4648 !-------------------------------------------------------------!
4651 IF(ANIM_SE(286+3*(I-1)+1)==1)THEN
4652 WRITE(MES,'(a,i3,a)
')'psi(layer
',I,')
'
4653 CALL ANI_TXT(MES,15)
4655 IF(ANIM_SE(286+3*(I-1)+2)==1)THEN
4656 WRITE(MES,'(a,i3,a)
')'teta(layer
',I,')
'
4657 CALL ANI_TXT(MES,16)
4659 IF(ANIM_SE(286+3*(I-1)+3)==1)THEN
4660 WRITE(MES,'(a,i3,a)
')'phi(layer
',I,')
'
4661 CALL ANI_TXT(MES,15)
4665 IF(ANIM_SE(887)==1) CALL ANI_TXT('burn fraction
',13) !law51
4666 IF(ANIM_SE(888)==1) CALL ANI_TXT('damage variable1
',16)
4667 IF(ANIM_SE(889)==1) CALL ANI_TXT('damage variable2
',16)
4668 IF(ANIM_SE(890)==1) CALL ANI_TXT('damage variable3
',16)
4670 IF(ANIM_SE(890+I)==1)THEN
4671 WRITE(MES,'(a,i3,a)
')'damage var1 intg point(
',I,')
'
4672 CALL ANI_TXT(MES,30)
4676 IF(ANIM_SE(1890+I)==1)THEN
4677 WRITE(MES,'(a,i3,a)
')'damage var2 intg point(
',I,')
'
4678 CALL ANI_TXT(MES,30)
4682 IF(ANIM_SE(2890+I)==1)THEN
4683 WRITE(MES,'(a,i3,a)
')'damage var3 intg point(
',I,')
'
4684 CALL ANI_TXT(MES,30)
4687 IF(ANIM_SE(3890)==1) CALL ANI_TXT('max damage element
',18)
4690 IF(ANIM_SE(3890+I)==1)THEN
4691 WRITE(MES,'(a,i3,a)
')'max damage intg point(
',I,')
'
4692 CALL ANI_TXT(MES,30)
4696 IF(ANIM_SE(5910+I)==1)THEN
4698 WRITE(MES,'(a,3i3)
')
4699 . 'max damage intg pt
',ABS(II)/2010,
4700 . MOD(ABS(II)/10,201),MOD(ABS(II),10)
4701 CALL ANI_TXT(MES,28)
4704 IF(ANIM_SE(4890)==1) CALL ANI_TXT('time deletion element
',21)
4705 IF(ANIM_SE(4891)==1) CALL ANI_TXT('sound speed
',11)
4706 IF(ANIM_SE(4892)==1) CALL ANI_TXT('schlieren
',9)
4707 IF(ANIM_SE(4893)==1) CALL ANI_TXT('domain
',6)
4708 IF(ANIM_SE(4894)==1) CALL ANI_TXT('filling percentage
',18)
4712 IF(ANIM_SE(4895)==1)CALL ANI_TXT('equiv stress
',12)
4713 IF(ANIM_SE(4896)==1)CALL ANI_TXT('artificial viscosity
',20)
4718 IF(ANIM_SE(4897)==1)CALL ANI_TXT('density-1
',9)
4719 IF(ANIM_SE(4898)==1)CALL ANI_TXT('density-2
',9)
4720 IF(ANIM_SE(4899)==1)CALL ANI_TXT('density-3
',9)
4721 IF(ANIM_SE(4900)==1)CALL ANI_TXT('density-4
',9)
4723 IF(ANIM_SE(4901)==1)CALL ANI_TXT('specific energy-1
',17)
4724 IF(ANIM_SE(4902)==1)CALL ANI_TXT('specific energy-2
',17)
4725 IF(ANIM_SE(4903)==1)CALL ANI_TXT('specific energy-3
',17)
4726 IF(ANIM_SE(4904)==1)CALL ANI_TXT('specific energy-4
',17)
4728 IF(ANIM_SE(4905)==1)CALL ANI_TXT('temperature-1
',13)
4729 IF(ANIM_SE(4906)==1)CALL ANI_TXT('temperature-2
',13)
4730 IF(ANIM_SE(4907)==1)CALL ANI_TXT('temperature-3
',13)
4731 IF(ANIM_SE(4908)==1)CALL ANI_TXT('temperature-4
',13)
4733 IF(ANIM_SE(4909)==1)CALL ANI_TXT('pressure-1
',10)
4734 IF(ANIM_SE(4910)==1)CALL ANI_TXT('pressure-2
',10)
4735 IF(ANIM_SE(4911)==1)CALL ANI_TXT('pressure-3
',10)
4736 IF(ANIM_SE(4912)==1)CALL ANI_TXT('pressure-4
',10)
4738 IF(ANIM_SE(4913)==1)CALL ANI_TXT('plastic strain-1
',16)
4739 IF(ANIM_SE(4914)==1)CALL ANI_TXT('plastic strain-2
',16)
4740 IF(ANIM_SE(4915)==1)CALL ANI_TXT('plastic strain-3
',16)
4741 IF(ANIM_SE(4916)==1)CALL ANI_TXT('plastic strain-4
',16)
4743 IF(ANIM_SE(4917)==1)CALL ANI_TXT('sound speed-1
',13)
4744 IF(ANIM_SE(4918)==1)CALL ANI_TXT('sound speed-2
',13)
4745 IF(ANIM_SE(4919)==1)CALL ANI_TXT('sound speed-3
',13)
4746 IF(ANIM_SE(4920)==1)CALL ANI_TXT('sound speed-4
',13)
4748 IF(ANIM_SE(4921)==1)CALL ANI_TXT('volume
',6) !THIS ONE IS A GLOBAL OUTPUT
4750 IF(ANIM_SE(4922)==1)CALL ANI_TXT('volume-1
',8)
4751 IF(ANIM_SE(4923)==1)CALL ANI_TXT('volume-2
',8)
4752 IF(ANIM_SE(4924)==1)CALL ANI_TXT('volume-3
',8)
4753 IF(ANIM_SE(4925)==1)CALL ANI_TXT('volume-4
',8)
4755 IF(ANIM_SE(4926)==1)CALL ANI_TXT('mass-1
',6)
4756 IF(ANIM_SE(4927)==1)CALL ANI_TXT('mass-2
',6)
4757 IF(ANIM_SE(4928)==1)CALL ANI_TXT('mass-3
',6)
4758 IF(ANIM_SE(4929)==1)CALL ANI_TXT('mass-4
',6)
4760 IF(ANIM_SE(4930)==1)CALL ANI_TXT('detonation time
',15)
4762 IF(ANIM_SE(4931)==1)CALL ANI_TXT('artificial viscosity-1
',22)
4763 IF(ANIM_SE(4932)==1)CALL ANI_TXT('artificial viscosity-2
',22)
4764 IF(ANIM_SE(4933)==1)CALL ANI_TXT('artificial viscosity-3
',22)
4765 IF(ANIM_SE(4934)==1)CALL ANI_TXT('artificial viscosity-4
',22)
4767 IF(ANIM_SE(4935)==1)CALL ANI_TXT('density of liquid - (law37)
',27)
4768 IF(ANIM_SE(4936)==1)CALL ANI_TXT('density of gas - (law37)
',27)
4770 IF(ANIM_SE(4937)==1)CALL ANI_TXT('element time step
',17)
4772 IF(ANIM_SE(4938)==1)CALL ANI_TXT('momentum density x
',20)
4773 IF(ANIM_SE(4939)==1)CALL ANI_TXT('momentum density y
',20)
4774 IF(ANIM_SE(4940)==1)CALL ANI_TXT('momentum density z
',20)
4775 IF(ANIM_SE(4941)==1)CALL ANI_TXT('momentum density xy
',20)
4776 IF(ANIM_SE(4942)==1)CALL ANI_TXT('momentum density yz
',20)
4777 IF(ANIM_SE(4943)==1)CALL ANI_TXT('momentum density xz
',20)
4778 IF(ANIM_SE(4944)==1)CALL ANI_TXT('momentum density abs
',20)
4780 IF(ANIM_SE(4945)==1)CALL ANI_TXT('velocity x
',12)
4781 IF(ANIM_SE(4946)==1)CALL ANI_TXT('velocity y
',12)
4782 IF(ANIM_SE(4947)==1)CALL ANI_TXT('velocity z
',12)
4783 IF(ANIM_SE(4948)==1)CALL ANI_TXT('velocity xy
',12)
4784 IF(ANIM_SE(4949)==1)CALL ANI_TXT('velocity yz
',12)
4785 IF(ANIM_SE(4950)==1)CALL ANI_TXT('velocity xz
',12)
4786 IF(ANIM_SE(4951)==1)CALL ANI_TXT('velocity abs
',12)
4788 IF(ANIM_SE(4952)==1)CALL ANI_TXT('internal force x
',18)
4789 IF(ANIM_SE(4953)==1)CALL ANI_TXT('internal force y
',18)
4790 IF(ANIM_SE(4954)==1)CALL ANI_TXT('internal force z
',18)
4791 IF(ANIM_SE(4955)==1)CALL ANI_TXT('internal force xy
',18)
4792 IF(ANIM_SE(4956)==1)CALL ANI_TXT('internal force yz
',18)
4793 IF(ANIM_SE(4957)==1)CALL ANI_TXT('internal force xy
',18)
4794 IF(ANIM_SE(4958)==1)CALL ANI_TXT('internal force abs
',18)
4796 IF(ANIM_SE(4959)==1)CALL ANI_TXT('ams selection
',13)
4798 IF(ANIM_SE(4960)==1) CALL ANI_TXT('vorticity-y
',11)
4799 IF(ANIM_SE(4961)==1) CALL ANI_TXT('vorticity-z
',11)
4800 IF(ANIM_SE(4962)==1) CALL ANI_TXT('vorticity
',9)
4801 IF(ANIM_SE(4963)==1) CALL ANI_TXT('internal energy
',15)
4803 IF(ANIM_SE(4964)==1)CALL ANI_TXT('plastic work
',12)
4804 IF(ANIM_SE(4965)==1)CALL ANI_TXT('element status
',14)
4805 IF(ANIM_SE(4966)==1)CALL ANI_TXT('mach number
',11)
4806 IF(ANIM_SE(4967)==1)CALL ANI_TXT('color function
',14)
4807 IF(ANIM_SE(4968)==1)CALL ANI_TXT('damage
',6)
4808 IF(ANIM_SE(4969)==1)CALL ANI_TXT('non-local plastic strain
',24)
4809 IF(ANIM_SE(4970)==1)CALL ANI_TXT('non-local plastic strain rate
',29)
4810 IF(ANIM_SE(4971)==1)CALL ANI_TXT('tsai-wu criterion
',17)
4812 IF(ANIM_SE(4971+I)==1)THEN
4814 . 'tsai-wu crit. layer
',I
4815 CALL ANI_TXT(MES,22)
4818 IF(ANIM_SE(5172)==1)CALL ANI_TXT('region identifier in p,v diagram
',32)
4819 IF(ANIM_SE(5173)==1)CALL ANI_TXT('volumetric strain
',17)
4820 IF(ANIM_SE(5174)==1)CALL ANI_TXT('volumetric strain - 1
',21)
4821 IF(ANIM_SE(5175)==1)CALL ANI_TXT('volumetric strain - 2
',21)
4822 IF(ANIM_SE(5176)==1)CALL ANI_TXT('volumetric strain - 3
',21)
4823 IF(ANIM_SE(5177)==1)CALL ANI_TXT('volumetric strain - 4
',21)
4824 IF(ANIM_SE(5178)==1)CALL ANI_TXT('volumetric strain - 5
',21)
4825 IF(ANIM_SE(5179)==1)CALL ANI_TXT('volumetric strain - 6
',21)
4826 IF(ANIM_SE(5180)==1)CALL ANI_TXT('volumetric strain - 7
',21)
4827 IF(ANIM_SE(5181)==1)CALL ANI_TXT('volumetric strain - 8
',21)
4828 IF(ANIM_SE(5182)==1)CALL ANI_TXT('volumetric strain - 9
',21)
4829 IF(ANIM_SE(5183)==1)CALL ANI_TXT('volumetric strain - 10
',22)
4837 NDMA2= NUMNOD*(MIN(1,ANIM_N(1)+OUTP_N(1)+H3D_DATA%N_SCAL_DT)
4838 . +MIN(1,ANIM_N(2)+OUTP_N(2)+H3D_DATA%N_SCAL_DMAS)
4839 . +MIN(1,ANIM_N(12)+OUTP_N(3)+H3D_DATA%N_SCAL_DINER))
4840 NNN = NUMELS+ISPH3D*(NUMSPH+MAXPJET)+3*NUMELS16+27*NUMELIG3D
4843 IF(ANIM_SE(I)==1) THEN
4845 1 ELBUF_TAB ,WAFT ,IFUNC ,IPARG ,GEO ,
4846 2 IXS ,MAS ,PM ,EL2FA ,NNN ,
4847 3 IPM ,IGEO ,NBPART ,EANI ,OUTPUT%DATA%SCAL_SPRING,
4848 4 IADG ,SPBUF ,IPART ,IPARTSP ,ISPH3D ,
4849 5 X ,V ,W ,ALE_CONNECTIVITY,
4850 6 NERCVOIS ,NESDVOIS ,LERCVOIS ,LESDVOIS ,BUFMAT ,
4851 7 OUTPUT%DATA%FANI_CELL ,MULTI_FVM ,MAT_PARAM ,GLOB_THERM%ITHERM)
4858 IF(ANIM_ST(1)==1) CALL ANI_TXT('stress
',6)
4859 IF(ANIM_ST(2)==1) CALL ANI_TXT('strain
',6)
4860 IF(ANIM_ST(3)==1) CALL ANI_TXT('strn rate
',9)
4861 IF(ANIM_ST(4)==1) CALL ANI_TXT('damage
',6)
4862 IF(ANIM_ST(5)==1) CALL ANI_TXT('plastic strain tensor
',21)
4865 IF(ANIM_ST(I)==1)THEN
4868 . 'strs intg point
',II
4869 CALL ANI_TXT(MES,20)
4873 IF(ANIM_ST(I)==1)THEN
4876 . 'stra intg point
',II
4877 CALL ANI_TXT(MES,20)
4881 IF(ANIM_ST(I)==1)THEN
4883 WRITE(MES,'(a,3i3)
')
4884 . 'strs in pt
',ABS(II)/2010,
4885 . MOD(ABS(II)/10,201),MOD(ABS(II),10)
4886 CALL ANI_TXT(MES,20)
4890 IF(ANIM_ST(I)==1)THEN
4892 WRITE(MES,'(a,3i3)
')
4893 . 'stra in pt
',ABS(II)/2010,
4894 . MOD(ABS(II)/10,201),MOD(ABS(II),10)
4895 CALL ANI_TXT(MES,20)
4900 IF(ANIM_ST(I)==1)THEN
4903 . 'plastic strn intg point
',II
4904 CALL ANI_TXT(MES,30)
4909 IF(ANIM_ST(I)==1)THEN
4911 WRITE(MES,'(a,3i3)
')
4912 . 'plastic strn in pt
',ABS(II)/2010,
4913 . MOD(ABS(II)/10,201),MOD(ABS(II),10)
4914 CALL ANI_TXT(MES,30)
4924 IF(ANIM_ST(I)==1)THEN
4925 CALL TENSORS(ELBUF_TAB,IPARG ,IFUNC ,IXS ,PM ,
4926 2 EL2FA ,NNN ,WAFT ,TANI ,
4927 3 NBPART ,X ,IADG ,IPART ,
4928 4 IPARTSP ,ISPH3D ,IPM ,IGEO)
4938 CALL WRITE_R_C(R4,1)
4946 BUF = NUMELSG+3*NUMELS16G+NUMSPHG+27*NUMELIG3D
4950 NNNG = NUMELS+3*NUMELS16+NUMSPH+27*NUMELIG3D
4951 CALL SPMD_R4GET_PARTN(1,NNNG,NBPART,IADG,MAS4,BUF)
4957 CALL DELNUMBS(IPARG ,IXS ,EL2FA ,NNN ,WAFT ,
4958 . DD_IAD,IAD ,NBPART,IADG ,KXSP ,
4966 IF (IPART(3,I)<NSUBS) THEN
4967 CALL WRITE_I_C(IPART(3,I)-1,1)
4969 CALL WRITE_I_C(NSUBS
4970 . +MIN(1,NSECT)+MIN(1,NRBODY+NRBE2T+NRBE3T)
4971 . +MIN(1,NRWALL)+MIN(1,NSURG+NSMAD)-1,1)
4976 IF(MATER(I)==2)CALL WRITE_I_C(IPART(1,I),1)
4979 IF(MATER(I)==2)CALL WRITE_I_C(IPART(2,I),1)
4992 . CALL DRBYCNT(NERBY,NPBY,FR_RBY2)
4995 . CALL DRBE2CNT(NERBE2,IRBE2,LRBE2,WEIGHT)
4999 . CALL DRBE3CNT(NERBE3,IRBE3,LRBE3,WEIGHT)
5002 IF(NB1DG+NRBODY+NRBE2T+NRBE3T+NANIM1D==0) GOTO 600
5007 BUFFERP(I) = MATER(I)
5030 ELSEIF(ITY==100)THEN
5034 IF (NFACPTX(1,IPRT)>0) THEN
5043 IF(NSPMD > 1) CALL SPMD_GLOB_ISUM9(MATER,NPART)
5045 IF(MATER(I)>3) MATER(I) = 3
5047 IF(NSPMD > 1)CALL SPMD_IBCAST(MATER,MATER,NPART,1,0,2)
5049 MATER(I) = MATER(I) + BUFFERP(I)
5054 NBPART = NBPART + MATER(I)/3
5064 CALL WRITE_I_C(NB1D_T+NANIM1D+NERBY+NERBE2+NERBE3,1)
5065 CALL WRITE_I_C(NBPART+NRBODY+NRBE2T+NRBE3T,1)
5066 CALL WRITE_I_C(NFE_ANI,1)
5067 CALL WRITE_I_C(NFT_ANI,1)
5075 CALL PARSORF(ELBUF_TAB,
5076 . X ,D ,IAD ,CDG ,IPARG ,
5077 . IXT ,IXP ,IXR ,MATER ,EL2FA ,
5078 . DD_IAD ,IADG ,IPARTT ,IPARTP,IPARTR ,
5079 . NFACPTX,IXEDGE,NODGLOB,NB1D ,NANIM1D_L,
5080 . IPART ,IGEO ,IADG_TPR,SIADG)
5090 SBUFSPM = SBUFSPM + IAD_RBY2(1,I)
5091 SBUFRECVM = SBUFRECVM + IAD_RBY2(2,I)+1
5093 SBUFSPM = SBUFSPM + 2*NRBYKIN
5094 SBUFRECVM = SBUFRECVM + 2*NRBYKIN*NSPMD
5097 IF ((ISPMD+1)==ABS(FR_RBY2(3,I)))
5098 . SBUFSPO = SBUFSPO + FR_RBY2(2,I)
5100 SBUFSPO = SBUFSPO + NRBYKIN*2
5102 SPORBY = NERBY+NRBYKIN*2
5106 CALL SPMD_DPARRBY(NPBY,LPBY,FR_RBY2,IAD_RBY2,
5107 . SBUFSPM,SBUFRECVM,SBUFSPO,SPORBY,
5108 . NODGLOB,WEIGHT,ITAB)
5110 CALL DPARRBY(LPBY ,NPBY )
5115 CALL SPMD_DPARRBE2(LRBE2, IRBE2,NODGLOB,WEIGHT,NERBE2,
5118 CALL DPARRBE2(LRBE2 ,IRBE2 )
5123 CALL SPMD_DPARRBE3(LRBE3, IRBE3,NODGLOB,WEIGHT,NERBE3,
5126 CALL DPARRBE3(LRBE3 ,IRBE3 )
5132 CALL ANIOFFF(ELBUF_TAB, IPARG ,WAFT,EL2FA ,
5133 . NB1D ,IAD ,NBPART,IADG,IOFFX1,
5136 DO J=1,NERBY+NERBE2+NERBE3
5147 BUFFERP(I) = BUFFERP(I) + IADG(K,I)
5150 CALL WRITE_I_C(BUFFERP,NBPART)
5157 PROC=ABS(FR_RBY2(3,I))
5158 IF (PROC==LOC_PROC) THEN
5159 NERBT(I)=FR_RBY2(2,I)
5162 IF(NSPMD > 1) CALL SPMD_GLOB_ISUM9(NERBT,NRBODY)
5168 CALL DONERBY(IRBY,NERBY1,NPBY,NERBT)
5169 CALL WRITE_I_C(NB1D+NANIM1D+NERBY1,1)
5172 CALL DONERBE2(I,NERBE2_1,IRBE2,NERBE2T)
5173 CALL WRITE_I_C(NB1D+NANIM1D+NERBY1+NERBE2_1,1)
5176 CALL DONERBE3(I,NERBE3_1,IRBE3,NERBE3T)
5177 CALL WRITE_I_C(NB1D+NANIM1D+NERBY1+NERBE2_1+NERBE3_1,1)
5186 WRITE(STR,'(i9,a1)
')IPART(4,I),':
'
5188 CTEXT(J)=ICHAR(STR(J:J))
5192 CALL FRETITL2(TITL,IPART(LIPART1-LTITR+1,I),40)
5194 IF(TITL(J:J)/=' ') IB = J+10
5195 CTEXT(J+10)=ICHAR(TITL(J:J))
5198 CALL WRITE_C_C(CTEXT,10+LTITL)
5205 WRITE(STR,'(i9,a2,a10)
') IRBY,':
','rigid body
'
5207 CTEXT(J)=ICHAR(STR(J:J))
5212 CALL WRITE_C_C(CTEXT,10+LTITL)
5215 WRITE(STR,'(i9,a2,a4)
') I,':
','rbe2
'
5217 CTEXT(J)=ICHAR(STR(J:J))
5223 WRITE(STR,'(i9,a2,a4)
') I,':
','rbe3
'
5225 CTEXT(J)=ICHAR(STR(J:J))
5230 CALL WRITE_C_C(CTEXT,10+LTITL)
5234 WRITE(STR,'(i9,a2)
') NOM_OPT(I161+LNOPT1*(IRBY-1)),':
'
5236 CTEXT(J)=ICHAR(STR(J:J))
5239 CALL FRETITL2(TITL,NOM_OPT(I161+LNOPT1*(IRBY-1)
5240 & +LNOPT1-LTITR),40)
5243 CTEXT(J+11)=ICHAR(TITL(J:J))
5246 CALL WRITE_C_C(CTEXT,10+LTITL)
5249 WRITE(STR,'(i9,a2)
') NOM_OPT(I16L+LNOPT1*(I-1)),':
'
5251 CTEXT(J)=ICHAR(STR(J:J))
5254 CALL FRETITL2(TITL,NOM_OPT(I16L+LNOPT1*(I-1)
5255 & +LNOPT1-LTITR),40)
5258 CTEXT(J+11)=ICHAR(TITL(J:J))
5261 CALL WRITE_C_C(CTEXT,10+LTITL)
5264 WRITE(STR,'(i9,a2)
') NOM_OPT(I16M+LNOPT1*(I-1)),':
'
5266 CTEXT(J)=ICHAR(STR(J:J))
5269 CALL FRETITL2(TITL,NOM_OPT(I16M+LNOPT1*(I-1)
5270 & +LNOPT1-LTITR),40)
5273 CTEXT(J+11)=ICHAR(TITL(J:J))
5276 CALL WRITE_C_C(CTEXT,10+LTITL)
5283.OR.
IF(ANIM_M==1ANIM_FE(3)==1)THEN
5284 CALL DMASANIF(ELBUF_TAB, X ,D ,GEO ,IPARG,
5285 . IXT ,IXP ,IXR ,MAS ,PM ,
5292 IF(ANIM_FE(1)==1) CALL ANI_TXT('plastic strain
',14)
5293 IF(ANIM_FE(3)==1) CALL ANI_TXT('specific energy',15)
5294 IF(anim_fe(7)==1)
CALL ani_txt(
'Von Mises',9)
5295 IF(anim_fe(11)==1)
CALL ani_txt(
'Damage 1',8)
5296 IF(anim_fe(12)==1)
CALL ani_txt(
'Damage 2',8)
5297 IF(anim_fe(13)==1)
CALL ani_txt(
'Damage 3',8)
5298 IF(anim_fe(14)==1)
CALL ani_txt(
'Stress X ',9)
5299 IF(anim_fe(15)==1)
CALL ani_txt(
'Stress Y ',9)
5300 IF(anim_fe(16)==1)
CALL ani_txt(
'Stress Z ',9)
5301 IF(anim_fe(17)==1)
CALL ani_txt(
'Stress XY',9)
5302 IF(anim_fe(18)==1)
CALL ani_txt(
'Stress YZ',9)
5303 IF(anim_fe(19)==1)
CALL ani_txt(
'Stress ZX',9)
5304 IF(anim_fe(20)==1)
CALL ani_txt(
'Element Time Step',17)
5305 IF(anim_fe(21)==1)
CALL ani_txt(
'AMS selection',13)
5306 IF(anim_fe(22)==1)
CALL ani_txt(
'Element status',14)
5309 IF (anim_fe(i) == 1)
THEN
5310 ius = mod((i - 22), 100)
5311 IF (ius==0) ius = 100
5312 WRITE(mes,
'(A,I3,A)')
'Plast Strn IPT ',ius,
' '
5317 IF (anim_fe(123)==1)
CALL ani_txt(
'Strain X ',9)
5318 IF (anim_fe(124)==1)
CALL ani_txt(
'Strain rate',11)
5319 IF (anim_fe(125)==1)
CALL ani_txt(
'Damage ',7)
5325 ndma2= numnod*(
min(1,anim_n(1)+outp_n(1)+h3d_data%N_SCAL_DT)
5326 . +
min(1,anim_n(2)+outp_n(2)+h3d_data%N_SCAL_DMAS)
5327 . +
min(1,anim_n(12)+outp_n(3)+h3d_data%N_SCAL_DINER))
5330 IF(anim_fe(i)==1)
THEN
5332 CALL dfuncf(elbuf_tab ,waft ,ifunc ,iparg ,geo ,
5333 . ixt ,ixp ,ixr ,mas ,pm ,
5334 . el2fa ,nb1d ,iad ,nbpart ,eani ,
5335 . output%DATA%SCAL_SPRING,iadg ,xfunc1 ,nanim1d_l,igeo )
5338 DO j=1,nerby+nerbe2+nerbe3
5348 IF(anim_ft(1)==1)
CALL ani_txt(
'Force & Moment ',15)
5355 IF(anim_ft(i)==1)
THEN
5356 CALL torseur(iadg_tpr ,iparg,ifunc ,ixt ,ixp ,
5357 . ixr ,el2fa,nb1d ,waft ,tors ,
5376 DO j=1,nerby+nerbe2+nerbe3
5393 CALL cntskew(iparg,lrbuf,lrbufg)
5394 IF (ispmd==0) lrbuf=lrbufg
5397 CALL aniskewf(geo,skew,iparg,ixr,dd_iad,lrbuf)
5405 DO j=1,nerby+nerbe2+nerbe3
5432 mas4(nb1d+i) = xmass1(i)
5446 CALL delnumbf(iparg ,ixt ,ixp ,ixr ,el2fa ,
5447 . nb1d ,waft ,dd_iad ,iad ,nbpart,
5448 . iadg ,inumx1,nanim1d_l)
5450 DO j=1,nerby+nerbe2+nerbe3
5460 IF (ipart(3,i)<nsubs)
THEN
5464 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
5465 . +
min(1,nrwall)+
min(1,nsurg+nsmad)-1,1)
5470 DO i=1,nrbody+nrbe2t+nrbe3t
5474 IF(mater(i)==3)
CALL write_i_c(ipart(1,i),1)
5476 DO i=1,nrbody+nrbe2t+nrbe3t
5480 IF(mater(i)==3)
CALL write_i_c(ipart(2,i),1)
5482 DO i=1,nrbody+nrbe2t+nrbe3t
5504 j=j+ncuts+nrwall+nsect+nsurg+nsmad+nplypartw+ncrkpartw
5507 IF(mater(i)==-2)
THEN
5514 IF(mater(i)==-3)
THEN
5519 m3=j+nrbody+nrbe2t+nrbe3t
5525 IF (anim_ply > 0)
THEN
5531 IF(anim_crk > 0)
THEN
5532 ncrksubs =
min(1,ncrkpart)
5539 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
5540 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+nfvsubs+ nplysubs
5554 IF (nrbody+nrbe2t+nrbe3t>0)
THEN
5555 WRITE(str,
'(I8,A28)')mxsubs+1,
':RBODIES & RBE2 & RBE3 MODEL'
5557 ctext(j)=ichar(str(j:j))
5563 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
5564 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+nfvsubs
5565 . +nplysubs+ncrksubs-1,1)
5572 n3=nrbody+nrbe2t+nrbe3t
5579 DO j=nrbody+nrbe2t+nrbe3t,1,-1
5587 WRITE(str,
'(I8,A15)')mxsubs
5588 . +
min(1,nrbody+nrbe2t+nrbe3t)+1,
':SECTIONS MODEL'
5590 ctext(j)=ichar(str(j:j))
5596 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
5597 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+nfvsubs
5598 . +nplysubs+ncrksubs-1,1)
5609 CALL write_i_c(m1-nsurg-nsmad-nrwall-nplypartw
5621 WRITE(str,
'(I8,A13)')mxsubs
5622 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)+1,
5625 ctext(j)=ichar(str(j:j))
5631 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
5632 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+nfvsubs
5633 . +nplysubs+ncrksubs-1,1)
5655 IF (nsurg+nsmad>0)
THEN
5656 WRITE(str,
'(I8,A15)')mxsubs
5657 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
5658 . +
min(1,nrwall)+1,
':SURFACES MODEL'
5660 ctext(j)=ichar(str(j:j))
5666 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
5667 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+nfvsubs
5668 . +nplysubs+ncrksubs-1,1)
5678 DO j=nsurg+nsmad,1,-1
5679 CALL write_i_c(m1-nplypartw-ncrkpartw-j,1)
5689 IF (nplysubs>0)
THEN
5691 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)+
min(1,nrwall)
5692 . +
min(1,nsurg+nsmad) + 1
5693 WRITE(str,
'(I8,A8)')
5698 ctext(j)=ichar(str(j:j))
5704 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
5705 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+nplysubs
5727 IF (ncrksubs>0)
THEN
5729 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)+
min(1,nrwall)
5730 . +
min(1,nsurg+nsmad) + 1
5731 WRITE(str,
'(I8,A9)')
5735 ctext(j)=ichar(str(j:j))
5741 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
5742 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+nplysubs
5743 . +nfvsubs+ncrksubs-1,1)
5766 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t
5767 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+ nplysubs
5769 offpart=nbpart2d + nplysubs + ncrksubs
5771 IF (
fvdata(i)%NPOLH_ANIM>0)
THEN
5774 . ii,
':FVMBAG ID ',
fvdata(i)%ID
5776 ctext(j)=ichar(str(j:j))
5782 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
5783 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+nfvsubs
5784 . +nplysubs+ncrksubs-1,1)
5789 DO j=1,
fvdata(i)%NPOLH_ANIM
5792 offpart=offpart+
fvdata(i)%NPOLH_ANIM
5803 WRITE(str,
'(I8,A13)')1,
':GLOBAL MODEL'
5805 ctext(j)=ichar(str(j:j))
5813 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+nfvsubs
5814 . +nplysubs+ncrksubs,1)
5816 IF (nrbody+nrbe2t+nrbe3t>0)
5819 .
CALL write_i_c(nsubs+
min(1,nrbody+nrbe2t+nrbe3t)-1,1)
5822 . +
min(1,nrbody+nrbe2t+nrbe3t)-1,1)
5825 . nrbe3t)+
min(1,nrwall)-1,1)
5826 IF (ispmd==0 .AND.nplysubs > 0)
THEN
5827 ii=nsubs+
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
5828 . +
min(1,nrwall)+
min(1,nsurg+nsmad) - 1
5832 IF (ispmd==0 .AND.ncrksubs > 0)
THEN
5833 ii=nsubs+
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
5834 . +
min(1,nrwall)+
min(1,nsurg+nsmad) - 1
5838 IF (ispmd==0.AND.nfvsubs>0)
THEN
5839 ii=
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)+
min(1,nrwall)
5840 . +
min(1,nsurg+nsmad)+1
5851 IF(mater(k)>0.AND.mater(k)<=m01)
THEN
5853 ELSEIF(mater(k)>m1.AND.mater(k)<=m2)
THEN
5855 ELSEIF(mater(k)>m2)
THEN
5864 IF(mater(k)>0.AND.mater(k)<=m01)
5869 CALL write_i_c(m1-nrwall-nsect-nsurg-nsmad-nplypartw
5875 IF(mater(k)>m1.AND.mater(k)<=m2)
5881 IF(mater(k)>m2)
CALL write_i_c(mater(k)-m2-1,1)
5889 IF (subset(i)%ID > mxsubs) mxsubs=subset(i)%ID
5890 WRITE(str,
'(I9,A1)') subset(i)%ID,
':'
5892 ctext(j)=ichar(str(j:j))
5895 titl(1:ltitl) = subset(i)%TITLE(1:ltitl)
5897 IF(titl(j:j)/=
' ') ib = j+10
5898 ctext(j+10)=ichar(titl(j:j))
5903 IF (subset(i)%PARENT < nsubs)
THEN
5907 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
5908 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+nfvsubs
5909 . +nplysubs+ncrksubs-1,1)
5914 DO j=1,subset(i)%NCHILD
5921 DO j=1,subset(i)%NPART
5922 k = subset(i)%PART(j)
5923 IF(mater(k)>0.AND.mater(k)<=m01)
THEN
5925 ELSEIF(mater(k)>m1.AND.mater(k)<=m2)
THEN
5927 ELSEIF(mater(k)>m2)
THEN
5933 DO j=1,subset(i)%NPART
5934 k = subset(i)%PART(j)
5935 IF(mater(k)>0.AND.mater(k)<=m01)
5940 DO j=1,subset(i)%NPART
5941 k = subset(i)%PART(j)
5942 IF(mater(k)>m1.AND.mater(k)<=m2)
5947 DO j=1,subset(i)%NPART
5948 k = subset(i)%PART(j)
5949 IF(mater(k)>m2)
CALL write_i_c(mater(k)-m2-1,1)
5955 IF (nrbody+nrbe2t+nrbe3t>0)
THEN
5956 WRITE(str,
'(I8,A14)')mxsubs+1,
':RBODIES MODEL'
5958 ctext(j)=ichar(str(j:j))
5964 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
5965 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+nfvsubs
5966 . +nplysubs+ncrksubs-1,1)
5973 n3=nrbody+nrbe2t+nrbe3t
5980 DO j=nrbody+nrbe2t+nrbe3t,1,-1
5988 WRITE(str,
'(I8,A15)')mxsubs+
min(1,nrbody+nrbe2t+nrbe3t)
5989 . +1,
':SECTIONS MODEL'
5991 ctext(j)=ichar(str(j:j))
5997 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
5998 . +
min(1,nrwall)+
min(1,nsurg
5999 . +nplysubs+ncrksubs-1,1)
6010 CALL write_i_c(m1-nsurg-nsmad-nrwall-nplypartw-
6022 WRITE(str,
'(I8,A13)')mxsubs
6023 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
6024 . +1,
':RWALLS MODEL'
6026 ctext(j)=ichar(str(j:j))
6032 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
6033 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+nfvsubs
6034 . +nplysubs+ncrksubs-1,1)
6056 IF (nsurg+nsmad>0)
THEN
6057 WRITE(str,
'(I8,A15)')mxsubs
6058 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
6059 . +
min(1,nrwall)+1,
':SURFACES MODEL'
6061 ctext(j)=ichar(str(j:j))
6067 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
6068 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+nplysubs
6069 . +nfvsubs+ncrksubs-1,1)
6079 DO j=nsurg+nsmad,1,-1
6080 CALL write_i_c(m1-j-nplypartw-ncrkpartw,1)
6090 IF (nplysubs>0)
THEN
6092 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)+
min(1,nrwall)
6093 . +
min(1,nsurg+nsmad)+1
6095 WRITE(str,
'(I8,A8)')
6098 ctext(j)=ichar(str(j:j))
6104 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
6105 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+nplysubs
6127 IF (ncrksubs>0)
THEN
6129 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)+
min(1,nrwall)
6130 . +
min(1,nsurg+nsmad)+1
6132 WRITE(str,
'(I8,A9)')
6135 ctext(j)=ichar(str(j:j))
6141 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
6142 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+nplysubs
6143 . +nfvsubs+ncrksubs-1,1)
6166 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
6167 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+ nplysubs
6169 offpart=nbpart2d+ nplysubs+ncrksubs
6171 IF (
fvdata(i)%NPOLH_ANIM>0)
THEN
6173 WRITE(str,
'(I8,A11,I8)')
6174 . ii,
':FVMBAG ID ',
fvdata(i)%ID
6176 ctext(j)=ichar(str(j:j))
6182 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
6183 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+nplysubs
6184 . +nfvsubs+ncrksubs-1,1)
6189 DO j=1,
fvdata(i)%NPOLH_ANIM
6192 offpart=offpart+
fvdata(i)%NPOLH_ANIM
6203 WRITE(str,
'(I9,A1)') subset(nsubs)%ID,
':'
6205 ctext(j)=ichar(str(j:j))
6208 titl(1:ltitl) = subset(i)%TITLE(1:ltitl)
6210 IF(titl(j:j)/=
' ') ib = j+10
6211 ctext(j+10)=ichar(titl(j:j))
6216 CALL write_i_c(subset(nsubs)%PARENT-1,1)
6219 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
6220 . +
min(1,nrwall)+
min(1,nsurg+nsmad)+nplysubs+nfvsubs
6223 DO j=1,subset(nsubs)%NCHILD
6224 CALL write_i_c(subset(nsubs)%CHILD(j)-1,1)
6226 IF (nrbody+nrbe2t+nrbe3t>0)
6229 .
CALL write_i_c(nsubs+
min(1,nrbody+nrbe2t+nrbe3t)-1,1)
6235 . nrbe3t)+
min(1,nrwall)-1,1)
6236 IF (ispmd==0.AND.nplysubs>0)
THEN
6237 ii=nsubs+
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
6238 . +
min(1,nrwall)+
min(1,nsurg+nsmad) - 1
6242 IF (ispmd==0.AND.ncrksubs>0)
THEN
6243 ii=nsubs+
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
6244 . +
min(1,nrwall)+
min(1,nsurg+nsmad) - 1
6248 IF (ispmd==0.AND.nfvsubs>0)
THEN
6249 ii=nsubs+
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
6250 . +
min(1,nrwall)+
min(1,nsurg+nsmad)
6260 DO j=1,subset(i)%NPART
6261 k = subset(i)%PART(j)
6262 IF(mater(k)>0.AND.mater(k)<=m01)
THEN
6264 ELSEIF(mater(k)>m1.AND.mater(k)<=m2)
THEN
6266 ELSEIF(mater(k)>m2)
THEN
6274 DO j=1,subset(i)%NPART
6275 k = subset(i)%PART(j)
6276 IF(mater(k)>0.AND.mater(k)<=m01)
6281 CALL write_i_c(m1-nrwall-nsect-nsurg-nsmad-nplypartw-
6286 DO j=1,subset(i)%NPART
6287 k = subset(i)%PART(j)
6288 IF(mater(k)>m1.AND.mater(k)<=m2)
6293 DO j=1,subset(i)%NPART
6294 k = subset(i)%PART(j)
6312 WRITE(str,
'(I9,A1)') ipm(1,i),
':'
6314 ctext(j)=ichar(str(j:j))
6317 CALL fretitl2(titl,ipm(npropmi-ltitr+1,i),40)
6319 IF(titl(j:j)/=
' ') ib = j+10
6320 ctext(j+10)=ichar(titl(j:j))
6341 WRITE(str,
'(I9,A1)') igeo(1,i),
':'
6343 ctext(j)=ichar(str(j:j))
6346 CALL fretitl2(titl,igeo(npropgi-ltitr+1,i),40)
6348 IF(titl(j:j)/=
' ') ib = j+10
6349 ctext(j+10)=ichar(titl(j:j))
6369 IF(isph3d==1.OR.numsph_t+maxpjet==0)
GOTO 700
6382 bufferp(i) = mater(i)
6399 IF(mater(i)>4) mater(i) = 4
6401 IF(nspmd > 1)
CALL spmd_ibcast(mater,mater,npart,1,0,2)
6403 mater(i) = mater(i)+bufferp(i)
6408 IF(mater(i)==4)nbpart = nbpart + 1
6422 CALL parsor0(iad ,iparg ,mater ,el2fa ,
6424 3 kxsp ,ipartsp ,nodglob)
6428 nnn = numsph+maxpjet
6429 CALL anioff0(elbuf_tab ,iparg ,waft ,el2fa ,
6430 . nnn ,nbpart ,iadg ,swaft,sph2sol)
6438 bufferp(i) = bufferp(i) + iadg(k,i)
6449 WRITE(str,
'(I9,A1)')ipart(4,i),
':'
6451 ctext(j)=ichar(str(j:j))
6454 CALL fretitl2(titl,ipart(lipart1-ltitr+1,i),40)
6456 IF(titl(j:j)/=
' ') ib = j+10
6457 ctext(j+10)=ichar(titl(j:j))
6467 IF(anim_m==1.OR.anim_se(3)==1.OR.
6468 . anim_se(25)==1)
THEN
6469 CALL dmasani0(x ,d ,elbuf_tab,geo ,iparg ,
6470 2 mas ,pm ,el2fa ,ipart ,ipartsp )
6479 CALL ani_txt(
'Number of neighbours',20)
6481 IF(anim_se(1)==1)
CALL ani_txt(
'Plastic Strain',14)
6482 IF(anim_se(2)==1)
CALL ani_txt(
'Density',7)
6483 IF(anim_se(3)==1)
CALL ani_txt(
'Specific Energy',15)
6484 IF(anim_se(4)==1)
CALL ani_txt(
'Temperature',11)
6485 IF(anim_se(6)==1)
CALL ani_txt(
'Pressure',8)
6486 IF(anim_se(7)==1)
CALL ani_txt(
'Von Mises',9)
6487 IF(anim_se(8)==1)
CALL ani_txt(
'Turbulent Energy',16)
6488 IF(anim_se(9)==1)
CALL ani_txt(
'Turbulent Viscosity',19)
6489 IF(anim_se(10)==1)
CALL ani_txt(
'Vorticity',9)
6490 IF(anim_se(11)==1)
CALL ani_txt(
'Damage 1',8)
6491 IF(anim_se(12)==1)
CALL ani_txt(
'Damage 2',8)
6492 IF(anim_se(13)==1)
CALL ani_txt(
'Damage 3',8)
6493 IF(anim_se(14)==1)
CALL ani_txt(
'Stress X ',9)
6494 IF(anim_se(15)==1)
CALL ani_txt(
'Stress Y ',9)
6495 IF(anim_se(16)==1)
CALL ani_txt(
'Stress Z ',9)
6496 IF(anim_se(17)==1)
CALL ani_txt(
'Stress XY',9)
6497 IF(anim_se(18)==1)
CALL ani_txt(
'Stress YZ',9)
6498 IF(anim_se(19)==1)
CALL ani_txt(
'Stress ZX',9)
6499 IF(anim_se(20)==1)
CALL ani_txt(
'User Var 1',10)
6500 IF(anim_se(21)==1)
CALL ani_txt(
'User Var 2',10)
6501 IF(anim_se(22)==1)
CALL ani_txt(
'User Var 3',10)
6502 IF(anim_se(23)==1)
CALL ani_txt(
'User Var 4',10)
6503 IF(anim_se(24)==1)
CALL ani_txt(
'User Var 5',10)
6504 IF(anim_se(25)==1)
CALL ani_txt(
'Hourglass Energy per unit mass',30)
6505 IF(anim_se(26)==1)
CALL ani_txt(
'Strain Rate',11)
6506 IF(anim_se(27)==1)
CALL ani_txt(
'User Var 6',10)
6507 IF(anim_se(28)==1)
CALL ani_txt(
'User Var 7',10)
6508 IF(anim_se(29)==1)
CALL ani_txt(
'User Var 8',10)
6509 IF(anim_se(30)==1)
CALL ani_txt(
'User Var 9',10)
6510 IF(anim_se
CALL ani_txt'User Var 10'
6511 IF(anim_se(32)==1)
CALL ani_txt(
'User Var 11',11)
6512 IF(anim_se(33)==1)
CALL ani_txt(
'User Var 12',11)
6513 IF(anim_se(34)==1)
CALL ani_txt(
'User Var 13',11)
6514 IF(anim_se(35)==1)
CALL ani_txt(
'User Var 14',11)
6515 IF(anim_se(36)==1)
CALL ani_txt(
'User Var 15',11)
6516 IF(anim_se(37)==1)
CALL ani_txt(
'User Var 16',11)
6517 IF(anim_se(38)==1)
CALL ani_txt(
'User Var 17',11)
6518 IF(anim_se(39)==1)
CALL ani_txt(
'User Var 18',11)
6519 IF(anim_se(40)==1)
CALL ani_txt(
'User Var 19',11)
6520 IF(anim_se(41)==1)
CALL ani_txt(
'User Var 20',11)
6521 IF(anim_se(42)==1)
CALL ani_txt(
'User Var 21',11)
6522 IF(anim_se(43)==1)
CALL ani_txt(
'User Var 22',11)
6523 IF(anim_se(44)==1)
CALL ani_txt(
'User Var 23',11)
6524 IF(anim_se(45)==1)
CALL ani_txt(
'User Var 24',11)
6525 IF(anim_se(46)==1)
CALL ani_txt(
'User Var 25',11)
6526 IF(anim_se(47)==1)
CALL ani_txt(
'User Var 26',11)
6527 IF(anim_se(48)==1)
CALL ani_txt(
'User Var 27',11)
6528 IF(anim_se(49)==1)
CALL ani_txt(
'User Var 28',11)
6529 IF(anim_se(50)==1)
CALL ani_txt(
'User Var 29',11)
6530 IF(anim_se(51)==1)
CALL ani_txt(
'User Var 30',11)
6531 IF(anim_se(52)==1)
CALL ani_txt(
'User Var 31',11)
6532 IF(anim_se(53)==1)
CALL ani_txt(
'User Var 32',11)
6533 IF(anim_se(54)==1)
CALL ani_txt(
'User Var 33',11)
6534 IF(anim_se(55)==1)
CALL ani_txt(
'User Var 34',11)
6535 IF(anim_se(56)==1)
CALL ani_txt(
'User Var 35',11)
6536 IF(anim_se(57)==1)
CALL ani_txt(
'User Var 36',11)
6537 IF(anim_se(58)==1)
CALL ani_txt(
'User Var 37',11)
6538 IF(anim_se(59)==1)
CALL ani_txt(
'User Var 38',11)
6539 IF(anim_se(60)==1)
CALL ani_txt(
'User Var 39',11)
6540 IF(anim_se(61)==1)
CALL ani_txt(
'User Var 40',11)
6541 IF(anim_se(62)==1)
CALL ani_txt(
'User Var 41',11)
6542 IF(anim_se(63)==1)
CALL ani_txt(
'User Var 42',11)
6543 IF(anim_se(64)==1)
CALL ani_txt(
'User Var 43',11)
6544 IF(anim_se(65)==1)
CALL ani_txt(
'User Var 44',11)
6545 IF(anim_se(66)==1)
CALL ani_txt(
'User Var 45',11)
6546 IF(anim_se(67)==1)
CALL ani_txt(
'User Var 46',11)
6547 IF(anim_se(68)==1)
CALL ani_txt(
'User Var 47',11)
6548 IF(anim_se(69)==1)
CALL ani_txt(
'User Var 48',11)
6549 IF(anim_se(70)==1)
CALL ani_txt(
'User Var 49',11)
6550 IF(anim_se(71)==1)
CALL ani_txt(
'User Var 50',11)
6551 IF(anim_se(72)==1)
CALL ani_txt(
'User Var 51',11)
6552 IF(anim_se(73)==1)
CALL ani_txt(
'User Var 52',11)
6553 IF(anim_se(74)==1)
CALL ani_txt(
'User Var 53',11)
6554 IF(anim_se(75)==1)
CALL ani_txt(
'User Var 54',11)
6555 IF(anim_se(76)==1)
CALL ani_txt(
'User Var 55',11)
6556 IF(anim_se(77)==1)
CALL ani_txt(
'User Var 56',11)
6557 IF(anim_se(78)==1)
CALL ani_txt(
'User Var 57',11)
6558 IF(anim_se(79)==1)
CALL ani_txt(
'User Var 58',11)
6559 IF(anim_se(80)==1)
CALL ani_txt(
'User Var 59',11)
6560 IF(anim_se(81)==1)
CALL ani_txt(
'User Var 60',11)
6562 IF(anim_se(i)==1)
THEN
6570 IF(anim_se(286+3*(i-1)+1)==1)
THEN
6571 WRITE(mes,
'(A,I3,A)')
'Psi (layer',i,
')'
6574 IF(anim_se(286+3*(i-1)+2)==1)
THEN
6575 WRITE(mes,
'(A,I3,A)')
'Teta (layer',i,
')'
6578 IF(anim_se(286+3*(i-1)+3)==1)
THEN
6579 WRITE(mes,
'(A,I3,A)')
'Phi (layer',i,
')'
6583 IF(anim_se(3890)==1)
CALL ani_txt(
'MAX DAMAGE ELEMENT',18)
6584 IF(anim_se(4893)==1)
CALL ani_txt(
'Domain',6)
6585 IF(anim_se(4937)==1)
CALL ani_txt(
'Element Time Step',17)
6586 IF(anim_se(4959)==1)
CALL ani_txt(
'AMS selection',13)
6587 IF(anim_se(4965)==1)
CALL ani_txt(
'Element status',14)
6588 IF(anim_se(4895)==1)
CALL ani_txt(
'Equiv stress',12)
6589 IF(anim_se(5172)==1)
CALL ani_txt(
'Region identifier in p,v diagram',32)
6590 IF(anim_se(5173)==1)
CALL ani_txt(
'Volumetric Strain',17)
6595 nnn = numsph+maxpjet
6601 CALL dfunc0(elbuf_tab ,waft ,ifunc ,iparg ,
6602 2 mas ,pm ,el2fa ,nnn ,
6603 3 nbpart ,iadg ,spbuf ,ipart ,
6604 4 ipartsp ,ale_connectivity,ipm ,
6605 5 x ,v ,w ,glob_therm%ITHERM,
6606 6 nercvois ,nesdvois ,lercvois ,lesdvois,
6607 7 bufmat ,multi_fvm ,kxsp ,default_output,
6615 IF(anim_se(i) == 1)
THEN
6616 CALL dfunc0(elbuf_tab ,waft ,ifunc ,iparg ,
6617 2 mas ,pm ,el2fa ,nnn ,
6618 3 nbpart ,iadg ,spbuf ,ipart ,
6619 4 ipartsp ,ale_connectivity,ipm ,
6620 5 x ,v ,w ,glob_therm%ITHERM,
6621 6 nercvois ,nesdvois ,lercvois ,lesdvois,
6622 7 bufmat ,multi_fvm ,kxsp ,default_output,
6630 IF(anim_st(1)==1)
CALL ani_txt(
'Stress',6)
6631 IF(anim_st(2)==1)
CALL ani_txt(
'Strain',6)
6632 IF(anim_st(3)==1)
CALL ani_txt(
'Strn rate',9)
6633 IF(anim_st(4)==1)
CALL ani_txt(
'Damage',6)
6634 IF(anim_st(5)==1)
CALL ani_txt(
'Plastic Strain Tensor',21)
6637 IF(anim_st(i)==1)
THEN
6640 .
'Strs Intg Point',ii
6645 IF(anim_st(i)==1)
THEN
6648 .
'Stra Intg Point',ii
6653 IF(anim_st(i)==1)
THEN
6655 WRITE(mes,
'(A,3I3)')
6656 .
'Strs In Pt',abs(ii)/2010,
6657 . mod(abs(ii)/10,201),mod(abs(ii),10)
6662 IF(anim_st(i)==1)
THEN
6664 WRITE(mes,
'(A,3I3)')
6665 .
'Stra In Pt',abs(ii)/2010,
6666 . mod(abs(ii)/10,201),mod(abs(ii),10)
6672 IF(anim_st(i)==1)
THEN
6675 .
'Plastic Strn Intg Point',ii
6681 IF(anim_st(i)==1)
THEN
6683 WRITE(mes,
'(A,3I3)')
6684 .
'Plastic Strn In Pt',abs(ii)/2010,
6685 . mod(abs(ii)/10,201),mod(abs(ii),10)
6695 IF(anim_st(i)==1)
THEN
6696 CALL tensor0(elbuf_tab,iparg ,ifunc ,pm ,el2fa ,
6697 2 nnn ,waft ,tani ,iad ,
6698 3 nbpart ,x ,iadg ,ipart ,ipartsp ,
6726 CALL delnumb0(iparg ,el2fa ,nnn ,waft ,dd_iad,
6727 . iad ,nbpart,iadg ,kxsp )
6734 IF (ipart(3,i)<nsubs)
THEN
6738 . +
min(1,nsect)+
min(1,nrbody+nrbe2t+nrbe3t)
6739 . +
min(1,nrwall)+
min(1,nsurg+nsmad)-1,1)
6744 IF(mater(i)==4)
CALL write_i_c(ipart(1,i),1)
6747 IF(mater(i)==4)
CALL write_i_c(ipart(2,i),1)
6783 DO j=1,subset(i)%NPART
6784 k = subset(i)%PART(j)
6791 DO j=1,subset(i)%NPART
6792 k = subset(i)%PART(j)
6802 DO j=1,subset(i)%NPART
6803 k = subset(i)%PART(j)
6810 DO j=1,subset(i)%NPART
6811 k = subset(i)%PART(j)
6818 IF(mater(i)<0)mater(i)=-mater(i)
6829 IF (output%checksum%checksum_count > 0)
THEN
6833 animtotalsize=animtotalsize+animsize
6835 WRITE (iout,1000) filnam(1:filen)
6836 WRITE (istdo,1000) filnam(1:filen)
6837 1000
FORMAT (4x,
' ANIMATION FILE:',1x,a,
' WRITTEN')
6840 IF(anim_ply > 0)
THEN
6841 DEALLOCATE(waft_ply)
6842 DEALLOCATE(el2fa_ply)
6843 DEALLOCATE(iad_plyg)
6845 IF(anim_crk > 0)
THEN
6846 DEALLOCATE(el2fa_crk)
6847 DEALLOCATE(iad_crkg)
6850 DEALLOCATE(waft_crk)
6853 DEALLOCATE(waft,mas,xnorm,xmass1,xmass2,xmass3,
6854 . xfunc1,xfunc2,xfunc3,xusr)
6856 DEALLOCATE(wa4,mas4)
6859 DEALLOCATE(vflu,vvar1,aflu,vflu_ale,fanreact,fanreacr)
6861 DEALLOCATE(wgps,vgps,itagps)
6862 DEALLOCATE(is_written_node)
6868 DEALLOCATE(iadg_tpr)
6882 DEALLOCATE(ig3dsolid)