34
35
36
37#include "implicit_f.inc"
38
39
40
41#include "mvsiz_p.inc"
42
43
44
45#include "com01_c.inc"
46
47
48
49 INTEGER, INTENT(IN) :: NEL
50 INTEGER, INTENT(IN) :: JCVT
51 INTEGER IS
53 . pyi(*), pzi(*), pyj(*), pzj(*),
54 . pyci(*), pzci(*), pycj(*), pzcj(*), ay(*), r22(*), r23(*),
55 . dd(3,3,*), gg(*), kij(2,2,*), kiju(2,2,*), kijl(2,2,*)
56
57
58
59 INTEGER EP,IASY
61 . ays(mvsiz)
62
63
64
65 DO ep=1,nel
66 kij(1,1,ep) = kij(1,1,ep) +
67 . dd(1,1,ep)*pyi(ep)*pyj(ep) +
68 . gg(ep)*pzci(ep)*pzcj(ep)
69 kij(1,2,ep) = kij(1,2,ep) +
70 . dd(1,2,ep)*pyi(ep)*pzj(ep) +
71 . gg(ep)*pzci(ep)*pycj(ep)
72 kij(2,1,ep) = kij(2,1,ep) +
73 . dd(1,2,ep)*pzi(ep)*pyj(ep) +
74 . gg(ep)*pyci(ep)*pzcj(ep)
75 kij(2,2,ep) = kij(2,2,ep) +
76 . dd(2,2,ep)*pzi(ep)*pzj(ep) +
77 . gg(ep)*pyci(ep)*pycj(ep)
78 ENDDO
79
80 IF (n2d==1) THEN
81 DO ep=1,nel
82 ays(ep) = ay(ep)*ay(ep)
83 ENDDO
84 IF (jcvt==0) THEN
85 DO ep=1,nel
86 kij(1,1,ep) = kij(1,1,ep) +
87 . dd(1,3,ep)*ay(ep)*(pyi(ep)+pyj(ep)) +
88 . dd(3,3,ep)*ays(ep)
89 kij(1,2,ep) = kij(1,2,ep) +
90 . dd(2,3,ep)*ay(ep)*pzj(ep)
91 kij(2,1,ep) = kij(2,1,ep) +
92 . dd(2,3,ep)*pzi(ep)*ay(ep)
93 ENDDO
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110 ELSE
111 DO ep=1,nel
112 kij(1,1,ep) = kij(1,1,ep) +
113 . dd(1,3,ep)*r22(ep)*ay(ep)*(pyi(ep)+pyj(ep)) +
114 . dd(3,3,ep)*r22(ep)*r22(ep)*ays(ep)
115 kij(1,2,ep) = kij(1,2,ep) +
116 . dd(1,3,ep)*r23(ep)*ay(ep)*pyi(ep) +
117 . dd(2,3,ep)*r22(ep)*ay(ep)*pzj(ep) +
118 . dd(3,3,ep)*r22(ep)*r23(ep)*ays(ep)
119 kij(2,1,ep) = kij(2,1,ep) +
120 . dd(1,3,ep)*r23(ep)*ay(ep)*pyj(ep) +
121 . dd(2,3,ep)*r22(ep)*ay(ep)*pzi(ep) +
122 . dd(3,3,ep)*r22(ep)*r23(ep)*ays(ep)
123 kij(2,2,ep) = kij(2,2,ep) +
124 . dd(2,3,ep)*r23(ep)*ay(ep)*(pzi(ep)+pzj(ep)) +
125 . dd(3,3,ep)*r23(ep)*r23(ep)*ays(ep)
126 ENDDO
127
128
129
130
131 ENDIF
132 ENDIF
133
134 RETURN