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