37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
60
61
62
63#include "implicit_f.inc"
64#include "comlock.inc"
65
66
67
68#include "com08_c.inc"
69#include "task_c.inc"
70#include "inter22.inc"
71
72
73
74 INTEGER CAND_B(NCAND),CAND_E(), NCAND, NIN,
75 . ITASK, NBRIC, ITAB(*),
76 . BUFBRIC(NBRIC), IXS(NIXS,*), II_STOK
78 . :: x(3,*)
79
80
81
82
83 INTEGER :: POS, IAD, IADE, IB ,IBG , NBF, NBL
84
85 INTEGER :: IE, N_CUT_EDGE
86
87 INTEGER :: TAG_INDEX(NBRIC), TAG_INDEX_OLD(NBRIC), I8(9,NBRIC)
88 my_real :: r9(9,nbric), r49(4,9,nbric), r84(9,4,nbric)
89
90 INTEGER :: I,J,IDX,IBold,NUM
91
92 LOGICAL :: bFOUND
93
94
95
96
97
98
99
100
103 print *,
"**error inter22 : memory size allocation",
nb,i22len
104 stop
105
106 ENDIF
107
108 nbf = 1+itask*
nb/nthread
109 nbl = (itask+1)*
nb/nthread
110 nin = 1
111
112 IF(itask==0.AND.dt1/=zero)THEN
113
117 ENDDO
118
119 tag_index(1:nbric) = 0
122 ENDDO
123
124 tag_index_old(1:nbric) = 0
127 ENDDO
128
129
132 IF(tag_index(idx)/=0 .AND. tag_index_old(idx)==0)THEN
134
135 ELSE
137 ENDIF
138 enddo
139
140
142 i8(1:8,ib) =
brick_list(nin,ib)%NODE(1:8)%NodWasMain
143 ENDDO
146 IF(tag_index(idx)>0)THEN
147 idx = tag_index(idx)
148 brick_list(nin,idx)%NODE(1:8)%NodWasMain = i8(1:8,ib)
149 ENDIF
150 enddo
151
153 i8(1:8,ib) =
brick_list(nin,ib)%NODE(1:8)%WhereWasMain
154 ENDDO
157 IF(tag_index(idx)>0)THEN
158 idx = tag_index(idx)
159 brick_list(nin,idx)%NODE(1:8)%WhereWasMain = i8(1:8,ib)
160 ENDIF
161 enddo
162
163
166 ENDDO
170 IF(tag_index(idx)>0)THEN
171 idx = tag_index(idx)
173 ENDIF
174 enddo
175
176
177
179 i8(1:8,ib) =
brick_list(nin,ib)%NODE(1:8)%WhichCell
180 ENDDO
183 IF(tag_index(idx)>0)THEN
184 idx = tag_index(idx)
185 brick_list(nin,idx)%NODE(1:8)%OLD_WhichCell = i8(1:8,ib)
186 ENDIF
187 enddo
188
190 r9(1:9,ib) =
brick_list(nin,ib)%POLY(1:9)%Vnew
191 ENDDO
195 IF(tag_index(idx)>0)THEN
196 idx = tag_index(idx)
197 brick_list(nin,idx)%POLY(1:9)%OLD_Vnew = r9(1:9,ib)
198 ENDIF
199 enddo
200
201
204 IF(tag_index(idx)>0)THEN
205 idx = tag_index(idx)
211 DO j=1,num
222 ENDDO
223 DO j=num+1,24
232 ENDDO
233 ENDIF
234 enddo
235 !---oldmainstrongnode----
237 i8(1,ib) =
brick_list(nin,ib)%OldMainStrongNode
238 ENDDO
241 IF(tag_index(idx)>0)THEN
242 idx = tag_index(idx)
243 brick_list(nin,idx)%OldMainStrongNode = i8(1,ib)
244 ENDIF
245 enddo
246
249 ENDDO
252 IF(tag_index(idx)>0)THEN
253 idx = tag_index(idx)
256 ENDIF
257 enddo
258
259
262 ENDDO
266 IF(tag_index(idx)>0)THEN
267 idx = tag_index(idx)
269 ENDIF
270 enddo
271
272
273 endif
274
275
277 print *, "I22LEN =", i22len
278 print *, "II_STOK =", ii_stok
280 endif
281
282 IF(itask==0) THEN
285 ENDIF
286
287
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