37
38
39
42
43
44
45#include "implicit_f.inc"
46
47
48
49#include "mvsiz_p.inc"
50
51
52
53#include "impl1_c.inc"
54
55
56
57 INTEGER, INTENT(IN) :: NEL
58 INTEGER, INTENT(IN) :: MTN
59 INTEGER JFT, JLT ,IR,IS,IT
60
62 . lamda(*),g(*),cc(3,3,*),
cg(3,3,*),g33(3,3,*)
63
64
65
66 INTEGER I,,J,K,IPLAST
67
69 . nu,sig(6,mvsiz),
alpha(mvsiz),g2,tt,tv
70 TYPE(L_KTBUFEP_) , POINTER :: LBUF
71 TYPE(MLAW_TAG_) , POINTER :: MTAG
72
74 lbuf =>
ktbuf_str(ng_imp)%KTBUFEP(ir,is,it)
75 IF (mtag%L_A_KT>0) THEN
76 DO i=jft,jlt
77
78 j=6*(i-1)
79 sig(1,i)= lbuf%SIGE(j+1)
80 sig(2,i)= lbuf%SIGE(j+2)
81 sig(3,i)= lbuf%SIGE(j+3)
82 sig(4,i)= lbuf%SIGE(j+4)
83 sig(5,i)= lbuf%SIGE(j+5)
84 sig(6,i)= lbuf%SIGE(j+6)
85
86 alpha(i)= lbuf%A_KT(i)
87 ENDDO
88 ELSE
89 DO i=jft,jlt
91 ENDDO
92 END IF
93 DO i=jft,jlt
94 tv=lamda(i)+two_third*g(i)*(one-
alpha(i))
95 tt=tv+two*g(i)*
alpha(i)
96 cc(1,1,i)=tt
97 cc(2,2,i)=tt
98 cc(3,3,i)=tt
99 cc(1,2,i)=tv
100 cc(1,3,i)=tv
101 cc(2,3,i)=tv
102 cc(2,1,i)=tv
103 cc(3,1,i)=tv
104 cc(3,2,i)=tv
105 ENDDO
106 DO j = 1, 3
107 DO k = 1, 3
108 DO i=jft,jlt
110 g33(j,k,i)=zero
111 ENDDO
112 ENDDO
113 ENDDO
114 DO i=jft,jlt
116 g33(1,1,i)=g2
117 g33(2,2,i)=g2
118 g33(3,3,i)=g2
119 ENDDO
122
123 RETURN
subroutine cg(dim, mat, rhs, sol, max_iter, tol)
type(ktbuf_struct_), dimension(:), allocatable, target ktbuf_str
subroutine sktvonm4(lft, llt, dd, sig, dd1, gt, r)