63 3 SENSORS ,IGRBRIC ,MFI ,
79 use element_mod ,
only : nixs,nixc,nixtg
83#include "implicit_f.inc"
95 INTEGER IXC(NIXC,*),IXTG(NIXTG,*),NPC(*),ITAB(*),MFI,IXS(NIXS,*),LIBAGALE,LRBAGALE
96 my_real X(3,*), V(3,*)
98 TYPE (GROUP_) ,
DIMENSION(NGRBRIC) :: IGRBRIC
99 TYPE (SURF_) ,
DIMENSION(NSURF) :: IGRSURF
102 TYPE (SENSORS_) ,
INTENT(IN) :: SENSORS
106 INTEGER :: NN, LCA, LIBJET, LRBJET, LIBHOL, LRBHOL
107 INTEGER I, J, ID, ITYPE, K, NCA, N,
108 . IMASS, ITEMP, IFLU, ISENS,
109 . IJET,NJ1,NJ2,NJ3,IPT,IPA,IPZ,
114 . ibric, ilvout, iadale,
115 . radale, nns, iadale2, nno, ntg, iadale3, iadale4, nbric,
116 . iadale5, iadale6, iadale7, iadale8, ntga, nna, iadale9,
117 . iadale10, iadale11,
120 . iadale13, ntgt, ii, ibid(1), jj
123 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TAGE, ITABINV, TAGVENT, ITABINV1, ITABINV2, INDEX
124 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TAGNODBR
125 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ITAB_SAVE
127 INTEGER :: NJET_NEW(NVOLU)
130 my_real ti,gamai, cpai, cpbi, cpci, cpdi, cpei, cpfi, gama, cpa, cpb, cpc,rmwg, cpg, cvg, fmass, ftemp
132 CHARACTER(len=nchartitle) :: TITR,TITR1
133 CHARACTER*10 MONVOLTYP(11)
134 INTEGER :: NB_TETRA, NB_VERTICES, NB_EXTRA_VERTICES
136 INTEGER :: SIZE1, SIZE2,LENGTH
137 INTEGER :: COMM_TAG(NVOLU), NCOMMU
138 INTEGER,
DIMENSION(:, :),
ALLOCATABLE :: IBAGJET_SAVE
139 my_real,
DIMENSION(:, :),
ALLOCATABLE :: rbagjet_save
148 DATA mess/
'MONITORED VOLUME DEFINITION '/
149 DATA monvoltyp/
' AREA',
' PRES',
' GAS',
150 .
' AIRBAG',
' COMMU',
' FVMBAG',
151 .
' AIRBAG1',
' FVMBAG1',
' COMMU1',
152 .
' LFLUID',
' FVMBAG2'/
161 IF(.NOT.(
ALLOCATED(
kmesh)))
ALLOCATE(
kmesh(nvolu))
164 IF(.NOT.(
ALLOCATED(node_coord)))
ALLOCATE(node_coord(3, numnod))
166 node_coord(1, i) = x(1, i)
167 node_coord(2, i) = x(2, i)
168 node_coord(3, i) = x(3, i)
174 ixs_temp(nixs * (i - 1) + ii) = ixs(ii, i)
182 max_id = maxval(itab(1:numnod))
196 itype = t_monvol(n)%TYPE
197 IF (itype == 11)
THEN
200 t_monvol(n)%IVOLU(2) = t_monvol(n)%TYPE
206 IF (itype == 8 .OR. itype == 11)
THEN
207 kmesh(n) = t_monvol(n)%IVOLU(30)
213 itype = t_monvol(n)%TYPE
215 ilvout = t_monvol(n)%IVOLU(44)
216 titr = t_monvol(n)%TITLE
217 nn =igrsurf(t_monvol(n)%EXT_SURFID)%NSEG
218 IF (itype == 6.OR.itype == 8)
THEN
222 t_monvol(n)%IVOLU(31)=iadale-1
223 t_monvol(n)%IVOLU(34)=radale-1
225 ALLOCATE(tagnodbr(numnod))
227 ibric=t_monvol(n)%IVOLU(61)
229 nbric=igrbric(ibric)%NENTITY
230 t_monvol(n)%NBRIC = nbric
231 ALLOCATE(t_monvol(n)%TBRIC(2, nbric))
232 ALLOCATE(t_monvol(n)%TFAC(12, nbric))
234 . ibid ,ixs ,1 ,nbric ,
235 . t_monvol(n)%ID,t_monvol(n)%IVOLU(44) ,titr ,tagnodbr,
236 . t_monvol(n)%TBRIC ,t_monvol(n)%TFAC,numnod ,igrbric,ibric,itype)
239 ALLOCATE(tage(nn),itabinv(numnod),tagvent(numnod))
242 CALL aleno(nn ,igrsurf(t_monvol(n)%EXT_SURFID)%NODES, nns,itabinv,
243 . tage, tagvent, tagnodbr, t_monvol(n))
249 IF (t_monvol(n)%INT_SURFID /= 0)
THEN
250 ALLOCATE(itabinv1(numnod))
251 itabinv1(1:numnod) = 0
252 np = igrsurf(t_monvol(n)%INT_SURFID)%NSEG
253 CALL fvnodi(np ,igrsurf(t_monvol(n)%INT_SURFID)%NODES, nni,itabinv1 ,
257 t_monvol(n)%IVOLU(32)=nns
259 t_monvol(n)%IVOLU(68)=nni
261 iadale2=iadale+nns+nni
274 IF (t_monvol(n)%EXT_SURFID > 0)
THEN
275 size1 = igrsurf(t_monvol(n)%EXT_SURFID)%NSEG
277 IF (t_monvol(n)%INT_SURFID > 0)
THEN
278 size2 = igrsurf(t_monvol(n)%INT_SURFID)%NSEG
281 length=2 * (size1 + size2 + t_monvol(n)%NB_FILL_TRI)
282 CALL my_alloc(t_monvol(n)%FVBAG_ELEMID,length)
283 CALL my_alloc(t_monvol(n)%ELTG, (2 * (size1 + size2)))
284 t_monvol(n)%ELTG(1:size1 + size2) = 0
286 . x,
kmesh(n), nns, nni, ntg, ntgi, size1, size2, t_monvol(n)%FVBAG_ELEMID)
292 IF (
ALLOCATED(itabinv1))
DEALLOCATE(itabinv1)
293 IF (
ALLOCATED(itabinv))
DEALLOCATE(itabinv)
294 IF (
ALLOCATED(itabinv2))
DEALLOCATE(itabinv2)
295 IF (
ALLOCATED(index))
DEALLOCATE(index)
296 IF (
ALLOCATED(tage))
DEALLOCATE(tage)
298 t_monvol(n)%IVOLU(33)=ntg
299 t_monvol(n)%IVOLU(69)=ntgi
300 iadale3=iadale2+nno*ntg
303 ALLOCATE(t_monvol(n)%POROSITY(ntgi))
304 ALLOCATE(t_monvol(n)%THSURF_TAG(nsurf, ntgi + 1))
307 IF (t_monvol(n)%INT_SURFID /= 0)
THEN
309 CALL fvbric01(t_monvol(n)%NODES, t_monvol(n)%ELEM(1, ntg + 1), ntgi, numnod, nbric, ixs,
310 . t_monvol(n)%TBRIC, t_monvol(n)%TFAC)
313 ALLOCATE(t_monvol(n)%ELAREA(ntg + ntgi))
314 iadale3=iadale3+nno*ntgi
316 IF (
kmesh(n) >= 2)
THEN
318 SELECT CASE (
kmesh(n))
322 . nb_extra_vertices, nb_tetra, nb_vertices)
326 WRITE(iout,1703) id,nb_tetra, nb_extra_vertices
327 IF (
ALLOCATED(itab_save))
DEALLOCATE(itab_save)
352 t_monvol(n)%NBRIC = nb_tetra
353 ALLOCATE(t_monvol(n)%TBRIC(2, nb_tetra))
354 ALLOCATE(t_monvol(n)%TFAC(12, nb_tetra))
362 IF (
ALLOCATED(tagnodbr))
DEALLOCATE(tagnodbr)
368 . t_monvol(n)%ID ,t_monvol(n)%IVOLU(44) ,titr ,tagnodbr,
369 . t_monvol(n)%TBRIC ,t_monvol(n)%TFAC,
nb_total_node ,dummy,ibric,itype)
370 IF (t_monvol(n)%INT_SURFID > 0)
THEN
372 . nb_tetra,
ixs_temp, t_monvol(n)%TBRIC, t_monvol(n)%TFAC)
381 njet=t_monvol(n)%IVOLU(8)
382 ALLOCATE(t_monvol(n)%ITAGEL(t_monvol(n)%NTG +t_monvol(n)%NTGI))
383 t_monvol(n)%ITAGEL(:) = 0
384 ALLOCATE(t_monvol(n)%MATTG(t_monvol(n)%NTG +t_monvol(n)%NTGI))
385 t_monvol(n)%MATTG(:) = 0
388 . t_monvol(n)%NODES , t_monvol(n)%ELEM, t_monvol(n)%IBAGJET,
390 . t_monvol(n)%ITAGEL,nns+nni, ntg,
391 . t_monvol(n)%ID ,tagvent, titr,
394 nvent=t_monvol(n)%IVOLU(11)
400 . t_monvol(n)%NODES, t_monvol(n)%ELEM, t_monvol(n)%FVBAG_ELEMID(1:ntgt), ixc, ixtg, ntgt,
401 . t_monvol(n)%ELTG, t_monvol(n)%MATTG,
nb_total_node, .true.)
403 . t_monvol(n)%NODES ,t_monvol(n)%ELEM,t_monvol(n)%IBAGHOL,
405 . t_monvol(n)%ITAGEL,nns+nni, ntg,
406 . t_monvol(n)%ID ,tagvent, titr,
410 . t_monvol(n)%NODES, t_monvol(n)%ELEM, t_monvol(n)%FVBAG_ELEMID(1:ntgt), ixc, ixtg, ntgt,
411 . t_monvol(n)%ELTG, t_monvol(n)%MATTG, numnod, .true.)
413 . t_monvol(n)%NODES ,t_monvol(n)%ELEM,t_monvol(n)%IBAGHOL,
415 . t_monvol(n)%ITAGEL,nns+nni, ntg,
416 . t_monvol(n)%ID ,tagvent, titr,
417 . t_monvol(n)%ELTG, numnod)
420 DEALLOCATE(t_monvol(n)%FVBAG_ELEMID)
424 . ixc, ixtg, ntgt, t_monvol(n)%ITAGEL, t_monvol(n)%ELTG,
425 . t_monvol(n)%IBAGHOL, ilvout, 0 )
428 . ixc, ixtg, ntgt, t_monvol(n)%ITAGEL, t_monvol(n)%ELTG,
429 . t_monvol(n)%IBAGHOL, ilvout, 0 )
434 ibric=t_monvol(n)%IVOLU(61)
435 IF (ibric/=0 .OR. (ibric==0 .AND.
kmesh(n)>=2))
THEN
437 IF (
kmesh(n) >= 2)
THEN
439 iadale5=iadale4+2*ntgt
440 iadale6=iadale5+2*nbric
441 iadale7=iadale6+12*nbric
442 iadale8=iadale7+2*ntgt
443 t_monvol(n)%IVOLU(19)=iadale5
444 t_monvol(n)%IVOLU(20)=iadale8
448 nbric=igrbric(ibric)%NENTITY
449 iadale5=iadale4+2*ntgt
450 iadale6=iadale5+2*nbric
451 iadale7=iadale6+12*nbric
452 iadale8=iadale7+2*ntgt
453 t_monvol(n)%IVOLU(19)=iadale5
454 t_monvol(n)%IVOLU(20)=iadale8
458 ALLOCATE(t_monvol(n)%TAGELS(t_monvol(n)%NTG + 2 * t_monvol(n)%NTGI))
459 t_monvol(n)%TAGELS(:) = 0
462 . t_monvol(n)%NODES, t_monvol(n)%ELEM,
ixs_temp,
463 . t_monvol(n)%TBRIC,ntg, ntga, nbric,
465 . nna, t_monvol(n)%IVOLU
466 . t_monvol(n)%ELTG,node_coord, titr,
470 . t_monvol(n)%NODES, t_monvol(n
471 . t_monvol(n)%TBRIC,ntg,
472 . t_monvol(n)%TFAC,t_monvol(n)%TAGELS, t_monvol(n)%ID, ntgi,
473 . nna, t_monvol(n)%IVOLU(44),
474 . t_monvol(n)%ELTG,x, titr, numnod)
478 iadale10=iadale9+3*ntga
479 iadale11=iadale10+ntga
482 . t_monvol(n)%ELEM,
ixs_temp, ntg+ntgi, nbric,
483 . t_monvol(n)%TBRIC, t_monvol(n)%TFAC, t_monvol(n)%TAGELS, ntga,
484 . t_monvol(n)%IBUFA, nna, t_monvol(n)%ELEMA,
485 . t_monvol(n)%TAGELA, t_monvol(n)%BRNA,
489 . t_monvol(n)%ELEM, ixs, ntg+ntgi, nbric,
490 . t_monvol(n)%TBRIC, t_monvol(n)%TFAC, t_monvol(n)%TAGELS, ntga,
491 . t_monvol(n)%IBUFA, nna,
492 . t_monvol(n)%TAGELA, t_monvol(n)%BRNA, numnod)
495 iadale12=iadale11+8*nbric
498 . t_monvol(n)%NODES, t_monvol(n)%IBUFA, nns+nni, nbric, nna,
499 . t_monvol(n)%TBRIC, t_monvol(n)%BRNA, t_monvol(n)%NCONA,
itab_tmp,
504 . t_monvol(n)%NODES, t_monvol(n)%IBUFA, nns+nni, nbric, nna,
505 . t_monvol(n)%TBRIC, t_monvol(n)%BRNA, t_monvol(n)%NCONA, itab,
506 . ilvout, numnod, t_monvol(n)%IVOLU(38),t_monvol(n)%RVOLU(67),
kmesh(n), v )
512 iadale5=iadale4+2*ntga
515 iadale8=iadale7+2*ntga
518 iadale11=iadale10+ntga
520 t_monvol(n)%IVOLU(19)=iadale5
521 t_monvol(n)%IVOLU(20)=iadale8
523 t_monvol(n)%NTGA = ntga
524 ALLOCATE(t_monvol(n)%TAGELS(ntg + 2 * ntgi))
525 DO i = 1, ntg + 2 * ntgi
526 t_monvol(n)%TAGELS(i) = 0
528 ALLOCATE(t_monvol(n)%ELEMA(3, ntga))
530 t_monvol(n)%ELEMA(1, i) = t_monvol(n)%ELEM(1, i)
531 t_monvol(n)%ELEMA(2, i) = t_monvol(n)%ELEM(2, i)
532 t_monvol(n)%ELEMA(3, i) = t_monvol(n)%ELEM(3, i)
534 ALLOCATE(t_monvol(n)%TAGELA(ntga))
536 t_monvol(n)%TAGELA(i) = i
539 t_monvol(n)%IVOLU(62) = nbric
540 t_monvol(n)%IVOLU(63) = ntga
541 t_monvol(n)%IVOLU(64) = nna
542 t_monvol(n)%NNA = nna
544 ALLOCATE(t_monvol(n)%VELOCITY(3, nna), t_monvol(n)%NODE_COORD(3, nna))
547 iadale13=iadale12+16*nna
548 t_monvol(n)%IVOLU(18)=iadale13-1
550 t_monvol(n)%IADALE = iadale
551 t_monvol(n)%IADALE2 = iadale2
552 t_monvol(n)%IADALE3 = iadale3
553 t_monvol(n)%IADALE4 = iadale4
554 t_monvol(n)%IADALE5 = iadale5
555 t_monvol(n)%IADALE6 = iadale6
556 t_monvol(n)%IADALE7 = iadale7
557 t_monvol(n)%IADALE8 = iadale8
558 t_monvol(n)%IADALE9 = iadale9
559 t_monvol(n)%IADALE10 = iadale10
560 t_monvol(n)%IADALE11 = iadale11
561 t_monvol(n)%IADALE12 = iadale12
562 t_monvol(n)%IADALE12 = iadale13
563 iadale=iadale13+nsurf*(ntgi+1)
564 radale=radale+7*(nns+nni)+4*ntg+13*nna+5*ntgi
565 mfi=mfi+ 7*(nns+nni)+4*ntg+13*nna+5*ntgi
567 t_monvol(n)%IVOLU(56)=0
581 comm_tag(1:nvolu) = 0
583 itype = t_monvol(nn)%TYPE
584 IF (itype == 5 .OR. itype == 9)
THEN
586 nca = t_monvol(nn)%NCA
588 id = t_monvol_metadata%ICBAG(1, ii + lca)
591 IF (id == t_monvol(jj)%ID)
THEN
592 t_monvol_metadata%ICBAG(1, ii + lca) = jj
597 IF (.NOT. found)
THEN
598 CALL ancmsg(msgid = 15, anmode = aninfo, msgtype = msgerror,
599 . i2 = id, i1 = t_monvol(nn)%ID, c1 = t_monvol(nn)%TITLE)
602 IF (itype == 5 .AND. t_monvol(jj)%TYPE /= 5 .OR.
603 . itype == 9 .AND. t_monvol(jj)%TYPE /= 9)
THEN
604 CALL ancmsg(msgid = 16, anmode = aninfo, msgtype = msgerror,
605 . i1 = t_monvol(nn)%ID, c1 = t_monvol(nn)%TITLE,
606 . i2 = t_monvol(nn)%TYPE, c2 = t_monvol(jj)%TITLE)
615 comm_tag(1:nvolu) = 0
618 itype = t_monvol(nn)%TYPE
619 IF (itype == 5 .OR. itype == 9)
THEN
620 nca = t_monvol(nn)%NCA
621 IF (comm_tag(nn) == 0)
THEN
624 id1 = t_monvol_metadata%ICBAG(1, ii + lca)
625 IF (comm_tag(id1) /= 0)
THEN
626 comm_tag(nn) = comm_tag(id1)
628 id2 = t_monvol_metadata%ICBAG(1, jj + lca)
629 comm_tag(id2) = comm_tag(id1)
642 t_monvol(nn)%IVOLU(16) = nventtot
643 nvent = t_monvol(nn)%NVENT
644 nventtot = nventtot + nvent
649 itype = t_monvol(nn)%TYPE
650 IF (itype >= 3.AND.(itype <= 9 .OR. itype == 11))
THEN
651 t_monvol(nn)%IVOLU(12) = libhol
652 t_monvol(nn)%IVOLU(13) = lrbhol
653 nvent = t_monvol(nn)%NVENT
654 libhol = libhol + nvent * nibhol
655 lrbhol = lrbhol + nvent * nrbhol
662 itype=t_monvol(n)%IVOLU(2)
663 IF(itype==5.OR.itype==9.AND.n/=comm_tag(n))
THEN
664 gamai=t_monvol(comm_tag(n))%RVOLU(1)
665 cpai =t_monvol(comm_tag(n))%RVOLU(7)
666 cpbi =t_monvol(comm_tag(n))%RVOLU(8)
667 cpci =t_monvol(comm_tag(n))%RVOLU(9)
668 cpdi =t_monvol(comm_tag(n))%RVOLU(56)
669 cpei =t_monvol(comm_tag(n))%RVOLU(57)
670 cpfi =t_monvol(comm_tag(n))%RVOLU(58)
671 IF(t_monvol(n)%RVOLU(1) /= gamai.OR.
672 . t_monvol(n)%RVOLU(7)/=cpai.OR.
673 . t_monvol(n)%RVOLU(8)/=cpbi.OR.
674 . t_monvol(n)%RVOLU(9)/=cpci.OR.
675 . t_monvol(n)%RVOLU(56)/=cpdi.OR.
676 . t_monvol(n)%RVOLU(57)/=cpei.OR.
677 . t_monvol(n)%RVOLU(58)/=cpfi)
THEN
679 titr = t_monvol(n)%TITLE
680 id1 = t_monvol(comm_tag(n))%ID
681 titr1 = t_monvol(comm_tag(n))%TITLE
682 CALL ancmsg(msgid=474,anmode=aninfo,msgtype=msgerror,
692 njet_new(nn) = t_monvol(nn)%NJET
695 itype = t_monvol(nn)%TYPE
696 IF (itype == 5 .OR. itype == 9)
THEN
697 IF (comm_tag(nn) /= nn)
THEN
698 njet_new(comm_tag(nn)) = njet_new(comm_tag(nn)) + njet_new(nn)
703 itype = t_monvol(nn)%TYPE
704 IF (itype == 5 .OR. itype == 9)
THEN
705 IF (comm_tag(nn) /= nn)
THEN
706 njet_new(nn) = njet_new(comm_tag(nn))
712 IF (comm_tag(nn) == nn)
THEN
714 njet = t_monvol(nn)%NJET
716 ALLOCATE(ibagjet_save(nibjet, njet))
717 ALLOCATE(rbagjet_save(nrbjet, njet))
720 ibagjet_save(jj, ii) = t_monvol(nn)%IBAGJET(jj, ii)
723 rbagjet_save(jj, ii) = t_monvol(nn)%RBAGJET(jj, ii)
727 ALLOCATE(ibagjet_save(nibjet, 0))
728 ALLOCATE(rbagjet_save(nrbjet, 0))
730 IF (
ALLOCATED(t_monvol(nn)%RBAGJET))
DEALLOCATE(t_monvol(nn)%RBAGJET)
731 IF (
ALLOCATED(t_monvol(nn)%IBAGJET))
DEALLOCATE(t_monvol(nn)%IBAGJET)
732 IF (njet_new(nn) > 0)
THEN
733 ALLOCATE(t_monvol(nn)%RBAGJET(nrbjet, njet_new(nn)),
734 . t_monvol(nn)%IBAGJET(nibjet, njet_new(nn)))
735 t_monvol(nn)%RBAGJET(1:nrbjet, 1:njet_new(nn)) = zero
736 t_monvol(nn)%IBAGJET(1:nibjet, 1:njet_new(nn)) = 0
739 t_monvol(nn)%IBAGJET(jj, ii) = ibagjet_save(jj, ii)
742 t_monvol(nn)%RBAGJET(jj, ii) = rbagjet_save(jj, ii)
746 IF (
ALLOCATED(ibagjet_save))
DEALLOCATE(ibagjet_save)
747 IF (
ALLOCATED(rbagjet_save))
DEALLOCATE(rbagjet_save)
751 IF (comm_tag(nn) /= nn)
THEN
753 njet = t_monvol(nn)%NJET
755 ALLOCATE(ibagjet_save(nibjet, njet))
756 ALLOCATE(rbagjet_save(nrbjet, njet))
759 ibagjet_save(jj, ii) = t_monvol(nn)%IBAGJET(jj, ii)
762 rbagjet_save(jj, ii) = t_monvol(nn)%RBAGJET(jj, ii)
766 ALLOCATE(ibagjet_save(nibjet, 0))
767 ALLOCATE(rbagjet_save(nrbjet, 0))
769 IF (
ALLOCATED(t_monvol(nn)%RBAGJET))
DEALLOCATE(t_monvol(nn)%RBAGJET)
770 IF (
ALLOCATED(t_monvol(nn)%IBAGJET))
DEALLOCATE(t_monvol(nn)%IBAGJET)
771 IF (njet_new(nn) > 0)
THEN
772 ALLOCATE(t_monvol(nn)%RBAGJET(nrbjet, njet_new(nn)),
773 . t_monvol(nn)%IBAGJET(nibjet, njet_new(nn)))
774 t_monvol(nn)%RBAGJET(1:nrbjet, 1:njet_new(nn)) = zero
775 t_monvol(nn)%IBAGJET(1:nibjet, 1:njet_new(nn)) = 0
778 t_monvol(nn)%IBAGJET(jj, ii) = ibagjet_save(jj, ii)
781 t_monvol(nn)%RBAGJET(jj, ii) = rbagjet_save(jj, ii)
785 IF (
ALLOCATED(ibagjet_save))
DEALLOCATE(ibagjet_save)
786 IF (
ALLOCATED(rbagjet_save))
DEALLOCATE(rbagjet_save)
795 itype=t_monvol(n)%TYPE
796 IF((itype==5.OR.itype==9).AND.n/=comm_tag(n))
THEN
797 ngroot =t_monvol(comm_tag(n))%IVOLU(8)
798 njet =t_monvol(n)%IVOLU(8)
803 t_monvol(comm_tag(n))%RBAGJET(1, ngroot + j) = t_monvol(n)%RBAGJET(1, j)
804 t_monvol(comm_tag(n))%RBAGJET(2, ngroot + j) = t_monvol(n)%RBAGJET(2, j)
805 t_monvol(comm_tag(n))%RBAGJET(3, ngroot + j) = t_monvol(n)%RBAGJET(3, j)
806 t_monvol(comm_tag(n))%RBAGJET(4, ngroot + j) = t_monvol(n)%RBAGJET(4, j)
807 t_monvol(comm_tag(n))%RBAGJET(16, ngroot + j) = t_monvol(n)%RBAGJET(16, j)
808 t_monvol(comm_tag(n))%RBAGJET(17, ngroot + j) = t_monvol(n)%RBAGJET(17, j)
809 t_monvol(comm_tag(n))%RBAGJET(18, ngroot + j) = t_monvol(n)%RBAGJET(18, j)
810 t_monvol(comm_tag(n))%IBAGJET(4, ngroot + j) = t_monvol(n)%IBAGJET(4, j)
812 t_monvol(comm_tag(n))%IBAGJET(13, ngroot + j) = t_monvol(n)%IBAGJET(13, j)
820 t_monvol(n)%IBAGJET(k, j) = 0
823 t_monvol(n)%RBAGJET(k, ngroot + 1) = t_monvol(n)%RBAGJET(k, j)
824 t_monvol(n)%RBAGJET(k, j) = zero
829 t_monvol(comm_tag(n))%IVOLU(8)=ngroot
830 t_monvol(comm_tag(n))%NJET = ngroot
837 itype=t_monvol(n)%TYPE
838 IF(itype==5.OR.itype==9.AND.n/=comm_tag(n))
THEN
839 njet = t_monvol(comm_tag(n))%NJET
841 t_monvol(n)%IBAGJET(4, i) = t_monvol(comm_tag(n))%IBAGJET(4, i)
842 IF(itype==9 .AND. t_monvol(n)%IBAGJET(13, i)==0)
THEN
843 IF(t_monvol(comm_tag(n))%IBAGJET(13, i) > 0)
THEN
844 t_monvol(n)%IBAGJET(13, i) = -t_monvol(comm_tag(n))%IBAGJET(13, i)
846 t_monvol(n)%IBAGJET(13, i) = t_monvol(comm_tag(n))%IBAGJET(13, i)
851 t_monvol(n)%RBAGJET(2, i) = t_monvol(comm_tag(n))%RBAGJET(2, i)
852 t_monvol(n)%RBAGJET(3, i) = t_monvol(comm_tag(n))%RBAGJET(3, i)
853 t_monvol(n)%RBAGJET(4, i) = t_monvol(comm_tag(n))%RBAGJET(4, i)
854 t_monvol(n)%RBAGJET(16, i) = t_monvol(comm_tag(n))%RBAGJET(16, i)
855 t_monvol(n)%RBAGJET(17, i) = t_monvol(comm_tag(n))%RBAGJET(17, i)
856 t_monvol(n)%RBAGJET(18, i) = t_monvol(comm_tag(n))%RBAGJET(18, i)
858 t_monvol(n)%IVOLU(8)=t_monvol(comm_tag(n))%IVOLU(8)
859 t_monvol(n)%NJET = t_monvol(comm_tag(n))%NJET
869 itype = t_monvol(nn)%TYPE
870 IF (itype >= 4 .AND. (itype <= 9 .OR. itype == 11))
THEN
871 t_monvol(nn)%IVOLU(9) = libjet
872 t_monvol(nn)%IVOLU(10) = lrbjet
873 libjet = libjet + t_monvol(nn)%NJET * nibjet
874 lrbjet = lrbjet + t_monvol(nn)%NJET * nrbjet
881 itype=t_monvol(n)%TYPE
882 IF(itype==5.OR.itype==9)
THEN
883 WRITE(iout,1001)t_monvol(n)%ID,trim(titr),monvoltyp(itype)
885 ti =t_monvol(n)%RVOLU(13)
886 gamai=t_monvol(n)%RVOLU(1)
887 cpai =t_monvol(n)%RVOLU(7)
888 cpbi =t_monvol(n)%RVOLU(8)
889 cpci =t_monvol(n)%RVOLU(9)
890 WRITE(iout,1410)gamai,cpai,cpbi,cpci
893 njet=t_monvol(n)%IVOLU(8)
896 imass=t_monvol(n)%IBAGJET(1, i)
897 IF(imass/=0)imass=npc(imass)
898 iflu =t_monvol(n)%IBAGJET(2, i)
899 fmass=t_monvol(n)%RBAGJET(5, i)
900 itemp=t_monvol(n)%IBAGJET(3, i)
901 IF(itemp/=0)itemp=npc(itemp)
902 ftemp=t_monvol(n)%RBAGJET(6, i)
903 isens=t_monvol(n)%IBAGJET(4, i)
904 IF (isens > 0) isens = sensors%SENSOR_TAB(isens)%SENS_ID
906 . imass,iflu,fmass,itemp,ftemp,isens
908 rmwg=t_monvol(n)%RBAGJET(1, i)
909 cpa =t_monvol(n)%RBAGJET(2, i)
910 cpb =t_monvol(n)%RBAGJET(3, i)
911 cpc =t_monvol(n)%RBAGJET(4, i)
913 cpg =cpa+cpb*ti+cpc*ti*ti
916 WRITE(iout,1440)gama,cpa,cpb,cpc
918 nj1=t_monvol(n)%IBAGJET(5, i)
919 nj2=t_monvol(n)%IBAGJET(6, i)
920 nj3=t_monvol(n)%IBAGJET(7, i)
921 ipt=t_monvol(n)%IBAGJET(8, i)
922 ipa=t_monvol(n)%IBAGJET(9, i)
923 ipz=t_monvol(n)%IBAGJET(10, i)
931 IF(ipt/=0)ipt=npc(ipt)
932 IF(ipa/=0)ipa=npc(ipa)
933 IF(ipz/=0)ipz=npc(ipz)
934 WRITE(iout,1461)itab(nj1),itab(nj2),itab(nj3),ipt,ipa,ipz
945 itype=t_monvol(n)%TYPE
946 IF(itype == 6 .OR. itype == 8)
THEN
947 nfvmbags = nfvmbags + 1
950 t_monvol(n)%IVOLU(45) = nfvmbags
954 itype=t_monvol(n)%TYPE
955 IF(itype == 6 .OR. itype == 8)
THEN
957 t_monvol(n)%IVOLU(29) = nfvmbags
965 ALLOCATE( t_monvol(n)%NUMBER_TRI_PER_PROC(nspmd) )
966 t_monvol(n)%NUMBER_TRI_PER_PROC(1:nspmd) = 0
972 1001
FORMAT(//5x,
'VOLUME NUMBER ',i10,
973 . / 5x,
'------------------------',
975 . / 5x,
'TYPE OF MONITORED VOLUME. . . . . . . .=',a10)
977 . 5x,
'CHARACTERISTICS OF INITIAL GAZ ',
978 . /5x,
'------------------------------ ',
979 . /5x,
'GAMMA AT INITIAL TEMPERATURE. . . . . .=',1pg20.13,
980 . /5x,
'COEFFICIENT CPA . . . . . . . . . . . .=',1pg20.13,
981 . /5x,
'COEFFICIENT CPB . . . . . . . . . . . .=',1pg20.13,
982 . /5x,
'COEFFICIENT CPC . . . . . . . . . . . .=',1pg20.13/)
987 . 5x,
'NUMBER OF INFLATORS . . . . . . . . . .=',i10/)
989 . 5x,
'INFLATOR NUMBER . . . . . . . . . . . .=',i10,
990 . /15x,
'TIME FUNCTION FOR INCOMING TOTAL MASS .=',i10,
991 . /15x,
' or MASS FLUX if IFLU=1 . . . . IFLU =',i10,
992 . /15x,
'SCALE FACTOR FOR INCOMING TOTAL MASS .=',1pg20.13,
993 . /15x,
'TIME FUNCTION FOR INCOMIMG GAS TEMP . .=',i10,
994 . /15x,
'SCALE FACTOR FOR INCOMIMG GAS TEMP . .=',1pg20.13,
995 . /15x,
'SENSOR NUMBER . . . . . . . . . . . . .=',i10)
997 . /15x,
'GAZ CHARACTERISTICS ',
998 . /15x,
'------------------- ',
999 . /15x,
'GAMMA AT INITIAL TEMPERATURE. . . . . .=',1pg20.13,
1000 . /15x,
'COEFFICIENT CPA . . . . . . . . . . . .=',1pg20.13,
1001 . /15x,
'COEFFICIENT CPB . . . . . . . . . . . .=',1pg20.13,
1002 . /15x,
'COEFFICIENT CPC . . . . . . . . . . . .=',1pg20.13)
1004 . /15x,
'JETTING OPTION. . . . . . . . . . . . .=',i10,
1005 . /15x,
'----------------------------------------')
1007 . 15x,
'DIHEDRAL JET. . . . . . . . . . . . . .',
1008 . /15x,
'NODE NUMBER DEFINING INJECTION CENTER .=',i10,
1009 . /15x,
'NODE NUMBER DEFINING INJECTION AXIS . .=',i10,
1010 . /15x,
'NODE NUMBER DEFINING BASE LINE. . . . .=',i10,
1011 . /15x,
'JETTING PRESSURE TIME CURVE NUMBER. . .=',i10,
1012 . /15x,
'JETTING PRESSURE THETA CURVE NUMBER . .=',i10,
1013 . /15x,
'JETTING PRESSURE DIST. CURVE NUMBER . .=',i10,
1014 . /15x,
'TIME FUNCTION SCALE FACTOR . .=',1pg20.13,
1015 . /15x,
'THETA FUNCTION SCALE FACTOR . .=',1pg20.13,
1016 . /15x,
'DIST FUNCTION SCALE FACTOR . .=',1pg20.13)
1017 1703
FORMAT(5x,
'FVMBAG MESHING, VOLUME NUMBER',i10,
1018 . /5x,
'----------------- ',
1019 . /15x,
'TETRAMESH CREATED AUTOMATICALLY',
1020 . /15x,
' NUMBER OF TETRAHEDRA',i10,
1021 . /15x,
' NUMBER OF ADDED INTERNAL NODES',i10)
1024 . //,
' MONITORED VOLUMES TYPE COMMU : GAS ORGANIZATION'/
1025 .
' -----------------------------------------------')