46
47
48
49#include "implicit_f.inc"
50
51
52
53#include "mvsiz_p.inc"
54
55
56
57
58
59
60 INTEGER, INTENT(IN) :: NEL
61 INTEGER ICP
62
64 . px1(*), px2(*), px3(*), px4(*),
65 . py1(*), py2(*), py3(*), py4(*),
66 . pz1(*), pz2(*), pz3(*), pz4(*),
67 . k11(9,*) ,k12(9,*) ,k13(9,*) ,k14(9,*) ,k15(9,*) ,
68 . k16(9,*) ,k17(9,*) ,k18(9,*) ,k22(9,*) ,k23(9,*) ,
69 . k24(9,*) ,k25(9,*) ,k26(9,*) ,k27(9,*) ,k28(9,*) ,
70 . k33(9,*) ,k34(9,*) ,k35(9,*) ,k36(9,*) ,k37(9,*) ,
71 . k38(9,*) ,k44(9,*) ,k45(9,*) ,k46(9,*) ,k47(9,*) ,
72 . k48(9,*) ,k55(9,*) ,k56(9,*) ,k57(9,*) ,k58(9,*) ,
73 . k66(9,*) ,k67(9,*) ,k68(9,*) ,k77(9,*) ,k78(9,*) ,
74 . k88(9,*) ,hh(2,*) ,vol(*) ,fac(*)
75
76
77
78 INTEGER , J,IS
79
81 . tt,tv,dd(3,3,mvsiz),
82 . px5(mvsiz), px6(mvsiz), px7(mvsiz), px8(mvsiz),
83 . py5(mvsiz), py6(mvsiz), py7(mvsiz), py8(mvsiz),
84 . pz5(mvsiz), pz6(mvsiz), pz7(mvsiz), pz8(mvsiz)
85
86 IF (icp==1) THEN
87 DO i=1,nel
88 tv=(hh(1,i)+two_third*hh(2,i))*vol(i)
89 tt=tv
90 dd(1,1,i)=tt
91 dd(2,2,i)=tt
92 dd(3,3,i)=tt
93 dd(1,2,i)=tv
94 dd(1,3,i)=tv
95 dd(2,1,i)=tv
96 dd(2,3,i)=tv
97 dd(3,1,i)=tv
98 dd(3,2,i)=tv
99 ENDDO
100 ELSE
101 DO i=1,nel
102 tv=(hh(1,i)*fac(i)+two_third*hh(2,i)*(one-fac(i)))*vol(i)
103 tt=tv
104 dd(1,1,i)=tt
105 dd(2,2,i)=tt
106 dd(3,3,i)=tt
107 dd(1,2,i)=tv
108 dd(1,3,i)=tv
109 dd(2,1,i)=tv
110 dd(2,3,i)=tv
111 dd(3,1,i)=tv
112 dd(3,2,i)=tv
113 ENDDO
114 END IF
115
116 DO i=1,nel
117 px5(i)=-px3(i)
118 py5(i)=-py3(i)
119 pz5(i)=-pz3(i)
120 px6(i)=-px4(i)
121 py6(i)=-py4(i)
122 pz6(i)=-pz4(i)
123 px7(i)=-px1(i)
124 py7(i)=-py1(i)
125 pz7(i)=-pz1(i)
126 px8(i)=-px2(i)
127 py8(i)=-py2(i)
128 pz8(i)=-pz2(i)
129 ENDDO
130
131 is =1
132
133 CALL s8zked3(1,nel,px1, py1 ,pz1 ,px1, py1, pz1, dd, k11,is)
134 CALL s8zked3(1,nel,px2, py2 ,pz2 ,px2, py2, pz2, dd, k22,is)
135 CALL s8zked3(1,nel,px3, py3 ,pz3 ,px3, py3, pz3, dd, k33,is)
136 CALL s8zked3(1,nel,px4, py4 ,pz4 ,px4, py4, pz4, dd, k44,is)
137 CALL s8zked3(1,nel,px5, py5 ,pz5 ,px5, py5, pz5, dd, k55,is)
138 CALL s8zked3(1,nel,px6, py6 ,pz6 ,px6, py6, pz6, dd, k66,is)
139 CALL s8zked3(1,nel,px7, py7 ,pz7 ,px7, py7, pz7, dd, k77,is)
140 CALL s8zked3(1,nel,px8, py8 ,pz8 ,px8, py8, pz8, dd, k88,is)
141
142 is =0
143
144 CALL s8zked3(1,nel,px1, py1 ,pz1 ,px2, py2, pz2, dd, k12,is)
145 CALL s8zked3(1,nel,px1, py1 ,pz1 ,px3, py3, pz3, dd, k13,is)
146 CALL s8zked3(1,nel,px1, py1 ,pz1 ,px4, py4, pz4, dd, k14,is)
147 CALL s8zked3(1,nel,px1, py1 ,pz1 ,px5, py5, pz5, dd, k15,is)
148 CALL s8zked3(1,nel,px1, py1 ,pz1 ,px6, py6, pz6, dd, k16,is)
149 CALL s8zked3(1,nel,px1, py1 ,pz1 ,px7, py7, pz7, dd, k17,is)
150 CALL s8zked3(1,nel,px1, py1 ,pz1 ,px8, py8, pz8, dd, k18,is)
151 CALL s8zked3(1,nel,px2, py2 ,pz2 ,px3, py3, pz3, dd, k23,is)
152 CALL s8zked3(1,nel,px2, py2 ,pz2 ,px4, py4, pz4, dd, k24,is)
153 CALL s8zked3(1,nel,px2, py2 ,pz2 ,px5, py5, pz5, dd, k25,is)
154 CALL s8zked3(1,nel,px2, py2 ,pz2 ,px6, py6, pz6, dd, k26,is)
155 CALL s8zked3(1,nel,px2, py2 ,pz2 ,px7, py7, pz7, dd, k27,is)
156 CALL s8zked3(1,nel,px2, py2 ,pz2 ,px8, py8, pz8, dd, k28,is)
157 CALL s8zked3(1,nel,px3, py3 ,pz3 ,px4, py4, pz4, dd, k34,is)
158 CALL s8zked3(1,nel,px3, py3 ,pz3 ,px5, py5, pz5, dd, k35,is)
159 CALL s8zked3(1,nel,px3, py3 ,pz3 ,px6, py6, pz6, dd, k36,is)
160 CALL s8zked3(1,nel,px3, py3 ,pz3 ,px7, py7, pz7, dd, k37,is)
161 CALL s8zked3(1,nel,px3, py3 ,pz3 ,px8, py8, pz8, dd, k38,is)
162 CALL s8zked3(1,nel,px4, py4 ,pz4 ,px5, py5, pz5, dd, k45,is)
163 CALL s8zked3(1,nel,px4, py4 ,pz4 ,px6, py6, pz6, dd, k46,is)
164 CALL s8zked3(1,nel,px4, py4 ,pz4 ,px7, py7, pz7, dd, k47,is)
165 CALL s8zked3(1,nel,px4, py4 ,pz4 ,px8, py8, pz8, dd, k48,is)
166 CALL s8zked3(1,nel,px5, py5 ,pz5 ,px6, py6, pz6, dd, k56,is)
167 CALL s8zked3(1,nel,px5, py5 ,pz5 ,px7, py7, pz7, dd, k57,is)
168 CALL s8zked3(1,nel,px5, py5 ,pz5 ,px8, py8, pz8, dd, k58,is)
169 CALL s8zked3(1,nel,px6, py6 ,pz6 ,px7, py7, pz7, dd, k67,is)
170 CALL s8zked3(1,nel,px6, py6 ,pz6 ,px8, py8, pz8, dd, k68,is)
171 CALL s8zked3(1,nel,px7, py7 ,pz7 ,px8, py8, pz8, dd, k78,is)
172
173
174 RETURN
subroutine s8zked3(lft, llt, pxi, pyi, pzi, pxj, pyj, pzj, dd, kij, is)