56 . UNITAB, LUID, NPC, IGRSURF, ITAB, X, PM, GEO, IXC, IXTG,
70#include "implicit_f.inc"
88 INTEGER,
INTENT(IN) :: LUID, IPM(NPROPMI, *), IGEO(NPROPGI, *), ITABM1(*)
89 INTEGER,
INTENT(IN) :: NPC(*), ITAB(*), IXC(NIXC, *), IXTG(NIXTG, *)
90 my_real,
INTENT(IN) :: x(3, *), geo(npropg, *), pm(npropm, *)
91 TYPE (SURF_),
INTENT(INOUT),
DIMENSION(NSURF) :: IGRSURF
94 TYPE(
submodel_data),
DIMENSION(NSUBMOD),
INTENT(IN) :: LSUBMODEL
95 TYPE (SENSORS_) ,
INTENT(IN) :: SENSORS
101 my_real :: FAC_M, FAC_L, FAC_T, FAC_C, FAC_GEN
102 my_real :: scal_t, scal_p, scal_s, scal_a, scal_d
104 my_real :: sa, rot, vol, vmin, veps, amu, sv
105 INTEGER :: MID_INI, IEQUI, ITTF, MID_INISYS
106 my_real :: hconv, pext, ti, pini
107 my_real :: mwi, cpai, cpbi, cpci, cpdi, cpei, cpfi, r_igc1, cpi, rmwi, cvi, gamai
109 INTEGER,
DIMENSION(:),
ALLOCATABLE :: I_INJ, ISENS, IJET, NJ1, NJ2, NJ3,
110 . ipt, ipa, ipz, i_injsys
111 my_real,
DIMENSION(:),
ALLOCATABLE :: fpt, fpa, fpz
112 INTEGER :: NVENTHOLES, NPORSURF, NVENT
113 CHARACTER(LEN = 40) :: MESS
114 CHARACTER(LEN = 20) :: VENTTITLE
115 INTEGER :: TITREVENT(20)
116 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IPVENT, IFVENT, IDTPDEF, IPORT, IPORP, IPORA,
117 . iport1, iporp1, ipora1, ivdp, iblockage
118 my_real,
DIMENSION(:),
ALLOCATABLE :: avent, bvent, tvent, tstope, dpdef, dtpdef,
119 . fport, fporp, fpora, fport1, fporp1, fpora1, fvdp, cleak
121 CHARACTER(LEN = nchartitle) :: TITR1
122 my_real :: MI, RHOI, TI2, ESPECI, CPA, CPB, CPC, CPD, CPE, CPF, MW_TMP, RMWG,
123 . cpg, cvg, gama, shol
125 INTEGER,
DIMENSION(:),
ALLOCATABLE :: COMM_BAGID, COMM_IPVENT, COMM_IPORT, COMM_IPORP
126 my_real,
DIMENSION(:),
ALLOCATABLE :: COMM_DPDEF, COMM_AVENT, COMM_TVENT, COMM_DTPDEF,
127 . comm_fport, comm_fporp
128 INTEGER :: CHKSURF, EXT_SURFID, JI, ITY, NN1, J1, JI1, ITY1, NN, NEL, LCA
129 LOGICAL :: IS_AVAILABLE
138 mess =
'MONITORED VOLUME DEFINITION '
144 CALL hm_get_intv(
'surf_IDex', surfid, is_available, lsubmodel)
145 CALL hm_get_floatv(
'Hconv', hconv, is_available, lsubmodel, unitab)
147 CALL hm_get_floatv(
'Ascalet', scal_t, is_available, lsubmodel, unitab)
148 CALL hm_get_floatv(
'AscaleP', scal_p, is_available, lsubmodel, unitab)
149 CALL hm_get_floatv(
'AscaleS', scal_s, is_available, lsubmodel, unitab)
150 CALL hm_get_floatv(
'AscaleA', scal_a, is_available, lsubmodel, unitab)
151 CALL hm_get_floatv(
'AscaleD', scal_d, is_available, lsubmodel, unitab)
153 CALL hm_get_intv(
'mat_ID', mid_ini, is_available, lsubmodel)
154 CALL hm_get_floatv(
'Mu', amu, is_available, lsubmodel, unitab)
155 CALL hm_get_floatv(
'Pext', pext, is_available, lsubmodel, unitab)
156 CALL hm_get_floatv(
'T0', ti, is_available, lsubmodel, unitab)
157 CALL hm_get_intv(
'Iequi', iequi, is_available, lsubmodel)
158 CALL hm_get_intv(
'Ittf', ittf, is_available, lsubmodel)
160 CALL hm_get_intv(
'Njet', njet, is_available, lsubmodel)
161 t_monvoln%NJET = njet
162 t_monvoln%IVOLU(8) = njet
164 ALLOCATE(t_monvoln%IBAGJET(nibjet, njet))
165 t_monvoln%IBAGJET(1:nibjet, 1:njet) = 0
166 ALLOCATE(t_monvoln%RBAGJET(nrbjet, njet))
167 t_monvoln%RBAGJET(1:nrbjet, 1:njet) = zero
170 ALLOCATE(i_inj(njet), isens(njet), ijet(njet), nj1(njet), nj2(njet), nj3(njet),
171 . ipt(njet), ipa(njet), ipz(njet), fpt(njet), fpa(njet), fpz(njet))
179 IF (ijet(ii) > 0)
THEN
191 CALL hm_get_intv(
'Nvent', nventholes, is_available, lsubmodel)
192 CALL hm_get_intv(
'Nporsurf', nporsurf, is_available, lsubmodel)
194 nvent = nventholes + nporsurf
195 t_monvoln%IVOLU(11) = nvent
196 t_monvoln%NVENT = nvent
197 t_monvoln%NPORSURF = nporsurf
199 ALLOCATE(t_monvoln%IBAGHOL(nibhol, nvent))
200 t_monvoln%IBAGHOL(1:nibhol, 1:nvent) = 0
201 ALLOCATE(t_monvoln%RBAGHOL(nrbhol, nvent))
202 t_monvoln%RBAGHOL(1:nrbhol, 1:nvent) = zero
204 ALLOCATE(ipvent(nvent), ifvent(nvent), avent(nvent), bvent(nvent))
205 ALLOCATE(tvent(nvent), tstope(nvent), dpdef(nvent), dtpdef(nvent),
207 ALLOCATE(iport(nvent), iporp(nvent), ipora(nvent), fport(nvent),
208 . fporp(nvent), fpora(nvent))
209 ALLOCATE(iport1(nvent), iporp1(nvent), ipora1(nvent), fport1(nvent),
210 . fporp1(nvent), fpora1(nvent))
211 ALLOCATE(iblockage(nvent), cleak(nvent))
212 ALLOCATE(ivdp(nvent), fvdp(nvent))
214 IF (nventholes > 0)
THEN
215 DO ii = 1, nventholes
228 venttitle = venttitle(1:len_trim(venttitle))
230 titrevent(jj) = iachar(venttitle(jj:jj))
231 t_monvoln%IBAGHOL(jj + 14, ii) = titrevent(jj)
247 IF (ifvent(ii) == 2)
THEN
257 IF (nporsurf > 0)
THEN
265 venttitle = venttitle(1:len_trim(venttitle))
267 titrevent(jj) = iachar(venttitle(jj:jj))
268 t_monvoln%IBAGHOL(jj + 14, nventholes + ii) = titrevent(jj)
277 cleak(nventholes + ii) = zero
278 avent(nventholes + ii) = zero
279 iport(nventholes + ii) = 0
280 ipora(nventholes + ii) = 0
281 fport(nventholes + ii) = zero
282 fpora(nventholes + ii) = zero
283 IF (ifvent(nventholes + ii) == 0)
THEN
292 ivdp(nventholes + ii) = 0
293 fvdp(nventholes + ii) = zero
294 IF (ifvent(nventholes + ii) == 2)
THEN
300! specific cards communicating airbags
301 CALL hm_get_intv(
'Nbag', nca, is_available, lsubmodel)
304 t_monvoln%IVOLU(3) = nca
307 ALLOCATE(comm_bagid(nca), comm_ipvent(nca), comm_iport(nca), comm_iporp(nca),
308 . comm_dpdef(nca), comm_avent(nca), comm_tvent(nca), comm_dtpdef(nca),
309 . comm_fport(nca), comm_fporp(nca))
328 fac_m = unitab%FAC_M(luid)
329 fac_l = unitab%FAC_L(luid)
330 fac_t = unitab%FAC_T(luid)
331 fac_c = fac_m / (fac_l * fac_t * fac_t)
337 t_monvoln%IVOLU(4) = 0
340 IF (surfid == igrsurf(ii)%ID)
THEN
341 t_monvoln%IVOLU(4) = ii
342 t_monvoln%EXT_SURFID = ii
347 IF (.NOT. found)
THEN
349 ELSEIF (igrsurf(t_monvoln%IVOLU(4))%ISH4N3N == 0)
THEN
350 CALL ancmsg(msgid = 18, anmode = aninfo, msgtype = msgerror,
351 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = surfid)
359 . igrsurf(t_monvoln%EXT_SURFID),ixc, ixtg, x, 9)
361 CALL monvol_compute_volume(t_monvoln, t_monvoln%TITLE, t_monvoln%IVOLU, igrsurf(t_monvoln%EXT_SURFID),
362 . itab, x, pm, geo, ixc, ixtg,
363 . sa, rot, vol, vmin, veps, sv)
366 . igrsurf(t_monvoln%EXT_SURFID),ixc,ixtg,vol, x, 9)
368 IF (ittf < 0 .OR. ittf > 3)
THEN
369 CALL ancmsg(msgid = 773, anmode = aninfo, msgtype = msgerror,
370 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
376 t_monvoln%IVOLU(66) = 0
379 IF (ipm(1, ii) == mid_ini .AND. ipm(2, ii) == 999)
THEN
380 mwi = pm(20, ii) * fac_m
381 cpai = pm(21, ii) * fac_l * fac_l / (fac_t * fac_t)
382 cpbi = pm(22, ii) * fac_l * fac_l / (fac_t * fac_t)
383 cpci = pm(23, ii) * fac_l * fac_l / (fac_t * fac_t)
384 cpdi = pm(24, ii) * fac_l * fac_l / (fac_t * fac_t)
385 cpei = pm(25, ii) * fac_l * fac_l / (fac_t * fac_t)
386 cpfi = pm(26, ii) * fac_l * fac_l / (fac_t * fac_t)
388 cpi = cpai + cpbi * ti + cpci * ti * ti + cpdi * ti * ti * ti +
389 . cpei / (ti * ti) + cpfi * ti * ti * ti * ti
392 t_monvoln%IVOLU(66) = ii
393 IF (cvi == zero)
THEN
394 CALL ancmsg(msgid = 709, msgtype = msgerror, anmode = aninfo,
395 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
404 IF (.NOT. found)
THEN
405 CALL ancmsg(msgid = 699, anmode = aninfo, msgtype = msgerror,
406 . i2 = mid_ini, i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
410 ALLOCATE(i_injsys(njet))
416 IF (igeo(1, jj) == i_inj(ii))
THEN
422 IF (.NOT. found)
THEN
423 CALL ancmsg(msgid = 723, anmode = aninfo, msgtype = msgerror,
424 . i2 = i_inj(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
432 IF (scal_t == zero)
THEN
434 scal_t = one * fac_gen
436 IF (scal_p == zero)
THEN
438 SCAL_P = ONE * FAC_GEN
440 IF (SCAL_S == ZERO) THEN
441 CALL HM_GET_FLOATV_DIM('ascales
', FAC_GEN, IS_AVAILABLE, LSUBMODEL, UNITAB)
442 SCAL_S = ONE * FAC_GEN
444 IF (SCAL_A == ZERO) THEN
445 CALL HM_GET_FLOATV_DIM('ascalea
', FAC_GEN, IS_AVAILABLE, LSUBMODEL, UNITAB)
446 SCAL_A = ONE * FAC_GEN
448 IF (SCAL_D == ZERO) THEN
449 CALL HM_GET_FLOATV_DIM('ascaled
', FAC_GEN, IS_AVAILABLE, LSUBMODEL, UNITAB)
450 SCAL_D = ONE * FAC_GEN
453 IF (AMU == ZERO) AMU = EM02
454 IF (PEXT == ZERO) THEN
455 PEXT = 101325.D0 * (UNITAB%FAC_L_WORK * UNITAB%FAC_T_WORK * UNITAB%FAC_T_WORK) / UNITAB%FAC_M_WORK
462 IF (IJET(II) > 0) THEN
463 IF (FPT(II) == ZERO) FPT(II) = ONE
464 IF (FPA(II) == ZERO) FPA(II) = ONE
465 IF (FPZ(II) == ZERO) FPZ(II) = ONE
474 IF (NVENTHOLES > 0) THEN
475 DO II = 1, NVENTHOLES
476 IF (IFVENT(II) == 0) IFVENT(II) = 1
477 IF (IPVENT(II) == 0) THEN
480 IF (FPORT(II) == ZERO) FPORT(II) = ONE
481 IF (FPORP(II) == ZERO) FPORP(II) = ONE
482 IF (FPORA(II) == ZERO) FPORA(II) = ONE
483 IF (FPORT1(II) == ZERO) FPORT1(II) = ONE
484 IF (FPORP1(II) == ZERO) FPORP1(II) = ONE
485 IF (FPORA1(II) == ZERO) FPORA1(II) = ONE
491 IF (COMM_FPORT(II) == ZERO) COMM_FPORT(II) = ONE
492 IF (COMM_FPORP(II) == ZERO) COMM_FPORP(II) = ONE
498 T_MONVOLN%IVOLU(8) = NJET
499.AND.
IF (IEQUI > 0 IEQUI /= 1) IEQUI = 1
500 T_MONVOLN%IVOLU(15) = IEQUI
501 T_MONVOLN%IVOLU(17) = ITTF
503 T_MONVOLN%RVOLU(19) = HCONV
504 T_MONVOLN%RVOLU(26) = ONE / SCAL_T
505 T_MONVOLN%RVOLU(27) = ONE / SCAL_P
506 T_MONVOLN%RVOLU(28) = ONE / SCAL_S
507 T_MONVOLN%RVOLU(29) = ONE / SCAL_A
508 T_MONVOLN%RVOLU(30) = ONE / SCAL_D
510 T_MONVOLN%RVOLU(31) = PINI
512 MID_INISYS = T_MONVOLN%IVOLU(66)
513 IF (MID_INISYS /= 0) THEN
514 MWI = PM(20, MID_INISYS)
515 CPAI = PM(21, MID_INISYS)
516 CPBI = PM(22, MID_INISYS)
517 CPCI = PM(23, MID_INISYS)
518 CPDI = PM(24, MID_INISYS)
519 CPEI = PM(25, MID_INISYS)
520 CPFI = PM(26, MID_INISYS)
521 R_IGC1 = PM(27, MID_INISYS)
531 CALL ANCMSG(MSGID= 7 18, ANMODE = ANINFO, MSGTYPE = MSGERROR,
532 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
534 T_MONVOLN%RVOLU(7)=CPAI
535 T_MONVOLN%RVOLU(8)=CPBI
536 T_MONVOLN%RVOLU(9)=CPCI
537 T_MONVOLN%RVOLU(56)=CPDI
538 T_MONVOLN%RVOLU(57)=CPEI
539 T_MONVOLN%RVOLU(58)=CPFI
540 T_MONVOLN%RVOLU(59)=MWI
541 CPI = CPAI + CPBI * TI + CPCI * TI * TI + CPDI * TI * TI * TI +
542 . CPEI / (TI * TI) + CPFI * TI * TI * TI * TI
543 IF (MWI == ZERO) THEN
550 MI = PINI * (VOL + VEPS) / (RMWI * TI)
551 T_MONVOLN%RVOLU(1) = GAMAI
552 T_MONVOLN%RVOLU(3) = PEXT
553 T_MONVOLN%RVOLU(4) = VOL + VEPS
554 T_MONVOLN%RVOLU(11) = MI
555 T_MONVOLN%RVOLU(12) = PINI
556 T_MONVOLN%RVOLU(13) = TI
557 T_MONVOLN%RVOLU(14) = RMWI * MI
558 T_MONVOLN%RVOLU(17) = VEPS
559 T_MONVOLN%RVOLU(20) = MI
560 T_MONVOLN%RVOLU(25) = TI
561 T_MONVOLN%RVOLU(61) = GAMAI
562 RHOI = PINI / (TI * RMWI)
563 T_MONVOLN%RVOLU(62) = RHOI
564 T_MONVOLN%RVOLU(10) = RMWI
566 ESPECI=TI*(CPAI+HALF*CPBI*TI+THIRD*CPCI*TI2-RMWI)
567 ESPECI=ESPECI+FOURTH*CPDI*TI2*TI2-CPEI/TI+ONE_FIFTH*CPFI*TI2*TI2*TI
568 T_MONVOLN%RVOLU(63)= ESPECI+RMWI*TI
569 T_MONVOLN%RVOLU(64)= ZERO
570 T_MONVOLN%RVOLU(65)= ZERO
571 T_MONVOLN%RVOLU(66)= ESPECI
575 T_MONVOLN%IBAGJET(13, II) = I_INJSYS(II)
576 T_MONVOLN%RBAGJET(1, II) = ZERO
577 T_MONVOLN%RBAGJET(2, II) = GEO(203, I_INJSYS(II))
578 T_MONVOLN%RBAGJET(3, II) = GEO(204, I_INJSYS(II))
579 T_MONVOLN%RBAGJET(4, II) = GEO(205, I_INJSYS(II))
580 T_MONVOLN%RBAGJET(16, II) = GEO(206, I_INJSYS(II))
581 T_MONVOLN%RBAGJET(17, II) = GEO(207, I_INJSYS(II))
582 T_MONVOLN%RBAGJET(18, II) = GEO(208, I_INJSYS(II))
583 T_MONVOLN%RBAGJET(19, II) = GEO(202, I_INJSYS(II))
584 T_MONVOLN%RBAGJET(5, II) = ZERO !FMASS
585 T_MONVOLN%RBAGJET(6, II) = ZERO !FTEMP
586 T_MONVOLN%RBAGJET(12, II) = FPT(II)
587 T_MONVOLN%RBAGJET(13, II) = FPA(II)
588 T_MONVOLN%RBAGJET(14, II) = FPZ(II)
589 T_MONVOLN%IBAGJET(2, II) = 0 !IFLU
590 T_MONVOLN%IBAGJET(3, II) = 0 !ITEMP
591 T_MONVOLN%IBAGJET(4, II) = ISENS(II)
593 IF (IJET(II) > 0) THEN
594 T_MONVOLN%IBAGJET(5, II) = USR2SYS(NJ1(II), ITABM1, MESS, T_MONVOLN%ID)
595 T_MONVOLN%IBAGJET(6, II) = USR2SYS(NJ2(II), ITABM1, MESS, T_MONVOLN%ID)
596 IF(NJ3(II) /= 0) THEN
597 T_MONVOLN%IBAGJET(7, II) = USR2SYS(NJ3(II), ITABM1, MESS, T_MONVOLN%ID)
601 IF (IPT(II) == NPC(JJ)) THEN
602 T_MONVOLN%IBAGJET(8, II) = JJ
607.NOT.
IF ( FOUND) THEN
608 CALL ANCMSG(MSGID = 12, ANMODE = ANINFO, MSGTYPE = MSGERROR,
609 . I2 = IPT(II), I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
613 IF (IPA(II) == NPC(JJ)) THEN
614 T_MONVOLN%IBAGJET(9, II) = JJ
619.NOT.
IF ( FOUND) THEN
620 CALL ANCMSG(MSGID = 13, ANMODE = ANINFO, MSGTYPE = MSGERROR,
621 . I2 = IPA(II), I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
625 IF (IPZ(II) == NPC(JJ)) THEN
626 T_MONVOLN%IBAGJET(10, II) = JJ
631.NOT.
IF ( FOUND) THEN
632 CALL ANCMSG(MSGID = 14, ANMODE = ANINFO, MSGTYPE = MSGERROR,
633 . I2 = IPZ(II), I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
636 IF (ISENS(II) > 0) THEN
638 DO JJ = 1, SENSORS%NSENSOR
639 IF (ISENS(II) == SENSORS%SENSOR_TAB(JJ)%SENS_ID) THEN
640 T_MONVOLN%IBAGJET(4, II) = JJ
641 IF (SENSORS%SENSOR_TAB(JJ)%TCRIT < TTFIRE) TTFIRE = SENSORS%SENSOR_TAB(JJ)%TCRIT
646.NOT.
IF ( FOUND) THEN
647 CALL ANCMSG(MSGID = 17, ANMODE =ANINFO, MSGTYPE = MSGERROR,
648 . I2 = ISENS(II), I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
651 CPA = T_MONVOLN%RBAGJET(2, II)
652 CPB = T_MONVOLN%RBAGJET(3, II)
653 CPC = T_MONVOLN%RBAGJET(4, II)
654 CPD = T_MONVOLN%RBAGJET(16, II)
655 CPE = T_MONVOLN%RBAGJET(17, II)
656 CPF = T_MONVOLN%RBAGJET(18, II)
657 MW_TMP = T_MONVOLN%RBAGJET(19, II)
658 RMWG = R_IGC1 / MW_TMP
659 CPG = CPA + CPB*TI+CPC*TI*TI+CPD*TI*TI*TI+
660 . CPE/(TI*TI)+CPF*TI*TI*TI*TI
663 T_MONVOLN%RBAGJET(1, II) = RMWG
665 IF (TTFIRE == INFINITY) TTFIRE = ZERO
666 T_MONVOLN%RVOLU(49) = TTFIRE
668 DO II = 1, NVENTHOLES
669 T_MONVOLN%RBAGHOL(7, II) = FPORT(II)
670 T_MONVOLN%RBAGHOL(8, II) = FPORP(II)
671 T_MONVOLN%RBAGHOL(9, II) = FPORA(II)
672 T_MONVOLN%RBAGHOL(10, II) = FPORT1(II)
673 T_MONVOLN%RBAGHOL(11, II) = FPORP1(II)
674 T_MONVOLN%RBAGHOL(12, II) = FPORA1(II)
676 T_MONVOLN%IBAGHOL(1, II) = 0
677 T_MONVOLN%IBAGHOL(10, II) = IFVENT(II)
678 T_MONVOLN%IBAGHOL(11, II) = IDTPDEF(II)
680 T_MONVOLN%IBAGHOL(12, II) = 0
682 IF (IPVENT(II) == 0) THEN
683 T_MONVOLN%IBAGHOL(2, II) = 0
685 T_MONVOLN%IBAGHOL(2, II) = 0
688 IF (IPVENT(II) == IGRSURF(JJ)%ID) THEN
689 T_MONVOLN%IBAGHOL(2, II) = JJ
695 CALL ANCMSG(MSGID = 532, ANMODE = ANINFO, MSGTYPE = MSGERROR,
696 . I2 = IPVENT(II), I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
697 ELSEIF(IGRSURF(T_MONVOLN%IBAGHOL(2, II))%ISH4N3N == 0) THEN
698 CALL ANCMSG(MSGID = 330, ANMODE = ANINFO, MSGTYPE = MSGERROR,
699 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
701 IF (AVENT(II) == ZERO) AVENT(II) = ONE
703 IF (AVENT(II) == ZERO) DPDEF(II) = INFINITY
704 IF (AVENT(II) == ZERO) TVENT(II) = INFINITY
705.AND..AND.
IF (DPDEF(II) == ZERO DTPDEF(II) == ZERO TVENT(II) == ZERO) THEN
706 T_MONVOLN%IBAGHOL(1, II) = 1
708 T_MONVOLN%RBAGHOL(1, II) = DPDEF(II)
709 T_MONVOLN%RBAGHOL(2, II) = AVENT(II)
710 T_MONVOLN%RBAGHOL(3, II) = TVENT(II)
711 T_MONVOLN%RBAGHOL(4, II) = DTPDEF(II)
712 T_MONVOLN%RBAGHOL(6, II) = BVENT(II)
713.AND.
IF (IVDP(II) /= 0 FVDP(II) == ZERO) FVDP(II) = ONE
714 T_MONVOLN%RBAGHOL(13, II) = FVDP(II)
715 IF (TSTOPE(II) == ZERO) TSTOPE(II) = INFINITY
716 T_MONVOLN%RBAGHOL(14, II) = TSTOPE(II)
718 T_MONVOLN%IBAGHOL(3, II) = -1
719 T_MONVOLN%IBAGHOL(4, II) = -1
720 T_MONVOLN%IBAGHOL(5, II) = -1
721 T_MONVOLN%IBAGHOL(6, II) = -1
722 T_MONVOLN%IBAGHOL(7, II) = -1
723 T_MONVOLN%IBAGHOL(8, II) = -1
724 T_MONVOLN%IBAGHOL(9, II) = -1
726 IF (IPORT(II) == NPC(JJ)) T_MONVOLN%IBAGHOL(3, II) = JJ
727 IF (IPORP(II) == NPC(JJ)) T_MONVOLN%IBAGHOL(4, II) = JJ
728 IF (IPORA(II) == NPC(JJ)) T_MONVOLN%IBAGHOL(5, II) = JJ
729 IF (IPORT1(II) == NPC(JJ)) T_MONVOLN%IBAGHOL(6, II) = JJ
730 IF (IPORP1(II) == NPC(JJ)) T_MONVOLN%IBAGHOL(7, II) = JJ
731 IF (IPORA1(II) == NPC(JJ)) T_MONVOLN%IBAGHOL(8, II) = JJ
732 IF (IVDP(II) == NPC(JJ)) T_MONVOLN%IBAGHOL(9, II) = JJ
734 IF (IPORT(II) == 0) T_MONVOLN%IBAGHOL(3, II) = 0
735 IF (IPORP(II) == 0) T_MONVOLN%IBAGHOL(4, II) = 0
736 IF (IPORA(II) == 0) T_MONVOLN%IBAGHOL(5, II) = 0
737 IF (IPORT1(II) == 0) T_MONVOLN%IBAGHOL(6, II) = 0
738 IF (IPORP1(II) == 0) T_MONVOLN%IBAGHOL(7, II) = 0
739 IF (IPORA1(II) == 0) T_MONVOLN%IBAGHOL(8, II) = 0
740.AND.
IF (IVDP(II) == 0 IFVENT(II) /= 2) T_MONVOLN%IBAGHOL(9, II) = 0
741 IF (T_MONVOLN%IBAGHOL(3, II) == -1) THEN
742 T_MONVOLN%IBAGHOL(3, II) = 0
743 CALL ANCMSG(MSGID = 331, ANMODE = ANINFO, MSGTYPE = MSGERROR,
744 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IPORT(II))
746 IF (T_MONVOLN%IBAGHOL(4, II) == -1) THEN
747 T_MONVOLN%IBAGHOL(4, II) = 0
748 CALL ANCMSG(MSGID = 332, ANMODE = ANINFO, MSGTYPE = MSGERROR,
749 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IPORP(II))
751 IF (T_MONVOLN%IBAGHOL(5, II) == -1) THEN
752 T_MONVOLN%IBAGHOL(5, II)=0
753 CALL ANCMSG(MSGID = 333, ANMODE = ANINFO, MSGTYPE = MSGERROR,
754 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IPORA(II))
756 IF (T_MONVOLN%IBAGHOL(6, II) == -1) THEN
757 T_MONVOLN%IBAGHOL(6, II) = 0
758 CALL ANCMSG(MSGID=331, ANMODE=ANINFO, MSGTYPE=MSGERROR,
759 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IPORT1(II))
761 IF (T_MONVOLN%IBAGHOL(7, II) == -1) THEN
762 T_MONVOLN%IBAGHOL(7, II)=0
763 CALL ANCMSG(MSGID=332, ANMODE=ANINFO, MSGTYPE=MSGERROR,
764 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IPORP1(II))
766 IF (T_MONVOLN%IBAGHOL(8, II) == -1) THEN
767 T_MONVOLN%IBAGHOL(8, II) = 0
768 CALL ANCMSG(MSGID=333, ANMODE=ANINFO, MSGTYPE=MSGERROR,
769 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IPORA1(II))
771 IF (T_MONVOLN%IBAGHOL(9, II) == -1) THEN
772 T_MONVOLN%IBAGHOL(9, II) = 0
773 CALL ANCMSG(MSGID = 518, ANMODE = ANINFO, MSGTYPE = MSGERROR,
774 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IVDP(II))
779 T_MONVOLN%IBAGHOL(13, NVENTHOLES + II) = 1
780 IF (IFVENT(NVENTHOLES + II) == 0) THEN
781 IF (CLEAK(NVENTHOLES + II) > ZERO) IPORT(NVENTHOLES + II) = 0
782 IF (AVENT(NVENTHOLES + II) > ZERO) IPORA(NVENTHOLES + II) = 0
783 IPVENT(NVENTHOLES + II) = 0
784 IBLOCKAGE(NVENTHOLES + II) = 0
786 IF (FPORT(NVENTHOLES + II) == ZERO) FPORT(NVENTHOLES + II) = ONE
787 IF (FPORA(NVENTHOLES + II) == ZERO) FPORA(NVENTHOLES + II) = ONE
788 T_MONVOLN%RBAGHOL(7, NVENTHOLES + II) = FPORT(NVENTHOLES + II)
789 T_MONVOLN%RBAGHOL(9, NVENTHOLES + II) = FPORA(NVENTHOLES + II)
791 T_MONVOLN%IBAGHOL(1, NVENTHOLES + II) = 0
792 T_MONVOLN%IBAGHOL(10, NVENTHOLES + II) = IFVENT(NVENTHOLES + II)
793 T_MONVOLN%IBAGHOL(11, NVENTHOLES + II) = IDTPDEF(NVENTHOLES + II)
794 T_MONVOLN%IBAGHOL(12, NVENTHOLES + II) = 0
795 T_MONVOLN%IBAGHOL(14, NVENTHOLES + II) = IBLOCKAGE(NVENTHOLES + II)
797 IF (IPVENT(NVENTHOLES + II) == 0) THEN
798 T_MONVOLN%IBAGHOL(2, NVENTHOLES + II) = 0
800 T_MONVOLN%IBAGHOL(2, NVENTHOLES + II) = 0
802 IF (IPVENT(NVENTHOLES + II) == IGRSURF(JJ)%ID) THEN
803 T_MONVOLN%IBAGHOL(2, NVENTHOLES + II) = JJ
806 IF (T_MONVOLN%IBAGHOL(2, NVENTHOLES + II) == 0) THEN
807 CALL ANCMSG(MSGID = 532, ANMODE = ANINFO, MSGTYPE = MSGERROR,
808 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IPVENT(NVENTHOLES + II))
809 ELSEIF (IGRSURF(T_MONVOLN%IBAGHOL(2, NVENTHOLES + II))%ISH4N3N == 0) THEN
810 CALL ANCMSG(MSGID = 330, ANMODE = ANINFO, MSGTYPE = MSGERROR,
811 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
815.AND..AND.
IF (DPDEF(NVENTHOLES + II) == ZERO DTPDEF(NVENTHOLES + II) == ZERO
816 . TVENT(NVENTHOLES + II) == ZERO) THEN
817 T_MONVOLN%IBAGHOL(1, NVENTHOLES + II) = 1
819 T_MONVOLN%RBAGHOL(1, NVENTHOLES + II) = DPDEF(NVENTHOLES + II)
820 T_MONVOLN%RBAGHOL(2, NVENTHOLES + II) = AVENT(NVENTHOLES + II)
821 T_MONVOLN%RBAGHOL(3, NVENTHOLES + II) = TVENT(NVENTHOLES + II)
822 T_MONVOLN%RBAGHOL(4, NVENTHOLES + II) = DTPDEF(NVENTHOLES + II)
823 T_MONVOLN%RBAGHOL(6, NVENTHOLES + II) = CLEAK(NVENTHOLES + II)
824.AND.
IF (IVDP(NVENTHOLES + II) /= 0 FVDP(NVENTHOLES + II) == ZERO) FVDP=ONE
825 T_MONVOLN%RBAGHOL(13, NVENTHOLES + II)=FVDP(NVENTHOLES + II)
826 IF (TSTOPE(NVENTHOLES + II) == ZERO) TSTOPE(NVENTHOLES + II) = INFINITY
827 T_MONVOLN%RBAGHOL(14, NVENTHOLES + II) = TSTOPE(NVENTHOLES + II)
829 T_MONVOLN%IBAGHOL(3, NVENTHOLES + II) = -1
830 T_MONVOLN%IBAGHOL(5, NVENTHOLES + II) = -1
831 T_MONVOLN%IBAGHOL(9, NVENTHOLES + II) = -1
834 IF (IPORT(NVENTHOLES + II) == NPC(JJ)) THEN
835 T_MONVOLN%IBAGHOL(3, NVENTHOLES + II) = JJ
837 IF (IPORA(NVENTHOLES + II) == NPC(JJ)) THEN
838 T_MONVOLN%IBAGHOL(5, NVENTHOLES + II) = JJ
840 IF (IVDP(NVENTHOLES + II) == NPC(JJ)) THEN
841 T_MONVOLN%IBAGHOL(9, NVENTHOLES + II) = JJ
844 IF (IPORT(NVENTHOLES + II) == 0) T_MONVOLN%IBAGHOL(3, NVENTHOLES + II) = 0
845 IF (IPORA(NVENTHOLES + II) == 0) T_MONVOLN%IBAGHOL(5, NVENTHOLES + II) = 0
846.AND.
IF (IVDP(NVENTHOLES + II) == 0 IFVENT(NVENTHOLES + II) /= 2) THEN
847 T_MONVOLN%IBAGHOL(9, NVENTHOLES + II) = 0
850 IF (T_MONVOLN%IBAGHOL(3, NVENTHOLES + II) == -1) THEN
851 T_MONVOLN%IBAGHOL(3, NVENTHOLES + II) =0
852 CALL ANCMSG(MSGID = 331, ANMODE = ANINFO, MSGTYPE = MSGERROR,
853 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IPORT(NVENTHOLES + II))
855 IF (T_MONVOLN%IBAGHOL(5, NVENTHOLES + II) == -1) THEN
856 T_MONVOLN%IBAGHOL(5, NVENTHOLES + II) = 0
857 CALL ANCMSG(MSGID = 333, ANMODE = ANINFO, MSGTYPE = MSGERROR,
858 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IPORA(NVENTHOLES + II))
860 IF (T_MONVOLN%IBAGHOL(9, NVENTHOLES + II) == -1) THEN
861 T_MONVOLN%IBAGHOL(9, NVENTHOLES + II) = 0
862 CALL ANCMSG(MSGID = 518, ANMODE = ANINFO, MSGTYPE = MSGERROR,
863 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IVDP(NVENTHOLES + II))
867 LCA = T_MONVOL_METADATA%LCA
870 T_MONVOL_METADATA%ICBAG(1, II + LCA) = COMM_BAGID(II)
871 T_MONVOL_METADATA%ICBAG(2, II + LCA) = 0
872 T_MONVOL_METADATA%ICBAG(3, II + LCA) = 0
873 T_MONVOL_METADATA%ICBAG(4, II + LCA) = 0
874 IF (COMM_AVENT(II) < ZERO) THEN
875 CALL ANCMSG(MSGID = 1002, ANMODE = ANINFO, MSGTYPE = MSGERROR,
876 . I1 = T_MONVOLN%ID, I2 = COMM_BAGID(II), R1 = COMM_AVENT(II))
878 T_MONVOL_METADATA%ICBAG(4, II + LCA) = -1
879 T_MONVOL_METADATA%ICBAG(5, II + LCA) = -1
881 IF (COMM_IPORT(II) == NPC(JJ)) T_MONVOL_METADATA%ICBAG(4, II + LCA) = JJ
882 IF (COMM_IPORP(II) == NPC(JJ)) T_MONVOL_METADATA%ICBAG(5, II + LCA) = JJ
884 IF (COMM_IPORT(II) == 0) T_MONVOL_METADATA%ICBAG(4, II + LCA) = 0
885 IF (COMM_IPORP(II) == 0) T_MONVOL_METADATA%ICBAG(5, II + LCA) = 0
886 IF (T_MONVOL_METADATA%ICBAG(4, II + LCA) == -1)THEN
887 T_MONVOL_METADATA%ICBAG(4, II + LCA) = 0
888 CALL ANCMSG(MSGID = 331, ANMODE = ANINFO, MSGTYPE = MSGERROR,
889 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = COMM_IPORT(II))
891 IF (T_MONVOL_METADATA%ICBAG(5, II + LCA) == -1) THEN
892 T_MONVOL_METADATA%ICBAG(5, II + LCA) = 0
893 CALL ANCMSG(MSGID = 332, ANMODE = ANINFO, MSGTYPE = MSGERROR,
894 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = COMM_IPORP(II))
896 IF (COMM_IPVENT(II) /= 0) THEN
897 IF (COMM_AVENT(II) == ZERO) COMM_AVENT(II) = ONE
899 IF (COMM_IPVENT(II) == IGRSURF(JJ)%ID) THEN
900 T_MONVOL_METADATA%ICBAG(2, II + LCA) = JJ
903 IF (T_MONVOL_METADATA%ICBAG(2, II + LCA) == 0) THEN
904 CALL ANCMSG(MSGID = 532, ANMODE = ANINFO, MSGTYPE = MSGERROR,
905 . I2 = COMM_IPVENT(II), I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
906 ELSEIF (IGRSURF(T_MONVOL_METADATA%ICBAG(2, II + LCA))%ISH4N3N == 0) THEN
907 CALL ANCMSG(MSGID = 18, ANMODE = ANINFO, MSGTYPE = MSGERROR,
908 . I2 = IGRSURF(T_MONVOL_METADATA%ICBAG(2, II + LCA))%ID, I1 = T_MONVOLN%ID,
909 . C1 = T_MONVOLN%TITLE)
914 NN = IGRSURF(T_MONVOL_METADATA%ICBAG(2, II + LCA))%NSEG
915 EXT_SURFID = T_MONVOLN%EXT_SURFID
917 JI = IGRSURF(T_MONVOL_METADATA%ICBAG(2, II + LCA))%ELEM(JJ)
918 ITY = IGRSURF(T_MONVOL_METADATA%ICBAG(2 ,II + LCA))%ELTYP(JJ)
921 ELSEIF (ITY /= 3) THEN
922 JI = JJ + NUMELC + NUMELTG
924 NN1 = IGRSURF(EXT_SURFID)%NSEG
927 JI1 = IGRSURF(EXT_SURFID)%ELEM(J1)
928 ITY1 = IGRSURF(EXT_SURFID)%ELTYP(J1)
931 ELSEIF (ITY1 /= 3) THEN
932 JI1 = J1 + NUMELC + NUMELTG
939.NOT.
IF ( FOUND) CHKSURF = 1
940.AND..NOT.
IF (IPRI >= 5 FOUND) THEN
943 WRITE(IOUT,'(a,i10,a,i10,a,i10
')
944 . ' error : shell element
id=
',NEL,
945 . ' of communicating surface
id=
',
946 . IGRSURF(T_MONVOL_METADATA%ICBAG(2,II + LCA))%ID,
947 . ' is not included into airbag surface
id=
',
948 . IGRSURF(EXT_SURFID)%ID
950 NEL=IXTG(NIXTG,JI-NUMELC)
951 WRITE(IOUT,'(a,i10,a,i10,a,i10)
')
952 . ' error : sh3n element
id=
',NEL,
953 . ' of communicating surface
id=
',
954 . IGRSURF(T_MONVOL_METADATA%ICBAG(2, II + LCA))%ID,
955 . ' is not included into airbag surface
id=
',
956 . IGRSURF(EXT_SURFID)%ID
962 T_MONVOL_METADATA%ICBAG(3, II + LCA) = 0
963.AND..OR.
IF((COMM_DPDEF(II) == ZERO COMM_DTPDEF(II) == ZERO) COMM_TVENT(II) == ZERO)
964 . T_MONVOL_METADATA%ICBAG(3, II + LCA) = 1
965 T_MONVOL_METADATA%RCBAG(1, II + LCA) = COMM_DPDEF(II)
966 T_MONVOL_METADATA%RCBAG(2, II + LCA) = COMM_AVENT(II)
967 T_MONVOL_METADATA%RCBAG(3, II + LCA) = COMM_TVENT(II)
968 T_MONVOL_METADATA%RCBAG(4, II + LCA) = COMM_DTPDEF(II)
969 T_MONVOL_METADATA%RCBAG(6, II + LCA) = COMM_FPORT(II)
970 T_MONVOL_METADATA%RCBAG(7, II + LCA) = COMM_FPORP(II)
971 IF (CHKSURF == 1) THEN
972 CALL ANCMSG(MSGID = 902, ANMODE = ANINFO, MSGTYPE = MSGERROR,
973 . I2 = IGRSURF(T_MONVOL_METADATA%ICBAG(2, II + LCA))%ID, I3 = IGRSURF(EXT_SURFID)%ID,
974 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
976 ENDDO !DO II = 1, NCA
979 T_MONVOL_METADATA%LCA = LCA
984 T_MONVOLN%RVOLU(2) = AMU
985 T_MONVOLN%RVOLU(16) = VOL + VEPS
986 T_MONVOLN%RVOLU(18) = SA
987 T_MONVOLN%RVOLU(21) = ROT
988 T_MONVOLN%RVOLU(22:24) = ZERO
993 WRITE(IOUT, 1005) SURFID
994 WRITE(IOUT, 1003) SCAL_T, SCAL_P, SCAL_S, SCAL_A, SCAL_D
995 WRITE(IOUT, 1006) HCONV
996 WRITE(IOUT, 1002) SA, SV, VOL
997 WRITE(IOUT,1395) MID_INI
998 WRITE(IOUT,1400) AMU, TI, PEXT, PINI
1005 WRITE(IOUT,1415) MWI, GAMAI, CPAI, CPBI, CPCI, CPDI, CPEI, CPFI
1007 WRITE(IOUT,1426) NJET
1009 WRITE(IOUT,1432) II,
1010 . IGEO(1, I_INJSYS(II)), ISENS(II)
1011 CPA = T_MONVOLN%RBAGJET(2, II)
1012 CPB = T_MONVOLN%RBAGJET(3, II)
1013 CPC = T_MONVOLN%RBAGJET(4, II)
1014 CPD = T_MONVOLN%RBAGJET(16, II)
1015 CPE = T_MONVOLN%RBAGJET(17, II)
1016 CPF = T_MONVOLN%RBAGJET(18, II)
1017 MW_TMP = T_MONVOLN%RBAGJET(19, II)
1018 RMWG = R_IGC1 / MW_TMP
1019 CPG = CPA + CPB*TI+CPC*TI*TI+CPD*TI*TI*TI+
1020 . CPE/(TI*TI)+CPF*TI*TI*TI*TI
1023 WRITE(IOUT,1442) GAMA, MW_TMP, CPA, CPB, CPC,
1025 IF (NJ1(II) == 0) THEN
1029 IF (NJ3(II) == 0) THEN
1030 WRITE(IOUT, 1460) NJ1(II), NJ2(II),
1031 . IPT(II), IPA(II), IPZ(II), FPT(II), FPA(II), FPZ(II)
1032 T_MONVOLN%IBAGJET(7, II) = T_MONVOLN%IBAGJET(5, II)
1034 WRITE(IOUT, 1461) NJ1(II), NJ2(II), NJ3(II),
1035 . IPT(II), IPA(II), IPZ(II),
1036 . FPT(II), FPA(II) ,FPZ(II)
1040 WRITE(IOUT,1470) NVENT, TTFIRE
1042 WRITE(IOUT,1471) ITTF
1045 IF (T_MONVOLN%IBAGHOL(13, II) == 0) THEN
1046 TITR1='vent hole surface
'
1047 WRITE(IOUT,1472) II,IPVENT(II)
1049 TITR1='porous surface
'
1050 WRITE(IOUT,1473) II,IPVENT(II)
1053 TITREVENT(JJ) = T_MONVOLN%IBAGHOL(JJ + 14, II)
1054 VENTTITLE(JJ:JJ) = ACHAR(TITREVENT(JJ))
1056 WRITE(IOUT,1476) VENTTITLE
1057.AND.
IF (IPVENT(II) == 0 AVENT(II) == ZERO) THEN
1058 CALL ANCMSG(MSGID=1019, MSGTYPE=MSGWARNING, ANMODE=ANINFO,
1059 . I1=T_MONVOLN%ID,I2=II, C1=T_MONVOLN%TITLE,C2=TITR1)
1061 IF(IFVENT(II) <= 1)WRITE(IOUT,1481)
1062 IF(IFVENT(II)==2) THEN
1063 WRITE(IOUT,1482)IVDP(II),FVDP(II)
1065 IF(IFVENT(II)==3) WRITE(IOUT,1484)
1066 IF(IFVENT(II)==4) WRITE(IOUT,1485)
1068 IF (IPVENT(II) /= 0) THEN
1069 CALL MONVOL_CHECK_VENTHOLE_SURF(IPRI, T_MONVOLN, IGRSURF, II, SHOL, X, IXC, IXTG)
1070 T_MONVOLN%RBAGHOL(15, II) = SHOL
1071 IF (T_MONVOLN%IBAGHOL(13, II) == 0) THEN
1073 . SHOL,AVENT(II),BVENT(II),
1074 . IPORT(II),IPORP(II),IPORA(II),FPORT(II),FPORP(II),FPORA(II),
1075 . IPORT1(II),IPORP1(II),IPORA1(II),FPORT1(II),FPORP1(II),FPORA1(II)
1076 WRITE(IOUT,1480) TVENT(II),DPDEF(II),DTPDEF(II),IDTPDEF(II),TSTOPE(II)
1078 WRITE(IOUT,1579) SHOL,IBLOCKAGE(II)
1079 WRITE(IOUT,1580) TVENT(II),DPDEF(II),DTPDEF(II),IDTPDEF(II),TSTOPE(II)
1082 IF (T_MONVOLN%IBAGHOL(13, II) == 0) THEN
1084 . AVENT(II),BVENT(II),
1085 . IPORT(II),IPORP(II),IPORA(II),FPORT(II),FPORP(II),FPORA(II),
1086 . IPORT1(II),IPORP1(II),IPORA1(II),FPORT1(II),FPORP1(II),FPORA1(II)
1087 WRITE(IOUT,1480) TVENT(II),DPDEF(II),DTPDEF(II),IDTPDEF(II),TSTOPE(II)
1089 CLEAK =T_MONVOLN%RBAGHOL(6, II)
1090 WRITE(IOUT,1585) CLEAK(II),AVENT(II),IPORT(II),FPORT(II),IPORA(II),FPORA(II)
1091 WRITE(IOUT,1580) TVENT(II),DPDEF(II),DTPDEF(II),IDTPDEF(II),TSTOPE(II)
1095 WRITE(IOUT, 1500) NCA
1097 WRITE(IOUT, 1510) COMM_BAGID(II), COMM_IPVENT(II), COMM_DPDEF(II), COMM_DTPDEF(II), COMM_AVENT(II),
1098 . COMM_TVENT(II), COMM_IPORT(II), COMM_IPORP(II), COMM_FPORT(II), COMM_FPORP(II)
1103 IF (ALLOCATED(I_INJ)) DEALLOCATE(I_INJ)
1104 IF (ALLOCATED(ISENS)) DEALLOCATE(ISENS)
1105 IF (ALLOCATED(IJET)) DEALLOCATE(IJET)
1106 IF (ALLOCATED(NJ1)) DEALLOCATE(NJ1)
1107 IF (ALLOCATED(NJ2)) DEALLOCATE(NJ2)
1108 IF (ALLOCATED(NJ3)) DEALLOCATE(NJ3)
1109 IF (ALLOCATED(IPT)) DEALLOCATE(IPT)
1110 IF (ALLOCATED(IPA)) DEALLOCATE(IPA)
1111 IF (ALLOCATED(IPZ)) DEALLOCATE(IPZ)
1112 IF (ALLOCATED(FPT)) DEALLOCATE(FPT)
1113 IF (ALLOCATED(FPA)) DEALLOCATE(FPA)
1114 IF (ALLOCATED(FPZ)) DEALLOCATE(FPZ)
1115 IF (ALLOCATED(I_INJSYS)) DEALLOCATE(I_INJSYS)
1116 DEALLOCATE(IPVENT, IFVENT, AVENT, BVENT)
1117 DEALLOCATE(TVENT, TSTOPE, DPDEF, DTPDEF,
1119 DEALLOCATE(IPORT, IPORP, IPORA, FPORT,
1121 DEALLOCATE(IPORT1, IPORP1, IPORA1, FPORT1,
1123 DEALLOCATE(IBLOCKAGE, CLEAK)
1124 DEALLOCATE(IVDP, FVDP)
1126 DEALLOCATE(COMM_BAGID, COMM_IPVENT, COMM_IPORT, COMM_IPORP,
1127 . COMM_DPDEF, COMM_AVENT, COMM_TVENT, COMM_DTPDEF,
1128 . COMM_FPORT, COMM_FPORP)
1136 . /5X,'initial surface of monitored volume . .=
',1PG20.13,
1137 . /5X,'surface error(ne.0
for non closed surf)=
',1PG20.13,
1138 . /5X,'initial volume of monitored volume. . .=
',1PG20.13)
1140 . 5X,'unit scale
for time functions =
',1PG20.13,
1141 . /5X,'unit scale
for pressure functions =
',1PG20.13,
1142 . /5X,'unit scale
for area functions =
',1PG20.13,
1143 . /5X,'unit scale
for angle functions =
',1PG20.13,
1144 . /5X,'unit scale
for distance functions =
',1PG20.13)
1145 1005 FORMAT( 5X,'EXTERNAL surface
id . . . . . . . . . .=
',I10)
1146 1006 FORMAT( 5X,'global heat transfer coefficient. . . .=
',1PG20.13)
1148 . /5X,'initial gas . . . . . . . . . . . . . .=
',I10)
1150 . 5X,'volumic viscosity . . . . . . . . . . .=
',1PG20.13,
1151 . /5X,'initial temperature . . . . . . . . . .=
',1PG20.13,
1152 . /5X,'EXTERNAL pressure . . . . . . . . . . .=
',1PG20.13,
1153 . /5X,'initial pressure. . . . . . . . . . . .=
',1PG20.13/)
1155 . 5X,'initial thermodynamic equilibrium is set at time 0
'
1156 . /5X,'--------------------------------------------------
'/)
1158 . 5X,'initial thermodynamic equilibrium is set at injection time
'
1159 . /5X,'----------------------------------------------------------
'/)
1161 . 5X,'characteristics of initial gaz
',
1162 . /5X,'------------------------------
',
1163 . /5X,'molecular weight
',
1164 . /5X,' at initial temperature . . . . .=
',1PG20.13,
1165 . /5X,'gamma at initial temperature . . . . .=
',1PG20.13,
1166 . /5X,'coefficient cpa . . . . . . . . . . . .=
',1PG20.13,
1167 . /5X,'coefficient cpb . . . . . . . . . . . .=
',1PG20.13,
1168 . /5X,'coefficient cpc . . . . . . . . . . . .=
',1PG20.13,
1169 . /5X,'coefficient cpd . . . . . . . . . . . .=
',1PG20.13,
1170 . /5X,'coefficient cpe . . . . . . . . . . . .=
',1PG20.13,
1171 . /5X,'coefficient cpf . . . . . . . . . . . .=
',1PG20.13/)
1176 . 5X,'number of injectors . . . . . . . . . .=
',I10/)
1178 . 5X,'injector. . . . . . . . . . . . . . . .=
',I10,
1179 . /10X,'injector number . . . . . . . . . . . .=',i10,
1180 . /10x,
'SENSOR NUMBER . . . . . . . . . . . . .=',i10)
1182 . /15x,
'MIXTURE CHARACTERISTICS ',
1183 . /15x,
'AT BEGINNING OF INJECTION ',
1184 . /15x,
'------------------------- ',
1185 . /15x,
'GAMMA . . . . . . . . . . . . . . . . .=',1pg20.13,
1186 . /15x,
'MOLECULAR WEIGHT. . . . . . . . . . . .=',1pg20.13,
1187 . /15x,
'COEFFICIENT CPA . . . . . . . . . . . .=',1pg20.13,
1188 . /15x,
'COEFFICIENT CPB . . . . . . . . . . . .=',1pg20.13,
1189 . /15x,
'COEFFICIENT CPC . . . . . . . . . . . .=',1pg20.13,
1190 . /15x,
'COEFFICIENT CPD . . . . . . . . . . . .=',1pg20.13,
1191 . /15x,
'COEFFICIENT CPE . . . . . . . . . . . .=',1pg20.13,
1192 . /15x,
'COEFFICIENT CPF . . . . . . . . . . . .=',1pg20.13)
1194 . /10x,
'JETTING OPTION. . . . . . . . . . . . .=',i10,
1195 . /10x,
'----------------------------------------')
1197 . 15x,
'CONICAL JET . . . . . . . . . . . . . .',
1198 . /15x,
'NODE NUMBER DEFINING INJECTION CENTER .=',i10,
1199 . /15x,
'NODE NUMBER DEFINING INJECTION AXIS . .=',i10,
1200 . /15x,
'JETTING PRESSURE TIME CURVE NUMBER. . .=',i10,
1201 . /15x,
'JETTING PRESSURE THETA CURVE NUMBER . .=',i10,
1202 . /15x,
'JETTING PRESSURE DIST. CURVE NUMBER . .=',i10,
1203 . /15x,
'TIME FUNCTION SCALE FACTOR . .=',1pg20.13,
1204 . /15x,
'THETA FUNCTION SCALE FACTOR . .=',1pg20.13,
1205 . /15x,
'DIST FUNCTION SCALE FACTOR . .=',1pg20.13/)
1207 . 15x,
'DIHEDRAL JET. . . . . . . . . . . . . .',
1208 . /15x,
'NODE NUMBER DEFINING INJECTION CENTER .=',i10,
1209 . /15x,
'NODE NUMBER DEFINING INJECTION AXIS . .=',i10,
1210 . /15x,
'NODE NUMBER DEFINING BASE LINE. . . . .=',i10,
1211 . /15x,
'JETTING PRESSURE TIME CURVE NUMBER. . .=',i10,
1212 . /15x,
'JETTING PRESSURE THETA CURVE NUMBER . .=',i10,
1213 . /15x,
'JETTING PRESSURE DIST. CURVE NUMBER . .=',i10,
1214 . /15x,
'TIME FUNCTION SCALE FACTOR . .=',1pg20.13,
1215 . /15x,
'THETA FUNCTION SCALE FACTOR . .=',1pg20.13,
1216 . /15x,
'DIST FUNCTION SCALE FACTOR . .=',1pg20.13)
1218 . /5x,
'VENT HOLES AND POROUS FABRIC SURFACES ',
1219 . /5x,
'------------------------------------- ',
1220 . /5x,
'NUMBER OF VENT HOLES AND POROUS SURFACES . .=',i10,
1221 . /5x,
'INJECTION TIME TINJ. . . . . . . . . . . . .=',1pg20.13)
1223 . 5x,
'VENTING START TIME SHIFT . . . . . . . . . .=',i10,
1224 . /5x,
' 0 : NO SHIFT',
1225 . /5x,
' 1 : JETTING FUNCTIONS ARE SHIFTED BY INJECTION TIME',
1226 . /5x,
' 2 : JETTING AND VENTING FUNCTIONS ARE SHIFTED BY',
1227 . /5x,
' INJECTION TIME TINJ',
1228 . /5x,
' 3 : JETTING AND VENTING FUNCTIONS ARE SHIFTED',
1229 . /5x,
' BY TINJ FOR JETTING FUNCTIONS',
1230 . /5x,
' BY TINJ+TSTART FOR VENTING FUNCTIONS')
1232 . / 5x,
'VENT HOLE NUMBER. . . . . . . . . . . .=',i10,
1233 . /15x,
'VENT HOLE SURFACE ID. . . . . . . . . .=',i10)
1235 . / 5x,
'POROUS SURFACE NUMBER . . . . . . . . .=',i10,
1236 . /15x,
'POROUS SURFACE ID . . . . . . . . . . .=',i10)
1238 . 15x,
'TITLE . . . . . . . . . . . . . . . . .=',1x,a20)
1239 1481
FORMAT(15x,
'ISENTHALPIC VENTING MODEL ')
1240 1482
FORMAT(15x,
'CHEMKIN MODEL FOR POROSITY : ',
1241 . /15x,
'VELOCITY VS RELATIVE PRESSURE FUNCTION =',i10,
1242 . /15x,
' SCALE FACTOR. . . . . . .=',1pg20.13)
1243 1484
FORMAT(15x,
'GRAEFE POROSITY FORMULATION')
1244 1485
FORMAT(15x,
'ISENTHALPIC VENTING MODEL WITH POSSIBLE FLOW IN')
1246 . 15x,
'INITIAL SURFACE . . . . . . . . . . . .=',1pg20.13,
1247 . /15x,
'AVENT:VENT HOLE SCALE FACTOR. . . . . .=',1pg20.13,
1248 . /15x,
'BVENT:VENT HOLE SCALE FACTOR IF CONTACT=',1pg20.13,
1249 . /15x,
'POROSITY FUNCTION / TIME. . . . . . . .=',i10,
1250 . /15x,
'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
1251 . /15x,
'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
1252 . /15x,
'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
1253 . /15x,
'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
1254 . /15x,
'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13,
1255 . /15x,
'POROSITY FUNCTION / TIME(after contact)=',i10,
1256 . /15x,
'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
1257 . /15x,
'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
1258 . /15x,
'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
1259 . /15x,
'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
1260 . /15x,
'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13)
1262 . 15x,
'START TIME FOR VENTING TSTART . . . . .=',1pg20.13,
1263 . /15x,
'RELATIVE PRES. FOR MEMBRANE DEFLATION .=',1pg20.13,
1264 . /15x,
' (DPDEF = PDEF - PEXT) ',
1265 . /15x,
'TIME DELAY BEFORE MEMBRANE DEFLATION .=',1pg20.13,
1266 . /15x,
'TIME DELAY FLAG . . . . . . . . . . . .=',i10,
1267 . /15x,
' IF IDTPDEF : 0',
1268 . /15x,
' PRESSURE SHOULD BE OVER PDEF DURING',
1269 . /15x,
' A CUMULATED DTPDEF TIME'
1270 . /15x,
' BEFORE ACTIVATING DEFLATION'
1271 . /15x,
' IF IDTPDEF : 1',
1272 . /15x,
' DEFLATION START DTPDEF AFTER',
1273 . /15x,
' DPDEF HAS BEEN REACHED',
1274 . /15x,
'END TIME FOR VENTING TSTOP. . . . . . .=',1pg20.13)
1276 . 15x,
'AVENT:VENT HOLE AREA. . . . . . . . . .=',1pg20.13,
1277 . /15x,
'BVENT:VENT HOLE SCALE FACTOR IF CONTACT=',1pg20.13,
1278 . /15x,
'POROSITY FUNCTION / TIME. . . . . . . .=',i10,
1279 . /15x,
'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
1280 . /15x,
'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
1281 . /15x,
'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
1282 . /15x,
'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
1283 . /15x,
'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13,
1284 . /15x,
'POROSITY FUNCTION / TIME(after contact)=',i10,
1285 . /15x,
'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
1286 . /15x,
'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
1287 . /15x,
'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
1288 . /15x,
'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
1289 . /15x,
'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13)
1290 1510
FORMAT(5x,2i10,4(1x,1pg20.13),2i10,2(1x,1pg20.13))
1292 . 15x,
'INITIAL SURFACE . . . . . . . . . . . .=',1pg20.13,
1293 . /15x,
'BLOCKAGE IF CONTACT . . . . . . . . . .=',i10,
1294 . /15x,
' =0 NO =1 YES')
1296 . 15x,
'START TIME FOR VENTING TSTART . . . . .=',1pg20.13,
1297 . /15x,
'RELATIVE PRESSURE TO INITIATE LEAKAGE .=',1pg20.13,
1298 . /15x,
' (DPDEF = PDEF - PEXT) ',
1299 . /15x,
'TIME DELAY BEFORE LEAKAGE . . . . . . .=',1pg20.13,
1300 . /15x,
'TIME DELAY FLAG . . . . . . . . . . . .=',i10,
1301 . /15x,
' IF IDTPDEF = 0',
1302 . /15x,
' PRESSURE SHOULD BE OVER PDEF DURING',
1303 . /15x,
' A CUMULATED DTPDEF TIME '
1304 . /15x,
' BEFORE INITIATING LEAKAGE'
1305 . /15x,
' IF IDTPDEF = 1',
1306 . /15x,
' DEFLATION STARTS DTPDEF AFTER',
1307 . /15x,
' DPDEF HAS BEEN REACHED',
1308 . /15x,
'END TIME FOR VENTING TSTOP. . . . . . .=',1pg20.13)
1309 1500
FORMAT(/5x,
'NUMBER OF COMMUNICATING VOLUMES . . . .=',i10,
1310 . /5x,
'VOLUME_ID ',
' VENT_SURF',8x,
'DELTA_PDEF',11x,
'DTPDEF',15x,
1311 .
'AVENT',16x,
'TVENT',9x,
' FCT/TIME ',
'FCT/PRES. ',
1312 .
'FCT/TIME SCALE FAC. ',
'FCT/PRES.SCALE FAC. ')
1314 . 15x,
'LEAKAGE COEFFICIENT . . . . . . . . . .=',1pg20.13,
1315 . /15x,
'LEAKAGE AREA. . . . . . . . . . . . . .=',1pg20.13,
1316 . /15x,
'LEAKAGE COEFFICIENT TIME FUNCTION . . .=',i10,
1317 . /15x,
' SCALE FACTOR. . . . . . . . . .=',1pg20.13,
1318 . /15x,
'LEAKAGE AREA TIME FUNCTION. . . . . . .=',i10,
1319 . /15x,
' SCALE FACTOR. . . . . . . . . .=',1pg20.13)