63
64
65
66#include "implicit_f.inc"
67
68
69
70
71
72
73 INTEGER, INTENT(IN) :: NEL
74
76 . px1(*), px2(*), px3(*), px4(*),
77 . px5(*), px6(*), px7(*), px8(*),
78 . py1(*), py2(*), py3(*), py4(*),
79 . py5(*), py6(*), py7(*), py8(*),
80 . pz1(*), pz2(*), pz3(*), pz4(*),
81 . pz5(*), pz6(*), pz7(*), pz8(*),
82 . pxy1(*),pxy2(*),pxy3(*),pxy4(*),
83 . pxy5(*),pxy6(*),pxy7(*),pxy8(*),
84 . pyx1(*),pyx2(*),pyx3(*),pyx4(*),
85 . pyx5(*),pyx6(*),pyx7(*),pyx8(*),
86 . pxz1(*),pxz2(*),pxz3(*),pxz4(*),
87 . pxz5(*),pxz6(*),pxz7(*),pxz8(*),
88 . pzx1(*),pzx2(*),pzx3(*),pzx4(*),
89 . pzx5(*),pzx6(*),pzx7(*),pzx8(*),
90 . pyz1(*),pyz2(*),pyz3(*),pyz4(*),
91 . pyz5(*),pyz6(*),pyz7(*),pyz8(*),
92 . pzy1(*),pzy2(*),pzy3(*),pzy4(*),
93 . pzy5(*),pzy6(*),pzy7(*),pzy8(*),
94 . pxc1(*), pxc2(*), pxc3(*), pxc4(*),
95 . pyc1(*), pyc2(*), pyc3(*), pyc4(*),
96 . pzc1(*), pzc2(*), pzc3(*), pzc4(*),
97 . bxy1(*),bxy2(*),bxy3(*),bxy4(*),
98 . bxy5(*),bxy6(*),bxy7(*),bxy8(*),
99 . byx1(*),byx2(*),byx3(*),byx4(*),
100 . byx5(*),byx6(*),byx7(*),byx8(*),
101 . bxz1(*),bxz2(*),bxz3(*),bxz4(*),
102 . bxz5(*),bxz6(*),bxz7(*),bxz8(*),
103 . bzx1(*),bzx2(*),bzx3(*),bzx4(*),
104 . bzx5(*),bzx6(*),bzx7(*),bzx8(*),
105 . byz1(*),byz2(*),byz3(*),byz4(*),
106 . byz5(*),byz6(*),byz7(*),byz8(*),
107 . bzy1(*),bzy2(*),bzy3(*),bzy4(*),
108 . bzy5(*),bzy6(*),bzy7(*),bzy8(*),
109 . nu(*) ,nu1(*)
110
111
112
113 INTEGER I, J ,ICOR
114
115
117 . x1,x3,y1,y2,z2,z3,x24,y34,z14
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135 DO i=1,nel
136 x1 = pzx1(i)-pxc1(i)
137 x3 = pyx1(i)-pxc1(i)
138 y1 = pzy1(i)-pyc1(i)
139 y2 = pxy1(i)-pyc1(i)
140 z2 = pxz1(i)-pzc1(i)
141 z3 = pyz1(i)-pzc1(i)
142 x24= nu(i)*(px1(i)-pxc1(i)-x1-x3)
143 y34= nu(i)*(py1(i)-pyc1(i)-y1-y2)
144 z14= nu(i)*(pz1(i)-pzc1(i)-z2-z3)
145 bxy1(i)=-nu1(i)*x1-x24
146 bxz1(i)=-nu1(i)*x3-x24
147 byx1(i)=-nu1(i)*y1-y34
148 byz1(i)=-nu1(i)*y2-y34
149 bzx1(i)=-nu1(i)*z3-z14
150 bzy1(i)=-nu1(i)*z2-z14
151 ENDDO
152
153 DO i=1,nel
154 x1 = pzx2(i)-pxc2(i)
155 x3 = pyx2(i)-pxc2(i)
156 y1 = pzy2(i)-pyc2(i)
157 y2 = pxy2(i)-pyc2(i)
158 z2 = pxz2(i)-pzc2(i)
159 z3 = pyz2(i)-pzc2(i)
160 x24= nu(i)*(px2(i)-pxc2(i)-x1-x3)
161 y34= nu(i)*(py2(i)-pyc2(i)-y1-y2)
162 z14= nu(i)*(pz2(i)-pzc2(i)-z2-z3)
163 bxy2(i)=-nu1(i)*x1-x24
164 bxz2(i)=-nu1(i)*x3-x24
165 byx2(i)=-nu1(i)*y1-y34
166 byz2(i)=-nu1(i)*y2-y34
167 bzx2(i)=-nu1(i)*z3-z14
168 bzy2(i)=-nu1(i)*z2-z14
169 ENDDO
170
171 DO i=1,nel
172 x1 = pzx3(i)-pxc3(i)
173 x3 = pyx3(i)-pxc3(i)
174 y1 = pzy3(i)-pyc3(i)
175 y2 = pxy3(i)-pyc3(i)
176 z2 = pxz3(i)-pzc3(i)
177 z3 = pyz3(i)-pzc3(i)
178 x24= nu(i)*(px3(i)-pxc3(i)-x1-x3)
179 y34= nu(i)*(py3(i)-pyc3(i)-y1-y2)
180 z14= nu(i)*(pz3(i)-pzc3(i)-z2-z3)
181 bxy3(i)=-nu1(i)*x1-x24
182 bxz3(i)=-nu1(i)*x3-x24
183 byx3(i)=-nu1(i)*y1-y34
184 byz3(i)=-nu1(i)*y2-y34
185 bzx3(i)=-nu1(i)*z3-z14
186 bzy3(i)=-nu1(i)*z2-z14
187 ENDDO
188
189 DO i=1,nel
190 x1 = pzx4(i)-pxc4(i)
191 x3 = pyx4(i)-pxc4(i)
192 y1 = pzy4(i)-pyc4(i)
193 y2 = pxy4(i)-pyc4(i)
194 z2 = pxz4(i)-pzc4(i)
195 z3 = pyz4(i)-pzc4(i)
196 x24= nu(i)*(px4(i)-pxc4(i)-x1-x3)
197 y34= nu(i)*(py4(i)-pyc4(i)-y1-y2)
198 z14= nu(i)*(pz4(i)-pzc4(i)-z2-z3)
199 bxy4(i)=-nu1(i)*x1-x24
200 bxz4(i)=-nu1(i)*x3-x24
201 byx4(i)=-nu1(i)*y1-y34
202 byz4(i)=-nu1(i)*y2-y34
203 bzx4(i)=-nu1(i)*z3-z14
204 bzy4(i)=-nu1(i)*z2-z14
205 ENDDO
206
207 DO i=1,nel
208 x1 = pzx5(i)+pxc3(i)
209 x3 = pyx5(i)+pxc3(i)
210 y1 = pzy5(i)+pyc3(i)
211 y2 = pxy5(i)+pyc3(i)
212 z2 = pxz5(i)+pzc3(i)
213 z3 = pyz5(i)+pzc3(i)
214 x24= nu(i)*(px5(i)+pxc3(i)-x1-x3)
215 y34= nu(i)*(py5(i)+pyc3(i)-y1-y2)
216 z14= nu(i)*(pz5(i)+pzc3(i)-z2-z3)
217 bxy5(i)=-nu1(i)*x1-x24
218 bxz5(i)=-nu1(i)*x3-x24
219 byx5(i)=-nu1(i)*y1-y34
220 byz5(i)=-nu1(i)*y2-y34
221 bzx5(i)=-nu1(i)*z3-z14
222 bzy5(i)=-nu1(i)*z2-z14
223 ENDDO
224
225 DO i=1,nel
226 x1 = pzx6(i)+pxc4(i)
227 x3 = pyx6(i)+pxc4(i)
228 y1 = pzy6(i)+pyc4(i)
229 y2 = pxy6(i)+pyc4(i)
230 z2 = pxz6(i)+pzc4(i)
231 z3 = pyz6(i)+pzc4(i)
232 x24= nu(i)*(px6(i)+pxc4(i)-x1-x3)
233 y34= nu(i)*(py6(i)+pyc4(i)-y1-y2)
234 z14= nu(i)*(pz6(i)+pzc4(i)-z2-z3)
235 bxy6(i)=-nu1(i)*x1-x24
236 bxz6(i)=-nu1(i)*x3-x24
237 byx6(i)=-nu1(i)*y1-y34
238 byz6(i)=-nu1(i)*y2-y34
239 bzx6(i)=-nu1(i)*z3-z14
240 bzy6(i)=-nu1(i)*z2-z14
241 ENDDO
242
243 DO i=1,nel
244 x1 = pzx7(i)+pxc1(i)
245 x3 = pyx7(i)+pxc1(i)
246 y1 = pzy7(i)+pyc1(i)
247 y2 = pxy7(i)+pyc1(i)
248 z2 = pxz7(i)+pzc1(i)
249 z3 = pyz7(i)+pzc1(i)
250 x24= nu(i)*(px7(i)+pxc1(i)-x1-x3)
251 y34= nu(i)*(py7(i)+pyc1(i)-y1-y2)
252 z14= nu(i)*(pz7(i)+pzc1(i)-z2-z3)
253 bxy7(i)=-nu1(i)*x1-x24
254 bxz7(i)=-nu1(i)*x3-x24
255 byx7(i)=-nu1(i)*y1-y34
256 byz7(i)=-nu1(i)*y2-y34
257 bzx7(i)=-nu1(i)*z3-z14
258 bzy7(i)=-nu1(i)*z2-z14
259 ENDDO
260
261 DO i=1,nel
262 x1 = pzx8(i)+pxc2(i)
263 x3 = pyx8(i)+pxc2(i)
264 y1 = pzy8(i)+pyc2(i)
265 y2 = pxy8(i)+pyc2(i)
266 z2 = pxz8(i)+pzc2(i)
267 z3 = pyz8(i)+pzc2(i)
268 x24= nu(i)*(px8(i)+pxc2(i)-x1-x3)
269 y34= nu(i)*(py8(i)+pyc2(i)-y1-y2)
270 z14= nu(i)*(pz8(i)+pzc2(i)-z2-z3)
271 bxy8(i)=-nu1(i)*x1-x24
272 bxz8(i)=-nu1(i)*x3-x24
273 byx8(i)=-nu1(i)*y1-y34
274 byz8(i)=-nu1(i)*y2-y34
275 bzx8(i)=-nu1(i)*z3-z14
276 bzy8(i)=-nu1(i)*z2-z14
277 ENDDO
278
279 RETURN