Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Compilation error in simple UMAT subroutine

Status
Not open for further replies.

coolFL

Mechanical
Mar 4, 2015
39
0
0
US
Hi everybody,

I am trying to simulate UMAT subroutine for very simple 3D problem. I have a cantilever beam and I am applying (-ve) pressure at one end. In UMAT, I have written a code for Isotropic Isothermal elasticity. Which is nothing but *ELASTIC option in Abaqus. But still I am getting compilation error in Abaqus. Can somebody please help me in fixing this very simple problem on UMAT?
UMAT code is as follows and the abaqus file for 3D cantilever beam is also attached,

SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
1 RPL,DDSDDT,DRPLDE,DRPLDT,
2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
C
INCLUDE 'ABA_PARAM.INC'
C
real :: EMOD,ENU,EBULK3,EG2,EG,EG3,ELAM
integer :: K1,K2
CHARACTER*80 CMNAME
DIMENSION STRESS(NTENS),STATEV(NSTATV),
1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),
2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3)

!This code is written to simulate Isotropic Isothermal Elasticity, which is nothing but uniform elastic model from Abaqus
!PROPS(1) = E; Young's modulus of the material
!PROPS(2) = nu; Poission's ratio of the material
!Please note this code is not applicable for plane stress conditions as the stiffness matrix is different for them
!if (NDI/=3) then
! write(7,*) 'This UMAT only be used for elements with 3D'
! call XIT
!endif

!Elastic Properties definition
EMOD=PROPS(1)
ENU=PROPS(2)
EBULK3=EMOD/(1-2*ENU)
EG2=EMOD/(1+ENU)
EG=EG2/2
EG3=3*EG
ELAM=(EBULK3-EG2)/3

do K1= 1, NDI
do K2= 1,NDI
DDSDDE(K2,K1)=ELAM
end do
DDSDDE(K1,K1)=EG2+ELAM
end do
do K1= NDI+1, NTENS
DDSDDE(K1,K1)=EG
end do

!This part calculates stress based on element stiffness matrix and engineering strain
do K1=1, NTENS
do K2=1, NTENS
STRESS(K2)=STRESS(K2)+DDSDDE(K2,K1)*DSTRAN(K1)
end do
end do

RETURN
END

Thanks in advance,

Nik

 
 http://files.engineering.com/getfile.aspx?folder=7793f7a3-4923-4dd5-890f-2e4f0a4f65ce&file=3D_Cantilever_Beam.cae,
Status
Not open for further replies.
Back
Top