Ajith Kurian Baby
Mechanical
- Mar 28, 2020
- 53
I want to use UMESH MOTION subroutine for a reciprocating wear problem. I don't have much knowledge of writing subroutine. I went through Abaqus documentation but was not that helpful for me. I had written a code but its always showing compilation error. kindly help me to solve this issue.
I don't find any tutorial for this subroutine. pls support me
SUBROUTINE UMESHMOTION(UREF,ULOCAL,NODE,NNDOF,
* LNODETYPE,ALOCAL,NDIM,TIME,DTIME,PNEWDT,
* KSTEP,KINC,KMESHSWEEP,JMATYP,JGVBLOCK,LSMOOTH)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION ULOCAL(NDIM),JELEMLIST(*)
DIMENSION ALOCAL(NDIM,*),TIME(2)
DIMENSION JMATYP(*),JGVBLOCK(*)
CHARACTER*80 PARTNAME
DIMENSION ARRAY(3)
DIMENSION VEL(6)
CPRESS=0.0D0
VELOCITY=0.0D0
if (NODE.EQ.8)then
ULOCAL(NDIM)=0
call GETVRN(NODE,'V',VEL,JRCD,JGVBLOCK,LTRN)
else
call GETPARTINFO(NODE,0,PARTNAME,LOCNUM,JRCD)
call GETNODETOELEMCONN(NODE,NELEMS,JELEMLIST,JELEMTYPE,JRCD,
$ JGVBLOCK)
call GETVRMAVGATNODE(NODE,'CSTRESS',ARRAY,JRCD,JELEMLIST,NELEMS,
$ JMATYP,JGVBLOCK)
CPRESS = ARRAY(1)
VELOCITY = VEL(1)
WEARRATE=0.000035377*VELOCITY*CPRESS
ULOCAL(NDIM)=ULOCAL(NDIM)-WEARRATE
RETURN
END
I don't find any tutorial for this subroutine. pls support me
SUBROUTINE UMESHMOTION(UREF,ULOCAL,NODE,NNDOF,
* LNODETYPE,ALOCAL,NDIM,TIME,DTIME,PNEWDT,
* KSTEP,KINC,KMESHSWEEP,JMATYP,JGVBLOCK,LSMOOTH)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION ULOCAL(NDIM),JELEMLIST(*)
DIMENSION ALOCAL(NDIM,*),TIME(2)
DIMENSION JMATYP(*),JGVBLOCK(*)
CHARACTER*80 PARTNAME
DIMENSION ARRAY(3)
DIMENSION VEL(6)
CPRESS=0.0D0
VELOCITY=0.0D0
if (NODE.EQ.8)then
ULOCAL(NDIM)=0
call GETVRN(NODE,'V',VEL,JRCD,JGVBLOCK,LTRN)
else
call GETPARTINFO(NODE,0,PARTNAME,LOCNUM,JRCD)
call GETNODETOELEMCONN(NODE,NELEMS,JELEMLIST,JELEMTYPE,JRCD,
$ JGVBLOCK)
call GETVRMAVGATNODE(NODE,'CSTRESS',ARRAY,JRCD,JELEMLIST,NELEMS,
$ JMATYP,JGVBLOCK)
CPRESS = ARRAY(1)
VELOCITY = VEL(1)
WEARRATE=0.000035377*VELOCITY*CPRESS
ULOCAL(NDIM)=ULOCAL(NDIM)-WEARRATE
RETURN
END