13
14 implicit real*8(a-h,o-z)
15
16 dimension stress(ntens),statev(nstatv),
17 + ddsdde(ntens,ntens),ddsddt(ntens),drplde(ntens),
18 + stran(ntens),dstran(ntens),time(2),predef(1),dpred(1),
19 + props(nprops),coords(3),drot(3,3),dfgrd0(3,3),dfgrd1(3,3)
20
21 character*80 cmname
22
23 integer i,j
24
25 real*8 eye(3,3),eps(3,3),sigma(3,3)
26 real*8 young,nu,mu,kappa,lambda,treps
27
28
29 real*8 zero,one,two,half,three,third
30 parameter(zero=0.d0,one=1.d0,two=2.d0,half=0.5d0,three=3.d0,
31 + third=1.d0/3.d0)
32
33 eye = zero
34 do i=1,3
35 eye(i,i) = one
36 enddo
37
38 young = props(1)
39 nu = props(2)
40 mu = young/(two*(one+nu))
41 kappa = young/(three*(one-two*nu))
42 lambda = kappa - two*third*mu
43
44 eps = half*(dfgrd1 + transpose(dfgrd1)) - eye
45 treps = eps(1,1) + eps(2,2) + eps(3,3)
46 sigma = two*mu*eps + lambda*treps*eye
47
48 stress(1) = sigma(1,1)
49 stress(2) = sigma(2,2)
50 stress(3) = sigma(3,3)
51 stress(4) = sigma(1,2)
52 if(ntens.eq.6) then
53 stress(5) = sigma(1,3)
54 stress(6) = sigma(2,3)
55 endif
56
57 ddsdde = zero
58
59 do i=1,3
60 ddsdde(i,i) = lambda + two*mu
61 enddo
62 do i=1,3
63 do j=1,3
64 if(i.ne.j) ddsdde(i,j) = lambda
65 enddo
66 enddo
67 do i=4,ntens
68 ddsdde(i,i) = mu
69 enddo
70
71 return