86
87
88
89#include "implicit_f.inc"
90
91
92
93#include "mvsiz_p.inc"
94
95
96
97#include "scr18_c.inc"
98
99
100
101 INTEGER, INTENT(IN) ::
102 INTEGER NEL
103
105 . x(3,*),
106 . xx(mvsiz,20), yy(mvsiz,20), zz(mvsiz,20),
107 . offg(*), off(*), sav(nel,30)
109 . k11(9,*) ,k12(9,*) ,k13(9,*) ,k14(9,*) ,k15(9,*) ,
110 . k16(9,*) ,k17(9,*) ,k18(9,*) ,k19(9,*) ,k110(9,*) ,
111 . k111(9,*) ,k112(9,*) ,k113(9,*) ,k114(9,*) ,k115(9,*) ,
112 . k116(9,*) ,k117(9,*) ,k118(9,*) ,k119(9,*) ,k120(9,*) ,
113 . k22(9,*) ,k23(9,*) ,k24(9,*) ,k25(9,*) ,k26(9,*) ,
114 . k27(9,*) ,k28(9,*) ,k29(9,*) ,k210(9,*) ,k211(9,*) ,
115 . k212(9,*) ,k213(9,*) ,k214(9,*) ,k215(9,*) ,k216(9,*) ,
116 . k217(9,*) ,k218(9,*) ,k219(9,*) ,k220(9,*) ,k33(9,*) ,
117 . k34(9,*) ,k35(9,*) ,k36(9,*) ,k37(9,*) ,k38(9,*) ,
118 . k39(9,*) ,k310(9,*) ,k311(9,*) ,k312(9,*) ,k313(9,*) ,
119 . k314(9,*) ,k315(9,*) ,k316(9,*) ,k317(9,*) ,k318(9,*) ,
120 . k319(9,*) ,k320(9,*) ,k44(9,*) ,k45(9,*) ,k46(9,*) ,
121 . k47(9,*) ,k48(9,*) ,k49(9,*) ,k410(9,*) ,k411(9,*) ,
122 . k412(9,*) ,k413(9,*) ,k414(9,*) ,k415(9,*) ,k416(9,*) ,
123 . k417(9,*) ,k418(9,*) ,k419(9,*) ,k420(9,*) ,k55(9,*) ,
124 . k56(9,*) ,k57(9,*) ,k58(9,*) ,k59(9,*) ,k510(9,*) ,
125 . k511(9,*) ,k512(9,*) ,k513(9,*) ,k514(9,*) ,k515(9,*) ,
126 . k516(9,*) ,k517(9,*) ,k518(9,*) ,k519(9,*) ,k520(9,*) ,
127 . k66(9,*) ,k67(9,*) ,k68(9,*) ,k69(9,*) ,k610(9,*) ,
128 . k611(9,*) ,k612(9,*) ,k613(9,*) ,k614(9,*) ,k615(9,*) ,
129 . k616(9,*) ,k617(9,*) ,k618(9,*) ,k619(9,*) ,k620(9,*) ,
130 . k77(9,*) ,k78(9,*) ,k79(9,*) ,k710(9,*) ,k711(9,*) ,
131 . k712(9,*) ,k713(9,*) ,k714(9,*) ,k715(9,*) ,k716(9,*) ,
132 . k717(9,*) ,k718(9,*) ,k719(9,*) ,k720(9,*) ,k88(9,*) ,
133 . k89(9,*) ,k810(9,*) ,k811(9,*) ,k812(9,*) ,k813(9,*) ,
134 . k814(9,*) ,k815(9,*) ,k816(9,*) ,k817(9,*) ,k818(9,*) ,
135 . k819(9,*) ,k820(9,*) ,k99(9,*) ,k910(9,*) ,k911(9,*) ,
136 . k912(9,*) ,k913(9,*) ,k914(9,*) ,k915(9,*) ,k916(9,*) ,
137 . k917(9,*) ,k918(9,*) ,k919(9,*) ,k920(9,*) ,k1010(9,*) ,
138 . k1011(9,*) ,k1012(9,*) ,k1013(9,*) ,k1014(9,*) ,k1015(9,*) ,
139 . k1016(9,*) ,k1017(9,*) ,k1018(9,*) ,k1019(9,*) ,k1020(9,*) ,
140 . k1111(9,*) ,k1112(9,*) ,k1113(9,*) ,k1114(9,*) ,k1115(9,*) ,
141 . k1116(9,*) ,k1117(9,*) ,k1118(9,*) ,k1119(9,*) ,k1120(9,*) ,
142 . k1212(9,*) ,k1213(9,*) ,k1214(9,*) ,k1215(9,*) ,k1216(9,*) ,
143 . k1217(9,*) ,k1218(9,*) ,k1219(9,*) ,k1220(9,*) ,k1313(9,*) ,
144 . k1314(9,*) ,k1315(9,*) ,k1316(9,*) ,k1317(9,*) ,k1318(9,*) ,
145 . k1319(9,*) ,k1320(9,*) ,k1414(9,*) ,k1415(9,*) ,k1416(9,*) ,
146 . k1417(9,*) ,k1418(9,*) ,k1419(9,*) ,k1420(9,*) ,k1515(9,*) ,
147 . k1516(9,*) ,k1517(9,*) ,k1518(9,*) ,k1519(9,*) ,k1520(9,*) ,
148 . k1616(9,*) ,k1617(9,*) ,k1618(9,*) ,k1619(9,*) ,k1620(9,*) ,
149 . k1717(9,*) ,k1718(9,*) ,k1719(9,*) ,k1720(9,*) ,k1818(9,*) ,
150 . k1819(9,*) ,k1820(9,*) ,k1919(9,*) ,k1920(9,*) ,k2020(9,*)
151 INTEGER NC(MVSIZ,20),MXT(*), NGL(*),NGEO(*)
152 INTEGER IXS(NIXS,*), IXS20(12,*),NPE
153
154
155
156 INTEGER I, IPERM1(20),IPERM2(20),N,N1,N2,NN,IUN,J,MXT_1
157 DATA iperm1/0,0,0,0,0,0,0,0,1,2,3,4,1,2,3,4,5,6,7,8/
158 DATA iperm2/0,0,0,0,0,0,0,0,2,3,4,1,5,6,7,8,6,7,8,5/
159
160 iun=1
161
162 mxt_1 = ixs(1,1)
163 DO i=1,nel
164 ngeo(i) =ixs(10,i)
165 ngl(i) =ixs(11,i)
166 mxt(i) =mxt_1
167 nc(i,1) =ixs(2,i)
168 nc(i,2) =ixs(3,i)
169 nc(i,3) =ixs(4,i)
170 nc(i,4) =ixs(5,i)
171 nc(i,5) =ixs(6,i)
172 nc(i,6) =ixs(7,i)
173 nc(i,7) =ixs(8,i)
174 nc(i,8) =ixs(9,i)
175 nc(i,9) =ixs20(1,i)
176 nc(i,10) =ixs20(2,i)
177 nc(i,11) =ixs20(3,i)
178 nc(i,12) =ixs20(4,i)
179 nc(i,13) =ixs20(5,i)
180 nc(i,14) =ixs20(6,i)
181 nc(i,15) =ixs20(7,i)
182 nc(i,16) =ixs20(8,i)
183 nc(i,17) =ixs20(9,i)
184 nc(i,18) =ixs20(10,i)
185 nc(i,19) =ixs20(11,i)
186 nc(i,20) =ixs20(12,i)
187 ENDDO
188
189
190
191
192 DO n=1,npe
193
194 IF(ismstr==1.OR.(ismstr==2.AND.idtmin(1)==3))THEN
195
196 DO i=1,nel
197 IF(offg(i)>one)THEN
198 xx(i,n)=sav(i,n)
199 yy(i,n)=sav(i,n+npe)
200 zz(i,n)=sav(i,n+2*npe)
201 off(i) = offg(i)-one
202 ELSE
203 nn =
max(iun,nc(i,n))
204 xx(i,n)=x(1,nn)
205 yy(i,n)=x(2,nn)
206 zz(i,n)=x(3,nn)
207 sav(i,n)=xx(i,n)
208 sav(i,n+npe)=yy(i,n)
209 sav(i,n+npe*2)=zz(i,n)
210 off(i) = offg(i)
211 ENDIF
212 ENDDO
213
214 ELSE
215
216 DO i=1,nel
217 nn =
max(iun,nc(i,n))
218 xx(i,n)=x(1,nn)
219 yy(i,n)=x(2,nn)
220 zz(i,n)=x(3,nn)
221 off(i) =
min(one,abs(offg(i)))
222 ENDDO
223 ENDIF
224 ENDDO
225
226
227 DO n=9,npe
228 n1=iperm1(n)
229 n2=iperm2(n)
230 DO i=1,nel
231 IF(nc(i,n)==0)THEN
232 xx(i,n) = half*(xx(i,n1)+xx(i,n2))
233 yy(i,n) = half*(yy(i,n1)+yy(i,n2))
234 zz(i,n) = half*(zz(i,n1)+zz(i,n2))
235 ENDIF
236 ENDDO
237 ENDDO
238
239
240
241 DO i=1,nel
242 DO j=1,9
243 k11(j,i) =zero
244 k12(j,i) =zero
245 k13(j,i) =zero
246 k14(j,i) =zero
247 k15(j,i) =zero
248 k16(j,i) =zero
249 k17(j,i) =zero
250 k18(j,i) =zero
251 k19(j,i) =zero
252 k110(j,i) =zero
253 k111(j,i) =zero
254 k112(j,i) =zero
255 k113(j,i) =zero
256 k114(j,i) =zero
257 k115(j,i) =zero
258 k116(j,i) =zero
259 k117(j,i) =zero
260 k118(j,i) =zero
261 k119(j,i) =zero
262 k120(j,i) =zero
263 k22(j,i) =zero
264 k23(j,i) =zero
265 k24(j,i) =zero
266 k25(j,i) =zero
267 k26(j,i) =zero
268 k27(j,i) =zero
269 k28(j,i) =zero
270 k29(j,i) =zero
271 k210(j,i) =zero
272 k211(j,i) =zero
273 k212(j,i) =zero
274 k213(j,i) =zero
275 k214(j,i) =zero
276 k215(j,i) =zero
277 k216(j,i) =zero
278 k217(j,i) =zero
279 k218(j,i) =zero
280 k219(j,i) =zero
281 k220(j,i) =zero
282 k33(j,i) =zero
283 k34(j,i) =zero
284 k35(j,i) =zero
285 k36(j,i) =zero
286 k37(j,i) =zero
287 k38(j,i) =zero
288 k39(j,i) =zero
289 k310(j,i) =zero
290 k311(j,i) =zero
291 k312(j,i) =zero
292 k313(j,i) =zero
293 k314(j,i) =zero
294 k315(j,i) =zero
295 k316(j,i) =zero
296 k317(j,i) =zero
297 k318(j,i) =zero
298 k319(j,i) =zero
299 k320(j,i) =zero
300 k44(j,i) =zero
301 k45(j,i) =zero
302 k46(j,i) =zero
303 k47(j,i) =zero
304 k48(j,i) =zero
305 k49(j,i) =zero
306 k410(j,i) =zero
307 k411(j,i) =zero
308 k412(j,i) =zero
309 k413(j,i) =zero
310 k414(j,i) =zero
311 k415(j,i) =zero
312 k416(j,i) =zero
313 k417(j,i) =zero
314 k418(j,i) =zero
315 k419(j,i) =zero
316 k420(j,i) =zero
317 k55(j,i) =zero
318 k56(j,i) =zero
319 k57(j,i) =zero
320 k58(j,i) =zero
321 k59(j,i) =zero
322 k510(j,i) =zero
323 k511(j,i) =zero
324 k512(j,i) =zero
325 k513(j,i) =zero
326 k514(j,i) =zero
327 k515(j,i) =zero
328 k516(j,i) =zero
329 k517(j,i) =zero
330 k518(j,i) =zero
331 k519(j,i) =zero
332 k520(j,i) =zero
333 k66(j,i) =zero
334 k67(j,i) =zero
335 k68(j,i) =zero
336 k69(j,i) =zero
337 k610(j,i) =zero
338 k611(j,i) =zero
339 k612(j,i) =zero
340 k613(j,i) =zero
341 k614(j,i) =zero
342 k615(j,i) =zero
343 k616(j,i) =zero
344 k617(j,i) =zero
345 k618(j,i) =zero
346 k619(j,i) =zero
347 k620(j,i) =zero
348 k77(j,i) =zero
349 k78(j,i) =zero
350 k79(j,i) =zero
351 k710(j,i) =zero
352 k711(j,i) =zero
353 k712(j,i) =zero
354 k713(j,i) =zero
355 k714(j,i) =zero
356 k715(j,i) =zero
357 k716(j,i) =zero
358 k717(j,i) =zero
359 k718(j,i) =zero
360 k719(j,i) =zero
361 k720(j,i) =zero
362 k88(j,i) =zero
363 k89(j,i) =zero
364 k810(j,i) =zero
365 k811(j,i) =zero
366 k812(j,i) =zero
367 k813(j,i) =zero
368 k814(j,i) =zero
369 k815(j,i) =zero
370 k816(j,i) =zero
371 k817(j,i) =zero
372 k818(j,i) =zero
373 k819(j,i) =zero
374 k820(j,i) =zero
375 k99(j,i) =zero
376 k910(j,i) =zero
377 k911(j,i) =zero
378 k912(j,i) =zero
379 k913(j,i) =zero
380 k914(j,i) =zero
381 k915(j,i) =zero
382 k916(j,i) =zero
383 k917(j,i) =zero
384 k918(j,i) =zero
385 k919(j,i) =zero
386 k920(j,i) =zero
387 k1010(j,i)=zero
388 k1011(j,i)=zero
389 k1012(j,i)=zero
390 k1013(j,i)=zero
391 k1014(j,i)=zero
392 k1015(j,i)=zero
393 k1016(j,i)=zero
394 k1017(j,i)=zero
395 k1018(j,i)=zero
396 k1019(j,i)=zero
397 k1020(j,i)=zero
398 k1111(j,i)=zero
399 k1112(j,i)=zero
400 k1113(j,i)=zero
401 k1114(j,i)=zero
402 k1115(j,i)=zero
403 k1116(j,i)=zero
404 k1117(j,i)=zero
405 k1118(j,i)=zero
406 k1119(j,i)=zero
407 k1120(j,i)=zero
408 k1212(j,i)=zero
409 k1213(j,i)=zero
410 k1214(j,i)=zero
411 k1215(j,i)=zero
412 k1216(j,i)=zero
413 k1217(j,i)=zero
414 k1218(j,i)=zero
415 k1219(j,i)=zero
416 k1220(j,i)=zero
417 k1313(j,i)=zero
418 k1314(j,i)=zero
419 k1315(j,i)=zero
420 k1316(j,i)=zero
421 k1317(j,i)=zero
422 k1318(j,i)=zero
423 k1319(j,i)=zero
424 k1320(j,i)=zero
425 k1414(j,i)=zero
426 k1415(j,i)=zero
427 k1416(j,i)=zero
428 k1417(j,i)=zero
429 k1418(j,i)=zero
430 k1419(j,i)=zero
431 k1420(j,i)=zero
432 k1515(j,i)=zero
433 k1516(j,i)=zero
434 k1517(j,i)=zero
435 k1518(j,i)=zero
436 k1519(j,i)=zero
437 k1520(j,i)=zero
438 k1616(j,i)=zero
439 k1617(j,i)=zero
440 k1618(j,i)=zero
441 k1619(j,i)=zero
442 k1620(j,i)=zero
443 k1717(j,i)=zero
444 k1718(j,i)=zero
445 k1719(j,i)=zero
446 k1720(j,i)=zero
447 k1818(j,i)=zero
448 k1819(j,i)=zero
449 k1820(j,i)=zero
450 k1919(j,i)=zero
451 k1920(j,i)=zero
452 k2020(j,i)=zero
453 ENDDO
454 ENDDO
455
456 RETURN