0% found this document useful (0 votes)
29 views2 pages

4

This subroutine calculates stresses and material stiffness for different materials. It initializes the material properties, calculates the elasticity matrix, and uses it to calculate stresses from strains.

Uploaded by

milad noorollahi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views2 pages

4

This subroutine calculates stresses and material stiffness for different materials. It initializes the material properties, calculates the elasticity matrix, and uses it to calculate stresses from strains.

Uploaded by

milad noorollahi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

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
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)

double precision v, E, G, A, B, C
IF (CMNAME(1:4) .EQ. 'MAT1') THEN

C young's modulus :
E=PROPS(1)
C poisson's ratio :
v=PROPS(2)

G=E/(2*(1+v))
C determination of DDSDDE :
C most of the elements of DDSDDE are zero . so first we generate a zero matrix
and then edit it .
DO K1=1, NDI
DO K2=1, NDI
DDSDDE(K1, K2)=0
END DO
END DO

A=(E*(v-1))/(2*(v**2)+v-1)
B=(-E*v)/(2*(v**2)+v-1)
C=G
C editing nonzero elements of DDSDDE :
DDSDDE(1,1)=A
DDSDDE(1,2)=B
DDSDDE(1,3)=B
DDSDDE(2,1)=B
DDSDDE(2,2)=A
DDSDDE(2,3)=B
DDSDDE(3,1)=B
DDSDDE(3,2)=B
DDSDDE(3,3)=A
DDSDDE(4,4)=C
DDSDDE(5,5)=C
DDSDDE(6,6)=C

C calculation of stresses

DO K1=1, NTENS
DO K2=1, NTENS
STRESS(K1)=STRESS(K1)+DDSDDE(K1, K2)*DSTRAN(K2)
END DO
END DO
ELSE IF(CMNAME(1:4) .EQ. 'MAT2') THEN

C young's modulus :
E=PROPS(1)
C poisson's ratio :
v=PROPS(2)

G=E/(2*(1+v))
C determination of DDSDDE :
C most of the elements of DDSDDE are zero . so first we generate a zero matrix
and then edit it .
DO K1=1, NDI
DO K2=1, NDI
DDSDDE(K1, K2)=0
END DO
END DO

A=(E*(v-1))/(2*(v**2)+v-1)
B=(-E*v)/(2*(v**2)+v-1)
C=G
C editing nonzero elements of DDSDDE :
DDSDDE(1,1)=A
DDSDDE(1,2)=B
DDSDDE(1,3)=B
DDSDDE(2,1)=B
DDSDDE(2,2)=A
DDSDDE(2,3)=B
DDSDDE(3,1)=B
DDSDDE(3,2)=B
DDSDDE(3,3)=A
DDSDDE(4,4)=C
DDSDDE(5,5)=C
DDSDDE(6,6)=C

C calculation of stresses

DO K1=1, NTENS
DO K2=1, NTENS
STRESS(K1)=STRESS(K1)+DDSDDE(K1, K2)*DSTRAN(K2)
END DO
END DO

END IF

RETURN
END

You might also like