You are on page 1of 55

21 ABAQUS (UMAT)

ABAQUS
ABAQUS
ABAQUS User
Subroutine

1 ABAQUS
ABAQUS 2
FORTRAN 3
4 restart
5 ABAQUS
ABAQUS
user FORTRAN

ABAQUS ABAQUS/CAE

ABAQUS Command ABAQUS


ABAQUS job=

user= Fortran

ABAQUS/Standard ABAQUS/Explicit

21-1


ABAQUS/Standard Johnson-Cook
ABAQUS/StandardUMAT ABAQUS/Explicit
VUMAT
ABAQUS

21.1
ABAQUS Fortran
ABAQUS ABAQUS JohnsonCook ABAQUS/Explicit
ABAQUS/Standard Johnson-Cook
ABAQUS/StandardUMATUMAT

21.2
21.2.1 Johnson-Cook
Johnson-Cook Johnson-Cook
JC

21-2

JC

&
= ( A + B n ) 1 + C ln 1 + ( 1 T *m )

&0

(21-1)

A, B, n, C , m &0 = 1
A

T *

T* =

Tr

T Tr
Tm Tr

Tm Johnson-Cook

90-100 JC

T =
T

( ) d
c

(21-2)

21-2

21-3

21.2.2
Johnson-Cook
Mises

d = d e + d p

(21-3)

dt

= e + p

(21-4)

= E e = E ( p )

(21-5)

&p = &
&= & =

&

(21-6)

= 0

= = sign ( )

(21-7)

&p = & = &


= &sign ( )

(21-8)

21-4

( , , )

(21-9)

Cauchy

&= &e + &p

(21-10)

&= C : &e = C : ( & &p )

(21-11)

&p = &r ( , q ) q&= &h

(21-12)

( , q )
&=

(21-13)

J2 Perzyna 1971

21-5

= Y ( )

Y ( )

(21-14)

Macualay f > 0 f = f f 0 f = 0

Mises

Johnson-Cook

&= exp
1 1
C 0 ( )

(21-15)

0 = A + B n

(21-16)

21.2.3

n +1 = n +

(21-17a)

np+1 = np + n+ 1 rn+ 1

(21-17b)

21-6

n n , n , q n

n +1

, np+1 , qn +1 )

q np+1 = q np + n +1hn +1

(21-17c)

n +1 = C : ( n +1 np+1 )

(21-17d)

f n +1 = f ( n +1 , qn +1 ) = 0

(21-17e)

21-17

21-17b21-17d

n +1 = C : ( n +1 np np+1 )
= C: (

p
n

p
n +1

) C= : (

p
n

) C+

: C :

p
n +1

= ( n + C : ) C : np+1
p
trail
= trail
n +1 C : n +1 = n +1 n +1 C : rn +1

(21-18)
n +1 = n + C : n +1C : rn +1
trail

J2

r=

3 dev
2

21-7

(21-19)

r = f von Mises
21-1

21-1

21-1

p( 0) = np ( 0) = n

( 0 ) = 0

20)
k
21-8

( 0)

= C : n+1 p( 0 )

(21-

( k ) = ( 0) ( k ) C : r ( k )

(21-21)

( 0)
n = r ( 0) / r
= 0dev /

0
dev

r ( 0) =

(21-22)

3/ 2 n

( ) (

( )

f ( k ) = ( k ) Y ( k ) = ( 0) 3 ( k ) Y (k )

(21-23)

( ) 3 ( ) ) ( ( ) )
(
=
0

( k)

(21-24)

3 + H ( k )

n=

0
dev

0
dev

p ( k ) = ( k )

3
2

k
k
n ( ) = ( )

(21-

25a)

p( k +1) = p ( k ) + p ( k )

( k +1) = C : n +1 p ( k +1) = ( k ) + ( k ) = ( k ) 2 (k )

21-9

(21-25b)

3
2

(21-

25c)

( k +1) = ( k ) + ( k )

(21-25d)

( k +1) = ( k ) + ( k )

(21-25e)

21.3 ABAQUS
User-defined Material Mechanical Behavior UMAT
ABAQUS ABAQUS
*USER MATERIAL

21.3.1
UMATUMAT
(1)

ABAQUS

(2)

ABAQUS

(3)

UMAT Jacobian

21-10


(4)

USDFLD USDFLD
UMAT

UMAT
UMATUMAT

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)
user coding to define DDSDDE, STRESS, STATEV, SSE, SPD,
SCD
and, if necessary, RPL, DDSDDT, DRPLDE, DRPLDT, PNEWDT
RETURN

21-11

END

UMAT DDSDDE

DDSDDT

DRPLDE NDI
NSHR
UMATUMAT

DDSDDE ( NTENS , NTENS )


NTENS /

DDSDDE ( I , J ) J

*USER

MATERIAL UNSYMM

STRESS ( NTENS )
NDI NSHR
UMATUMAT
UMAT
UMATUMAT
UMAT

21-12

STATEV ( NSTATEV )
UMAT
USDFLD UEXPAN
UMAT

NSTATEV
*DEPVAR
ABAQUS *DEPVAR

NPROPS
*USER MATERIAL CONSTANTS

PROPS ( NPROPS )
*USER MATERIAL

21-13

SSE SPD SCD

STRAN ( NTENS )
DSTRAN ( NTENS )
DTIME
NDI

NSHR
NTENS NTENS = NDI + NSHR
UMAT

*ELASTIC
UMAT ABAQUS
*HOURGLASS STIFFNESS
*TRANSVERSE SHEAR STIFFNESS

21-14

21.3.2
ABAQUS
UMAT

UMATUMAT
UMATUMAT
UMATUMAT21-2

21-15

21-2 UMAT

8 13
21-1
21-1 UMAT
PROPS

4
A

5
B

6
n

STATEV

1-6

7-12

13

7
C

8
M

UMATABAQUS/Standard Hopkinson
SHPB

21.4 SHPB
SHPB UMAT
ABAQUS/Standard SHPB
UMAT

21.4.1 Hopkinson SHPB


Hopkinson Split Hopkinson Pressure Bar SHPB
Hopkinson

21-16

Hopkinson 21-3

21-3 Hopkinson

21.4.2
SHPB
SHPB

3040mm 1000mm 25mm


22mm 18mm
21-17

21-421-5

21-18

21-4

21-5

UMAT
1220
17160 21-2
21-2

21-19

[mm]

1475

1220

21049

17160

( L )

251000
1822

CAX4
CAX4

530
160

251000

CAX4

530

251000
1822

C3D8
C3D8

7500
2160

251000

C3D8

7500

ABAQUS
Multi-Points Constrain MPC 21-6

21-6

21-20

a b

200GPa 0.3
7.85103 kg/m3 UMAT21-3
Johnson-Cook
21-3

[Kg/m3]

[MPa]

2.7103

68.0103

0.33

Johnson-Cook
B
n
C

A
[MPa]

[MPa]

66.562

108.853

0.238

0.029

M
0.5

SHPB

Cd =

21-21

(21-26)

Cd = 5048 m/s

Ts <

2L
2
=
B 4.0 104 ( s )
Cd 5048

Ts = 2.0 10

tr = 3.0 105

(21-27)

21-7

Le Cd

t stable =

21-22

Le
Cd

(21-28)

300

250
-4

(1.7 10 ,200)

( MPa)

200
-5

(3.0 10 ,170)
150
-1

(s )
250
200
100
70

100

50

0
0.0000

0.0001

0.0002

0.90
0.77
0.52
0.46

0.0003

0.0004

0.0005

( s)

21-7

Le = 10 mm

t stable = 2.0 10 6 (s)


ABAQUS

21-23

(21-29)

21.4.3

SHPB ABAQUS/StandardUMAT

250 s-1
t = 1.98 104 ( s )
Mises 21-8

21-8

Mises (t=1.9810-4 s)

t = 3.0 104 ( s )

21-24

21-9 (a) 21-9 (b) Mises


1MPa

(a)

(b)
21-9

Mises (t=3.010-4 s)

21-25

Mises 21-10
Mises kPa
kPa

21-10

Mises (t=4.210-4 s)

0.2m 21-11

21-26

150
100

( MPa)

50

S22
021
081
709
769

0
-50
-100
-150
-200
0.0000

0.0001

0.0002

0.0003

0.0004

0.0005

( s)

21-11

21-27

E22
540
620
680

0.04

0.03

0.02

0.01

0.00
0.0000

0.0001

0.0002

0.0003

0.0004

0.0005

0.0004

0.0005

( s)
( a)

140
120

( MPa)

100

S22
540
620
580

80
60
40
20
0
0.0000

0.0001

0.0002

( b)

0.0003

( s)

21-28

300

-1

( s)

200

SR22
540
620
580

100

-100
0.0000

0.0001

0.0002

( c)

0.0003
( s)

0.0004

0.0005

21-12

0.05

0.04

E22
671
680
690

0.03

0.02

0.01

0.00
0.0000

0.0001

0.0002

0.0003

( s)

( a)

21-29

0.0004

0.0005

160
140

( MPa)

120
100

S22
671
680
690

80
60
40
20
0
0.0000

0.0001

0.0002

( b)

0.0003

0.0004

0.0005

0.0004

0.0005

( s)

400

-1

( s)

300

SR22
671
680
690

200

100

-100
0.0000

0.0001

0.0002

( c)

0.0003

( s)

21-13

21-30

21-12
21-13

250 s-1
70 100 200 s-1 250 s-1

250 s-1 200 s-1 ABAQUS


21-14 21-15
70 100 200 250 s-1 ABAQUS
21-16 21-20

21-31

160

500


140

ABAQUS

450
400

120

80

250
200

60

150

-1

300

(s )

( MPa)

350
100

40
100
20
0
0.000

50
0.005

0.010

0.015

0.020

0.025

0.030

0.035

0.040

0
0.045

21-14 (250 s-1)

21-32

160
140

500

ABAQUS


450
400

120

80

250
200

60

150

-1

300

(s )

( MPa)

350
100

40
100
20
0
0.000

50

0.005

0.010

0.015

0.020

0.025

0.030

0
0.035

21-15 (200 s-1)

21-33

0.05

0.04

70
100
200
250

0.03

0.02

0.01

0.00
0.0000

0.0001

0.0002

0.0003

0.0004

( s)

21-16

21-34

0.0005

140
120

70
100
200
250

( MPa)

100
80
60
40
20
0
0.0000

0.0001

0.0002

0.0003

0.0004

0.0005

( s)

21-17

160

70
200

100
250

140

( MPa)

120

100

80

60

0.000

0.005

0.010

0.015

0.020

0.025

21-35

0.030

0.035

0.040

0.045

21-18

300

250

-1

(s )

200

70
100
200
250

150
100
50
0
-50
-100
0.0000

0.0001

0.0002

0.0003

0.0004

( s)

21-19

21-36

0.0005

350

300

70
200

100
250

250

-1

(s )

200
150
100
50
0
-50
-100
0.000

0.005

0.010

0.015

0.020

0.025

0.030

0.035

0.040

0.045

21-20

Johnson-Cook

21-37


UMAT

250 s
1

21-21

(a) t=1.9810-4 s

(b) t=3.010-4 s

21-38

(c) t=3.010-4 s
21-21

0.95 95
21-21

1.9
Johnson-Cook m = 0.5
m

1.0

21-22

21-39

29.0

(C)

28.5

28.0

27.5

27.0
0.0000

0.0001

0.0002

0.0003

0.0004

0.0005

( s)

21-22

21-23

21-24
Johnson-Cook
UMAT

21-40

0.05



0.04

0.03

0.02

0.01

0.00
0.0000

0.0001

0.0002

0.0003

( s)

(a)

21-41

0.0004

0.0005

140

120

( MPa)

100
80
60
40
20
0
0.0000

0.0001

0.0002

0.0003

( s)

(b)
21-23

21-42

0.0004

0.0005

160
140

( MPa)

120
100
80
60
40
20
0
0.000

0.005

0.010

0.015

0.020

0.025

0.030

0.035

0.040

0.045

21-24

21.4.4

1MPa 21-25 Mises

21-43

21-25

Mises

21-26
800

( MPa)

100

700
600

500
-1

120

400

80

300

60

200
40
100
20
0
0.0000

0.0001

(s )

140

0.0002

0.0003

( s)

21-44

0.0004

-100
0.0005

21-26

140
120

( MPa)

100
80
60
40
20
0
0.000

0.005

0.010

0.015

0.020

0.025

0.030

0.035

0.040

0.045

21-27

UMAT UMAT
Johnson-Cook UMAT

10 3

21-45

21.5 UMAT Fortran


21.5.1 UMAT
SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
1 RPL,DDSDDT,DRPLDE,DRPLDT,STRAN,DSTRAN,
2
TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,MATERL,NDI,NSHR,NTENS,
3 NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,CELENT,
4 DFGRD0,DFGRD1,NOEL,NPT,KSLAY,KSPT,KSTEP,KINC)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 MATERL
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),
4 DFGRD0(3,3),DFGRD1(3,3)
C
DIMENSION EELAS(6),EPLAS(6),FLOW(6)
PARAMETER (ONE=1.0D0,TWO=2.0D0,THREE=3.0D0,SIX=6.0D0,
HALF =0.5d0)
DATA NEWTON,TOLER/40,1.D-6/
C
C ----------------------------------------------------------C

UMAT FOR JOHNSON-COOK MODEL


21-46

C ----------------------------------------------------------C

PROPS(1) - YANG'S MODULUS

PROPS(2) - POISSON RATIO

PROPS(3) - INELASTIC HEAT FRACTION

PARAMETERS OF JOHNSON-COOK MODEL:

PROPS(4) - A

PROPS(5) - B

PROPS(6) - n

PROPS(7) - C

PROPS(8) - m

C ----------------------------------------------------------C
IF (NDI.NE.3) THEN
WRITE(6,1)
1

FORMAT(//,30X,'***ERROR - THIS UMAT MAY ONLY BE USED

FOR ',
1

'ELEMENTS WITH THREE DIRECT STRESS

COMPONENTS')
ENDIF
C
C

ELASTIC PROPERTIES

C
EMOD=PROPS(1)
ENU=PROPS(2)
IF(ENU.GT.0.4999.AND.ENU.LT.0.5001) ENU=0.499
EBULK3=EMOD/(ONE-TWO*ENU)
EG2=EMOD/(ONE+ENU)
EG=EG2/TWO
EG3=THREE*EG
ELAM=(EBULK3-EG2)/THREE
21-47

C
C

ELASTIC STIFFNESS

C
DO 20 K1=1,NTENS
DO 10 K2=1,NTENS
DDSDDE(K2,K1)=0.0
10
20

CONTINUE
CONTINUE

C
DO 40 K1=1,NDI
DO 30 K2=1,NDI
DDSDDE(K2,K1)=ELAM
30

CONTINUE
DDSDDE(K1,K1)=EG2+ELAM

40

CONTINUE
DO 50 K1=NDI+1,NTENS
DDSDDE(K1,K1)=EG

50

CONTINUE

C
C

CALCULATE STRESS FROM ELASTIC STRAINS

C
DO 70 K1=1,NTENS
DO 60 K2=1,NTENS
STRESS(K2)=STRESS(K2)+DDSDDE(K2,K1)*DSTRAN(K1)
60
70

CONTINUE
CONTINUE

C
C

RECOVER ELASTIC AND PLASTIC STRAINS

C
DO 80 K1=1,NTENS
21-48

EELAS(K1)=STATEV(K1)+DSTRAN(K1)
EPLAS(K1)=STATEV(K1+NTENS)
80

CONTINUE
EQPLAS=STATEV(1+2*NTENS)

C
C

CALCULATE MISES STRESS

C
IF(NPROPS.GT.5.AND.PROPS(4).GT.0.0) THEN
SMISES=(STRESS(1)-STRESS(2))*(STRESS(1)-STRESS(2)) +
1

(STRESS(2)-STRESS(3))*(STRESS(2)-STRESS(3)) +

(STRESS(3)-STRESS(1))*(STRESS(3)-STRESS(1))
DO 90 K1=NDI+1,NTENS
SMISES=SMISES+SIX*STRESS(K1)*STRESS(K1)

90

CONTINUE
SMISES=SQRT(SMISES/TWO)

C
C

CALL USERHARD SUBROUTINE, GET HARDENING RATE AND YIELD

STRESS
C
C
CALL USERHARD(SYIEL0,HARD,EQPLAS,PROPS(4))
C

DETERMINE IF ACTIVELY YIELDING

C
IF (SMISES.GT.(1.0+TOLER)*SYIEL0) THEN
C
C

MATERIAL RESPONSE IS PLASTIC, DETERMINE FLOW DIRECTION

C
SHYDRO=(STRESS(1)+STRESS(2)+STRESS(3))/THREE
ONESY=ONE/SMISES
DO 110 K1=1,NDI
21-49

FLOW(K1)=ONESY*(STRESS(K1)-SHYDRO)
110

CONTINUE
DO 120 K1=NDI+1,NTENS
FLOW(K1)=STRESS(K1)*ONESY

120

CONTINUE

C
C

READ PARAMETERS OF JOHNSON-COOK MODEL

C
A=PROPS(4)
B=PROPS(5)
EN=PROPS(6)
C=PROPS(7)
EM=PROPS(8)
C
C

NEWTON ITERATION

C
SYIELD=SYIEL0
DEQPL=(SMISES-SYIELD)/EG3
DSTRES=TOLER*SYIEL0/EG3
DEQMIN=HALF*DTIME*EXP(1.0D-4/C)
DO 130 KEWTON=1,NEWTON
DEQPL=MAX(DEQPL,DEQMIN)
CALL
USERHARD(SYIELD,HARD,EQPLAS+DEQPL,PROPS(4))
TVP=C*LOG(DEQPL/DTIME)
TVP1=TVP+ONE
HARD1=HARD*TVP1+SYIELD*C/DEQPL
SYIELD=SYIELD*TVP1
RHS=SMISES-EG3*DEQPL-SYIELD
DEQPL=DEQPL+RHS/(EG3+HARD1)
21-50

IF(ABS(RHS/EG3) .LE. DSTRES ) GOTO 140


130

CONTINUE
WRITE(6,2) NEWTON

FORMAT(//,30X,'***WARNING - PLASTICITY ALGORITHM

DID NOT ',


1
140

'CONVERGE AFTER ',I3,' ITERATIONS')


CONTINUE
EFFHRD=EG3*HARD1/(EG3+HARD1)

C
C

CALCULATE STRESS AND UPDATE STRAINS

C
DO 150 K1=1,NDI
STRESS(K1)=FLOW(K1)*SYIELD+SHYDRO
EPLAS(K1)=EPLAS(K1)+THREE*FLOW(K1)*DEQPL/TWO
EELAS(K1)=EELAS(K1)-THREE*FLOW(K1)*DEQPL/TWO
150

CONTINUE
DO 160 K1=NDI+1,NTENS
STRESS(K1)=FLOW(K1)*SYIELD
EPLAS(K1)=EPLAS(K1)+THREE*FLOW(K1)*DEQPL
EELAS(K1)=EELAS(K1)-THREE*FLOW(K1)*DEQPL

160

CONTINUE
EQPLAS=EQPLAS+DEQPL
SPD=DEQPL*(SYIEL0+SYIELD)/TWO
RPL = PROPS(3)*SPD/DTIME

C
C

JACOBIAN

C
EFFG=EG*SYIELD/SMISES
EFFG2=TWO*EFFG
EFFG3=THREE*EFFG2/TWO
21-51

EFFLAM=(EBULK3-EFFG2)/THREE
DO 220 K1=1,NDI
DO 210 K2=1,NDI
DDSDDE(K2,K1)=EFFLAM
210

CONTINUE
DDSDDE(K1,K1)=EFFG2+EFFLAM

220

CONTINUE
DO 230 K1=NDI+1,NTENS
DDSDDE(K1,K1)=EFFG

230

CONTINUE
DO 250 K1=1,NTENS
DO 240 K2=1,NTENS
DDSDDE(K2,K1)=DDSDDE(K2,K1)+FLOW(K2)*FLOW(K1)
1

*(EFFHRD-EFFG3)

240

CONTINUE

250

CONTINUE
ENDIF
ENDIF

C
C

STORE STRAINS IN STATE VARIABLE ARRAY

C
DO 310 K1=1,NTENS
STATEV(K1)=EELAS(K1)
STATEV(K1+NTENS)=EPLAS(K1)
310

CONTINUE
STATEV(1+2*NTENS)=EQPLAS

C
RETURN
END
C
21-52

C
C
SUBROUTINE USERHARD(SYIELD,HARD,EQPLAS,TABLE)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION TABLE(3)
C
C

GET PARAMETERS, SET HARDENING TO ZERO

C
A=TABLE(1)
B=TABLE(2)
EN=TABLE(3)
HARD=0.0
C
C

CALSULATE CURRENT YIELD STRESS AND HARDENING RATE

C
IF(EQPLAS.EQ.0.0) THEN
SYIELD=A
ELSE
HARD=EN*B*EQPLAS**(EN-1)
SYIELD=A+B*EQPLAS**EN
END IF
RETURN
END

21.5.2 UMATHT
SUBROUTINE
UMATHT(U,DUDT,DUDG,FLUX,DFDT,DFDG,STATEV,TEMP,
21-53

$
DTEMP,DTEMDX,TIME,DTIME,PREDEF,DPRED,CMNAME,NTGRD,NSTATV,
$
PROPS,NPROPS,COORDS,PNEWDT,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME
C
DIMENSION DUDG(NTGRD),FLUX(NTGRD),DFDT(NTGRD),
$
DFDG(NTGRD,NTGRD),STATEV(NSTATV),DTEMDX(NTGRD),TIME(2),
$

PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3)

C
C
COND=PROPS(1)
SPECHT=PROPS(2)
C
C

INPUT SPECIFIC HEAT


DUDT=SPECHT
DU=DUDT*DTEMP
U=U+DU

C
C

INPUT FLUX = -[K]*{DTEMDX}


DO I=1, NTGRD
FLUX(I)=-COND*DTEMDX(I)
END DO

C
C

INPUT ISOTROPIC CONDUCTIVITY

C
21-54

DO I=1, NTGRD
DFDG(I,I)=-COND
END DO
C
RETURN
END


2003

21-55

You might also like