OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
r_bufbric_22.F File Reference
#include "implicit_f.inc"
#include "com04_c.inc"
#include "inter22.inc"
#include "task_c.inc"
#include "com01_c.inc"
#include "units_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine r_bufbric_22 ()

Function/Subroutine Documentation

◆ r_bufbric_22()

subroutine r_bufbric_22

Definition at line 38 of file r_bufbric_22.F.

39C-----------------------------------------------
40C D e s c r i p t i o n
41C-----------------------------------------------
42C Interface Type22 (/INTER/TYPE22) is an FSI coupling method based on cut cell method.
43C This experimental cut cell method is not completed, abandoned, and is not an official option.
44C
45C This subroutine is reading buffer from RESTART file
46C-----------------------------------------------
47C M o d u l e s
48C-----------------------------------------------
50 USE i22tri_mod
51 USE ale_mod
52 USE multimat_param_mod , ONLY : m51_n0phas, m51_nvphas
53C-----------------------------------------------
54C I m p l i c i t T y p e s
55C-----------------------------------------------
56#include "implicit_f.inc"
57C-----------------------------------------------
58C C o m m o n B l o c k s
59C-----------------------------------------------
60#include "com04_c.inc"
61#include "inter22.inc"
62#include "task_c.inc"
63#include "com01_c.inc"
64#include "units_c.inc"
65C-----------------------------------------------
66C L o c a l V a r i a b l e s
67C-----------------------------------------------
68 INTEGER :: NIN, I, J, K, IERR1, TRIMATL, M51_N0PHASL, M51_NVPHASL,ib
69 INTEGER :: Isectype(14) , ISIZ, IASC
70 INTEGER, DIMENSION(I22LEN) :: READ_ITAB
71 my_real, DIMENSION(I22LEN) :: read_rtab
72
73 CHARACTER*14 :: string
74C-----------------------------------------------
75C P r e C o n d i t i o n
76C-----------------------------------------------
77C INT22 > 0 - otherwise nothing is done here
78C-----------------------------------------------
79C S o u r c e L i n e s
80C-----------------------------------------------
81
82 ierr1 = 0
83 trimatl = trimat
84 m51_n0phasl = m51_n0phas
85 m51_nvphasl = m51_nvphas
86 IF(trimatl<0)then
87 trimatl = 0 !law37 TRIMAT =-2 law51 TRIMAT=4
88 m51_n0phasl = 0
89 m51_nvphasl = 0
90 ENDIF
91C---------------------------------------------------------------------C
92C initialisation du tableau de travail pour l'interface 22 (FSI) C
93C---------------------------------------------------------------------C
94 !int22 : number of int22 interface
95 !i22len : maximum number of bricks (optim dimensionnement possible)
96 IF(int22>0)THEN
97 IF( ibug22_cc_length/=0 )print *, "CUT CELL BUFFER LENGTH, LEN=", i22len
98 IF(.NOT.ALLOCATED(nbold)) ALLOCATE(nbold(int22) ,stat=ierr1)
99 IF(ierr1>0)GOTO 1000
100 IF(.NOT.ALLOCATED(list_b_old)) ALLOCATE(list_b_old(int22,i22len) ,stat=ierr1)
101 IF(ierr1>0)GOTO 1000
102 IF(.NOT.ALLOCATED(brick_list)) ALLOCATE(brick_list(int22,i22len) ,stat=ierr1)
103 IF(ierr1>0)GOTO 1000
104 isiz = max(i22law37, i22law51)
105 IF(isiz/=0)THEN
106 DO nin =1,int22
107 DO ib=1,i22len
108 ALLOCATE(brick_list(nin,ib)%bakMAT%UVAR(1:isiz))
109 enddo!next IB
110 enddo!net NIN
111 ENDIF
112 IF(.NOT.ALLOCATED(edge_list)) ALLOCATE(edge_list(int22,i22len*12) ,stat=ierr1)
113 IF(ierr1>0)GOTO 1000
114 IF(.NOT.ALLOCATED(iiad22)) ALLOCATE(iiad22(int22,numels+numelq) ,stat=ierr1)
115 IF(ierr1>0)GOTO 1000
116 IF(.NOT.ALLOCATED(uvarl)) ALLOCATE(uvarl(0:nthread-1,i22len,m51_n0phasl+trimatl*m51_nvphasl+i22law37) ,stat=ierr1)
117 IF(ierr1>0)GOTO 1000
118 IF(.NOT.ALLOCATED(supercellvol_l)) ALLOCATE(supercellvol_l(0:nthread-1,0:trimatl+i22law37,i22len) ,stat=ierr1)
119 IF(ierr1>0)GOTO 1000
120 IF(.NOT.ALLOCATED(eint_l)) ALLOCATE(eint_l(0:nthread-1,i22len) ,stat=ierr1)
121 IF(ierr1>0)GOTO 1000
122 IF(.NOT.ALLOCATED(rho_l)) ALLOCATE(rho_l(0:nthread-1,i22len) ,stat=ierr1)
123 IF(ierr1>0)GOTO 1000
124 IF(.NOT.ALLOCATED(mom_l)) ALLOCATE(mom_l(1:3,0:nthread-1,i22len) ,stat=ierr1)
125 IF(ierr1>0)GOTO 1000
126 IF(.NOT.ALLOCATED(sig_l)) ALLOCATE(sig_l(0:nthread-1,1:6,i22len) ,stat=ierr1)
127 IF(ierr1>0)GOTO 1000
128 IF(.NOT.ALLOCATED(vold_l)) ALLOCATE(vold_l(0:nthread-1,0:trimatl+i22law37,i22len) ,stat=ierr1)
129 IF(ierr1>0)GOTO 1000
130 IF(.NOT.ALLOCATED(imergel)) ALLOCATE(imergel(0:nthread-1) ,stat=ierr1)
131 IF(ierr1>0)GOTO 1000
132 IF(.NOT.ALLOCATED(old_secndlist)) ALLOCATE(old_secndlist(int22,i22len) ,stat=ierr1)
133 IF(ierr1>0)GOTO 1000
134 IF(.NOT.ALLOCATED(unlinked_cells_l)) ALLOCATE(unlinked_cells_l(0:nthread-1,2,i22len) ,stat=ierr1) !index2: 1:IB, 2:ICELL
135 IF(ierr1>0)GOTO 1000
136 IF(.NOT.ALLOCATED(n_unlinked_l)) ALLOCATE(n_unlinked_l(0:nthread-1) ,stat=ierr1)
137 IF(ierr1>0)GOTO 1000
138 IF(.NOT.ALLOCATED(v22max_l)) ALLOCATE(v22max_l(0:nthread-1) ,stat=ierr1)
139 IF(ierr1>0)GOTO 1000
140 IF(.NOT.ALLOCATED(dx22min_l)) ALLOCATE(dx22min_l(0:nthread-1) ,stat=ierr1)
141 IF(ierr1>0)GOTO 1000
142
143 IF(.NOT.ALLOCATED(ngb)) ALLOCATE(ngb(1:i22len) ,stat=ierr1)
144 IF(ierr1>0)GOTO 1000
145 IF(.NOT.ALLOCATED(idb)) ALLOCATE(idb(1:i22len) ,stat=ierr1)
146 IF(ierr1>0)GOTO 1000
147 IF(.NOT.ALLOCATED(nelb)) ALLOCATE(nelb(1:i22len) ,stat=ierr1)
148 IF(ierr1>0)GOTO 1000
149 IF(.NOT.ALLOCATED(idlocb)) ALLOCATE(idlocb(1:i22len) ,stat=ierr1)
150 IF(ierr1>0)GOTO 1000
151
152 IF(.NOT.ALLOCATED(int22_fcell_anim)) ALLOCATE(int22_fcell_anim(numels) ,stat=ierr1)
153 IF(ierr1>0)GOTO 1000
154
155 CALL i22datainit()
156 ale%GLOBAL%ICAA = 1
157 ENDIF
158
159 !CALL I22DATAINIT_DB()
160
161C---------------------------------------------------------------------C
162C Lecture du tableau de travail pour l'interface 22 (FSI) C
163C---------------------------------------------------------------------C
164
165 !temporary arg copy is needed while calling READ_* subroutine (ifort & -check arg_temp_created)
166 ! readability is better but this is only for restart file and also not a performance issue.
167
168 DO nin=1,int22
169 !=====general data
170 CALL read_i_c( nbold(nin) , 1)
171 CALL read_i_c( read_itab , i22len)
172 list_b_old(nin,1:i22len) = read_itab(1:i22len)
173 !=====cartesian cell data - INTEGER
174 CALL read_i_c( read_itab , i22len)
175 brick_list(nin,1:i22len)%ID = read_itab(1:i22len)
176 CALL read_i_c( read_itab , i22len)
177 brick_list(nin,1:i22len)%NG = read_itab(1:i22len)
178 CALL read_i_c( read_itab , i22len)
179 brick_list(nin,1:i22len)%IDLOC = read_itab(1:i22len)
180 CALL read_i_c( read_itab , i22len)
181 brick_list(nin,1:i22len)%OLD_ICODE = read_itab(1:i22len)
182 CALL read_i_c( read_itab , i22len)
183 brick_list(nin,1:i22len)%OLD_ICODE = read_itab(1:i22len)
184 CALL read_i_c( read_itab , i22len)
185 brick_list(nin,1:i22len)%IDBLE = read_itab(1:i22len)
186 CALL read_i_c( read_itab , i22len)
187 brick_list(nin,1:i22len)%NBITS = read_itab(1:i22len)
188 CALL read_i_c( read_itab , i22len)
189 brick_list(nin,1:i22len)%NPQTS = read_itab(1:i22len)
190 CALL read_i_c( read_itab , i22len)
191 brick_list(nin,1:i22len)%NBCUT = read_itab(1:i22len)
192 CALL read_i_c( read_itab , i22len)
193 brick_list(nin,1:i22len)%MainID = read_itab(1:i22len)
194 CALL read_i_c( read_itab , i22len)
195 brick_list(nin,1:i22len)%WasCut = read_itab(1:i22len)
196 CALL read_i_c( read_itab , i22len)
197 brick_list(nin,1:i22len)%NewInBuffer = read_itab(1:i22len)
198 CALL read_i_c( read_itab , i22len)
199 brick_list(nin,1:i22len)%OldMainStrongNode = read_itab(1:i22len)
200 CALL read_i_c( read_itab , i22len)
201 brick_list(nin,1:i22len)%MLW = read_itab(1:i22len)
202 CALL read_i_c( read_itab , i22len)
203 brick_list(nin,1:i22len)%ITASK = read_itab(1:i22len)
204
205
206 DO j=1,8
207 CALL read_i_c( read_itab , i22len)
208 brick_list(nin,1:i22len)%SecID_Cell(j) = read_itab(1:i22len)
209 ENDDO
210 CALL read_i_c( read_itab , i22len)
211 brick_list(nin,1:i22len)%Seg_add_LFT = read_itab(1:i22len)
212 CALL read_i_c( read_itab , i22len)
213 brick_list(nin,1:i22len)%Seg_add_LLT = read_itab(1:i22len)
214 DO i=1,5
215 DO j=1,6
216 CALL read_i_c( read_itab , i22len)
217 brick_list(nin,1:i22len)%Adjacent_Brick(j,i) = read_itab(1:i22len)
218 ENDDO
219 ENDDO
220 DO i=1,3
221 DO j=1,5
222 CALL read_i_c( read_itab , i22len)
223 brick_list(nin,1:i22len)%MergeTarget(i,j) = read_itab(1:i22len)
224 ENDDO
225 ENDDO
226 CALL read_i_c( read_itab , i22len)
227 brick_list(nin,1:i22len)%NTarget = read_itab(1:i22len)
228 DO i=1,6
229 CALL read_i_c( read_itab , i22len)
230 brick_list(nin,1:i22len)%ClosedSurf(i) = read_itab(1:i22len)
231 ENDDO
232 CALL read_i_c( read_itab , i22len)
233 brick_list(nin,1:i22len)%IsMErgeTarget = read_itab(1:i22len)
234 !=====cartesian cell data - REAL
235 DO i=1,6
236 DO j=1,3
237 CALL read_db ( read_rtab , i22len)
238 brick_list(nin,1:i22len)%N(i,j) = read_rtab(1:i22len)
239 ENDDO
240 ENDDO
241 CALL read_db ( read_rtab , i22len)
242 brick_list(nin,1:i22len)%Vnew_SCell = read_rtab(1:i22len)
243 CALL read_db ( read_rtab , i22len)
244 brick_list(nin,1:i22len)%Vold_SCell = read_rtab(1:i22len)
245
246 DO i=1,3
247 CALL read_db ( read_rtab , i22len)
248 brick_list(nin,1:i22len)%SCellCenter(i) = read_rtab(1:i22len)
249 ENDDO
250 DO j=1,6
251 CALL read_db ( read_rtab , i22len)
252 brick_list(nin,1:i22len)%Face_Brick(j) = read_rtab(1:i22len)
253 ENDDO
254 CALL read_db ( read_rtab , i22len)
255 brick_list(nin,1:i22len)%UncutVol = read_rtab(1:i22len)
256 DO j=1,3
257 CALL read_db ( read_rtab , i22len)
258 brick_list(nin,1:i22len)%FCELL(j) = read_rtab(1:i22len)
259 ENDDO
260 DO j=1,3
261 CALL read_db ( read_rtab , i22len)
262 brick_list(nin,1:i22len)%FEXT_CELL(j) = read_rtab(1:i22len)
263 ENDDO
264 DO j=0,6
265 CALL read_db ( read_rtab , i22len)
266 brick_list(nin,1:i22len)%SIG(j) = read_rtab(1:i22len)
267 ENDDO
268 CALL read_db ( read_rtab , i22len)
269 brick_list(nin,1:i22len)%RHOC = read_rtab(1:i22len)
270 CALL read_db ( read_rtab , i22len)
271 brick_list(nin,1:i22len)%MACH = read_rtab(1:i22len)
272 CALL read_db ( read_rtab , i22len)
273 brick_list(nin,1:i22len)%DVOL = read_rtab(1:i22len)
274 DO j=1,2
275 DO i=1,6
276 CALL read_db ( read_rtab , i22len)
277 brick_list(nin,1:i22len)%Poly9woNodes(i,j) = read_rtab(1:i22len)
278 ENDDO
279 ENDDO
280 !=====%POLY(1:9) - INTEGER
281 DO j=1,9
282 CALL read_i_c ( read_itab , i22len)
283 brick_list(nin,1:i22len)%POLY(j)%NumNOD = read_itab(1:i22len)
284 ENDDO
285 DO j=1,9
286 CALL read_i_c ( read_itab , i22len)
287 brick_list(nin,1:i22len)%POLY(j)%NumPOINT = read_itab(1:i22len)
288 ENDDO
289 DO i=1,8
290 DO j=1,9
291 CALL read_i_c ( read_itab , i22len)
292 brick_list(nin,1:i22len)%POLY(j)%ListNodID(i) = read_itab(1:i22len)
293 ENDDO
294 ENDDO
295 DO j=1,9
296 CALL read_i_c ( read_itab , i22len)
297 brick_list(nin,1:i22len)%POLY(j)%IsMain = read_itab(1:i22len)
298 ENDDO
299 DO i=1,4
300 DO j=1,9
301 CALL read_i_c ( read_itab , i22len)
302 brick_list(nin,1:i22len)%POLY(j)%WhereIsMain(i) = read_itab(1:i22len)
303 ENDDO
304 ENDDO
305 DO j=1,9
306 CALL read_i_c ( read_itab , i22len)
307 brick_list(nin,1:i22len)%POLY(j)%ID_FREE_NODE = read_itab(1:i22len)
308 ENDDO
309 !=====%POLY(1:9) - REAL
310 DO j=1,9
311 CALL read_db ( read_rtab , i22len)
312 brick_list(nin,1:i22len)%POLY(j)%Adjacent_FLU1 = read_rtab(1:i22len)
313 ENDDO
314 DO j=1,9
315 CALL read_db ( read_rtab , i22len)
316 brick_list(nin,1:i22len)%POLY(j)%DDVOL = read_rtab(1:i22len)
317 ENDDO
318 DO j=1,9
319 CALL read_db ( read_rtab , i22len)
320 brick_list(nin,1:i22len)%POLY(j)%PHI = read_rtab(1:i22len)
321 ENDDO
322 DO j=1,9
323 CALL read_db ( read_rtab , i22len)
324 brick_list(nin,1:i22len)%POLY(j)%dPHI = read_rtab(1:i22len)
325 ENDDO
326 DO j=1,9
327 DO i=1,4
328 CALL read_db ( read_rtab , i22len)
329 brick_list(nin,1:i22len)%POLY(j)%VFRACm(i) = read_rtab(1:i22len)
330 ENDDO
331 ENDDO
332 DO j=1,9
333 CALL read_db ( read_rtab , i22len)
334 brick_list(nin,1:i22len)%POLY(j)%Vnew = read_rtab(1:i22len)
335 ENDDO
336 DO j=1,9
337 CALL read_db ( read_rtab , i22len)
338 brick_list(nin,1:i22len)%POLY(j)%Vold = read_rtab(1:i22len)
339 ENDDO
340 DO j=1,9
341 CALL read_db ( read_rtab , i22len)
342 brick_list(nin,1:i22len)%POLY(j)%OLD_Vnew = read_rtab(1:i22len)
343 ENDDO
344 DO i=1,3
345 DO j=1,9
346 CALL read_db ( read_rtab , i22len)
347 brick_list(nin,1:i22len)%POLY(j)%CellCenter(i) = read_rtab(1:i22len)
348 ENDDO
349 ENDDO
350 DO i=0,2
351 DO j=1,9
352 CALL read_db ( read_rtab , i22len)
353 brick_list(nin,1:i22len)%POLY(j)%DVOL(i) = read_rtab(1:i22len)
354 ENDDO
355 ENDDO
356 DO j=1,9
357 CALL read_db ( read_rtab , i22len)
358 brick_list(nin,1:i22len)%POLY(j)%cutFace = read_rtab(1:i22len)
359 ENDDO
360 DO j=1,9
361 CALL read_db ( read_rtab , i22len)
362 brick_list(nin,1:i22len)%POLY(j)%DM = read_rtab(1:i22len)
363 ENDDO
364 !=====%POLY(1:9)%FACE0
365 DO j=1,9
366 CALL read_i_c ( read_itab , i22len)
367 brick_list(nin,1:i22len)%POLY(j)%FACE0%NumPOINT = read_itab(1:i22len)
368 ENDDO
369 DO j=1,9
370 CALL read_i_c ( read_itab , i22len)
371 brick_list(nin,1:i22len)%POLY(j)%FACE0%NAdjCell = read_itab(1:i22len)
372 ENDDO
373 DO i=1,3
374 DO j=1,9
375 CALL read_db ( read_rtab , i22len)
376 brick_list(nin,1:i22len)%POLY(j)%FACE0%Center(i) = read_rtab(1:i22len)
377 ENDDO
378 ENDDO
379 DO j=1,9
380 CALL read_db ( read_rtab , i22len)
381 brick_list(nin,1:i22len)%POLY(j)%FACE0%Surf = read_rtab(1:i22len)
382 ENDDO
383 DO i=1,3
384 DO j=1,9
385 CALL read_db ( read_rtab , i22len)
386 brick_list(nin,1:i22len)%POLY(j)%FACE0%F_FACE(i) = read_rtab(1:i22len)
387 ENDDO
388 ENDDO
389 DO i=1,9
390 DO j=1,9
391 CALL read_db ( read_rtab , i22len)
392 brick_list(nin,1:i22len)%POLY(j)%FACE0%U_N(i) = read_rtab(1:i22len)
393 ENDDO
394 ENDDO
395 !=====%POLY(1:9)%FACE(1:6)
396 DO k=1,6
397 DO j=1,9
398 CALL read_i_c ( read_itab , i22len)
399 brick_list(nin,1:i22len)%POLY(j)%FACE(k)%NumPOINT = read_itab(1:i22len)
400 ENDDO
401 DO j=1,9
402 CALL read_i_c ( read_itab , i22len)
403 brick_list(nin,1:i22len)%POLY(j)%FACE(k)%NAdjCell = read_itab(1:i22len)
404 ENDDO
405 DO i=1,5
406 DO j=1,9
407 CALL read_i_c ( read_itab , i22len)
408 brick_list(nin,1:i22len)%POLY(j)%FACE(k)%Adjacent_Cell(i) = read_itab(1:i22len)
409 ENDDO
410 ENDDO
411 DO i=1,5
412 DO j=1,9
413 CALL read_db ( read_rtab , i22len)
414 brick_list(nin,1:i22len)%POLY(j)%FACE(k)%Adjacent_FLUX(i) = read_rtab(1:i22len)
415 ENDDO
416 ENDDO
417 DO i=1,5
418 DO j=1,9
419 CALL read_db ( read_rtab , i22len)
420 brick_list(nin,1:i22len)%POLY(j)%FACE(k)%Adjacent_upwFLUX(i) = read_rtab(1:i22len)
421 ENDDO
422 ENDDO
423 DO i=1,3
424 DO j=1,9
425 CALL read_db ( read_rtab , i22len)
426 brick_list(nin,1:i22len)%POLY(j)%FACE(k)%Center(i) = read_rtab(1:i22len)
427 ENDDO
428 ENDDO
429 DO j=1,9
430 CALL read_db ( read_rtab , i22len)
431 brick_list(nin,1:i22len)%POLY(j)%FACE(k)%Surf = read_rtab(1:i22len)
432 ENDDO
433 DO i=1,3
434 DO j=1,9
435 CALL read_db ( read_rtab , i22len)
436 brick_list(nin,1:i22len)%POLY(j)%FACE(k)%Vel(i) = read_rtab(1:i22len)
437 ENDDO
438 ENDDO
439 DO i=1,3
440 DO j=1,9
441 CALL read_db ( read_rtab , i22len)
442 brick_list(nin,1:i22len)%POLY(j)%FACE(k)%F_FACE(i) = read_rtab(1:i22len)
443 ENDDO
444 ENDDO
445 DO j=1,9
446 CALL read_db ( read_rtab , i22len)
447 brick_list(nin,1:i22len)%POLY(j)%FACE(k)%U_N = read_rtab(1:i22len)
448 ENDDO
449 enddo!next K
450 !=====%NODE
451 DO j=1,8
452 CALL read_i_c ( read_itab , i22len)
453 brick_list(nin,1:i22len)%NODE(j)%OLD_WhichCell = read_itab(1:i22len)
454 ENDDO
455 DO j=1,8
456 CALL read_i_c ( read_itab , i22len)
457 brick_list(nin,1:i22len)%NODE(j)%WhichCell = read_itab(1:i22len)
458 ENDDO
459 DO j=1,8
460 CALL read_i_c ( read_itab , i22len)
461 brick_list(nin,1:i22len)%NODE(j)%NodWasMain = read_itab(1:i22len)
462 ENDDO
463 DO i=1,8
464 CALL read_i_c ( read_itab , i22len)
465 brick_list(nin,1:i22len)%NODE(i)%WhereWasMain = read_itab(1:i22len)
466 ENDDO
467 !=====%ADJ_ELEMS
468 CALL read_i_c ( read_itab , i22len)
469 brick_list(nin,1:i22len)%ADJ_ELEMS%Num = read_itab(1:i22len)
470 DO j=1,48
471 CALL read_i_c ( read_itab , i22len)
472 brick_list(nin,1:i22len)%ADJ_ELEMS%Num_inv(j) = read_itab(1:i22len)
473 CALL read_i_c ( read_itab , i22len)
474 brick_list(nin,1:i22len)%ADJ_ELEMS%IV(j) = read_itab(1:i22len)
475 CALL read_i_c ( read_itab , i22len)
476 brick_list(nin,1:i22len)%ADJ_ELEMS%IB(j) = read_itab(1:i22len)
477 CALL read_i_c ( read_itab , i22len)
478 brick_list(nin,1:i22len)%ADJ_ELEMS%ICELL(j) = read_itab(1:i22len)
479 CALL read_i_c ( read_itab , i22len)
480 brick_list(nin,1:i22len)%ADJ_ELEMS%SecndFACE(j) = read_itab(1:i22len)
481 ENDDO !next J
482 !=====%PCUT
483 DO i=1,16
484 CALL read_i_c ( read_itab , i22len)
485 brick_list(nin,1:i22len)%PCUT(i)%NP = read_itab(1:i22len)
486 CALL read_db ( read_rtab , i22len)
487 brick_list(nin,1:i22len)%PCUT(i)%N(1) = read_rtab(1:i22len)
488 CALL read_db ( read_rtab , i22len)
489 brick_list(nin,1:i22len)%PCUT(i)%N(2) = read_rtab(1:i22len)
490 CALL read_db ( read_rtab , i22len)
491 brick_list(nin,1:i22len)%PCUT(i)%N(3) = read_rtab(1:i22len)
492 CALL read_db ( read_rtab , i22len)
493 brick_list(nin,1:i22len)%PCUT(i)%B(1) = read_rtab(1:i22len)
494 CALL read_db ( read_rtab , i22len)
495 brick_list(nin,1:i22len)%PCUT(i)%B(2) = read_rtab(1:i22len)
496 CALL read_db ( read_rtab , i22len)
497 brick_list(nin,1:i22len)%PCUT(i)%B(3) = read_rtab(1:i22len)
498 CALL read_db ( read_rtab , i22len)
499 brick_list(nin,1:i22len)%PCUT(i)%SCUT(1) = read_rtab(1:i22len)
500 CALL read_db ( read_rtab , i22len)
501 brick_list(nin,1:i22len)%PCUT(i)%SEFF(1) = read_rtab(1:i22len)
502 DO j=1,8
503 CALL read_db ( read_rtab , i22len)
504 brick_list(nin,1:i22len)%PCUT(i)%P(1,j) = read_rtab(1:i22len)
505 CALL read_db ( read_rtab , i22len)
506 brick_list(nin,1:i22len)%PCUT(i)%P(2,j) = read_rtab(1:i22len)
507 CALL read_db ( read_rtab , i22len)
508 brick_list(nin,1:i22len)%PCUT(i)%P(3,j) = read_rtab(1:i22len)
509 ENDDO !next J
510 CALL read_db ( read_rtab , i22len)
511 brick_list(nin,1:i22len)%PCUT(i)%Vel(1) = read_rtab(1:i22len)
512 CALL read_db ( read_rtab , i22len)
513 brick_list(nin,1:i22len)%PCUT(i)%Vel(2) = read_rtab(1:i22len)
514 CALL read_db ( read_rtab , i22len)
515 brick_list(nin,1:i22len)%PCUT(i)%Vel(3) = read_rtab(1:i22len)
516 ENDDO !next J
517 !=====%SecndList
518 CALL read_db ( read_rtab , i22len)
519 brick_list(nin,1:i22len)%SecndList%VOL_Unmerged = read_rtab(1:i22len)
520 CALL read_i_c ( read_itab , i22len)
521 brick_list(nin,1:i22len)%SecndList%Num = read_itab(1:i22len)
522 CALL read_i_c ( read_itab , i22len)
523 brick_list(nin,1:i22len)%SecndList%NumSecndNodes = read_itab(1:i22len)
524 DO j=1,24
525 CALL read_i_c ( read_itab , i22len)
526 brick_list(nin,1:i22len)%SecndList%FM(j) = read_itab(1:i22len)
527 CALL read_i_c ( read_itab , i22len)
528 brick_list(nin,1:i22len)%SecndList%FV(j) = read_itab(1:i22len)
529 CALL read_i_c ( read_itab , i22len)
530 brick_list(nin,1:i22len)%SecndList%IV(j) = read_itab(1:i22len)
531 CALL read_i_c ( read_itab , i22len)
532 brick_list(nin,1:i22len)%SecndList%IBV(j) = read_itab(1:i22len)
533 CALL read_i_c ( read_itab , i22len)
534 brick_list(nin,1:i22len)%SecndList%ICELLv(j) = read_itab(1:i22len)
535 CALL read_db ( read_rtab , i22len)
536 brick_list(nin,1:i22len)%SecndList%VOL(j) = read_rtab(1:i22len)
537 CALL read_db ( read_rtab , i22len)
538 brick_list(nin,1:i22len)%SecndList%SURF_v(j) = read_rtab(1:i22len)
539 CALL read_i_c ( read_itab , i22len)
540 brick_list(nin,1:i22len)%SecndList%NumNOD_Cell(j) = read_itab(1:i22len)
541 DO k=1,8
542 CALL read_i_c ( read_itab , i22len)
543 brick_list(nin,1:i22len)%SecndList%ListNodID(j,k) = read_itab(1:i22len)
544 ENDDO
545 ENDDO !next J
546 !=====%Edge
547 DO j=1,12
548 CALL read_i_c ( read_itab , i22len)
549 brick_list(nin,1:i22len)%Edge(j)%NODE(1) = read_itab(1:i22len)
550 CALL read_i_c ( read_itab , i22len)
551 brick_list(nin,1:i22len)%Edge(j)%NODE(2) = read_itab(1:i22len)
552 CALL read_i_c ( read_itab , i22len)
553 brick_list(nin,1:i22len)%Edge(j)%NBCUT = read_itab(1:i22len)
554 CALL read_i_c ( read_itab , i22len)
555 brick_list(nin,1:i22len)%Edge(j)%CUTSHELL(1) = read_itab(1:i22len)
556 CALL read_i_c ( read_itab , i22len)
557 brick_list(nin,1:i22len)%Edge(j)%CUTSHELL(2) = read_itab(1:i22len)
558 CALL read_db ( read_rtab , i22len)
559 brick_list(nin,1:i22len)%Edge(j)%CUTCOOR(1) = read_rtab(1:i22len)
560 CALL read_db ( read_rtab , i22len)
561 brick_list(nin,1:i22len)%Edge(j)%CUTCOOR(2) = read_rtab(1:i22len)
562 CALL read_db ( read_rtab , i22len)
563 brick_list(nin,1:i22len)%Edge(j)%CUTPOINT(1,1) = read_rtab(1:i22len)
564 CALL read_db ( read_rtab , i22len)
565 brick_list(nin,1:i22len)%Edge(j)%CUTPOINT(2,1) = read_rtab(1:i22len)
566 CALL read_db ( read_rtab , i22len)
567 brick_list(nin,1:i22len)%Edge(j)%CUTPOINT(3,1) = read_rtab(1:i22len)
568 CALL read_db ( read_rtab , i22len)
569 brick_list(nin,1:i22len)%Edge(j)%CUTPOINT(1,2) = read_rtab(1:i22len)
570 CALL read_db ( read_rtab , i22len)
571 brick_list(nin,1:i22len)%Edge(j)%CUTPOINT(2,2) = read_rtab(1:i22len)
572 CALL read_db ( read_rtab , i22len)
573 brick_list(nin,1:i22len)%Edge(j)%CUTPOINT(3,2) = read_rtab(1:i22len)
574 CALL read_db ( read_rtab , i22len)
575 brick_list(nin,1:i22len)%Edge(j)%CUTVEL(1,1) = read_rtab(1:i22len)
576 CALL read_db ( read_rtab , i22len)
577 brick_list(nin,1:i22len)%Edge(j)%CUTVEL(2,1) = read_rtab(1:i22len)
578 CALL read_db ( read_rtab , i22len)
579 brick_list(nin,1:i22len)%Edge(j)%CUTVEL(3,1) = read_rtab(1:i22len)
580 CALL read_db ( read_rtab , i22len)
581 brick_list(nin,1:i22len)%Edge(j)%CUTVEL(1,2) = read_rtab(1:i22len)
582 CALL read_db ( read_rtab , i22len)
583 brick_list(nin,1:i22len)%Edge(j)%CUTVEL(2,2) = read_rtab(1:i22len)
584 CALL read_db ( read_rtab , i22len)
585 brick_list(nin,1:i22len)%Edge(j)%CUTVEL(3,2) = read_rtab(1:i22len)
586 CALL read_db ( read_rtab , i22len)
587 brick_list(nin,1:i22len)%Edge(j)%VECTOR(1) = read_rtab(1:i22len)
588 CALL read_db ( read_rtab , i22len)
589 brick_list(nin,1:i22len)%Edge(j)%VECTOR(2) = read_rtab(1:i22len)
590 CALL read_db ( read_rtab , i22len)
591 brick_list(nin,1:i22len)%Edge(j)%VECTOR(3) = read_rtab(1:i22len)
592 CALL read_db ( read_rtab , i22len)
593 brick_list(nin,1:i22len)%Edge(j)%LEN = read_rtab(1:i22len)
594 ENDDO
595 !=====%SECTYPE
596 DO j=1,8
597 DO i=1,i22len
598 DO k=1,14
599 CALL read_i_c( iasc, 1)
600 string(k:k) = char(iasc)
601 ENDDO
602 brick_list(nin,i)%SECTYPE(j) = string
603 ENDDO
604 ENDDO
605 !=====%bakMAT
606 CALL read_db ( read_rtab , i22len)
607 brick_list(nin,1:i22len)%bakMAT%rho = read_rtab(1:i22len)
608 CALL read_db ( read_rtab , i22len)
609 brick_list(nin,1:i22len)%bakMAT%rhoE = read_rtab(1:i22len)
610 DO i=1,3
611 CALL read_db ( read_rtab , i22len)
612 brick_list(nin,1:i22len)%bakMAT%rhoU(i) = read_rtab(1:i22len)
613 ENDDO
614 DO i=1,6
615 CALL read_db ( read_rtab , i22len)
616 brick_list(nin,1:i22len)%bakMAT%sig(i) = read_rtab(1:i22len)
617 ENDDO
618 CALL read_db ( read_rtab , i22len)
619 brick_list(nin,1:i22len)%bakMAT%ssp = read_rtab(1:i22len)
620 isiz = max(i22law37, i22law51)
621 IF(isiz/=0)THEN
622 DO k=1,i22len
623 DO i=1,isiz
624 CALL read_db ( brick_list(nin,k)%bakMAT%UVAR(i) , 1)
625 ENDDO
626 ENDDO
627 ENDIF
628
629 !=====%OLD_SecndList(NIN,1:I22LEN)
630 CALL read_db ( read_rtab , i22len)
631 old_secndlist(nin,1:i22len)%VOL_Unmerged = read_rtab(1:i22len)
632 CALL read_i_c ( read_itab , i22len)
633 old_secndlist(nin,1:i22len)%Num = read_itab(1:i22len)
634 CALL read_i_c ( read_itab , i22len)
635 old_secndlist(nin,1:i22len)%NumSecndNodes = read_itab(1:i22len)
636 DO j=1,24
637 CALL read_i_c ( read_itab , i22len)
638 old_secndlist(nin,1:i22len)%FM(j) = read_itab(1:i22len)
639 CALL read_i_c ( read_itab , i22len)
640 old_secndlist(nin,1:i22len)%FV(j) = read_itab(1:i22len)
641 CALL read_i_c ( read_itab , i22len)
642 old_secndlist(nin,1:i22len)%IV(j) = read_itab(1:i22len)
643 CALL read_i_c ( read_itab , i22len)
644 old_secndlist(nin,1:i22len)%IBV(j) = read_itab(1:i22len)
645 CALL read_i_c ( read_itab , i22len)
646 old_secndlist(nin,1:i22len)%ICELLv(j) = read_itab(1:i22len)
647 CALL read_db ( read_rtab , i22len)
648 old_secndlist(nin,1:i22len)%VOL(j) = read_rtab(1:i22len)
649 CALL read_db ( read_rtab , i22len)
650 old_secndlist(nin,1:i22len)%SURF_v(j) = read_rtab(1:i22len)
651 CALL read_i_c ( read_itab , i22len)
652 old_secndlist(nin,1:i22len)%NumNOD_Cell(j) = read_itab(1:i22len)
653 DO k=1,8
654 CALL read_i_c ( read_itab , i22len)
655 old_secndlist(nin,1:i22len)%ListNodID(j,k) = read_itab(1:i22len)
656 ENDDO
657 ENDDO !next J
658
659
660 ENDDO !next NIN
661
662
663C-----------------------------------------------
664 1000 CONTINUE
665 IF(int22>0)THEN
666 IF (ierr1/=0) THEN
667 WRITE(iout,*)' ** ERROR IN MEMORY ALLOCATION (INTER22)'
668 WRITE(istdo,*)' ** ERROR IN MEMORY ALLOCATION (INTER22)'
669 CALL arret(2)
670 END IF
671 endif!(INT22>0)
672C-----------------------------------------------
673
#define my_real
Definition cppsort.cpp:32
subroutine i22datainit()
Definition i22datainit.F:33
#define max(a, b)
Definition macros.h:21
type(ale_) ale
Definition ale_mod.F:249
type(edge_entity), dimension(:,:), allocatable, target edge_list
type(brick_entity), dimension(:,:), allocatable, target brick_list
subroutine read_db(a, n)
Definition read_db.F:88
subroutine arret(nn)
Definition arret.F:87
void read_i_c(int *w, int *len)