52 USE multimat_param_mod ,
ONLY : m51_n0phas, m51_nvphas
56#include "implicit_f.inc"
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
73 CHARACTER*14 :: string
84 m51_n0phasl = m51_n0phas
85 m51_nvphasl = m51_nvphas
98 IF(.NOT.
ALLOCATED(nbold))
ALLOCATE(nbold(int22) ,stat=ierr1)
100 IF(.NOT.
ALLOCATED(list_b_old))
ALLOCATE(list_b_old(int22,i22len) ,stat=ierr1)
104 isiz =
max(i22law37, i22law51)
108 ALLOCATE(
brick_list(nin,ib)%bakMAT%UVAR(1:isiz))
114 IF(.NOT.
ALLOCATED(iiad22))
ALLOCATE(iiad22(int22,numels+numelq) ,stat=ierr1)
116 IF(.NOT.
ALLOCATED(uvarl))
ALLOCATE(uvarl(0:nthread-1,i22len,m51_n0phasl+trimatl*m51_nvphasl+i22law37) ,stat=ierr1)
118 IF(.NOT.
ALLOCATED(supercellvol_l))
ALLOCATE(supercellvol_l(0:nthread-1,0:trimatl+i22law37,i22len) ,stat=ierr1)
120 IF(.NOT.
ALLOCATED(eint_l))
ALLOCATE(eint_l(0:nthread-1,i22len) ,stat=ierr1)
122 IF(.NOT.
ALLOCATED(rho_l))
ALLOCATE(rho_l(0:nthread-1,i22len) ,stat=ierr1)
124 IF(.NOT.
ALLOCATED(mom_l))
ALLOCATE(mom_l(1:3,0:nthread-1,i22len) ,stat=ierr1)
126 IF(.NOT.
ALLOCATED(sig_l))
ALLOCATE(sig_l(0:nthread-1,1:6,i22len) ,stat=ierr1)
128 IF(.NOT.
ALLOCATED(vold_l))
ALLOCATE(vold_l(0:nthread-1,0:trimatl+i22law37,i22len) ,stat=ierr1)
130 IF(.NOT.
ALLOCATED(imergel))
ALLOCATE(imergel(0:nthread-1) ,stat=ierr1)
132 IF(.NOT.
ALLOCATED(old_secndlist))
ALLOCATE(old_secndlist(int22,i22len) ,stat=ierr1)
134 IF(.NOT.
ALLOCATED(unlinked_cells_l))
ALLOCATE(unlinked_cells_l(0:nthread-1,2,i22len) ,stat=ierr1)
136 IF(.NOT.
ALLOCATED(n_unlinked_l))
ALLOCATE(n_unlinked_l(0:nthread-1) ,stat=ierr1)
138 IF(.NOT.
ALLOCATED(v22max_l))
ALLOCATE(v22max_l(0:nthread-1) ,stat=ierr1)
140 IF(.NOT.
ALLOCATED(dx22min_l))
ALLOCATE(dx22min_l(0:nthread-1) ,stat=ierr1)
143 IF(.NOT.
ALLOCATED(ngb))
ALLOCATE(ngb(1:i22len) ,stat=ierr1)
145 IF(.NOT.
ALLOCATED(idb))
ALLOCATE(idb(1:i22len) ,stat=ierr1)
147 IF(.NOT.
ALLOCATED(nelb))
ALLOCATE(nelb(1:i22len) ,stat=ierr1)
149 IF(.NOT.
ALLOCATED(idlocb))
ALLOCATE(idlocb(1:i22len) ,stat=ierr1)
152 IF(.NOT.
ALLOCATED(int22_fcell_anim))
ALLOCATE(int22_fcell_anim(numels) ,stat=ierr1)
172 list_b_old(nin,1:i22len) = read_itab(1:i22len)
177 brick_list(nin,1:i22len)%NG = read_itab(1:i22len)
179 brick_list(nin,1:i22len)%IDLOC = read_itab(1:i22len)
181 brick_list(nin,1:i22len)%OLD_ICODE = read_itab(1:i22len)
183 brick_list(nin,1:i22len)%OLD_ICODE = read_itab(1:i22len)
185 brick_list(nin,1:i22len)%IDBLE = read_itab(1:i22len)
187 brick_list(nin,1:i22len)%NBITS = read_itab(1:i22len)
189 brick_list(nin,1:i22len)%NPQTS = read_itab(1:i22len)
191 brick_list(nin,1:i22len)%NBCUT = read_itab(1:i22len)
193 brick_list(nin,1:i22len)%MainID = read_itab(1:i22len)
195 brick_list(nin,1:i22len)%WasCut = read_itab(1:i22len)
197 brick_list(nin,1:i22len)%NewInBuffer = read_itab(1:i22len)
199 brick_list(nin,1:i22len)%OldMainStrongNode = read_itab(1:i22len)
201 brick_list(nin,1:i22len)%MLW = read_itab(1:i22len)
203 brick_list(nin,1:i22len)%ITASK = read_itab(1:i22len)
208 brick_list(nin,1:i22len)%SecID_Cell(j) = read_itab(1:i22len)
211 brick_list(nin,1:i22len)%Seg_add_LFT = read_itab(1:i22len)
213 brick_list(nin,1:i22len)%Seg_add_LLT = read_itab(1:i22len)
217 brick_list(nin,1:i22len)%Adjacent_Brick(j,i) = read_itab(1:i22len)
223 brick_list(nin,1:i22len)%MergeTarget(i,j) = read_itab(1:i22len)
227 brick_list(nin,1:i22len)%NTarget = read_itab(1:i22len)
230 brick_list(nin,1:i22len)%ClosedSurf(i) = read_itab(1:i22len)
233 brick_list(nin,1:i22len)%IsMErgeTarget = read_itab(1:i22len)
237 CALL read_db ( read_rtab , i22len)
238 brick_list(nin,1:i22len)%N(i,j) = read_rtab(1:i22len)
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)
248 brick_list(nin,1:i22len)%SCellCenter(i) = read_rtab(1:i22len)
251 CALL read_db ( read_rtab , i22len
252 brick_list(nin,1:i22len)%Face_Brick(j) = read_rtab(1:i22len)
254 CALL read_db ( read_rtab , i22len)
255 brick_list(nin,1:i22len)%UncutVol = read_rtab(1:i22len)
257 CALL read_db ( read_rtab , i22len)
258 brick_list(nin,1:i22len)%FCELL(j) = read_rtab(1:i22len)
261 CALL read_db ( read_rtab , i22len)
262 brick_list(nin,1:i22len)%FEXT_CELL(j) = read_rtab(1:i22len)
265 CALL read_db ( read_rtab , i22len)
266 brick_list(nin,1:i22len)%SIG(j) = read_rtab(1:i22len)
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)
276 CALL read_db ( read_rtab , i22len)
277 brick_list(nin,1:i22len)%Poly9woNodes(i,j) = read_rtab(1:i22len)
283 brick_list(nin,1:i22len)%POLY(j)%NumNOD = read_itab(1:i22len)
287 brick_list(nin,1:i22len)%POLY(j)%NumPOINT = read_itab(1:i22len)
292 brick_list(nin,1:i22len)%POLY(j)%ListNodID(i) = read_itab(1:i22len)
297 brick_list(nin,1:i22len)%POLY(j)%IsMain = read_itab(1:i22len)
302 brick_list(nin,1:i22len)%POLY(j)%WhereIsMain(i) = read_itab(1:i22len)
307 brick_list(nin,1:i22len)%POLY(j)%ID_FREE_NODE = read_itab(1:i22len)
312 brick_list(nin,1:i22len)%POLY(j)%Adjacent_FLU1 = read_rtab(1:i22len)
315 CALL read_db ( read_rtab , i22len)
316 brick_list(nin,1:i22len)%POLY(j)%DDVOL = read_rtab
320 brick_list(nin,1:i22len)%POLY(j)%PHI = read_rtab(1:i22len)
323 CALL read_db ( read_rtab , i22len)
324 brick_list(nin,1:i22len)%POLY(j)%dPHI = read_rtab(1:i22len)
328 CALL read_db ( read_rtab , i22len)
333 CALL read_db ( read_rtab , i22len)
334 brick_list(nin,1:i22len)%POLY(j)%Vnew = read_rtab(1:i22len
337 CALL read_db ( read_rtab , i22len)
338 brick_list(nin,1:i22len)%POLY(j)%Vold = read_rtab(1:i22len)
341 CALL read_db ( read_rtab , i22len)
342 brick_list(nin,1:i22len)%POLY(j)%OLD_Vnew = read_rtab(1:i22len)
346 CALL read_db ( read_rtab , i22len)
347 brick_list(nin,1:i22len)%POLY(j)%CellCenter(i) = read_rtab(1:i22len
353 brick_list(nin,1:i22len)%POLY(j)%DVOL(i) = read_rtab(1:i22len)
357 CALL read_db ( read_rtab , i22len
358 brick_list(nin,1:i22len)%POLY(j)%cutFace = read_rtab(1:i22len)
361 CALL read_db ( read_rtab , i22len
362 brick_list(nin,1:i22len)%POLY(j)%DM = read_rtab(1:i22len)
367 brick_list(nin,1:i22len)%POLY(j)%FACE0%NumPOINT = read_itab(1:i22len
371 brick_list(nin,1:i22len)%POLY(j)%FACE0%NAdjCell = read_itab(1:i22len)
375 CALL read_db ( read_rtab , i22len)
376 brick_list(nin,1:i22len)%POLY(j)%FACE0%Center(i) = read_rtab(1:i22len)
380 CALL read_db ( read_rtab , i22len)
381 brick_list(nin,1:i22len)%POLY(j)%FACE0%Surf = read_rtab(1:i22len)
385 CALL read_db ( read_rtab , i22len)
386 brick_list(nin,1:i22len)%POLY(j)%FACE0%F_FACE(i
403 brick_list(nin,1:i22len)%POLY(j)%FACE(k)%NAdjCell = read_itab(1:i22len)
408 brick_list(nin,1:i22len)%POLY(j)%FACE(k)%Adjacent_Cell(i) = read_itab(1:i22len)
413 CALL read_db ( read_rtab , i22len)
419 CALL read_db ( read_rtab , i22len)
420 brick_list(nin,1:i22len)%POLY(j)%FACE(k)%Adjacent_upwFLUX(i) = read_rtab(1:i22len)
425 CALL read_db ( read_rtab , i22len)
426 brick_list(nin,1:i22len)%POLY(j)%FACE(k)%Center(i) = read_rtab(1:i22len)
430 CALL read_db ( read_rtab , i22len)
431 brick_list(nin,1:i22len)%POLY(j)%FACE(k)%Surf = read_rtab(1:i22len)
435 CALL read_db ( read_rtab , i22len)
436 brick_list(nin,1:i22len)%POLY(j)%FACE(k)%Vel(i) = read_rtab(1:i22len)
441 CALL read_db ( read_rtab , i22len)
442 brick_list(nin,1:i22len)%POLY(j)%FACE(k)%F_FACE(i) = read_rtab(1:i22len)
446 CALL read_db ( read_rtab , i22len)
447 brick_list(nin,1:i22len)%POLY(j)%FACE(k)%U_N = read_rtab(1:i22len)
453 brick_list(nin,1:i22len)%NODE(j)%OLD_WhichCell = read_itab(1:i22len)
457 brick_list(nin,1:i22len)%NODE(j)%WhichCell = read_itab(1:i22len)
461 brick_list(nin,1:i22len)%NODE(j)%NodWasMain = read_itab(1:i22len)
465 brick_list(nin,1:i22len)%NODE(i)%WhereWasMain = read_itab(1:i22len)
469 brick_list(nin,1:i22len)%ADJ_ELEMS%Num = read_itab(1:i22len)
472 brick_list(nin,1:i22len)%ADJ_ELEMS%Num_inv(j) = read_itab(1:i22len)
474 brick_list(nin,1:i22len)%ADJ_ELEMS%IV(j) = read_itab(1:i22len)
476 brick_list(nin,1:i22len)%ADJ_ELEMS%IB(j) = read_itab(1:i22len)
478 brick_list(nin,1:i22len)%ADJ_ELEMS%ICELL(j) = read_itab(1:i22len)
480 brick_list(nin,1:i22len)%ADJ_ELEMS%SecndFACE(j) = read_itab(1: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)
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)
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)
518 CALL read_db ( read_rtab , i22len)
519 brick_list(nin,1:i22len)%SecndList%VOL_Unmerged = read_rtab(1:i22len)
521 brick_list(nin,1:i22len)%SecndList%Num = read_itab(1:i22len)
523 brick_list(nin,1:i22len)%SecndList%NumSecndNodes = read_itab(1:i22len)
526 brick_list(nin,1:i22len)%SecndList%FM(j) = read_itab(1:i22len)
528 brick_list(nin,1:i22len)%SecndList%FV(j) = read_itab(1:i22len)
530 brick_list(nin,1:i22len)%SecndList%IV(j) = read_itab(1:i22len)
532 brick_list(nin,1:i22len)%SecndList%IBV(j) = read_itab(1: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)
540 brick_list(nin,1:i22len)%SecndList%NumNOD_Cell(j) = read_itab(1:i22len)
543 brick_list(nin,1:i22len)%SecndList%ListNodID(j,k) = read_itab(1:i22len)
549 brick_list(nin,1:i22len)%Edge(j)%NODE(1) = read_itab(1:i22len)
551 brick_list(nin,1:i22len)%Edge(j)%NODE(2) = read_itab(1:i22len)
553 brick_list(nin,1:i22len)%Edge(j)%NBCUT = read_itab(1:i22len)
555 brick_list(nin,1:i22len)%Edge(j)%CUTSHELL(1) = read_itab(1: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)
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)
600 string(k:k) = char(iasc)
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)
612 brick_list(nin,1:i22len)%bakMAT%rhoU(i) = read_rtab(1:i22len
615 CALL read_db ( read_rtab , i22len
616 brick_list(nin,1:i22len)%bakMAT%sig(i) = read_rtab(1
618 CALL read_db ( read_rtab , i22len)
619 brick_list(nin,1:i22len)%bakMAT%ssp = read_rtab(1:i22len)
620 isiz =
max(i22law37, i22law51)
630 CALL read_db ( read_rtab , i22len)
631 old_secndlist(nin,1:i22len)%VOL_Unmerged = read_rtab(1:i22len)
633 old_secndlist(nin,1:i22len)%Num = read_itab
635 old_secndlist(nin,1:i22len)%NumSecndNodes = read_itab(1:i22len)
638 old_secndlist(nin,1:i22len)%FM(j) = read_itab(1:i22len)
640 old_secndlist(nin,1:i22len)%FV(j) = read_itab(1:i22len)
642 old_secndlist(nin,1:i22len)%IV(j) = read_itab(1:i22len)
644 old_secndlist(nin,1:i22len)%IBV(j) = read_itab(1: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)
650 old_secndlist(nin,1:i22len)%SURF_v(j) = read_rtab(1:i22len)
652 old_secndlist(nin,1:i22len)%NumNOD_Cell(j) = read_itab(1:i22len)
655 old_secndlist(nin,1:i22len)%ListNodID(j,k)
667 WRITE(iout,*)
' ** ERROR IN MEMORY ALLOCATION (INTER22)'
668 WRITE(istdo,*)
' ** ERROR IN MEMORY ALLOCATION (INTER22)'