35 USE multimat_param_mod , ONLY : m51_n0phas, m51_nvphas
36
37
38
39
40
41
42
43
44
45#include "implicit_f.inc"
46#include "comlock.inc"
47#include "subvolumes.inc"
48#include "inter22.inc"
49#include "task_c.inc"
50#include "com01_c.inc"
51
52
53
54
55
56
57
58
59
60
61 INTEGER Itmpindex22,I,NIN,J,K, IFLG
62
63 DATA lsectyp/14/
64
65
66
67
68 DATA s_tetra /08/
69 DATA s_penta /12/
70 DATA s_poly3 /24/
71 DATA s_hexae /03/
72 DATA s_poly4 /04/
73 DATA s_poly4a/06/
74 DATA s_poly4b/06/
75 DATA s_polyc /24/
76 DATA s_polyh(1:8) /08,12,24,03,04,06,06,24/
77
78 s22_max = s_tetra + s_penta + s_poly3
79 . + s_poly4a + s_poly4b + s_polyc
80
81
82
83
84 DATA m_tetra /01/
85 DATA m_penta /01/
86 DATA m_poly3 /01/
87 DATA m_hexae /02/
88 DATA m_poly4 /02/
89 DATA m_poly4a/02/
90 DATA m_poly4b/02/
91 DATA m_polyc /01/
92 DATA m_polyh(1:8) /01,01,01,02,02,02,02,01/
93
94
95
96
97 DATA d_tetra /01/
98 DATA d_penta /09/
99 DATA d_poly3 /21/
100 DATA d_hexae /45/
101 DATA d_poly4 /51/
102 DATA d_poly4a/59/
103 DATA d_poly4b/71/
104 DATA d_polyc /83/
105 DATA d_polyh(1:8) /01,09,21,45,51,59,71,83/
106
107
108
109
110 DATA n_tetra /01/
111 DATA n_penta /02/
112 DATA n_poly3 /03/
113 DATA n_hexae /04/
114 DATA n_poly4 /04/
115 DATA n_poly4a/04/
116 DATA n_poly4b/04/
117 DATA n_polyc /04/
118 DATA n_polyh(1:8) /01,02,03,04,04,04,04,04/
119
120
121
122
123 DATA f_tetra /03/
124 DATA f_penta /04/
125 DATA f_poly3 /05/
126 DATA f_hexae /05/
127 DATA f_poly4 /06/
128 DATA f_poly4a/06/
129 DATA f_poly4b/06/
130 DATA f_polyc /05/
131 DATA f_polyh(1:8) /03,04,05,05,06,06,06,05/
132
133
134
135
136 DATA c_tetra /03/
137 DATA c_penta /04/
138 DATA c_poly3 /05/
139 DATA c_hexae /04/
140 DATA c_poly4 /06/
141 DATA c_poly4a/06/
142 DATA c_poly4b/06/
143 DATA c_polyc /06/
144 DATA c_polyh(1:8) /03,04,05,04,06,06,06,06/
145
146
147
148
149
150 DATA bcode(01) /b'111000000000'/
151 DATA bcode(02) /b'000111000000'/
152 DATA bcode(03) /b'000000111000'/
153 DATA bcode(04) /b'000000000111'/
154 DATA bcode(05) /b'100100100000'/
155 DATA bcode(06) /b'010010000100'/
156 DATA bcode(07) /b'001000010010'/
157 DATA bcode(08) /b'000001001001'/
158
159
160 DATA bcode(09) /b'011100100000'/
161 DATA bcode(10) /b'101010000100'/
162 DATA bcode(11) /b'110000010010'/
163 DATA bcode(12) /b'100011100000'/
164 DATA bcode(13) /b'010101000100'/
165 DATA bcode(14) /b'000110001001'/
166 DATA bcode(15) /b'100100011000'/
167 DATA bcode(16) /b'001000101010'/
168 DATA bcode(17) /b'000001110001'/
169 DATA bcode(18) /b'010010000011'/
170 DATA bcode(19) /b'001000010101'/
171 DATA bcode(20) /b'000001001110'/
172
173
174 DATA bcode(21) /b'101101000100'/
175 DATA bcode(22) /b'001110100100'/
176 DATA bcode(23) /b'011011100000'/
177 DATA bcode(24) /b'110001100100'/
178 DATA bcode(25) /b'010101000011'/
179 DATA bcode(26) /b'010011001010'/
180 DATA bcode(27) /b'010100001101'/
181 DATA bcode(28) /b'000110001110'/
182 DATA bcode(29) /b'001001100011'/
183 DATA bcode(30) /b'000001110110'/
184 DATA bcode(31) /b'001001011100'/
185 DATA bcode(32) /b'001000101101'/
186 DATA bcode(33) /b'011100011000'/
187 DATA bcode(34) /b'101100001010'/
188 DATA bcode(35) /b'010100110010'/
189 DATA bcode(36) /b'110000101010'/
190 DATA bcode(37) /b'100010101001'/
191 DATA bcode(38) /b'000110110001'/
192 DATA bcode(39) /b'100011011000'/
193 DATA bcode(40) /b'100101010001'/
194 DATA bcode(41) /b'110000010101'/
195 DATA bcode(42) /b'100010010110'/
196 DATA bcode(43) /b'011010010001'/
197 DATA bcode(44) /b'101010000011'/
198
199
200 DATA bcode(45) /b'100010010001'/
201 DATA bcode(46) /b'100010010001'/
202 DATA bcode(47) /b'010100001010'/
203 DATA bcode(48) /b'010100001010'/
204 DATA bcode(49) /b'001001100100'/
205 DATA bcode(50) /b'001001100100'/
206
207
208 DATA bcode(51) /b'011011011000'/
209 DATA bcode(52) /b'011011011000'/
210 DATA bcode(53) /b'101101000011'/
211 DATA bcode(54) /b'101101000011'/
212 DATA bcode(55) /b'110000101101'/
213 DATA bcode(56) /b'110000101101'/
214 DATA bcode(57) /b'000110110110'/
215 DATA bcode(58) /b'000110110110'/
216
217
218 DATA bcode(59) /b'101011001010'/ !poly4a 45 - 2762
219 DATA bcode(60) /b'101011001010'/
220 DATA bcode(61) /b'010100110101'/
221 DATA bcode(62) /b'010100110101'/
222 DATA bcode(63) /b'011010101001'/
223 DATA bcode(64) /b'011010101001'/
224 DATA bcode(65) /b'100101010110'/
225 DATA bcode(66) /b'100101010110'/
226 DATA bcode(67) /b'110001100011'/
227 DATA bcode(68) /b'110001100011'/
228 DATA bcode(69) /b'001110011100'/
229 DATA bcode(70) /b'001110011100'/
230
231 DATA bcode(71) /b'011101010001'/
232 DATA bcode(72) /b'011101010001'/
233 DATA bcode(73) /b'100010101110'/
234 DATA bcode(74) /b'100010101110'/
235 DATA bcode(75) /b'110001011100'/
236 DATA bcode(76) /b'110001011100'/
237 DATA bcode(77) /b'001110100011'/
238 DATA bcode(78) /b'001110100011'/
239 DATA bcode(79) /b'101100001101'/
240 DATA bcode(80) /b'101100001101'/
241 DATA bcode(81) /b'010011110010'/
242 DATA bcode(82) /b'010011110010'/
243
244
245 DATA bcode(83) /b'100110010001'/
246 DATA bcode(84) /b'100010110001'/
247 DATA bcode(85) /b'100010011001'/
248 DATA bcode(86) /b'100011010001'/
249
250 DATA bcode(87) /b'110010010001'/
251 DATA bcode(88) /b'101010010001'/
252 DATA bcode(89) /b'100010010011'/
253 DATA bcode(90) /b'100010010101'/
254
255 DATA bcode(91) /b'110100001010'/
256 DATA bcode(92) /b'011100001010'/
257 DATA bcode(93) /b'010100011010'/
258 DATA bcode(94) /b'010100101010'
259
260 DATA bcode(95) /b'010110001010'/
261 DATA bcode(96) /b'010100001110'/
262 DATA bcode(97) /b'010100001011'/
263 DATA bcode(98) /b'010101001010'/
264
265 DATA bcode(99) /b'001011100100'/
266 DATA bcode(100) /b'001101100100'/
267 DATA bcode(101) /b'101001100100'/
268 DATA bcode(102) /b'011001100100'/
269
270 DATA bcode(103) /b'001001100101'/
271 DATA bcode(104) /b'001001101100'/
272 DATA bcode(105) /b'001001110100'/
273 DATA bcode(106) /b'001001100110'/
274
275
276
277
278
279 getpolyhedratype(01:08) = 1
280 getpolyhedratype(09:20) = 2
281 getpolyhedratype(21:44) = 3
282 getpolyhedratype(45:50) = 4
283 getpolyhedratype(51:58) = 5
284 getpolyhedratype(59:70) = 5
285 getpolyhedratype(71:82) = 5
286 getpolyhedratype(83:106) = 6
287
288 getnumtria(1) = 1
289 getnumtria(2) = 2
290 getnumtria(3) = 3
291 getnumtria(4) = 2
292 getnumtria(5) = 4
293 getnumtria(6) = 4
294 getnumtria(7) = 4
295 getnumtria(8) = 4
296
297 gtria(:, 1, 1) = (/1,2,3/)
298
299 gtria(:, 1, 2) = (/1,2,3/)
300 gtria(:, 2, 2) = (/1,3,4/)
301
302 gtria(:, 1, 3) = (/2,3,4/) !poly3(3 triangles)
303 gtria(:, 2, 3) = (/1,2,4/)
304 gtria(:, 3, 3) = (/1,4,5/)
305
306 gtria(:, 1, 4) = (/1,2,3/)
307 gtria(:, 2, 4) = (/1,3,4/)
308
309 gtria(:, 1, 5) = (/1,6,5/)
310 gtria(:, 2, 5) = (/1,5,4/)
311 gtria(:, 3, 5) = (/1,3,4/)
312 gtria(:, 4, 5) = (/1,2,3/)
313
314 gtria(:, 1, 6) = (/2,3,4/)
315 gtria(:, 2, 6) = (/2,4,5/)
316 gtria(:, 3, 6) = (/2,5,1/)
317 gtria(:, 4, 6) = (/1,5,6/)
318
319 gtria(:, 1, 7) = (/2,3,4/)
320 gtria(:, 2, 7) = (/2,4,5/)
321 gtria(:, 3, 7) = (/2,5,1/)
322 gtria(:, 4, 7) = (/1,5,6/)
323
324 gtria(:, 1, 8) = (/1,5,4/)
325 gtria(:, 2, 8) = (/1,5,6/)
326 gtria(:, 3, 8) = (/1,6,2/)
327 gtria(:, 4, 8) = (/2,3,6/)
328
329
330
331
332
333 strcode( 1) ='TETRA 1 '
334 strcode( 2) ='TETRA 3 '
335 strcode( 3) ='TETRA 6 '
336 strcode( 4) ='TETRA 8 '
337 strcode( 5) ='TETRA 2 '
338 strcode( 6) ='TETRA 4 '
339 strcode( 7) ='TETRA 5 '
340 strcode( 8) ='TETRA 7 '
341
342
343 strcode( 9) ='PENTA 1-2 '
344 strcode(10) ='PENTA 1-4 '
345 strcode(11) ='PENTA 1-5 '
346 strcode(12) ='PENTA 2-3 '
347 strcode(13) ='PENTA 3-4 '
348 strcode(14) ='PENTA 3-7 '
349 strcode(15) ='PENTA 2-6 '
350 strcode(16) ='PENTA 5-6 '
351 strcode(17) ='PENTA 6-7 '
352 strcode(18) ='PENTA 4-8 '
353 strcode(19) ='PENTA 5-8 '
354 strcode(20) ='PENTA 7-8 '
355
356
357 strcode(21) ='POLY3 1-4-3 '
358 strcode(22) ='POLY3 2-1-4 '
359 strcode(23) ='POLY3 3-2-1 '
360 strcode(24) ='POLY3 4-3-2 '
361 strcode(25) ='POLY3 3-4-8 '
362 strcode(26) ='POLY3 4-8-7 '
363 strcode(27) ='POLY3 7-3-4 '
364 strcode(28) ='POLY3 8-7-3 '
365 strcode(29) ='POLY3 5-6-7 '
366 strcode(30) ='POLY3 6-7-8 '
367 strcode(31) ='POLY3 7-8-5 '
368 strcode(32) ='POLY3 8-5-6 '
369 strcode(33) ='POLY3 1-2-6 '
370 strcode(34) ='POLY3 2-6-5 '
371 strcode(35) ='POLY3 5-1-2 '
372 strcode(36) ='POLY3 6-5-1 '
373 strcode(37) ='POLY3 2-3-7 '
374 strcode(38) ='POLY3 3-7-6 '
375 strcode(39) ='POLY3 6-2-3 '
376 strcode(40) ='POLY3 7-6-2 '
377 strcode(41) ='POLY3 1-5-8 '
378 strcode(42) ='POLY3 4-1-5 '
379 strcode(43) ='POLY3 5-8-4 '
380 strcode(44) ='POLY3 8-4-1 '
381
382
383 strcode(45) ='HEXAE R+ '
384 strcode(46) ='HEXAE R- '
385 strcode(47) ='HEXAE S+ '
386 strcode(48) ='HEXAE S- '
387 strcode(49) ='HEXAE T+ '
388 strcode(50) ='HEXAE T- '
389
390
391 strcode(51) ='POLY4 1-2-6-3 '
392 strcode(52) ='POLY4 4-8-7-5 '
393 strcode(53) ='POLY4 3-4-8-1 '
394 strcode(54) ='POLY4 5-6-7-5 '
395 strcode(55) ='POLY4 4-3-2-7 '
396 strcode(56) ='POLY4 2-3-7-4 '
397 strcode(57) ='POLY4 4-1-2-5 '
398 strcode(58) ='POLY4 8-7-3-6 '
399
400
401 strcode(59) ='POLY4A 4-5 '
402 strcode(60) ='POLY4A 2-6 '
403 strcode(61) ='POLY4A 4-6 '
404 strcode(62) ='POLY4A 2-5 '
405 strcode(63) ='POLY4A 3-6 '
406 strcode(64) ='POLY4A 1-5 '
407 strcode(65) ='POLY4A 3-5 '
408 strcode(66) ='POLY4A 1-6 '
409 strcode(67) ='POLY4A 3-4 '
410 strcode(68) ='POLY4A 1-2 '
411 strcode(69) ='POLY4A 2-3 '
412 strcode(70) ='POLY4A 1-4 '
413
414
415 strcode(71) ='POLY4B 4-5 '
416 strcode(72) ='POLY4B 2-6 '
417 strcode(73) ='POLY4B 4-6 '
418 strcode(74) ='POLY4B 2-5 '
419 strcode(75) ='POLY4B 3-6 '
420 strcode(76) ='POLY4B 1-5 '
421 strcode(77) ='POLY4B 3-5 '
422 strcode(78) ='POLY4B 1-6 '
423 strcode(79) ='POLY4B 3-4 '
424 strcode(80) ='POLY4B 1-2 '
425 strcode(81) ='POLY4B 2-3 '
426 strcode(82) ='POLY4B 1-4 '
427
428
429 strcode(83) ='POLYC R+.04 '
430 strcode(84) ='POLYC R+.07 '
431 strcode(85) ='POLYC R+.09 '
432 strcode(86) ='POLYC R+.06 '
433 strcode(87) ='POLYC R-.02 '
434 strcode(88) ='POLYC R-.03 '
435 strcode(89) ='POLYC R-.11 '
436 strcode(90) ='POLYC R-.10 '
437 strcode(91) ='POLYC S+.01 '
438 strcode(92) ='POLYC S+.03 '
439 strcode(93) ='POLYC S+.08 '
440 strcode(94) ='POLYC S+.07 '
441 strcode(95) ='polyc s-.05 '
442 StrCODE(96) ='polyc s-.10 '
443 StrCODE(97) ='polyc s-.12 '
444 StrCODE(98) ='polyc s-.06 '
445 StrCODE(99) ='polyc t+.05 '
446 StrCODE(100) ='polyc t+.04 '
447 StrCODE(101) ='polyc t+.01 '
448 StrCODE(102) ='polyc t+.02 '
449 StrCODE(103) ='polyc t-.12 '
450 StrCODE(104) ='polyc t-.09 '
451 StrCODE(105) ='polyc t-.08 '
452 StrCODE(106) ='polyc t-.11 '
453
454 !----------------------------------------------------!
455 ! SUBVOLUME 'g'RAPH : 'f'aces
456
457
458 gface(:, 1)=(/1,6,
459 gface(:, 2)=(/2,1,5,0,0,0/)
460 gface(:, 3)=(/4,3,5,0,0,0/)
461 gface(:, 4)=(/2,3,6,0,0,0/)
462 gface(:, 5)=(/5,1,4,0,0,0/)
463 gface(:, 6)=(/6,1,2,0,0,0/)
464 gface(:, 7)=(/6,3,4,0,0,0/)
465 gface(:, 8)=(/5,3,2,0,0,0/)
466
467
468 gface(:, 9)=(/6,5,4,1,0,0/)
469 gface(:,10)=(/4,2,1,6,0,0/)
470 gface(:,11)=(/1,3,6,4,0,0/)
471 gface(:,12)=(/4
472 gface(:,13)=(/5,6,2,1,0,0/)
473 gface(:,14)=(/1,3,5,2,0,0/)
474 gface(:,15)=(/1,3,4,5,0,0/)
475 gface(:,16)=(/6,5,3,4,0,0/)
476 gface(:,17)=(/4,2,3,5,0,0/)
477 gface(:,18)=(/1,3,2,6,0,0/)
478 gface(:,19)=(/4,2,6,3,0,0/)
479 gface(:,20)=(/5,6,3,2,0,0/)
480
481
482 gface(:,21)=(/1,5,2,6,4,0/)
483 gface(:,22)=(/1,2,6,4,5,0/)
484 gface(:,23)=(/1,6,4,5,2,0/)
485 gface(:,24)=(/1,4,5,2,6,0/)
486 gface(:,25)=(/2,3,6,1,5,0/)
487 gface(:,26)=(/2,5,3,6,1,0/)
488 gface(:,27)=(/2,6,1,5,3,0/)
489 gface(:,28)=(/2,1,5,3,6,0/)
490 gface(:,29)=(/3,2,5,4,6,0/)
491 gface(:,30)=(/3,6,2,5,4,0/)
492 gface(:,31)=(/3,4,6,2,5,0/)
493 gface(:,32)=(/3,5,4,6,2,0/)
494 gface(:,33)=(/4,3,5,1,6,0/)
495 gface(:,34)=(/4,6,3,5,1,0/)
496 gface(:,35)=(/4,5,1,6,3,0/)
497 gface(:,36)=(/4,1,6,3,5,0/)
498 gface(:,37)=(/5,3,2,1,4,0/)
499 gface(:,38)=(/5,4,3,2,1,0/)
500 gface(:,39)=(/5,2,1,4,3,0/)
501 gface(:,40)=(/5,1,4,3,2,0/)
502 gface(:,41)
503 gface(:,42)=(/6,3,4,1,2,0/)
504 gface(:,43)=(/6,1,2,3,4,0/)
505 gface(:,44)=(/6,4,1,2,3,0/)
506
507
508 gface(:,45)=(/5,3,2,1,4,0/)
509 gface(:,46)=(/6,3,4,1,2,0/)
510 gface(:,47)=(/4,3,5,1,6,0/)
511 gface(:,48)=(/2,6,1,5,3,0/)
512 gface(:,49)=(/3,4,6,2,5,0/)
513 gface(:,50)=(/1,4,5,2,6,0/)
514
515
516 gface(:,51)=(/6,5,1,4,2,3/)
517 gface(:,52)=(/1,3,6,2,4,5/)
518 gface(:,53)=(/5,6,1,2,4,3/)
519 gface(:,54)=(/6,5,4,3,1,2/)
520 gface(:,55)=(/6,5,2,1,3,4/)
521 gface(:,56)=(/4,2,1,5,6,3/)
522 gface(:,57)=(/2,4,1,6,5,3/)
523 gface(:,58)=(/6,5,3,2,4,1/)
524
525
526 gface(:,59)=(/6,3,5,2,1,4/)
527 gface(:,60)=(/4,1,2,5,3,6/)
528 gface(:,61)=(/5,1,6,2,3,4/)
529 gface(:,62)=(/4,3,2,6,1,5/)
530 gface(:,63)=(/5,4,6,1,2,3/)
531 gface(:,64)=(/6,4,5,3,2,1/)
532 gface(:,65)=(/1,4,3,6,2,5/)
533 gface(:,66)=(/3,4,1,5,2,6/)
534 gface(:,67)=(/1,6,3,2,5,4/)
535 gface(:,68)=(/4,5,2,3,5,1/)
536 gface(:,69)=(/4,5,2,1,5,3/)
537 gface(:,70)=(/2,6,4,3,5,1/)
538
539
540 gface(:,71)=(/6,1,5,2,3,4/)
541 gface(:,72)=(/5,1,6,4,3,2/)
542 gface(:,73)=(/2,1,4,5,3,6/)
543 gface(:,74)=(/4,1,2,6,3,5/)
544 gface(:,75)=(/1,4,3,5,2,6/)
545 gface(:,76)=(/3,4,1,6,2,5/)
546 gface(:,77)=(/6,4,5,1,2,3/)
547 gface(:,78)=(/5,4,6,3,2,1/)
548 gface(:,79)=(/1,5,3,2,6,4/)
549 gface(:,80)=(/4,6,2,3,5,1/)
550 gface(:,81)=(/1,6,3,4,5,2/)
551 gface(:,82)=(/3,6,1,2,5,4/)
552
553
554 gface(:,83) =(/5,3,2,4,1,0/)
555 gface(:,84) =(/5,2,1,3,4,0/)
556 gface(:,85) =(/5,1,4,2,3,0/)
557 gface(:,86) =(/5,4,3,1,2,0/)
558 gface(:,87) =(/6,3,2,4,1,0/)
559 gface(:,88) =(/6,2,1,3,4,0/)
560 gface(:,89) =(/6,1,4,2,3,0/)
561 gface(:,90) =(/6,4,3,1,2,0/)
562 gface(:,91) =(/4,3,5,6,1,0/)
563 gface(:,92) =(/4,5,1,3,6,0/)
564 gface(:,93) =(/4,1,6,5,3,0/)
565 gface(:,94) =(/4,6,3,1,5,0/)
566 gface(:,95) =(/2,3,5,6,1,0/)
567 gface(:,96) =(/2,5,1,3,6,0/)
568 gface(:,97) =(/2,1,6,5,3,0/)
569 gface(:,98) =(/2,6,3,1,5,0/)
570 gface(:,99) =(/1,4,5,6,2,0/)
571 gface(:,100)=(/1,5,2,4,6,0/)
572 gface(:,101)=(/1,2,6,5,4,0/)
573 gface(:,102)=(/1,6,4,2,5,0/)
574 gface(:,103)=(/3,4,5,6,2,0/)
575 gface(:,104)=(/3,6,4,2,5,0/)
576 gface(:,105)=(/3,2,6,5,4,0/)
577 gface(:,106)=(/3,5,2,4,6,0/)
578
579
580
581 DO i=01,08 ;gnpt(:,i) = (/3,3,3,0,0,0/);ENDDO
582 DO i=09,20 ;gnpt(:,i) = (/3,3,4,4,0,0/);ENDDO
583 DO i=21,44 ;gnpt(:,i) = (/5,3,4,4,3,0/);ENDDO
584 DO i=45,50 ;gnpt(:,i) = (/4,4,4,4,4,0/);ENDDO
585 DO i=51,58 ;gnpt(:,i) = (/3,5,5,5,3,3/);ENDDO
586 DO i=59,70 ;gnpt(:,i) = (/3,4,5,3,4,5/);ENDDO
587 DO i=71,82 ;gnpt(:,i) = (/3,4,5,3,4,5/);ENDDO
588 DO i=83,106;gnpt(:,i) = (/6,4,4,4,3,3/);ENDDO
589
590 DO i=01,08;gnnod(:,i) = (/1,1,1,0,0,0/);ENDDO
591 DO i=09,20;gnnod(:,i) = (/1,1,2,2,0,0/);ENDDO
592 DO i=21,44;gnnod(:,i) = (/3,1,2,2,1,0/);ENDDO
593 DO i=45,50;gnnod(:,i) = (/4,2,2,2,2,0/);ENDDO
594 DO i=51,58;gnnod(:,i) = (/1,3,3,3,1,1/);ENDDO
595 DO i=59,70;gnnod(:,i) = (/1,2,3,1,2,3/);ENDDO
596 DO i=71,82;gnnod(:,i) = (/1,2,3,1,2,3/);ENDDO
597 DO i=83,106;gnnod(:,i) = (/4,2,2,2,2,0/);ENDDO
598
599
600
601
602 gcorner(:, 1)=(/1,2,3,1,0,0,0/) * -1
603 gcorner(:, 2)=(/6,5,4,6,0,0,0/) * -1
604 gcorner(:, 3)=(/7,8,9,7,0,0,0/) * -1
605 gcorner(:, 4)=(/10,12,11,10,0,0,0/) * -1
606 gcorner(:, 5)=(/7,4,1,7,0,0,0/)
607 gcorner(:, 6)=(/10,2,5,10,0,0,0/)
608 gcorner(:, 7)=(/3,11,8,3,0,0,0/)
609 gcorner(:, 8)=(/6,9,12,6,0,0,0/)
610
611
612 gcorner(:, 9)=(/-2,-3,+7,+4,-2,0,0/)
613 gcorner(:,10)=(/-3,-1,+5,+10,-3,0,0/)
614 gcorner(:,11)=(/-1,-2,+11,+8,-1,0,0/)
615 gcorner(:,12)=(/+1,+7,-6,-5,+1,0,0/)
616 gcorner(:,13)=(/-4,-6,+10,+2,-4,0,0/)
617 gcorner(:,14)=(/-5,-4,+9,+12,-5,0,0/)
618 gcorner(:,15)=(/+4,+1,-8,-9,+4,0,0/)
619 gcorner(:,16)=(/+3,+11,-9,-7,+3,0,0/)
620 gcorner(:,17)=(/-7,-8,+12,+6,-7,0,0/)
621 gcorner(:,18)=(/+2,+5,-12,-11,+2,0,0/)
622 gcorner(:,19)=(/+8,+3,-10,-12,+8,0,0/)
623 gcorner(:,20)=(/+6,+9,-11,-10,+6,0,0/)
624
625
626 gcorner(:,21)=(/-3,-1,-4,-6,+10,-3,0/)
627 gcorner(:,22)=(/+7,+4,+5,+10,-3,+7,0/)
628 gcorner(:,23)=(/-6,-5,-2,-3,+7,-6,0/)
629 gcorner(:,24)=(/+10,+2,+1,+7,-6,+10,0/)
630 gcorner(:,25)=(/-4,-6,-12,-11,+2,-4,0/)
631 gcorner(:,26)=(/+2,+5,+6,+9,-11,+2,0/)
632 gcorner(:,27)=(/+9,+12,+10,+2,-4,+9,0/)
633 gcorner(:,28)=(/-11,-10,-5,-4,+9,-11,0/)
634 gcorner(:,29)=(/+3,+11,+12,+6,-7,+3,0/)
635 gcorner(:,30)=(/-7,-8,-11,-10,+6,-7,0/)
636 gcorner(:,31)=(/+6,+9,+8,+3,-10,+6,0/)
637 gcorner(:,32)=(/-10,-12,-9,-7,+3,-10,0/)
638 gcorner(:,33)=(/-2,-3,-8,-9,+4,-2,0/)
639 gcorner(:,34)=(/+4,+1,+3,+11,-9,+4,0/)
640 gcorner(:,35)=(/+11,8,+7,+4,-2,+11,0/)
641 gcorner(:,36)=(/-9,-7,-1,-2,+11,-9,0/)
642 gcorner(:,37)=(/+1,+7,+9,+12,-5,+1,0/)
643 gcorner(:,38)=(/-5,-4,-7,-8,+12,-5,0/)
644 gcorner(:,39)=(/-8,-9,-6,-5,+1,-8,0/)
645 gcorner(:,40)=(/+12,+6,+4,+1,-8,+12,0/)
646 gcorner(:,41)=(/-1,-2,-10,-12,+8,-1,0/)
647 gcorner(:,42)=(/+5,+10,+11,+8,-1,+5,0/)
648 gcorner(:,43)=(/+8,+3,+2,+5,-12,+8,0/)
649 gcorner(:,44)=(/-12,-11,-3,-1,+5,-12,0/)
650
651
652 gcorner(:,45)=(/-8 ,+12,-5,+1,-8 ,0 ,0/)
653 gcorner(:,46)=(/-12,+8 ,-1,+5,-12,0 ,0/)
654 gcorner(:,47)=(/+11,-9,+4,-2,+11,0,0/)
655 gcorner(:,48)=(/-11,+2,-4,+9,-11,0,0/)
656 gcorner(:,49)=(/-7,+3,-10,+6,-7,0,0/)
657 gcorner(:,50)=(/-3,+7,-6,+10,-3,0,0/)
658
659
660 gcorner(:,51)=(/-02,-03,-08,-09,-06,-05,-02/)
661 gcorner(:,52)=(/+02,+05,+06,+09,+08,+03,+02/)
662 gcorner(:,53)=(/-04,-06,-12,-11,-03,-01,-04/)
663 gcorner(:,54)=(/+03,+11,+12,+06,+04,+01,+03/)
664 gcorner(:,55)=(/+10,+02,+01,+07,+09,+12,+10/)
665 gcorner(:,56)=(/+01,+07,+09,+12,+10,+02,+01/)
666 gcorner(:,57)=(/+05,+10,+11,+08,+07,+04,+05/)
667 gcorner(:,58)=(/-11,-10,-05,-04,-07,-08,-11/)
668
669
670 gcorner(:,59)=(/+11,-09,-06,-05,+01,+03,0/)
671 gcorner(:,60)=(/-01,+05,+06,+09,-11,-03,0/)
672 gcorner(:,61)=(/+04,-02,-10,-12,+08,+07,0/)
673 gcorner(:,62)=(/-08,+12,+10,+02,-04,-07,0/)
674 gcorner(:,63)=(/-07,+03,+02,+05,-12,-09,0/)
675 gcorner(:,64)=(/-03,+07,+09,+12,-05,-02,0/)
676 gcorner(:,65)=(/+01,-08,-11,-10,+06,+04,0/)
677 gcorner(:,66)=(/+08,-01,-04,-06,+10,+11,0/)
678 gcorner(:,67)=(/-02,+11,+12,+06,-07,-01,0/)
679 gcorner(:,68)=(/+07,-06,-12,-11,+02,+01,0/)
680 gcorner(:,69)=(/+03,-10,-05,-04,+09,+08,0/)
681 gcorner(:,70)=(/+10,-03,-08,-09,+04,+05,0/)
682
683
684 gcorner(:,71)=(/-02,+04,+06,+12,-08,-03,0/)
685 gcorner(:,72)=(/-04,+02,+03,+08,-12,-06,0/)
686 gcorner(:,73)=(/+05,-01,-07,-09,+11,+10,0/)
687 gcorner(:,74)=(/+01,-05,-10,-11,+09,+07,0/)
688 gcorner(:,75)=(/-01,+08,+09,+06,-10,-02,0/)
689 gcorner(:,76)=(/-08,+01,+02,+10,-06,-09,0/)
690 gcorner(:,77)=(/+03,-07,-04,-05,+12,+11,0/)
691 gcorner(:,78)=(/+07,-03,-11,-12,+05,+04,0/)
692 gcorner(:,79)=(/+04,-09,-12,-10,+03,+01,0/)
693 gcorner(:,80)=(/-03,+10,+12,+09,-04,-01,0/)
694 gcorner(:,81)=(/+02,-11,-08,-07,+06,+05,0/)
695 gcorner(:,82)=(/+11,-02,-05,-06,+07,+08,0/)
696
697
698 gcorner(:,83) =(/-08,+12,-05,+01,+04,-04,0/)
699 gcorner(:,84) =(/+12,-05,+01,-08,-07,+07,0/)
700 gcorner(:,85) =(/-05,+01,-08,+12,+09,-09,0/)
701 gcorner(:,86) =(/+01,-08,+12,-05,-06,+06,0/)
702 gcorner(:,87) =(/+08,-12,+05,-01,-02,+02,0/)
703 gcorner(:,88) =(/-12,+05,-01,+08,+03,-03,0/)
704 gcorner(:,89) =(/+05,-01,+08,-12,-11,+11,0/)
705 gcorner(:,90) =(/-01,+08,-12,+05,+10,-10,0/)
706 gcorner(:,91) =(/+11,-09,+04,-02,-01,+01,0/)
707 gcorner(:,92) =(/-09,+04,-02,+11,+03,-03,0/)
708 gcorner(:,93) =(/+04,-02,+11,-09,-08,+08,0/)
709 gcorner(:,94) =(/-02,+11,-09,+04,+07,-07,0/)
710 gcorner(:,95) =(/-11,+09,-04,+02,+05,-05,0/)
711 gcorner(:,96) =(/+09,-04,+02,-11,-10,+10,0/)
712 gcorner(:,97) =(/-04,+02,-11,+09,+12,-12,0/)
713 gcorner(:,98) =(/+02,-11,+09,-04,-04,+06,0/)
714 gcorner(:,99) =(/-03,+07,-06,+10,+05,-05,0/)
715 gcorner(:,100)=(/+07,-06,+10,-03,-04,+04,0/)
716 gcorner(:,101)=(/-06,+10,-03,+07,+01,-01,0/) !polyc t+.1
717 gcorner(:,102)=(/+10,-03,+07,-06,-02,+02,0/)
718 gcorner(:,103)=(/+03,-07,+06,-10,-12,+12,0/)
719 gcorner(:,104)=(/-07,+06,-10,+03,+09,-09,0/)
720 gcorner(:,105)=(/+06,-10,+03,-07,-08,+08,0/)
721 gcorner(:,106)=(/-10,+03,-07,+06,+11,-11,0/)
722
723
724
725
726
727 gnode(:, 1)=(/1,0,0,0/) ; bgnode( 1)=b'10000000'
728 gnode(:, 2)=(/3,0,0,0/) ; bgnode( 2)=b'00100000'
729 gnode(:, 3)=(/6,0,0,0/) ; bgnode( 3)=b'00000100'
730 gnode(:, 4)=(/8,0,0,0/) ; bgnode( 4)=b'00000001'
731 gnode(:, 5)=(/2,0,0,0/) ; bgnode( 5)=b'01000000'
732 gnode(:, 6)=(/4,0,0,0/) ; bgnode( 6)=b'00010000'
733 gnode(:, 7)=(/5,0,0,0/) ; bgnode( 7)=b'00001000'
734 gnode(:, 8)=(/7,0,0,0/) ; bgnode( 8)=b'00000010'
735
736
737 gnode(:, 9)=(/1,2,0,0/) ; bgnode( 9)=b'11000000'
738 gnode(:,10)=(/1,4,0,0/) ; bgnode(10)=b'10010000'
739 gnode(:,11)=(/1,5,0,0/) ; bgnode(11)=b'10001000'
740 gnode(:,12)=(/2,3,0,0/) ; bgnode(12)=b'01100000'
741 gnode(:,13)=(/3,4,0,0/) ; bgnode(13)=b'00110000'
742 gnode(:,14)=(/3,7,0,0/) ; bgnode(14)=b'00100010'
743 gnode(:,15)=(/2,6,0,0/) ; bgnode(15)=b'01000100'
744 gnode(:,16)=(/5,6,0,0/) ; bgnode(16)=b'00001100'
745 gnode(:,17)=(/6,7,0,0/) ; bgnode(17)=b'00000110'
746 gnode(:,18)=(/4,8,0,0/) ; bgnode(18)=b'00010001'
747 gnode(:,19)=(/5,8,0,0/) ; bgnode(19)=b'00001001'
748 gnode(:,20)=(/7,8,0,0/) ; bgnode(20)=b'00000011'
749
750
751 gnode(:,21) =(/1,4,3,0/) ; bgnode(21)=b'10110000'
752 gnode(:,22) =(/2,1,4,0/) ; bgnode(22)=b'11010000'
753 gnode(:,23) =(/3,2,1,0/) ; bgnode(23)=b'11100000'
754 gnode(:,24) =(/4,3,2,0/) ; bgnode(24)=b'01110000'
755 gnode(:,25) =(/3,4,8,0/) ; bgnode(25)=b'00110001'
756 gnode(:,26) =(/4,8,7,0/) ; bgnode(26)=b'00010011'
757 gnode(:,27) =(/7,3,4,0/) ; bgnode(27)=b'00110010'
758 gnode(:,28) =(/8,7,3,0/) ; bgnode(28)=b'00100011'
759 gnode(:,29) =(/5,6,7,0/) ; bgnode(29)=b'00001110'
760 gnode(:,30) =(/6,7,8,0/) ; bgnode(30)=b'00000111'
761 gnode(:,31) =(/7,8,5,0/) ; bgnode(31)=b'00001011'
762 gnode(:,32) =(/8,5,6,0/) ; bgnode(32)=b'00001101'
763 gnode(:,33) =(/1,2,6,0/) ; bgnode(33)=b'11000100'
764 gnode(:,34) =(/2,6,5,0/) ; bgnode(34)=b'01001100'
765 gnode(:,35) =(/5,1,2,0/) ; bgnode(35)=b'11001000'
766 gnode(:,36) =(/6,5,1,0/) ; bgnode(36)=b'10001100'
767 '01100010'
768 gnode(:,38) =(/3,7,6,0/) ; bgnode(38)=b'00100110'
769 gnode(:,39) =(/6,2,3,0/) ; bgnode(39)=b'01100100'
770 gnode(:,40) =(/7,6,2,0/) ; bgnode(40)=b'01000110'
771 gnode(:,41) =(/1,5,8,0/) ; bgnode(41)=b'10001001'
772 gnode(:,42) =(/4,1,5,0/) ; bgnode(42)=b'10011000'
773 gnode(:,43) =(/5,8,4,0/) ; bgnode(43)=b'00011001'
774 gnode(:,44) =(/8,4,1,0/) ; bgnode(44)=b'10010001'
775
776
777 gnode(:,45)=(/6,7,3,2/) ; bgnode(45)=b'01100110'
778 gnode(:,46)=(/8,5,1,4/) ; bgnode(46)=b'10011001'
779 gnode(:,47)=(/5,6,2,1/) ; bgnode(47)=b'11001100'
780 gnode(:,48)=(/8,4,3,7/) ; bgnode(48)=b'00110011'
781 gnode(:,49)=(/6,5,8,7/) ; bgnode(49)=b'00001111'
782 gnode(:,50)=(/1,2,3,4/) ; bgnode'11110000'
783
784
785 gnode(:,51)=(/1,2,6,3/) ; bgnode(51)=b'11100100'
786 gnode(:,52)=(/4,8,7,5/) ; bgnode(52)=b'00011011'
787 gnode(:,53)=(/3,4,8,1/) ; bgnode(53)=b'10110001'
788 gnode(:,54)=(/5,6,7,2/) ; bgnode(54)=b'01001110'
789 gnode(:,55)=(/4,3,2,7/) ; bgnode(55)=b'01110010'
790 gnode(:,56)=(/2,3,7,4/) ; bgnode(56)=b'01110010'
791 gnode(:,57)=(/4,1,5,2/) ; bgnode(57)=b'11011000'
792 gnode(:,58)=(/8,7,3,6/) ; bgnode(58)=b'00100111'
793
794
795 gnode(:,59)=(/5,6,2,3/) ; bgnode(59)=b'01101100'
796 gnode(:,60)=(/1,4,8,7/) ; bgnode(60)=b'10010011'
797 gnode(:,61)=(/2,1,5,8/) ; bgnode(61)=b'11001001'
798 gnode(:,62)=(/6,7,3,4/) ; bgnode(62)=b'00110110'
799 gnode(:,63)=(/6,5,8,4/) ; bgnode(63)=b'00011101'
800 gnode(:,64)=(/1,2,3,7/) ; bgnode(64)=b'11100010'
801 gnode(:,65)=(/2,6,7,8/) ; bgnode(65)=b'01000111'
802 gnode(:,66)=(/5,1,4,3/) ; bgnode(66)=b'10111000'
803 gnode(:,67)=(/1,5,6,7/) ; bgnode(67)=b'10001110'
804 gnode(:,68)=(/2,3,4,8/) ; bgnode(68)=b'01110001'
805 gnode(:,69)=(/5,8,7,3/) ; bgnode(69)=b'00101011'
806 gnode(:,70)=(/4,1,2,6/) ; bgnode(70)=b'11010100'
807
808
809 gnode(:,71)=(/1,2,6,7/) ; bgnode(71)=b'11000110'
810 gnode(:,72)=(/3,4,8,5/) ; bgnode(72)=b'00111001'
811 gnode(:,73)=(/4,1,5,6/) ; bgnode(73)=b'10011100'
812 gnode(:,74)=(/2,3,7,8/) ; bgnode(74)=b'01100011'
813 gnode(:,75)=(/1,5,8,7/) ; bgnode(75)=b'10001011'
814 gnode(:,76)=(/6,2,3,4/) ; bgnode(76)=b'01110100'
815 gnode(:,77)=(/5,6,7,4/) ; bgnode(77)=b'00011110'
816 gnode(:,78)=(/2,1,4,8/) ; bgnode(78)=b'11010001'
817 gnode(:,79)=(/2,6,5,8/) ; bgnode(79)=b'01001101'
818 gnode(:,80)=(/1,4,3,7/) ; bgnode(80)=b'10110010'
819 gnode(:,81)=(/4,8,7,6/) ; bgnode(81)=b'00010111'
820 gnode(:,82)=(/5,1,2,3/) ; bgnode(82)=b'11101000'
821
822
823 gnode(:,83) =(/6,7,3,2/) ; bgnode(83) =b'01100110'
824 gnode(:,84) =(/7,3,2,6/) ; bgnode(84) =b'01100110'
825 gnode(:,85) =(/3,2,6,7/) ; bgnode(85) =b'01100110'
826 gnode(:,86) =(/2,6,7,3/) ; bgnode(86) =b'01100110'
827 gnode(:,87) =(/5,8,4,1/) ; bgnode(87) =b'10011001'
828 gnode(:,88) =(/8,4,1,5/) ; bgnode(88) =b'10011001'
829 gnode(:,89) =(/4,1,5,8/) ; bgnode(89) =b'10011001'
830 gnode(:,90) =(/1,5,8,4/) ; bgnode(90) =b'10011001'
831 gnode(:,91) =(/5,6,2,1/) ; bgnode(91) =b'11001100'
832 gnode(:,92) =(/6,2,1,5/) ; bgnode(92) =b'11001100'
833 gnode(:,93) =(/2,1,5,6/) ; bgnode(93) =b'11001100'
834 gnode(:,94) =(/1,5,6,2/) ; bgnode(94) =b'11001100' !POLYC S+.7
835 Gnode(:,95) =(/8,7,3,4/) ; bGnode(95) =B'00110011' !POLYC S-.5
836 Gnode(:,96) =(/7,3,4,8/) ; bGnode(96) =B'00110011' !POLYC S-.10
837 Gnode(:,97) =(/3,4,8,7/) ; bGnode(97) =B'00110011' !POLYC S-.12
838 Gnode(:,98) =(/4,8,7,3/) ; bGnode(98) =B'00110011' !POLYC S-.6
839 Gnode(:,99) =(/1,2,3,4/) ; bGnode(99) =B'11110000' !POLYC T+.5
840 Gnode(:,100)=(/2,3,4,1/) ; bGnode(100) =B'11110000' !POLYC T+.4
841 Gnode(:,101)=(/3,4,1,2/) ; bGnode(101) =B'11110000' !POLYC T+.1
842 Gnode(:,102)=(/4,1,2,3/) ; bGnode(102) =B'11110000' !POLYC T+.2
843 Gnode(:,103)=(/5,6,7,8/) ; bGnode(103) =B'00001111' !POLYC T-.12
844 Gnode(:,104)=(/8,5,6,7/) ; bGnode(104) =B'00001111' !POLYC T-.9
845 Gnode(:,105)=(/7,8,5,6/) ; bGnode(105) =B'00001111' !POLYC T-.8
846 Gnode(:,106)=(/6,7,8,5/) ; bGnode(106) =B'00001111' !POLYC T-.11
847
848 !----------------------------------------------------!
849 ! NODE TAGS FOR EACH OF 58 COMBINATIONS !
850 !----------------------------------------------------!
851 ! 1 10 20 30 40 50
852 ! | | | | | |
853 ! '1234567890123456789012345678901234567890123456789012345678'/
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880 !diagonal vectors
881 INT22_BUF%iFACE(1:2,1,1)=(/1,3/); INT22_BUF%iFACE(1:2,2,1)=(/2,4/)
882 INT22_BUF%iFACE(1:2,1,2)=(/3,8/); INT22_BUF%iFACE(1:2,2,2)=(/4,7/)
883 INT22_BUF%iFACE(1:2,1,3)=(/5,7/); INT22_BUF%iFACE(1:2,2,3)=(/6,8/)
884 INT22_BUF%iFACE(1:2,1,4)=(/1,6/); INT22_BUF%iFACE(1:2,2,4)=(/2,5/)
885 INT22_BUF%iFACE(1:2,1,5)=(/2,7/); INT22_BUF%iFACE(1:2,2,5)=(/3,6/)
886 INT22_BUF%iFACE(1:2,1,6)=(/4,5/); INT22_BUF%iFACE(1:2,2,6)=(/1,8/)
887
888 !face_id -> (node_id, node_id, node_id, node_id)
889 INT22_BUF%nodFACE(1,1:4) = (/1,2,3,4/)
890 INT22_BUF%nodFACE(2,1:4) = (/4,3,7,8/)
891 INT22_BUF%nodFACE(3,1:4) = (/8,7,6,5/)
892 INT22_BUF%nodFACE(4,1:4) = (/5,6,2,1/)
893 INT22_BUF%nodFACE(5,1:4) = (/3,2,6,7/)
894 INT22_BUF%nodFACE(6,1:4) = (/5,1,4,8/)
895
896 !same in binary
897 INT22_BUF%bNodFACE(01) = B'000011110' !last digit is position 0 and is unused
898 INT22_BUF%bNodFACE(02) = B'110011000'
899 INT22_BUF%bNodFACE(03) = B'111100000'
900 INT22_BUF%bNodFACE(04) = B'001100110'
901 INT22_BUF%bNodFACE(05) = B'011001100'
902 INT22_BUF%bNodFACE(06) = B'100110010'
903
904 !(node_id, face_id) -> Is_On_face
905 INT22_BUF%IsNodeOnFace(1,1:6) = (/.TRUE. ,.FALSE.,.FALSE.,.TRUE .,.FALSE.,.TRUE. /)
906 INT22_BUF%IsNodeOnFace(2,1:6) = (/.TRUE. ,.FALSE.,.FALSE.,.TRUE. ,.TRUE. ,.FALSE./)
907 INT22_BUF%IsNodeOnFace(3,1:6) = (/.TRUE. ,.TRUE. ,.FALSE.,.FALSE.,.TRUE. ,.FALSE./)
908 INT22_BUF%IsNodeOnFace(4,1:6) = (/.TRUE. ,.TRUE. ,.FALSE.,.FALSE.,.FALSE.,.TRUE. /)
909 INT22_BUF%IsNodeOnFace(5,1:6) = (/.FALSE.,.FALSE.,.TRUE. ,.TRUE. ,.FALSE.,.TRUE. /)
910 INT22_BUF%IsNodeOnFace(6,1:6) = (/.FALSE.,.FALSE.,.TRUE. ,.TRUE. ,.TRUE. ,.FALSE./)
911 INT22_BUF%IsNodeOnFace(7,1:6) = (/.FALSE.,.TRUE. ,.TRUE. ,.FALSE.,.TRUE. ,.FALSE./)
912 INT22_BUF%IsNodeOnFace(8,1:6) = (/.FALSE.,.TRUE. ,.TRUE. ,.FALSE.,.FALSE.,.TRUE. /)
913
914 !edge number -> (node_id, node_id)
915 INT22_BUF%iEDGE(1:2, 1)=(/1,2/) ; INT22_BUF%iEDGE(1:2, 4)=(/3,2/);
916 INT22_BUF%iEDGE(1:2, 2)=(/1,4/) ; INT22_BUF%iEDGE(1:2, 5)=(/3,4/);
917 INT22_BUF%iEDGE(1:2, 3)=(/1,5/) ; INT22_BUF%iEDGE(1:2, 6)=(/3,7/);
918 INT22_BUF%iEDGE(1:2, 7)=(/6,2/) ; INT22_BUF%iEDGE(1:2, 10)=(/8,4/);
919 INT22_BUF%iEDGE(1:2, 8)=(/6,5/) ; INT22_BUF%iEDGE(1:2, 11)=(/8,5/);
920 INT22_BUF%iEDGE(1:2, 9)=(/6,7/) ; INT22_BUF%iEDGE(1:2, 12)=(/8,7/);
921
922! !diagonals Identification (if needed)
923! iEDGE(1:2, 13)=(/1,3/) ; iEDGE(1:2, 16)=(/2,4/);
924! iEDGE(1:2, 14)=(/1,6/) ; iEDGE(1:2, 17)=(/2,5/);
925! iEDGE(1:2, 15)=(/1,8/) ; iEDGE(1:2, 18)=(/2,7/);
926! !
927! iEDGE(1:2, 19)=(/3,6/) ; iEDGE(1:2, 21)=(/4,7/)
928! iEDGE(1:2, 20)=(/3,8/) ; iEDGE(1:2, 22)=(/4,5/);
929! !
930! iEDGE(1:2, 23)=(/5,7/) ; iEDGE(1:2, 24)=(/6,8/);
931
932 ! node_id -> 3 adjacent edges
933 INT22_BUF%i22WhichEdge(1, 1:3)=(/-01,-02,-03/)
934 INT22_BUF%i22WhichEdge(2, 1:3)=(/ 01, 04, 07/)
935 INT22_BUF%i22WhichEdge(3, 1:3)=(/-04,-05,-06/)
936 INT22_BUF%i22WhichEdge(4, 1:3)=(/ 02, 05, 10/)
937 INT22_BUF%i22WhichEdge(5, 1:3)=(/ 03, 08, 11/)
938 INT22_BUF%i22WhichEdge(6, 1:3)=(/-07,-08,-09/)
939 INT22_BUF%i22WhichEdge(7, 1:3)=(/ 06, 09, 12/)
940 INT22_BUF%i22WhichEdge(8, 1:3)=(/-10,-11,-12/)
941
942 ! node_id -> 3 adjacent faces
943 INT22_BUF%iFacesFromNode(1,1:3) = (/ 1,4,6 /)
944 INT22_BUF%iFacesFromNode(2,1:3) = (/ 1,4,5 /)
945 INT22_BUF%iFacesFromNode(3,1:3) = (/ 1,2,5 /)
946 INT22_BUF%iFacesFromNode(4,1:3) = (/ 1,2,6 /)
947 INT22_BUF%iFacesFromNode(5,1:3) = (/ 3,4,6 /)
948 INT22_BUF%iFacesFromNode(6,1:3) = (/ 3,4,5 /)
949 INT22_BUF%iFacesFromNode(7,1:3) = (/ 2,3,5 /)
950 INT22_BUF%iFacesFromNode(8,1:3) = (/ 2,3,6 /)
951
952 !(face_id,node_id) -> edge_id
953 INT22_BUF%iGetEdge(1,1)=+03; INT22_BUF%iGetEdge(1,2)=-07; INT22_BUF%iGetEdge(1,3)=+06; INT22_BUF%iGetEdge(1,4)=-10
954 INT22_BUF%iGetEdge(2,4)=-02; INT22_BUF%iGetEdge(2,3)=+04; INT22_BUF%iGetEdge(2,7)=-09; INT22_BUF%iGetEdge(2,8)=+11
955 INT22_BUF%iGetEdge(3,8)=+10; INT22_BUF%iGetEdge(3,7)=-06; INT22_BUF%iGetEdge(3,6)=+07; INT22_BUF%iGetEdge(3,5)=-03
956 INT22_BUF%iGetEdge(4,5)=-11; INT22_BUF%iGetEdge(4,6)=+09; INT22_BUF%iGetEdge(4,2)=-04; INT22_BUF%iGetEdge(4,1)=+02
957 INT22_BUF%iGetEdge(5,3)=+05; INT22_BUF%iGetEdge(5,2)=-01; INT22_BUF%iGetEdge(5,6)=+08; INT22_BUF%iGetEdge(5,7)=-12
958 INT22_BUF%iGetEdge(6,5)=-08; INT22_BUF%iGetEdge(6,1)=+01; INT22_BUF%iGetEdge(6,4)=-05; INT22_BUF%iGetEdge(6,8)=+12
959
960 !(face_id) -> {edge_ids}
961 INT22_BUF%iNormalEdgesList(1,1:4)= (/ +03,+06,-07,-10 /)
962 INT22_BUF%iNormalEdgesList(2,1:4)= (/ -02,+04,-09,+11 /)
963 INT22_BUF%iNormalEdgesList(3,1:4)= (/ -03,-06,+07,+10 /)
964 INT22_BUF%iNormalEdgesList(4,1:4)= (/ +02,-04,+09,-11 /)
965 INT22_BUF%iNormalEdgesList(5,1:4)= (/ -01,+05,+08,-12 /)
966 INT22_BUF%iNormalEdgesList(6,1:4)= (/ +01,-05,-08,+12 /)
967
968
969 !(face_id,node_id) -> opposite node
970 INT22_BUF%IGetOppositeNode(1,1)=05; INT22_BUF%IGetOppositeNode(1,2)=06;
971 INT22_BUF%IGetOppositeNode(2,4)=01; INT22_BUF%IGetOppositeNode(2,3)=02;
972 INT22_BUF%IGetOppositeNode(3,8)=04; INT22_BUF%IGetOppositeNode(3,7)=03;
973 INT22_BUF%IGetOppositeNode(4,5)=08; INT22_BUF%IGetOppositeNode(4,6)=07;
974 INT22_BUF%IGetOppositeNode(5,3)=04; INT22_BUF%IGetOppositeNode(5,2)=01;
975 INT22_BUF%IGetOppositeNode(6,5)=06; INT22_BUF%IGetOppositeNode(6,1)=02;
976
977 INT22_BUF%IGetOppositeNode(1,3)=07; INT22_BUF%IGetOppositeNode(1,4)=08;
978 INT22_BUF%IGetOppositeNode(2,7)=06; INT22_BUF%IGetOppositeNode(2,8)=05;
979 INT22_BUF%IGetOppositeNode(3,6)=02; INT22_BUF%IGetOppositeNode(3,5)=01;
980 INT22_BUF%IGetOppositeNode(4,2)=03; INT22_BUF%IGetOppositeNode(4,1)=04;
981 INT22_BUF%IGetOppositeNode(5,6)=05; INT22_BUF%IGetOppositeNode(5,7)=08;
982 INT22_BUF%IGetOppositeNode(6,4)=03; INT22_BUF%IGetOppositeNode(6,8)=07;
983
984 !(face_id,node_id) -> (tangent node 1, tangent node 2)
985 INT22_BUF%IGetTransvNodes(:,:,:) = 0
986 !
987 INT22_BUF%IGetTransvNodes(1,1,1:2) = (/4,2/) ;
988 INT22_BUF%IGetTransvNodes(1,2,1:2) = (/1,3/) ;
989 INT22_BUF%IGetTransvNodes(1,3,1:2) = (/2,4/) ;
990 INT22_BUF%IGetTransvNodes(1,4,1:2) = (/3,1/) ;
991
992 INT22_BUF%IGetTransvNodes(2,4,1:2) = (/3,8/) ;
993 INT22_BUF%IGetTransvNodes(2,3,1:2) = (/7,4/) ;
994 INT22_BUF%IGetTransvNodes(2,7,1:2) = (/8,3/) ;
995 INT22_BUF%IGetTransvNodes(2,8,1:2) = (/4,7/) ;
996
997 INT22_BUF%IGetTransvNodes(3,8,1:2) = (/5,7/) ;
998 INT22_BUF%IGetTransvNodes(3,7,1:2) = (/8,6/) ;
999 INT22_BUF%IGetTransvNodes(3,6,1:2) = (/7,5/) ;
1000 INT22_BUF%IGetTransvNodes(3,5,1:2) = (/6,8/) ;
1001
1002 INT22_BUF%IGetTransvNodes(4,5,1:2) = (/1,6/) ;
1003 INT22_BUF%IGetTransvNodes(4,6,1:2) = (/5,2/) ;
1004 INT22_BUF%IGetTransvNodes(4,2,1:2) = (/6,1/) ;
1005 INT22_BUF%IGetTransvNodes(4,1,1:2) = (/2,5/) ;
1006
1007 INT22_BUF%IGetTransvNodes(5,3,1:2) = (/2,7/) ;
1008 INT22_BUF%IGetTransvNodes(5,2,1:2) = (/6,3/) ;
1009 INT22_BUF%IGetTransvNodes(5,6,1:2) = (/7,2/) ;
1010 INT22_BUF%IGetTransvNodes(5,7,1:2) = (/3,6/) ;
1011
1012 INT22_BUF%IGetTransvNodes(6,1,1:2) = (/4,5/) ;
1013 INT22_BUF%IGetTransvNodes(6,4,1:2) = (/8,1/) ;
1014 INT22_BUF%IGetTransvNodes(6,8,1:2) = (/5,4/) ;
1015 INT22_BUF%IGetTransvNodes(6,5,1:2) = (/1,8/) ;
1016
1017 ! face_id -> (edge_id, edge_id, edge_id, edge_id)
1018 INT22_BUF%iGetEdgesFromFace(1,1:4) = (/01,02,05,04/)
1019 INT22_BUF%iGetEdgesFromFace(2,1:4) = (/05,10,12,06/)
1020 INT22_BUF%iGetEdgesFromFace(3,1:4) = (/12,11,08,09/)
1021 INT22_BUF%iGetEdgesFromFace(4,1:4) = (/01,03,08,07/)
1022 INT22_BUF%iGetEdgesFromFace(5,1:4) = (/04,06,09,07/)
1023 INT22_BUF%iGetEdgesFromFace(6,1:4) = (/02,03,11,10/)
1024
1025 ! edge_id -> edge_id, edge_id
1026 INT22_BUF%iGetAdjFace( 01, 1:2 ) = (/ 01,04 /)
1027 INT22_BUF%iGetAdjFace( 02, 1:2 ) = (/ 01,06 /)
1028 INT22_BUF%iGetAdjFace( 03, 1:2 ) = (/ 04,06 /)
1029 INT22_BUF%iGetAdjFace( 04, 1:2 ) = (/ 01,05 /)
1030 INT22_BUF%iGetAdjFace( 05, 1:2 ) = (/ 01,02 /)
1031 INT22_BUF%iGetAdjFace( 06, 1:2 ) = (/ 02,05 /)
1032 INT22_BUF%iGetAdjFace( 07, 1:2 ) = (/ 04,05 /)
1033 INT22_BUF%iGetAdjFace( 08, 1:2 ) = (/ 03,04 /)
1034 INT22_BUF%iGetAdjFace( 09, 1:2 ) = (/ 03,05 /)
1035 INT22_BUF%iGetAdjFace( 10, 1:2 ) = (/ 02,06 /)
1036 INT22_BUF%iGetAdjFace( 11, 1:2 ) = (/ 03,06 /)
1037 INT22_BUF%iGetAdjFace( 12, 1:2 ) = (/ 02,03 /)
1038
1039
1040 !FACE_ID,EDGE_ID- > NODE_ID
1041 INT22_BUF%iGetNodeFromEdgeAndFace(:,:) = 0
1042
1043 INT22_BUF%iGetNodeFromEdgeAndFace(1,03) = 1 ; INT22_BUF%iGetNodeFromEdgeAndFace(2,02) = 4
1044 INT22_BUF%iGetNodeFromEdgeAndFace(1,06) = 3 ; INT22_BUF%iGetNodeFromEdgeAndFace(2,04) = 3
1045 INT22_BUF%iGetNodeFromEdgeAndFace(1,07) = 6 ; INT22_BUF%iGetNodeFromEdgeAndFace(2,09) = 7
1046 INT22_BUF%iGetNodeFromEdgeAndFace(1,10) = 8 ; INT22_BUF%iGetNodeFromEdgeAndFace(2,11) = 8
1047
1048 INT22_BUF%iGetNodeFromEdgeAndFace(3,03) = 5 ; INT22_BUF%iGetNodeFromEdgeAndFace(4,02) = 1
1049 INT22_BUF%iGetNodeFromEdgeAndFace(3,06) = 7 ; INT22_BUF%iGetNodeFromEdgeAndFace(4,04) = 2
1050 INT22_BUF%iGetNodeFromEdgeAndFace(3,07) = 6 ; INT22_BUF%iGetNodeFromEdgeAndFace(4,09) = 6
1051 INT22_BUF%iGetNodeFromEdgeAndFace(3,10) = 8 ; INT22_BUF%iGetNodeFromEdgeAndFace(4,11) = 5
1052
1053 INT22_BUF%iGetNodeFromEdgeAndFace(5,01) = 2 ; INT22_BUF%iGetNodeFromEdgeAndFace(6,01) = 1
1054 INT22_BUF%iGetNodeFromEdgeAndFace(5,05) = 3 ; INT22_BUF%iGetNodeFromEdgeAndFace(6,05) = 4
1055 INT22_BUF%iGetNodeFromEdgeAndFace(5,08) = 6 ; INT22_BUF%iGetNodeFromEdgeAndFace(6,08) = 5
1056 INT22_BUF%iGetNodeFromEdgeAndFace(5,12) = 7 ; INT22_BUF%iGetNodeFromEdgeAndFace(6,12) = 8
1057
1058
1059
1060 !iRightEdge(Face,nodeID)
1061 !next edge is clockwise edge when face is looked from cell centroid.
1062 ! "-" : means centripetal
1063 ! "+" : means centrifugal
1064 INT22_BUF%iLeftEdge(1,1)=+02; INT22_BUF%iLeftEdge(1,2)=-01; INT22_BUF%iLeftEdge(1,3)=+04; INT22_BUF%iLeftEdge(1,4)=-05; !1234 <- nodFACE(1,1:4) = (/1,2,3,4/)
1065 INT22_BUF%iLeftEdge(2,1)=-10; INT22_BUF%iLeftEdge(2,2)=+05; INT22_BUF%iLeftEdge(2,3)=-06; INT22_BUF%iLeftEdge(2,4)=+12; !4378 <- nodFACE(2,1:4) = (/4,3,7,8/)
1066 INT22_BUF%iLeftEdge(3,1)=+11; INT22_BUF%iLeftEdge(3,2)=-12; INT22_BUF%iLeftEdge(3,3)=+09; INT22_BUF%iLeftEdge(3,4)=-08; !8765 <- nodFACE(3,1:4) = (/8,7,6,5/)
1067 INT22_BUF%iLeftEdge(4,1)=-03; INT22_BUF%iLeftEdge(4,2)=+08; INT22_BUF%iLeftEdge(4,3)=-07; INT22_BUF%iLeftEdge(4,4)=+01; !5621 <- nodFACE(4,1:4) = (/5,6,2,1/)
1068 INT22_BUF%iLeftEdge(5,1)=+06; INT22_BUF%iLeftEdge(5,2)=-04; INT22_BUF%iLeftEdge(5,3)=+07; INT22_BUF%iLeftEdge(5,4)=-09; !3267 <- nodFACE(5,1:4) = (/3,2,6,7/)
1069 INT22_BUF%iLeftEdge(6,1)=-11; INT22_BUF%iLeftEdge(6,2)=+03; INT22_BUF%iLeftEdge(6,3)=-02; INT22_BUF%iLeftEdge(6,4)=+10; !5148 <- nodFACE(6,1:4) = (/5,1,4,8/)
1070
1071 IF(INT22>0)THEN
1072 DO NIN=1,INT22
1073 DO J=1,12*I22LEN
1074 EDGE_LIST(NIN,J)%NBCUT = 0
1075 ENDDO
1076 ENDDO
1077 ENDIF
1078
1079
1080 IDT_INT22 = 0
1081 dt22_min = EP30
1082 dx22_min = EP30
1083 dx22min_l(0:NTHREAD-1) = EP30
1084 v22_max = ZERO
1085 v22max_l(0:NTHREAD-1) = ZERO
1086 nCross22 = FIVE
1087 CritMerge22 = HALF
1088 CritDeMerge22 = HALF
1089 CritDVol22 = FOURTH
1090 NADJ_F = 5
1091 NBOLD(1) = NB
1092 IIAD22(:,:) = 0
1093 NBCUT_MAX = 8 + 6 !cut plane in cut cell, maximum reached with 8 tetra (all 8 nodes isolated) +6 closure surface
1094 I22_DEGENERATED = 0
1095 UVARL(0:NTHREAD-1,1:I22LEN,1:M51_N0PHAS+TRIMAT*M51_NVPHAS+I22LAW37) = ZERO
1096 SuperCellVOL_L(0:NTHREAD-1,0:TRIMAT+I22LAW37,1:I22LEN) = ZERO
1097 EINT_L(0:NTHREAD-1,1:I22LEN) = ZERO
1098 MOM_L(1:3,0:NTHREAD-1,1:I22LEN) = ZERO
1099 RHO_L(0:NTHREAD-1,1:I22LEN) = ZERO
1100 SIG_L(0:NTHREAD-1,1:6,1:I22LEN) = ZERO
1101 VOLD_L(0:NTHREAD-1,0:TRIMAT+I22LAW37,1:I22LEN) = ZERO
1102 UNLINKED_CELLS_L(0:NTHREAD-1,1:2,1:I22LEN) = 0
1103 N_UNLINKED_L(0:NTHREAD-1) = 0
1104 DO NIN=1,INT22
1105 OLD_SecndList(NIN,1:I22LEN)%Num = 0
1106 OLD_SecndList(NIN,1:I22LEN)%NumSecndNodes = 0
1107 DO J=1,24
1108 OLD_SecndList(NIN,1:I22LEN)%FM(J) = 0
1109 OLD_SecndList(NIN,1:I22LEN)%FV(J) = 0
1110 OLD_SecndList(NIN,1:I22LEN)%IV(J) = 0
1111 OLD_SecndList(NIN,1:I22LEN)%IBV(J) = 0
1112 OLD_SecndList(NIN,1:I22LEN)%ICELLv(J) = 0
1113 OLD_SecndList(NIN,1:I22LEN)%VOL(J) = ZERO
1114 OLD_SecndList(NIN,1:I22LEN)%NumNOD_Cell(J) = 0
1115 DO K=1,8
1116 OLD_SecndList(NIN,1:I22LEN)%ListNodID(J,K) = 0
1117 ENDDO
1118 ENDDO!next J
1119 ENDDO!next NIN
1120
1121
1122 !--------------------!
1123 ! ALL !
1124 ! ON(1) / OFF(0) !
1125 !--------------------!
1126 IFLG = 0 !IOUTP22
1127
1128 IF(INT22 > 0)THEN
1129 IBUG22 = 0
1130 !-----------------------!
1131 IBUG22_ccBufList = 0
1132 IBUG22_antidiff = -0
1133 IBUG22_upwind = -0
1134 IBUG22_tri = 0
1135 IBUG22_trivox = 0
1136 IBUG22_intersect = -0
1137 IBUG22_subvol = 12781
1138 IBUG22_aera = 0
1139 IBUG22_ident = 12781
1140 IBUG22_convec = 0
1141 IBUG22_spe_convec = 0
1142 IBUG22_eos = 0
1143 IBUG22_dvol = -0
1144 IBUG22_sigeps51 = 0
1145 IBUG22_ssp = 0
1146 IBUG22_flux = -0
1147 IBUG22_flux22 = -0
1148 IBUG22_volfrac = 0
1149 IBUG22_conti = 0
1150 IBUG22_fint = 12781
1151 IBUG22_sinit = 0
1152 IBUG22_nodalp = 0
1153 IBUG22_amouil = 0
1154 IBUG22_fcont = -0
1155 IBUG22_fcontASS = -0
1156 IBUG22_Swet = -0
1157 IBUG22_destroy = -0
1158 IBUG22_merge = -0
1159 IBUG22_link_switch = -0
1160 IBUG22_tracking = -0
1161 IBUG22_prediction = -0
1162 IBUG22_UndirectLink = -0
1163 IBUG22_Truss = 0
1164 IBUG22_OrphanNodes = 0
1165 IBUG22_DtMin = 0
1166 IBUG22_OUTP_CCbuffer = 0 !enables to output bricks in cut cell buffer (HyperMesh tcl script)
1167 IBUG22_OUTP_IntPoint = 0 !enables to output intersection points (HyperMesh tcl script)
1168 IBUG22_NVAR = 2 !-1: all, 1:mass, 2:energy
1169 IBUG22_ITRIMAT = 1 !-1: all, 0:global, 1:submat1, 2:submat2, 3:submat3, 4:submat4
1170 IBUG22_CC_LENGTH = 0
1171 ENDIF
1172
1173
1174
1175 !---------------!
1176 IF(INT22 > 0)THEN
1177 IBUG22_ccBufList = IBUG22_ccBufList * IFLG
1178 IBUG22_antidiff = IBUG22_antidiff * IFLG
1179 IBUG22_upwind = IBUG22_upwind * IFLG
1180 IBUG22_tri = IBUG22_tri * IFLG
1181 IBUG22_trivox = IBUG22_trivox * IFLG
1182 IBUG22_intersect = IBUG22_intersect * IFLG
1183 IBUG22_subvol = IBUG22_subvol * IFLG
1184 IBUG22_aera = IBUG22_aera * IFLG
1185 IBUG22_ident = IBUG22_ident * IFLG
1186 IBUG22_convec = IBUG22_convec * IFLG
1187 IBUG22_spe_convec = IBUG22_spe_convec * IFLG
1188 IBUG22_eos = IBUG22_eos * IFLG
1189 IBUG22_dvol = IBUG22_dvol * IFLG
1190 IBUG22_sigeps51 = IBUG22_sigeps51 * IFLG
1191 IBUG22_ssp = IBUG22_ssp * IFLG
1192 IBUG22_flux = IBUG22_flux * IFLG
1193 IBUG22_flux22 = IBUG22_flux22 * IFLG
1194 IBUG22_volfrac = IBUG22_volfrac * IFLG
1195 IBUG22_conti = IBUG22_conti * IFLG
1196 IBUG22_fint = IBUG22_fint * IFLG
1197 IBUG22_sinit = IBUG22_sinit * IFLG
1198 IBUG22_nodalp = IBUG22_nodalp * IFLG
1199 IBUG22_amouil = IBUG22_amouil * IFLG
1200 IBUG22_fcont = IBUG22_fcont * IFLG
1201 IBUG22_fcontASS = IBUG22_fcontASS * IFLG
1202 IBUG22_Swet = IBUG22_Swet * IFLG
1203 IBUG22_destroy = IBUG22_destroy * IFLG
1204 IBUG22_merge = IBUG22_merge * IFLG
1205 IBUG22_link_switch = IBUG22_link_switch * IFLG
1206 IBUG22_tracking = IBUG22_tracking * IFLG
1207 IBUG22_prediction = IBUG22_prediction * IFLG
1208 IBUG22_UndirectLink = IBUG22_UndirectLink * IFLG
1209 IBUG22_Truss = IBUG22_Truss * IFLG
1210 IBUG22_DtMin = IBUG22_DtMin * IFLG
1211 IBUG22_OrphanNodes = IBUG22_OrphanNodes * IFLG
1212 IBUG22_OUTP_CCbuffer = IBUG22_OUTP_CCbuffer * IFLG
1213 IBUG22_OUTP_IntPoint = IBUG22_OUTP_IntPoint * IFLG
1214 IBUG22_NVAR = IBUG22_NVAR * IFLG
1215 IBUG22_ITRIMAT = IBUG22_ITRIMAT * IFLG
1216 IBUG22_CC_LENGTH = IBUG22_CC_LENGTH * IFLG
1217 ENDIF
1218
1219.AND..AND. IF(INT22>0 IBUG22 == 1 IFLG/=0)THEN
1220 PRINT *, "=================="
1221 PRINT *, "= Output Flags : ="
1222 PRINT *, "=================="
1223 IF(IBUG22 /=0)print *,"IBUG22 "
1224 IF(IBUG22_tri /=0)print *,"IBUG22_tri "
1225 IF(IBUG22_trivox /=0)print *,"IBUG22_trivox "
1226 IF(IBUG22_intersect /=0)print *,"IBUG22_intersect "
1227 IF(IBUG22_subvol /=0)print *,"IBUG22_subvol "
1228 IF(IBUG22_aera /=0)print *,"IBUG22_aera "
1229 IF(IBUG22_ident /=0)print *,"IBUG22_ident "
1230 IF(IBUG22_convec /=0)print *,"IBUG22_convec "
1231 IF(IBUG22_eos /=0)print *,"IBUG22_eos "
1232 IF(IBUG22_dvol /=0)print *,"IBUG22_dvol "
1233 IF(IBUG22_sigeps51 /=0)print *,"IBUG22_sigeps51 "
1234 IF(IBUG22_ssp /=0)print *,"IBUG22_ssp "
1235 IF(IBUG22_flux /=0)print *,"IBUG22_flux "
1236 IF(IBUG22_flux22 /=0)print *,"IBUG22_flux22 "
1237 IF(IBUG22_volfrac /=0)print *,"IBUG22_volfrac "
1238 IF(IBUG22_conti /=0)print *,"IBUG22_conti "
1239 IF(IBUG22_fint /=0)print *,"IBUG22_fint "
1240 IF(IBUG22_sinit /=0)print *,"IBUG22_sinit "
1241 IF(IBUG22_nodalp /=0)print *,"IBUG22_nodalp "
1242 IF(IBUG22_amouil /=0)print *,"IBUG22_amouil "
1243 IF(IBUG22_spe_convec /=0)print *,"IBUG22_spe_convec "
1244 IF(IBUG22_fcont /=0)print *,"IBUG22_fcont "
1245 IF(IBUG22_Swet /=0)print *,"IBUG22_Swet "
1246 IF(IBUG22_destroy /=0)print *,"IBUG22_destroy "
1247 IF(IBUG22_merge /=0)print *,"IBUG22_merge "
1248 IF(IBUG22_UndirectLink /=0)print *,"IBUG22_UndirectLink "
1249 IF(IBUG22_Truss /=0)print *,"IBUG22_Truss "
1250 IF(IBUG22_DtMin /=0)print *,"IBUG22_DtMin "
1251 IF(IBUG22_OUTP_CCbuffer/=0)print *,"IBUG22_OUTP_CCbuffer"
1252 IF(IBUG22_OUTP_IntPoint/=0)print *,"IBUG22_OUTP_IntPoint"
1253 print *, "=================="
1254 ENDIF
1255
1256! IF(NTHREAD>1)THEN
1257! print *, "**error inter22 : Multithreading not yet validated"
1258! stop
1259! ENDIF
1260
1261 RETURN