C subroutine umeshmotion(uref,ulocal,node,nndof,lnodetype,alocal, * ndim,time,dtime,pnewdt,kstep,kinc, * kmeshsweep,jmatyp,jgvblock,lsmooth) C include 'aba_param.inc' C CHARACTER*80 PARTNAME DIMENSION ARRAY(1000) DIMENSION ULOCAL(*) DIMENSION JGVBLOCK(*),JMATYP(*) DIMENSION ALOCAL(NDIM,*) PARAMETER (NELEMMAX=100) DIMENSION JELEMLIST(NELEMMAX),JELEMTYPE(NELEMMAX) PARAMETER (ALamda1=4.0D0,ALamda2=0.01D0) PARAMETER (TRCON = 0.001) LOCNUM = 0 JRCD = 0 PARTNAME = ' ' PEEQ = 0.0D0 FPEEQ= 0.0D0 FPOROSITY=0.00D0 FRVF = 0.00D0 CALL GETPARTINFO(NODE,0,PARTNAME,LOCNUM,JRCD) NELEMS = NELEMMAX CALL GETNODETOELEMCONN(NODE,NELEMS,JELEMLIST,JELEMTYPE,JRCD, $ JGVBLOCK) CALL GETVRMAVGATNODE(NODE,'PE',ARRAY,JRCD, $ JELEMLIST,NELEMS,JMATYP,JGVBLOCK) PEEQ = ARRAY(7) IF (PEEQ.GT.0.028D0) THEN FPEEQ=Alamda1*(PEEQ-0.028D0) If(FPEEQ.gt.ALamda2)FPEEQ=ALamda2 CALL GETVRMAVGATNODE(NODE,'VOIDR',ARRAY,JRCD, $ JELEMLIST,NELEMS,JMATYP,JGVBLOCK) FPOROSITY = 1.0D0/(1.0D0+ARRAY(1)) CALL GETVRMAVGATNODE(NODE,'FLVEL',ARRAY,JRCD, $ JELEMLIST,NELEMS,JMATYP,JGVBLOCK) FLVMAG = ARRAY(1) SURFV = TRCON*FPEEQ*FPOROSITY*FLVMAG ULOCAL(NDIM) = ULOCAL(NDIM)-SURFV LSMOOTH = 1 END IF return end SUBROUTINE SIGINI(SIGMA,COORDS,NTENS,NCRDS,NOEL,NPT,LAYER, 1KSPT,LREBAR,NAMES) INCLUDE 'ABA_PARAM.INC' DIMENSION SIGMA(NTENS),COORDS(NCRDS) CHARACTER*80 NAMES(*) IF(NAMES(2).EQ.'C3D8P') THEN SIGMA(1)=-5000. SIGMA(2)=-5000. SIGMA(3)=-7500. SIGMA(4)= 0. SIGMA(5)= 0. SIGMA(6)= 0. ENDIF RETURN END