38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
61 use element_mod , only : nixs
62
63
64
65#include "implicit_f.inc"
66#include "comlock.inc"
67
68
69
70#include "com08_c.inc"
71#include "task_c.inc"
72#include "inter22.inc"
73
74
75
76 INTEGER CAND_B(NCAND),CAND_E(NCAND), NCAND, NIN,
77 . ITASK, NBRIC, ITAB(*),
78 . BUFBRIC(NBRIC), IXS(NIXS,*), II_STOK
80 . :: x(3,*)
81
82
83
84
85 INTEGER :: POS, IAD, IADE, IB ,IBG , NBF, NBL
86
87 INTEGER :: IE, N_CUT_EDGE
88
89 INTEGER :: TAG_INDEX(NBRIC), TAG_INDEX_OLD(NBRIC), I8(9,NBRIC)
90 my_real :: r9(9,nbric), r49(4,9,nbric), r84(9,4,nbric)
91
92 INTEGER :: I,J,IDX,IBold,NUM
93
94 LOGICAL :: bFOUND
95
96
97
98
99
100
101
102
105 print *,
"**error inter22 : memory size allocation",
nb,i22len
106 stop
107
108 ENDIF
109
110 nbf = 1+itask*
nb/nthread
111 nbl = (itask+1)*
nb/nthread
112 nin = 1
113
114 IF(itask==0.AND.dt1/=zero)THEN
115
119 ENDDO
120
121 tag_index(1:nbric) = 0
124 ENDDO
125
126 tag_index_old(1:nbric) = 0
129 ENDDO
130
131
134 IF(tag_index(idx)/=0 .AND. tag_index_old(idx)==0)THEN
136
137 ELSE
139 ENDIF
140 enddo
141
142
144 i8(1:8,ib) =
brick_list(nin,ib)%NODE(1:8)%NodWasMain
145 ENDDO
148 IF(tag_index(idx)>0)THEN
149 idx = tag_index(idx)
150 brick_list(nin,idx)%NODE(1:8)%NodWasMain = i8(1:8,ib)
151 ENDIF
152 enddo
153
155 i8(1:8,ib) =
brick_list(nin,ib)%NODE(1:8)%WhereWasMain
156 ENDDO
159 IF(tag_index(idx)>0)THEN
160 idx = tag_index(idx)
161 brick_list(nin,idx)%NODE(1:8)%WhereWasMain = i8(1:8,ib)
162 ENDIF
163 enddo
164
165
168 ENDDO
172 IF(tag_index(idx)>0)THEN
173 idx = tag_index(idx)
175 ENDIF
176 enddo
177
178
179
181 i8(1:8,ib) =
brick_list(nin,ib)%NODE(1:8)%WhichCell
182 ENDDO
185 IF(tag_index(idx)>0)THEN
186 idx = tag_index(idx)
187 brick_list(nin,idx)%NODE(1:8)%OLD_WhichCell = i8(1:8,ib)
188 ENDIF
189 enddo
190
192 r9(1:9,ib) =
brick_list(nin,ib)%POLY(1:9)%Vnew
193 ENDDO
197 IF(tag_index(idx)>0)THEN
198 idx = tag_index(idx)
199 brick_list(nin,idx)%POLY(1:9)%OLD_Vnew = r9(1:9,ib)
200 ENDIF
201 enddo
202
203
206 IF(tag_index(idx)>0)THEN
207 idx = tag_index(idx)
213 DO j=1,num
224 ENDDO
225 DO j=num+1,24
234 ENDDO
235 ENDIF
236 enddo
237
239 i8(1,ib) =
brick_list(nin,ib)%OldMainStrongNode
240 ENDDO
243 IF(tag_index(idx)>0)THEN
244 idx = tag_index(idx)
245 brick_list(nin,idx)%OldMainStrongNode = i8(1,ib)
246 ENDIF
247 enddo
248
251 ENDDO
254 IF(tag_index(idx)>0)THEN
255 idx = tag_index(idx)
258 ENDIF
259 enddo
260
261
264 ENDDO
268 IF(tag_index(idx)>0)THEN
269 idx = tag_index(idx)
271 ENDIF
272 enddo
273
274
275 endif
276
277
279 print *, "I22LEN =", i22len
280 print *, "II_STOK =", ii_stok
282 endif
283
284 IF(itask==0) THEN
287 ENDIF
288
289
type(brick_entity), dimension(:,:), allocatable, target brick_list
type(list_secnd), dimension(:,:), allocatable old_secndlist
integer, dimension(:,:), allocatable list_b_old
integer, dimension(:,:), allocatable iiad22
integer, dimension(:), allocatable nbold
integer, dimension(:), allocatable list_b