54 . SENSORS, XFRAME, IGRBRIC,
55 . UNITAB, LUID, NPC, IGRSURF, ITAB, X, PM, GEO, IXC, IXTG,
73#include "implicit_f.inc"
89 INTEGER,
INTENT(IN) :: LUID, IPM(NPROPMI, NUMMAT), IGEO(NPROPGI, NUMGEO), ITABM1(NUMNOD)
90 INTEGER,
INTENT(IN) :: NPC(*), ITAB(NUMNOD), IXC(NIXC, NUMELC), IXTG(NIXTG, NUMELTG)
91 my_real,
INTENT(IN) :: x(3, numnod), geo(npropg, numgeo), pm(npropm, nummat),
92 . xframe(nxframe, numfram+1)
93 TYPE (SURF_),
INTENT(INOUT),
DIMENSION(NSURF) :: IGRSURF
95 TYPE (GROUP_) ,
DIMENSION(NGRBRIC),
INTENT(IN) :: IGRBRIC
96 TYPE(
submodel_data),
DIMENSION(NSUBMOD),
INTENT(IN) :: LSUBMODEL
97 TYPE (SENSORS_) ,
INTENT(IN) :: SENSORS
102 INTEGER :: SURFID, SURFID_INT,SURFID_INJ
103 my_real :: FAC_M, FAC_L, FAC_T, FAC_C
104 my_real :: scal_t, scal_p, scal_s, scal_a, scal_d
106 my_real :: sa, rot, vol, vmin, veps, amu, sv
107 INTEGER :: MID_INI, IEQUI, ITTF, MID_INISYS
108 my_real :: hconv, pext, ti, pini
109 my_real :: mwi, cpai, cpbi, cpci, cpdi, cpei, cpfi, r_igc1, cpi, rmwi, cvi, gamai
111 INTEGER,
DIMENSION(:),
ALLOCATABLE :: I_INJ, ISENS, IJET, NJ1, NJ2, NJ3,
112 . ipt, ipa, ipz, i_injsys,ivel
113 my_real,
DIMENSION(:),
ALLOCATABLE :: fpt, fpa, fpz,fvel
114 INTEGER :: NVENTHOLES, NPORSURF, NVENT
115 CHARACTER(LEN = 40) :: MESS
116 CHARACTER(LEN = 20) :: VENTTITLE
117 INTEGER :: TITREVENT(20)
118 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IPVENT, IFVENT, IDTPDEF, IPORT, IPORP, ,
119 . iport1, iporp1, ipora1, ivdp, iblockage
120 my_real,
DIMENSION(:),
ALLOCATABLE :: avent, bvent, tvent, tstope, dpdef, dtpdef,
121 . fport, fporp, fpora, fport1, fporp1, fpora1, fvdp, cleak
123 CHARACTER(LEN = nchartitle) :: TITR1
124 my_real :: MI, RHOI, TI2, ESPECI, CPA, CPB, CPC, CPD, CPE, CPF, MW_TMP, RMWG,
125 . cpg, cvg, gama, shol
127 INTEGER IMESH_ALL, NSWITCH, ISWITCH, NBX, NBY, NBZ, IBRIC
128 INTEGER IREF, IGMERG, ILVOUT, NLAYER, NFACMAX, NPPMAX, IFVANI
129 INTEGER I1,I2,I3, I4, NBRIC, NN, ISH34
130 my_real tswitch, pswitch, lx, ly, lz, cnmerg, qa, qb, ptole,hmin, cfl_coef, dtmin, sjet, cgmerg
131 my_real nx, ny, nz, xx, yy, zz, x13, y13, z13, x24, y24, z24
132 my_real origx, origy, origz, dir2x, dir2y, dir2z, dir, ds, dirx, diry, dirz
133 INTEGER :: KMESH,ID_DT_OPTION, IH3D_FLAG
134 LOGICAL :: IS_AVAILABLE
143 mess =
'MONITORED VOLUME DEFINITION '
152 CALL hm_get_intv(
'surf_IDex', surfid, is_available, lsubmodel)
153 CALL hm_get_intv(
'surf_IDin', surfid_int, is_available, lsubmodel)
154 CALL hm_get_floatv(
'HEAT_T0',hconv, is_available, lsubmodel, unitab)
155 CALL hm_get_intv(
'IH3D', ih3d_flag, is_available, lsubmodel)
158 CALL hm_get_intv(
'mat_ID', mid_ini, is_available, lsubmodel)
159 CALL hm_get_floatv(
'Pext', pext, is_available, lsubmodel, unitab)
160 CALL hm_get_floatv(
'T0', ti, is_available, lsubmodel, unitab)
161 CALL hm_get_intv(
'Ittf', ittf, is_available, lsubmodel)
163 CALL hm_get_intv(
'Njet', njet, is_available, lsubmodel)
165 t_monvoln%NJET = njet
166 t_monvoln%IVOLU(8) = njet
168 ALLOCATE(t_monvoln%IBAGJET(nibjet, njet))
169 t_monvoln%IBAGJET(1:nibjet, 1:njet) = 0
170 ALLOCATE(t_monvoln%RBAGJET(nrbjet, njet))
171 t_monvoln%RBAGJET(1:nrbjet, 1:njet) = zero
174 ALLOCATE(i_inj(njet), isens(njet), ijet(njet), nj1(njet), nj2(njet), nj3(njet))
175 ALLOCATE(ipt(njet), ipa(njet), ipz(njet), fpt(njet), fpa(njet), fpz(njet))
176 ALLOCATE(ivel(njet),fvel(njet))
199 CALL hm_get_intv(
'Nvent', nventholes, is_available, lsubmodel)
200 CALL hm_get_intv(
'Nporsurf', nporsurf, is_available, lsubmodel)
202 nvent = nventholes + nporsurf
203 t_monvoln%IVOLU(11) = nvent
204 t_monvoln%NVENT = nvent
205 t_monvoln%NPORSURF = nporsurf
207 ALLOCATE(t_monvoln%IBAGHOL(nibhol, nvent))
208 t_monvoln%IBAGHOL(1:nibhol, 1:nvent) = 0
209 ALLOCATE(t_monvoln%RBAGHOL(nrbhol, nvent))
210 t_monvoln%RBAGHOL(1:nrbhol, 1:nvent) = zero
213 ALLOCATE(ipvent(nvent), ifvent(nvent), avent(nvent), bvent(nvent))
216 ALLOCATE(iport(nvent), iporp(nvent), ipora(nvent), fport(nvent),
217 . fporp(nvent), fpora(nvent))
218 ALLOCATE(iport1(nvent), iporp1(nvent), ipora1(nvent), fport1(nvent),
219 . fporp1(nvent), fpora1(nvent))
220 ALLOCATE(iblockage(nvent), cleak(nvent))
221 ALLOCATE(ivdp(nvent), fvdp(nvent))
223 IF (nventholes > 0)
THEN
224 DO ii = 1, nventholes
231 IF (ifvent(ii) == 0) ifvent(ii) = 1
238 titrevent(jj) = iachar(venttitle(jj:jj))
239 t_monvoln%IBAGHOL(jj + 14, ii) = titrevent(jj)
255 IF (ifvent(ii) == 2)
THEN
264 IF (nporsurf > 0)
THEN
272 titrevent(jj) = iachar(venttitle(jj:jj))
273 t_monvoln%IBAGHOL(jj + 14, nventholes + ii) = titrevent(jj)
278 CALL HM_GET_FLOAT_ARRAY_INDEX('abg_dpdef_ps
', DPDEF(NVENTHOLES + II), II, IS_AVAILABLE, LSUBMODEL, UNITAB)
279 CALL HM_GET_FLOAT_ARRAY_INDEX('abg_dtpdef_ps
', DTPDEF(NVENTHOLES + II), II, IS_AVAILABLE, LSUBMODEL, UNITAB)
280 CALL HM_GET_INT_ARRAY_INDEX('i_dtpdef_arr_ps
', IDTPDEF(NVENTHOLES + II), II, IS_AVAILABLE, LSUBMODEL)
281 CLEAK(NVENTHOLES + II) = ZERO
282 AVENT(NVENTHOLES + II) = ZERO
283 IPORT(NVENTHOLES + II) = 0
284 IPORA(NVENTHOLES + II) = 0
285 FPORT(NVENTHOLES + II) = ZERO
286 FPORA(NVENTHOLES + II) = ZERO
287 IF (IFVENT(NVENTHOLES + II) == 0) IFVENT(NVENTHOLES + II) = 1
288 IF (IFVENT(NVENTHOLES + II) == 3) IFVENT(NVENTHOLES + II) = 5
289 IVDP(NVENTHOLES + II) = 0
290 FVDP(NVENTHOLES + II) = ZERO
291 IF (IFVENT(NVENTHOLES + II) == 2) THEN
292 CALL HM_GET_INT_ARRAY_INDEX('abg_fct
', IVDP(NVENTHOLES + II), II, IS_AVAILABLE, LSUBMODEL)
293 CALL HM_GET_FLOAT_ARRAY_INDEX('bb10
', FVDP(NVENTHOLES + II), II, IS_AVAILABLE, LSUBMODEL, UNITAB)
297 !Specific lines to Iyp=8 (FVMBAG1)
300 CALL HM_GET_FLOATV('cgmerg
', CGMERG, IS_AVAILABLE, LSUBMODEL, UNITAB)
301 CALL HM_GET_FLOATV('tswitch
', TSWITCH, IS_AVAILABLE, LSUBMODEL, UNITAB)
302 CALL HM_GET_INTV('iswitch
', ISWITCH, IS_AVAILABLE, LSUBMODEL)
303 CALL HM_GET_FLOATV('pswitch
', PSWITCH, IS_AVAILABLE, LSUBMODEL, UNITAB)
305 CALL HM_GET_FLOATV('dtsca
', CFL_COEF, IS_AVAILABLE, LSUBMODEL, UNITAB)
306 CALL HM_GET_FLOATV('dtmin
', DTMIN, IS_AVAILABLE, LSUBMODEL, UNITAB)
313 DIR2X = XFRAME(1, JJ)
314 DIR2Y = XFRAME(2, JJ)
315 DIR2Z = XFRAME(3, JJ)
316 ORIGX = XFRAME(10, JJ)
317 ORIGY = XFRAME(11, JJ)
318 ORIGZ = XFRAME(12, JJ)
323 FAC_M = UNITAB%FAC_M(LUID)
324 FAC_L = UNITAB%FAC_L(LUID)
325 FAC_T = UNITAB%FAC_T(LUID)
326 FAC_C = FAC_M / (FAC_L * FAC_T * FAC_T)
332 T_MONVOLN%IVOLU(4) = 0
333 T_MONVOLN%EXT_SURFID = 0
336 IF (SURFID == IGRSURF(II)%ID) THEN
337 T_MONVOLN%IVOLU(4) = II
338 T_MONVOLN%EXT_SURFID = II
343.NOT.
IF ( FOUND) THEN
345 ELSEIF (IGRSURF(T_MONVOLN%IVOLU(4))%ISH4N3N == 0) THEN
346 CALL ANCMSG(MSGID = 18, ANMODE = ANINFO, MSGTYPE = MSGERROR,
347 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = SURFID)
352 CALL MONVOL_CHECK_SURFCLOSE(T_MONVOLN, ITAB, IGRSURF(T_MONVOLN%EXT_SURFID), X)
354 CALL MONVOL_ORIENT_SURF(T_MONVOLN, T_MONVOLN%TITLE, T_MONVOLN%IVOLU, ITAB,
355 . IGRSURF(T_MONVOLN%EXT_SURFID),IXC, IXTG, X, 11)
357 CALL MONVOL_COMPUTE_VOLUME(T_MONVOLN, T_MONVOLN%TITLE, T_MONVOLN%IVOLU, IGRSURF(T_MONVOLN%EXT_SURFID),
358 . ITAB, X, PM, GEO, IXC, IXTG,
359 . SA, ROT, VOL, VMIN, VEPS, SV)
361 CALL MONVOL_REVERSE_NORMALS(T_MONVOLN, T_MONVOLN%TITLE, T_MONVOLN%IVOLU, ITAB,
362 . IGRSURF(T_MONVOLN%EXT_SURFID),IXC,IXTG,VOL, X, 11)
364.OR.
IF (ITTF < 0 ITTF > 3) THEN
365 CALL ANCMSG(MSGID = 773, ANMODE = ANINFO, MSGTYPE = MSGERROR,
366 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
372 T_MONVOLN%IVOLU(66) = 0
375.AND.
IF (IPM(1, II) == MID_INI IPM(2, II) == 999) THEN
376 MWI = PM(20, II) * FAC_M
377 CPAI = PM(21, II) * FAC_L * FAC_L / (FAC_T * FAC_T)
378 CPBI = PM(22, II) * FAC_L * FAC_L / (FAC_T * FAC_T)
379 CPCI = PM(23, II) * FAC_L * FAC_L / (FAC_T * FAC_T)
380 CPDI = PM(24, II) * FAC_L * FAC_L / (FAC_T * FAC_T)
381 CPEI = PM(25, II) * FAC_L * FAC_L / (FAC_T * FAC_T)
382 CPFI = PM(26, II) * FAC_L * FAC_L / (FAC_T * FAC_T)
384 CPI = CPAI + CPBI * TI + CPCI * TI * TI + CPDI * TI * TI * TI +
385 . CPEI / (TI * TI) + CPFI * TI * TI * TI * TI
388 T_MONVOLN%IVOLU(66) = II
389 IF (CVI == ZERO) THEN
390 CALL ANCMSG(MSGID = 709, MSGTYPE = MSGERROR, ANMODE = ANINFO,
391 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
400.NOT.
IF ( FOUND) THEN
401 CALL ANCMSG(MSGID = 699, ANMODE = ANINFO, MSGTYPE = MSGERROR,
402 . I2 = MID_INI, I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
406 ALLOCATE(I_INJSYS(NJET))
408! Check injector property
412 IF (IGEO(1, JJ) == I_INJ(II)) THEN
418.NOT.
IF ( FOUND) THEN
419 CALL ANCMSG(MSGID = 723, ANMODE = ANINFO, MSGTYPE = MSGERROR,
420 . I2 = I_INJ(II), I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
426 T_MONVOLN%IVOLU(61)=0
429 T_MONVOLN%IVOLU(67)=0
430 T_MONVOLN%INT_SURFID = 0
431 IF(SURFID_INT>0) THEN
433 IF (SURFID_INT==IGRSURF(II)%ID) THEN
434 T_MONVOLN%IVOLU(67) = II
435 T_MONVOLN%INT_SURFID = II
442 IF(T_MONVOLN%IVOLU(61)/=0) NBRIC=IGRBRIC(T_MONVOLN%IVOLU(61))%ID
444 IF(T_MONVOLN%INT_SURFID/=0) SURFID_INT=IGRSURF(T_MONVOLN%INT_SURFID)%ID
446 !-----------------------------------------------
449 IF(IH3D_FLAG /= 0)THEN
450.AND.
IF(IH3D_FLAG /= -1 IH3D_FLAG /= 1)THEN
464 IF (PEXT == ZERO) THEN
465 PEXT = 101325.D0 * (UNITAB%FAC_L_WORK * UNITAB%FAC_T_WORK * UNITAB%FAC_T_WORK) / UNITAB%FAC_M_WORK
491 IF (IJET(II) > 0) THEN
492 IF (FPT(II) == ZERO) FPT(II) = ONE
493 IF (FPA(II) == ZERO) FPA(II) = ONE
494 IF (FPZ(II) == ZERO) FPZ(II) = ONE
501 FVEL(II) = THREE100 * UNITAB%FAC_T_WORK / UNITAB%FAC_L_WORK
505 IF (NVENTHOLES > 0) THEN
506 DO II = 1, NVENTHOLES
507 IF (IPVENT(II) == 0) THEN
510 IF (FPORT(II) == ZERO) FPORT(II) = ONE
511 IF (FPORP(II) == ZERO) FPORP(II) = ONE
512 IF (FPORA(II) == ZERO) FPORA(II) = ONE
513 IF (FPORT1(II) == ZERO) FPORT1(II) = ONE
514 IF (FPORP1(II) == ZERO) FPORP1(II) = ONE
515 IF (FPORA1(II) == ZERO) FPORA1(II) = ONE
519!------------------------------------------------------!
521 T_MONVOLN%IBAGJET(14,II) = 0
524 IF (IJET(II)==IGRSURF(JJ)%ID) THEN
525 T_MONVOLN%IBAGJET(14, II) = JJ
531.NOT.
IF(lFOUND)CALL ANCMSG(MSGID=847,ANMODE=ANINFO,MSGTYPE=MSGERROR,I2=IJET(II),I1=T_MONVOLN%ID,C1=T_MONVOLN%TITLE)
533 IF (IVEL(II)==NPC(JJ)) T_MONVOLN%IBAGJET(11, II)=JJ
535 IF (FVEL(II) == ZERO) FVEL(II) = ONE
538 IF(TSWITCH == ZERO) TSWITCH=EP20
545 IF (IGMERG==0) IGMERG=1
546 IF (CGMERG == ZERO) CGMERG = EM01
547 IF (PTOLE==ZERO) PTOLE=EM5
548 IF (NLAYER ==0) NLAYER =10
549 IF (NFACMAX==0) NFACMAX=20
550 IF (NPPMAX ==0) NPPMAX =20
552.AND.
IF(CFL_COEF/=ZERO DTMIN/=ZERO)ID_DT_OPTION=1
553 IF(CFL_COEF==ZERO)CFL_COEF=ZEP9
554 IF(DTMIN==ZERO)DTMIN=EM20
556 !------------------------------------------------------!
560 T_MONVOLN%IMESH_ALL = IMESH_ALL
561 T_MONVOLN%IVOLU(8) = NJET
563 T_MONVOLN%IVOLU(15) = IEQUI
564 T_MONVOLN%IVOLU(17) = ITTF
565 T_MONVOLN%IVOLU(27) = ID_DT_OPTION
566 T_MONVOLN%IVOLU(30) = KMESH
567 T_MONVOLN%IVOLU(35)=NBX*NBY
568 T_MONVOLN%IVOLU(37) = NSWITCH
569 T_MONVOLN%IVOLU(40)=NLAYER
570 T_MONVOLN%IVOLU(41)=NFACMAX
571 T_MONVOLN%IVOLU(42)=NPPMAX
572 T_MONVOLN%IVOLU(44)=ILVOUT
573 T_MONVOLN%IVOLU(54)=NBX
574 T_MONVOLN%IVOLU(55)=NBY
575 T_MONVOLN%IVOLU(59)=IREF
576 T_MONVOLN%IVOLU(60)=IGMERG
577 T_MONVOLN%IVOLU(65)=NBZ
578 T_MONVOLN%IVOLU(74) = ISWITCH !Parameter for autoswitching to uniform pressure airbag
579 T_MONVOLN%IVOLU(75) = IH3D_FLAG
581 T_MONVOLN%RVOLU(19) = HCONV
582 T_MONVOLN%RVOLU(26) = ONE / SCAL_T
583 T_MONVOLN%RVOLU(27) = ONE / SCAL_P
584 T_MONVOLN%RVOLU(28) = ONE / SCAL_S
585 T_MONVOLN%RVOLU(29) = ONE / SCAL_A
586 T_MONVOLN%RVOLU(30) = ONE / SCAL_D
587 T_MONVOLN%RVOLU(31)=CGMERG
588 T_MONVOLN%RVOLU(34)=CNMERG
589 T_MONVOLN%RVOLU(35)=DIRX
590 T_MONVOLN%RVOLU(36)=DIRY
591 T_MONVOLN%RVOLU(37)=DIRZ
592 T_MONVOLN%RVOLU(38)=DIR2X
593 T_MONVOLN%RVOLU(39)=DIR2Y
594 T_MONVOLN%RVOLU(40)=DIR2Z
595 T_MONVOLN%RVOLU(41)=ORIGX
596 T_MONVOLN%RVOLU(42)=ORIGY
597 T_MONVOLN%RVOLU(43)=ORIGZ
598 T_MONVOLN%RVOLU(44)=LX
599 T_MONVOLN%RVOLU(45)=LY
600 T_MONVOLN%RVOLU(46)=QA
601 T_MONVOLN%RVOLU(47)=QB
602 T_MONVOLN%RVOLU(50)=PTOLE
603 T_MONVOLN%RVOLU(51)=HMIN
604 T_MONVOLN%RVOLU(53)=LZ
605 T_MONVOLN%RVOLU(70) = TSWITCH
606 T_MONVOLN%RVOLU(71) = CFL_COEF
607 T_MONVOLN%RVOLU(72) = DTMIN
608 T_MONVOLN%RVOLU(73) = PSWITCH
611 MID_INISYS = T_MONVOLN%IVOLU(66)
612 IF (MID_INISYS /= 0) THEN
613 MWI = PM(20, MID_INISYS)
614 CPAI = PM(21, MID_INISYS)
615 CPBI = PM(22, MID_INISYS)
616 CPCI = PM(23, MID_INISYS)
617 CPDI = PM(24, MID_INISYS)
618 CPEI = PM(25, MID_INISYS)
619 CPFI = PM(26, MID_INISYS)
620 R_IGC1 = PM(27, MID_INISYS)
630 CALL ANCMSG(MSGID= 7 18, ANMODE = ANINFO, MSGTYPE = MSGERROR,
631 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
633 T_MONVOLN%RVOLU(7)=CPAI
634 T_MONVOLN%RVOLU(8)=CPBI
635 T_MONVOLN%RVOLU(9)=CPCI
636 T_MONVOLN%RVOLU(56)=CPDI
637 T_MONVOLN%RVOLU(57)=CPEI
638 T_MONVOLN%RVOLU(58)=CPFI
639 T_MONVOLN%RVOLU(59)=MWI
640 CPI = CPAI + CPBI * TI + CPCI * TI * TI + CPDI * TI * TI * TI +
641 . CPEI / (TI * TI) + CPFI * TI * TI * TI * TI
642 IF (MWI == ZERO) THEN
649 MI = PINI * (VOL + VEPS) / (RMWI * TI)
650 T_MONVOLN%RVOLU(1) = GAMAI
651 T_MONVOLN%RVOLU(3) = PEXT
652 T_MONVOLN%RVOLU(4) = VOL + VEPS
653 T_MONVOLN%RVOLU(11) = MI
654 T_MONVOLN%RVOLU(12) = PINI
655 T_MONVOLN%RVOLU(13) = TI
656 T_MONVOLN%RVOLU(14) = RMWI * MI
657 T_MONVOLN%RVOLU(17) = VEPS
658 T_MONVOLN%RVOLU(20) = MI
659 T_MONVOLN%RVOLU(25) = TI
660 T_MONVOLN%RVOLU(61) = GAMAI
661 RHOI = PINI / (TI * RMWI)
662 T_MONVOLN%RVOLU(62) = RHOI
663 T_MONVOLN%RVOLU(10) = RMWI
665 ESPECI=TI*(CPAI+HALF*CPBI*TI+THIRD*CPCI*TI2-RMWI)
666 ESPECI=ESPECI+FOURTH*CPDI*TI2*TI2-CPEI/TI+ONE_FIFTH*CPFI*TI2*TI2*TI
667 T_MONVOLN%RVOLU(63)= ESPECI+RMWI*TI
668 T_MONVOLN%RVOLU(64)= ZERO
669 T_MONVOLN%RVOLU(65)= ZERO
670 T_MONVOLN%RVOLU(66)= ESPECI
674 !------------------------------------------------------!
675 T_MONVOLN%RBAGJET(15,II)=FVEL(II)
676 !------------------------------------------------------!
677 T_MONVOLN%IBAGJET(13, II) = I_INJSYS(II)
678 T_MONVOLN%RBAGJET(1, II) = ZERO
679 T_MONVOLN%RBAGJET(2, II) = GEO(203, I_INJSYS(II))
680 T_MONVOLN%RBAGJET(3, II) = GEO(204, I_INJSYS(II))
681 T_MONVOLN%RBAGJET(4, II) = GEO(205, I_INJSYS(II))
682 T_MONVOLN%RBAGJET(16, II) = GEO(206, I_INJSYS(II))
683 T_MONVOLN%RBAGJET(17, II) = GEO(207, I_INJSYS(II))
684 T_MONVOLN%RBAGJET(18, II) = GEO(208, I_INJSYS(II))
685 T_MONVOLN%RBAGJET(19, II) = GEO(202, I_INJSYS(II))
686 T_MONVOLN%RBAGJET(5, II) = ZERO !FMASS
687 T_MONVOLN%RBAGJET(6, II) = ZERO !FTEMP
688 T_MONVOLN%RBAGJET(12, II) = FPT(II)
689 T_MONVOLN%RBAGJET(13, II) = FPA(II)
690 T_MONVOLN%RBAGJET(14, II) = FPZ(II)
691 T_MONVOLN%IBAGJET(2, II) = 0 !IFLU
692 T_MONVOLN%IBAGJET(3, II) = 0 !ITEMP
693 T_MONVOLN%IBAGJET(4, II) = ISENS(II)
695 IF (IJET(II) > 0) THEN
696 T_MONVOLN%IBAGJET(5, II) = USR2SYS(NJ1(II), ITABM1, MESS, T_MONVOLN%ID)
697 T_MONVOLN%IBAGJET(6, II) = USR2SYS(NJ2(II), ITABM1, MESS, T_MONVOLN%ID)
698 IF(NJ3(II) /= 0) THEN
699 T_MONVOLN%IBAGJET(7, II) = USR2SYS(NJ3(II), ITABM1, MESS, T_MONVOLN%ID)
703 IF (IPT(II) == NPC(JJ)) THEN
704 T_MONVOLN%IBAGJET(8, II) = JJ
709.NOT.
IF ( FOUND) THEN
710 CALL ANCMSG(MSGID = 12, ANMODE = ANINFO, MSGTYPE = MSGERROR,
711 . I2 = IPT(II), I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
715 IF (IPA(II) == NPC(JJ)) THEN
716 T_MONVOLN%IBAGJET(9, II) = JJ
721.NOT.
IF ( FOUND) THEN
722 CALL ANCMSG(MSGID = 13, ANMODE = ANINFO, MSGTYPE = MSGERROR,
723 . I2 = IPA(II), I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
727 IF (IPZ(II) == NPC(JJ)) THEN
728 T_MONVOLN%IBAGJET(10, II) = JJ
733.NOT.
IF ( FOUND) THEN
734 CALL ANCMSG(MSGID = 14, ANMODE = ANINFO, MSGTYPE = MSGERROR,
735 . I2 = IPZ(II), I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
738 IF (ISENS(II) > 0) THEN
740 DO JJ = 1, SENSORS%NSENSOR
741 IF (ISENS(II) == SENSORS%SENSOR_TAB(JJ)%SENS_ID) THEN
742 T_MONVOLN%IBAGJET(4, II) = JJ
743 IF (SENSORS%SENSOR_TAB(JJ)%TCRIT < TTFIRE) TTFIRE = SENSORS%SENSOR_TAB(JJ)%TCRIT
748.NOT.
IF ( FOUND) THEN
749 CALL ANCMSG(MSGID = 17, ANMODE =ANINFO, MSGTYPE = MSGERROR,
750 . I2 = ISENS(II), I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
753 CPA = T_MONVOLN%RBAGJET(2, II)
754 CPB = T_MONVOLN%RBAGJET(3, II)
755 CPC = T_MONVOLN%RBAGJET(4, II)
756 CPD = T_MONVOLN%RBAGJET(16, II)
757 CPE = T_MONVOLN%RBAGJET(17, II)
758 CPF = T_MONVOLN%RBAGJET(18, II)
759 MW_TMP = T_MONVOLN%RBAGJET(19, II)
760 RMWG = R_IGC1 / MW_TMP
761 CPG = CPA + CPB*TI+CPC*TI*TI+CPD*TI*TI*TI+
762 . CPE/(TI*TI)+CPF*TI*TI*TI*TI
765 T_MONVOLN%RBAGJET(1, II) = RMWG
767 IF (TTFIRE == INFINITY) TTFIRE = ZERO
768 T_MONVOLN%RVOLU(49) = TTFIRE
770 DO II = 1, NVENTHOLES
771 T_MONVOLN%RBAGHOL(7, II) = FPORT(II)
772 T_MONVOLN%RBAGHOL(8, II) = FPORP(II)
773 T_MONVOLN%RBAGHOL(9, II) = FPORA(II)
774 T_MONVOLN%RBAGHOL(10, II) = FPORT1(II)
775 T_MONVOLN%RBAGHOL(11, II) = FPORP1(II)
776 T_MONVOLN%RBAGHOL(12, II) = FPORA1(II)
778 T_MONVOLN%IBAGHOL(1, II) = 0
779 IF (IFVENT(II) == 1) T_MONVOLN%IBAGHOL(10, II) = 2
780 IF (IFVENT(II) == 2) T_MONVOLN%IBAGHOL(10, II) = 3
781 IF (IFVENT(II) == 3) T_MONVOLN%IBAGHOL(10, II) = 1
783 T_MONVOLN%IBAGHOL(11, II) = IDTPDEF(II)
785 T_MONVOLN%IBAGHOL(12, II) = 0
787 IF (IPVENT(II) == 0) THEN
788 T_MONVOLN%IBAGHOL(2, II) = 0
790 T_MONVOLN%IBAGHOL(2, II) = 0
793 IF (IPVENT(II) == IGRSURF(JJ)%ID) THEN
794 T_MONVOLN%IBAGHOL(2, II) = JJ
800 CALL ANCMSG(MSGID = 532, ANMODE = ANINFO, MSGTYPE = MSGERROR,
801 . I2 = IPVENT(II), I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
802 ELSEIF(IGRSURF(T_MONVOLN%IBAGHOL(2, II))%ISH4N3N == 0) THEN
803 CALL ANCMSG(MSGID = 330, ANMODE = ANINFO, MSGTYPE = MSGERROR,
804 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
806 IF (AVENT(II) == ZERO) AVENT(II) = ONE
808 IF (AVENT(II) == ZERO) DPDEF(II) = INFINITY
809 IF (AVENT(II) == ZERO) TVENT(II) = INFINITY
810.AND..AND.
IF (DPDEF(II) == ZERO DTPDEF(II) == ZERO TVENT(II) == ZERO) THEN
811 T_MONVOLN%IBAGHOL(1, II) = 1
813 T_MONVOLN%RBAGHOL(1, II) = DPDEF(II)
814 T_MONVOLN%RBAGHOL(2, II) = AVENT(II)
815 T_MONVOLN%RBAGHOL(3, II) = TVENT(II)
816 T_MONVOLN%RBAGHOL(4, II) = DTPDEF(II)
817 T_MONVOLN%RBAGHOL(6, II) = BVENT(II)
818.AND.
IF (IVDP(II) /= 0 FVDP(II) == ZERO) FVDP(II) = ONE
819 T_MONVOLN%RBAGHOL(13, II) = FVDP(II)
820 IF (TSTOPE(II) == ZERO) TSTOPE(II) = INFINITY
821 T_MONVOLN%RBAGHOL(14, II) = TSTOPE(II)
823 T_MONVOLN%IBAGHOL(3, II) = -1
824 T_MONVOLN%IBAGHOL(4, II) = -1
825 T_MONVOLN%IBAGHOL(5, II) = -1
826 T_MONVOLN%IBAGHOL(6, II) = -1
827 T_MONVOLN%IBAGHOL(7, II) = -1
828 T_MONVOLN%IBAGHOL(8, II) = -1
829 T_MONVOLN%IBAGHOL(9, II) = -1
831 IF (IPORT(II) == NPC(JJ)) T_MONVOLN%IBAGHOL(3, II) = JJ
832 IF (IPORP(II) == NPC(JJ)) T_MONVOLN%IBAGHOL(4, II) = JJ
833 IF (IPORA(II) == NPC(JJ)) T_MONVOLN%IBAGHOL(5, II) = JJ
834 IF (IPORT1(II) == NPC(JJ)) T_MONVOLN%IBAGHOL(6, II) = JJ
835 IF (IPORP1(II) == NPC(JJ)) T_MONVOLN%IBAGHOL(7, II) = JJ
836 IF (IPORA1(II) == NPC(JJ)) T_MONVOLN%IBAGHOL(8, II) = JJ
837 IF (IVDP(II) == NPC(JJ)) T_MONVOLN%IBAGHOL(9, II) = JJ
839 IF (IPORT(II) == 0) T_MONVOLN%IBAGHOL(3, II) = 0
840 IF (IPORP(II) == 0) T_MONVOLN%IBAGHOL(4, II) = 0
841 IF (IPORA(II) == 0) T_MONVOLN%IBAGHOL(5, II) = 0
842 IF (IPORT1(II) == 0) T_MONVOLN%IBAGHOL(6, II) = 0
843 IF (IPORP1(II) == 0) T_MONVOLN%IBAGHOL(7, II) = 0
844 IF (IPORA1(II) == 0) T_MONVOLN%IBAGHOL(8, II) = 0
845.AND.
IF (IVDP(II) == 0 IFVENT(II) /= 3) T_MONVOLN%IBAGHOL(9, II) = 0
846 IF (T_MONVOLN%IBAGHOL(3, II) == -1) THEN
847 T_MONVOLN%IBAGHOL(3, II) = 0
848 CALL ANCMSG(MSGID = 331, ANMODE = ANINFO, MSGTYPE = MSGERROR,
849 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IPORT(II))
851 IF (T_MONVOLN%IBAGHOL(4, II) == -1) THEN
852 T_MONVOLN%IBAGHOL(4, II) = 0
853 CALL ANCMSG(MSGID = 332, ANMODE = ANINFO, MSGTYPE = MSGERROR,
854 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IPORP(II))
856 IF (T_MONVOLN%IBAGHOL(5, II) == -1) THEN
857 T_MONVOLN%IBAGHOL(5, II)=0
858 CALL ANCMSG(MSGID = 333, ANMODE = ANINFO, MSGTYPE = MSGERROR,
859 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IPORA(II))
861 IF (T_MONVOLN%IBAGHOL(6, II) == -1) THEN
862 T_MONVOLN%IBAGHOL(6, II) = 0
863 CALL ANCMSG(MSGID=331, ANMODE=ANINFO, MSGTYPE=MSGERROR,
864 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IPORT1(II))
866 IF (T_MONVOLN%IBAGHOL(7, II) == -1) THEN
867 T_MONVOLN%IBAGHOL(7, II)=0
868 CALL ANCMSG(MSGID=332, ANMODE=ANINFO, MSGTYPE=MSGERROR,
869 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IPORP1(II))
871 IF (T_MONVOLN%IBAGHOL(8, II) == -1) THEN
872 T_MONVOLN%IBAGHOL(8, II) = 0
873 CALL ANCMSG(MSGID=333, ANMODE=ANINFO, MSGTYPE=MSGERROR,
874 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IPORA1(II))
876 IF (T_MONVOLN%IBAGHOL(9, II) == -1) THEN
877 T_MONVOLN%IBAGHOL(9, II) = 0
878 CALL ANCMSG(MSGID = 518, ANMODE = ANINFO, MSGTYPE = MSGERROR,
879 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IVDP(II))
884 T_MONVOLN%IBAGHOL(13, NVENTHOLES + II) = 1
885 IF (IFVENT(NVENTHOLES + II) == 1) T_MONVOLN%IBAGHOL(10, NVENTHOLES + II) = 2
886 IF (IFVENT(NVENTHOLES + II) == 2) T_MONVOLN%IBAGHOL(10, NVENTHOLES + II) = 3
887 IF (FPORT(NVENTHOLES + II) == ZERO) FPORT(NVENTHOLES + II) = ONE
888 IF (FPORA(NVENTHOLES + II) == ZERO) FPORA(NVENTHOLES + II) = ONE
889 T_MONVOLN%RBAGHOL(7, NVENTHOLES + II) = FPORT(NVENTHOLES + II)
890 T_MONVOLN%RBAGHOL(9, NVENTHOLES + II) = FPORA(NVENTHOLES + II)
892 T_MONVOLN%IBAGHOL(1, NVENTHOLES + II) = 0
893 T_MONVOLN%IBAGHOL(11, NVENTHOLES + II) = IDTPDEF(NVENTHOLES + II)
894 T_MONVOLN%IBAGHOL(12, NVENTHOLES + II) = 0
895 T_MONVOLN%IBAGHOL(14, NVENTHOLES + II) = IBLOCKAGE(NVENTHOLES + II)
897 IF (IPVENT(NVENTHOLES + II) == 0) THEN
898 T_MONVOLN%IBAGHOL(2, NVENTHOLES + II) = 0
900 T_MONVOLN%IBAGHOL(2, NVENTHOLES + II) = 0
902 IF (IPVENT(NVENTHOLES + II) == IGRSURF(JJ)%ID) THEN
903 T_MONVOLN%IBAGHOL(2, NVENTHOLES + II) = JJ
906 IF (T_MONVOLN%IBAGHOL(2, NVENTHOLES + II) == 0) THEN
907 CALL ANCMSG(MSGID = 532, ANMODE = ANINFO, MSGTYPE = MSGERROR,
908 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IPVENT(NVENTHOLES + II))
909 ELSEIF (IGRSURF(T_MONVOLN%IBAGHOL(2, NVENTHOLES + II))%ISH4N3N == 0) THEN
910 CALL ANCMSG(MSGID = 330, ANMODE = ANINFO, MSGTYPE = MSGERROR,
911 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
915.AND..AND.
IF (DPDEF(NVENTHOLES + II) == ZERO DTPDEF(NVENTHOLES + II) == ZERO
916 . TVENT(NVENTHOLES + II) == ZERO) THEN
917 T_MONVOLN%IBAGHOL(1, NVENTHOLES + II) = 1
919 T_MONVOLN%RBAGHOL(1, NVENTHOLES + II) = DPDEF(NVENTHOLES + II)
920 T_MONVOLN%RBAGHOL(2, NVENTHOLES + II) = AVENT(NVENTHOLES + II)
921 T_MONVOLN%RBAGHOL(3, NVENTHOLES + II) = TVENT(NVENTHOLES + II)
922 T_MONVOLN%RBAGHOL(4, NVENTHOLES + II) = DTPDEF(NVENTHOLES + II)
923 T_MONVOLN%RBAGHOL(6, NVENTHOLES + II) = CLEAK(NVENTHOLES + II)
924.AND.
IF (IVDP(NVENTHOLES + II) /= 0 FVDP(NVENTHOLES + II) == ZERO) FVDP=ONE
925 T_MONVOLN%RBAGHOL(13, NVENTHOLES + II)=FVDP(NVENTHOLES + II)
926 IF (TSTOPE(NVENTHOLES + II) == ZERO) TSTOPE(NVENTHOLES + II) = INFINITY
927 T_MONVOLN%RBAGHOL(14, NVENTHOLES + II) = TSTOPE(NVENTHOLES + II)
929 T_MONVOLN%IBAGHOL(3, NVENTHOLES + II) = -1
930 T_MONVOLN%IBAGHOL(5, NVENTHOLES + II) = -1
931 T_MONVOLN%IBAGHOL(9, NVENTHOLES + II) = -1
934 IF (IPORT(NVENTHOLES + II) == NPC(JJ)) THEN
935 T_MONVOLN%IBAGHOL(3, NVENTHOLES + II) = JJ
937 IF (IPORA(NVENTHOLES + II) == NPC(JJ)) THEN
938 T_MONVOLN%IBAGHOL(5, NVENTHOLES + II) = JJ
940 IF (IVDP(NVENTHOLES + II) == NPC(JJ)) THEN
941 T_MONVOLN%IBAGHOL(9, NVENTHOLES + II) = JJ
944 IF (IPORT(NVENTHOLES + II) == 0) T_MONVOLN%IBAGHOL(3, NVENTHOLES + II) = 0
945 IF (IPORA(NVENTHOLES + II) == 0) T_MONVOLN%IBAGHOL(5, NVENTHOLES + II) = 0
946.AND.
IF (IVDP(NVENTHOLES + II) == 0 IFVENT(NVENTHOLES + II) /= 2) THEN
947 T_MONVOLN%IBAGHOL(9, NVENTHOLES + II) = 0
950 IF (T_MONVOLN%IBAGHOL(3, NVENTHOLES + II) == -1) THEN
951 T_MONVOLN%IBAGHOL(3, NVENTHOLES + II) =0
952 CALL ANCMSG(MSGID = 331, ANMODE = ANINFO, MSGTYPE = MSGERROR,
953 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IPORT(NVENTHOLES + II))
955 IF (T_MONVOLN%IBAGHOL(4, II) == -1) THEN
956 T_MONVOLN%IBAGHOL(4, II) = 0
957 CALL ANCMSG(MSGID = 332, ANMODE = ANINFO, MSGTYPE = MSGERROR,
958 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IPORP(II))
960 IF (T_MONVOLN%IBAGHOL(5, NVENTHOLES + II) == -1) THEN
961 T_MONVOLN%IBAGHOL(5, NVENTHOLES + II) = 0
962 CALL ANCMSG(MSGID = 333, ANMODE = ANINFO, MSGTYPE = MSGERROR,
963 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IPORA(NVENTHOLES + II))
965 IF (T_MONVOLN%IBAGHOL(9, NVENTHOLES + II) == -1) THEN
966 T_MONVOLN%IBAGHOL(9, NVENTHOLES + II) = 0
967 CALL ANCMSG(MSGID = 518, ANMODE = ANINFO, MSGTYPE = MSGERROR,
968 . I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE, I2 = IVDP(NVENTHOLES + II))
973 T_MONVOLN%RVOLU(2) = AMU
974 T_MONVOLN%RVOLU(16) = VOL + VEPS
975 T_MONVOLN%RVOLU(18) = SA
976 T_MONVOLN%RVOLU(21) = ROT
977 T_MONVOLN%RVOLU(22:24) = ZERO
982 WRITE(IOUT, 1005) SURFID
983 WRITE(IOUT, 1003) SCAL_T, SCAL_P, SCAL_S, SCAL_A, SCAL_D
984 WRITE(IOUT, 1006) HCONV
985 WRITE(IOUT, 1002) SA, SV, VOL
986 WRITE(IOUT,1395) MID_INI
987 WRITE(IOUT,1400) AMU, TI, PEXT, PINI
990 ELSEIF(IEQUI == 1) THEN
993 WRITE(IOUT,1405) IEQUI
995 WRITE(IOUT,1415) MWI, GAMAI, CPAI, CPBI, CPCI, CPDI, CPEI, CPFI
998.OR..OR.
IF(ISWITCH /= 0 TSWITCH /= ZERO PSWITCH /= ZERO)THEN
999 WRITE(IOUT,1789) ISWITCH
1002 WRITE(IOUT,2703) TSWITCH
1003 WRITE(IOUT,2704) PSWITCH
1006 IF (T_MONVOLN%IMESH_ALL > 0) THEN
1007 WRITE(IOUT, 1706) T_MONVOLN%IMESH_ALL
1009 WRITE(IOUT, 1711) T_MONVOLN%INT_SURFID, T_MONVOLN%IVOLU(60),
1010 . T_MONVOLN%RVOLU(31), T_MONVOLN%RVOLU(34),
1011 . T_MONVOLN%RVOLU(71), T_MONVOLN%RVOLU(72)
1015 WRITE(IOUT,1426) NJET
1017 WRITE(IOUT,1432) II, IGEO(1, I_INJSYS(II)), ISENS(II)
1018 WRITE(IOUT, 2435) FVEL(II)
1019 CPA = T_MONVOLN%RBAGJET(2, II)
1020 CPB = T_MONVOLN%RBAGJET(3, II)
1021 CPC = T_MONVOLN%RBAGJET(4, II)
1022 CPD = T_MONVOLN%RBAGJET(16, II)
1023 CPE = T_MONVOLN%RBAGJET(17, II)
1024 CPF = T_MONVOLN%RBAGJET(18, II)
1025 MW_TMP = T_MONVOLN%RBAGJET(19, II)
1026 RMWG = R_IGC1 / MW_TMP
1027 CPG = CPA + CPB*TI+CPC*TI*TI+CPD*TI*TI*TI+
1028 . CPE/(TI*TI)+CPF*TI*TI*TI*TI
1031 WRITE(IOUT,1442) GAMA, MW_TMP, CPA, CPB, CPC,
1033 SURFID_INJ = T_MONVOLN%IBAGJET(14, II)
1035 IF (SURFID_INJ/=0) THEN
1036 IF (IGRSURF(SURFID_INJ)%ISH4N3N == 0) THEN
1037 CALL ANCMSG(MSGID = 18, ANMODE = ANINFO, MSGTYPE = MSGERROR,
1038 . I2 = IGRSURF(SURFID_INJ)%ID, I1 = T_MONVOLN%ID, C1 = T_MONVOLN%TITLE)
1040 NN = IGRSURF(SURFID_INJ)%NSEG
1043 I1 = IGRSURF(SURFID_INJ)%NODES(JJ,1)
1044 I2 = IGRSURF(SURFID_INJ)%NODES(JJ,2)
1045 I3 = IGRSURF(SURFID_INJ)%NODES(JJ,3)
1046 I4 = IGRSURF(SURFID_INJ)%NODES(JJ,4)
1047 ISH34 = IGRSURF(SURFID_INJ)%ELTYP(JJ)
1048 IF (ISH34 == 7)I4 = I3
1049 XX = HALF * (X(1, I1) + X(1, I2))
1050 YY = HALF * (X(2, I1) + X(2, I2))
1051 ZZ = HALF * (X(3, I1) + X(3, I2))
1052 X13 = X(1, I3) - X(1, I1)
1053 Y13 = X(2, I3) - X(2, I1)
1054 Z13 = X(3, I3) - X(3, I1)
1055 X24 = X(1, I4) - X(1, I2)
1056 Y24 = X(2, I4) - X(2, I2)
1057 Z24 = X(3, I4) - X(3, I2)
1058 NX = DIR * (Y13 * Z24 - Y24 * Z13)
1059 NY = DIR * (Z13 * X24 - Z24 * X13)
1060 NZ = DIR * (X13 * Y24 - X24 * Y13)
1061 DS = SQRT(NX * NX + NY * NY + NZ * NZ)
1065 WRITE(IOUT,1445) IGRSURF(SURFID_INJ)%ID, SJET
1068 WRITE(IOUT,1470) NVENT, TTFIRE
1069 WRITE(IOUT,1475)ITTF
1071 IF (T_MONVOLN%IBAGHOL(13, II) == 0) THEN
1072 TITR1='vent hole surface
'
1073 WRITE(IOUT,1472) II, IPVENT(II)
1075 TITR1='porous surface
'
1076 WRITE(IOUT,1473) II, IPVENT(II)
1079 TITREVENT(JJ) = T_MONVOLN%IBAGHOL(JJ + 14, II)
1080 VENTTITLE(JJ:JJ) = ACHAR(TITREVENT(JJ))
1082 WRITE(IOUT,1476) VENTTITLE
1083 IF (IPVENT(II)==0) THEN
1084 CALL ANCMSG(MSGID = 1050, MSGTYPE = MSGERROR, ANMODE = ANINFO,
1085 . I1 = T_MONVOLN%ID, I2 = II, C1 = T_MONVOLN%TITLE, C2 = TITR1)
1087 IF (IFVENT(II) == 1) WRITE(IOUT, 1483)
1088 IF (IFVENT(II) == 2) WRITE(IOUT, 1481)
1089 IF (IFVENT(II) == 3) WRITE(IOUT, 1482) IVDP(II), FVDP(II)
1090 IF (IFVENT(II) == 5) WRITE(IOUT, 1484)
1091 IF (IFVENT(II) == 4) WRITE(IOUT, 1485)
1093 IF (IPVENT(II) /= 0) THEN
1094 CALL MONVOL_CHECK_VENTHOLE_SURF(IPRI, T_MONVOLN, IGRSURF, II, SHOL, X, IXC, IXTG)
1095 T_MONVOLN%RBAGHOL(15, II) = SHOL
1096 IF (T_MONVOLN%IBAGHOL(13, II) == 0) THEN
1098 . SHOL,AVENT(II),BVENT(II),
1099 . IPORT(II),IPORP(II),IPORA(II),FPORT(II),FPORP(II),FPORA(II),
1100 . IPORT1(II),IPORP1(II),IPORA1(II),FPORT1(II),FPORP1(II),FPORA1(II)
1101 WRITE(IOUT,1480) TVENT(II),DPDEF(II),DTPDEF(II),IDTPDEF(II),TSTOPE(II)
1103 WRITE(IOUT,1579) SHOL,IBLOCKAGE(II)
1104 WRITE(IOUT,1580) TVENT(II),DPDEF(II),DTPDEF(II),IDTPDEF(II),TSTOPE(II)
1107 IF (T_MONVOLN%IBAGHOL(13, II) == 0) THEN
1109 . AVENT(II),BVENT(II),
1110 . IPORT(II),IPORP(II),IPORA(II),FPORT(II),FPORP(II),FPORA(II),
1111 . IPORT1(II),IPORP1(II),IPORA1(II),FPORT1(II),FPORP1(II),FPORA1(II)
1112 WRITE(IOUT,1480) TVENT(II),DPDEF(II),DTPDEF(II),IDTPDEF(II),TSTOPE(II)
1114 CLEAK =T_MONVOLN%RBAGHOL(6, II)
1115 WRITE(IOUT,1585) CLEAK(II),AVENT(II),IPORT(II),FPORT(II),IPORA(II),FPORA(II)
1116 WRITE(IOUT,1580) TVENT(II),DPDEF(II),DTPDEF(II),IDTPDEF(II),TSTOPE(II)
1121 IF(T_MONVOLN%IVOLU(75) == 1)THEN
1129 IF (ALLOCATED(I_INJ)) DEALLOCATE(I_INJ)
1130 IF (ALLOCATED(ISENS)) DEALLOCATE(ISENS)
1131 IF (ALLOCATED(IJET)) DEALLOCATE(IJET)
1132 IF (ALLOCATED(NJ1)) DEALLOCATE(NJ1)
1133 IF (ALLOCATED(NJ2)) DEALLOCATE(NJ2)
1134 IF (ALLOCATED(NJ3)) DEALLOCATE(NJ3)
1135 IF (ALLOCATED(IPT)) DEALLOCATE(IPT)
1136 IF (ALLOCATED(IPA)) DEALLOCATE(IPA)
1137 IF (ALLOCATED(IPZ)) DEALLOCATE(IPZ)
1138 IF (ALLOCATED(FPT)) DEALLOCATE(FPT)
1139 IF (ALLOCATED(FPA)) DEALLOCATE(FPA)
1140 IF (ALLOCATED(FPZ)) DEALLOCATE(FPZ)
1141 IF (ALLOCATED(I_INJSYS)) DEALLOCATE(I_INJSYS)
1142 DEALLOCATE(IPVENT, IFVENT, AVENT, BVENT)
1143 DEALLOCATE(TVENT, TSTOPE, DPDEF, DTPDEF,
1145 DEALLOCATE(IPORT, IPORP, IPORA, FPORT,
1147 DEALLOCATE(IPORT1, IPORP1, IPORA1, FPORT1,
1149 DEALLOCATE(IBLOCKAGE, CLEAK)
1150 DEALLOCATE(IVDP, FVDP)
1157 . /5X,'initial surface of monitored volume . .=
',1PG20.13,
1158 . /5X,'surface error(ne.0
for non closed surf)=
',1PG20.13,
1159 . /5X,'initial volume of monitored volume. . .=
',1PG20.13)
1161 . 5X,'unit scale
for time functions =
',1PG20.13,
1162 . /5X,'unit scale
for pressure functions =
',1PG20.13,
1163 . /5X,'unit scale
for area functions =
',1PG20.13,
1164 . /5X,'unit scale
for angle functions =
',1PG20.13,
1165 . /5X,'unit scale
for distance functions =
',1PG20.13)
1166 1005 FORMAT( 5X,'EXTERNAL surface
id . . . . . . . . . .=
',I10)
1167 1006 FORMAT( 5X,'global heat transfer coefficient. . . .=
',1PG20.13)
1169 . /5X,'initial gas . . . . . . . . . . . . . .=
',I10)
1171 . 5X,'volumic viscosity . . . . . . . . . . .=
',1PG20.13,
1172 . /5X,'initial temperature . . . . . . . . . .=
',1PG20.13,
1173 . /5X,'EXTERNAL pressure . . . . . . . . . . .=
',1PG20.13,
1174 . /5X,'initial pressure. . . . . . . . . . . .=
',1PG20.13/)
1176 . 5X,'initial thermodynamic equilibrium is set at time 0
'
1177 . /5X,'--------------------------------------------------
'/)
1179 . 5X,'thermodynamic equilibrium is set every cycle up to injection time
'/)
1181 . 5X,'thermodynamic equilibrium is set every
',I10,' cycles up to injection time
'/)
1183 . 5X,'characteristics of initial gaz
',
1184 . /5X,'------------------------------
',
1185 . /5X,'molecular weight
',
1186 . /5X,' at initial temperature . . . . .=
',1PG20.13,
1187 . /5X,'gamma at initial temperature . . . . .=
',1PG20.13,
1188 . /5X,'coefficient cpa . . . . . . . . . . . .=
',1PG20.13,
1189 . /5X,'coefficient cpb . . . . . . . . . . . .=
',1PG20.13,
1190 . /5X,'coefficient cpc . . . . . . . . . . . .=
',1PG20.13,
1191 . /5X,'coefficient cpd . . . . . . . . . . . .=
',1PG20.13,
1192 . /5X,'coefficient cpe . . . . . . . . . . . .=
',1PG20.13,
1193 . /5X,'coefficient cpf . . . . . . . . . . . .=
',1PG20.13/)
1198 . 5X,'number of injectors . . . . . . . . . .=
',I10/)
1200 . 5X,'injector. . . . . . . . . . . . . . . .=
',I10,
1201 . /10X,'injector number . . . . . . . . . . . .=
',I10,
1202 . /10X,'sensor number . . . . . . . . . . . . .=
',I10)
1204 . /15X,'mixture characteristics
',
1205 . /15X,'at beginning of injection
',
1206 . /15X,'-------------------------
',
1207 . /15X,'gamma . . . . . . . . . . . . . . . . .=
',1PG20.13,
1208 . /15X,'molecular weight. . . . . . . . . . . .=
',1PG20.13,
1209 . /15X,'coefficient cpa . . . . . . . . . . . .=
',1PG20.13,
1210 . /15X,'coefficient cpb . . . . . . . . . . . .=
',1PG20.13,
1211 . /15X,'coefficient cpc . . . . . . . . . . . .=
',1PG20.13,
1212 . /15X,'coefficient cpd . . . . . . . . . . . .=
',1PG20.13,
1213 . /15X,'coefficient cpe . . . . . . . . . . . .=
',1PG20.13,
1214 . /15X,'coefficient cpf . . . . . . . . . . . .=
',1PG20.13)
1216 . 15X,'inflator surface
id . . . . . . . . . .=
',I10,
1217 . /15X,'initial surface of inflator . . . . . .=
',1PG20.13)
1219 . /5X,'vent holes and porous fabric surfaces
',
1220 . /5X,'-------------------------------------
',
1221 . /5X,'number of vent holes and porous surfaces . .=
',I10,
1222 . /5X,'injection time tinj. . . . . . . . . . . . .=
',1PG20.13)
1224 . / 5X,'vent hole number. . . . . . . . . . . .=
',I10,
1225 . /15X,'vent hole surface
id. . . . . . . . . .=
',I10)
1227 . / 5X,'porous surface number . . . . . . . . .=
',I10,
1228 . /15X,'porous surface
id . . . . . . . . . . .=
',I10)
1230 . 5X,'venting start time shift . . . . . . . . . .=
',I10,
1231 . /5X,' 0 : no shift
',
1232 . /5X,' 1,2: venting functions are shifted by tinj
',
1233 . /5X,' 3 : venting functions are shifted by tinj+tstart
')
1235 . 15X,'title . . . . . . . . . . . . . . . . .=
',1X,A20)
1236 1481 FORMAT(15X,'isenthalpic venting model
')
1237 1482 FORMAT(15X,'chemkin model
for porosity :
',
1238 . /15X,'velocity vs relative pressure
FUNCTION =
',I10,
1239 . /15X,' scale factor. . . . . . .=
',1PG20.13)
1240 1484 FORMAT(15X,'graefe porosity formulation
')
1241 1485 FORMAT(15X,'isenthalpic venting model with possible flow in
')
1243 . 15X,'initial surface . . . . . . . . . . . .=
',1PG20.13,
1244 . /15X,'avent:vent hole scale factor. . . . . .=',1pg20.13,
1245 . /15x,
'BVENT:VENT HOLE SCALE FACTOR IF CONTACT=',1pg20.13,
1246 . /15x,
'POROSITY FUNCTION / TIME. . . . . . . .=',i10,
1247 . /15x,
'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
1248 . /15x,
'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
1249 . /15x,
'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
1250 . /15x,
'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
1251 . /15x,
'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13,
1252 . /15x,
'POROSITY FUNCTION / TIME(after contact)=',i10,
1253 . /15x,
'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
1254 . /15x,
'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
1255 . /15x,
'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
1256 . /15x,
'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
1257 . /15x,
'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13)
1259 . 15x,
'START TIME FOR VENTING TSTART . . . . .=',1pg20.13,
1260 . /15x,
'RELATIVE PRES. FOR MEMBRANE DEFLATION .=',1pg20.13,
1261 . /15x,
' (DPDEF = PDEF - PEXT) ',
1262 . /15x,
'TIME DELAY BEFORE MEMBRANE DEFLATION .=',1pg20.13,
1263 . /15x,
'TIME DELAY FLAG . . . . . . . . . . . .=',i10,
1264 . /15x,
' IF IDTPDEF : 0',
1265 . /15x,
' PRESSURE SHOULD BE OVER PDEF DURING',
1266 . /15x,
' A CUMULATED DTPDEF TIME'
1267 . /15x,
' BEFORE ACTIVATING DEFLATION'
1268 . /15x,
' IF IDTPDEF : 1',
1269 . /15x,
' DEFLATION START DTPDEF AFTER',
1270 . /15x,
' DPDEF HAS BEEN REACHED',
1271 . /15x,
'END TIME FOR VENTING TSTOP. . . . . . .=',1pg20.13)
1272 1483
FORMAT(15x,
'LOCAL VELOCITY VENTING FORMULATION')
1274 . 15x,
'AVENT:VENT HOLE AREA. . . . . . . . . .=',1pg20.13,
1275 . /15x,
'BVENT:VENT HOLE SCALE FACTOR IF CONTACT=',1pg20.13,
1276 . /15x,
'POROSITY FUNCTION / TIME. . . . . . . .=',i10,
1277 . /15x,
'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
1278 . /15x,
'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
1279 . /15x,
'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
1280 . /15x,
'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
1281 . /15x,
'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13,
1282 . /15x,
'POROSITY FUNCTION / TIME(after contact)=',i10,
1283 . /15x,
'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
1284 . /15x,
'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
1285 . /15x,
'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
1286 . /15x,
'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
1287 . /15x,
'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13)
1289 . 15x,
'INITIAL SURFACE . . . . . . . . . . . .=',1pg20.13,
1290 . /15x,
'BLOCKAGE IF CONTACT . . . . . . . . . .=',i10,
1291 . /15x,
' =0 NO =1 YES')
1293 . 15x,
'START TIME FOR VENTING TSTART . . . . .=',1pg20.13,
1294 . /15x,
'RELATIVE PRESSURE TO INITIATE LEAKAGE .=',1pg20.13,
1295 . /15x,
' (DPDEF = PDEF - PEXT) ',
1296 . /15x,
'TIME DELAY BEFORE LEAKAGE . . . . . . .=',1pg20.13,
1297 . /15x,
'TIME DELAY FLAG . . . . . . . . . . . .=',i10,
1298 . /15x,
' IF IDTPDEF = 0',
1299 . /15x,
' PRESSURE SHOULD BE OVER PDEF DURING',
1300 . /15x,
' A CUMULATED DTPDEF TIME '
1301 . /15x,
' BEFORE INITIATING LEAKAGE'
1302 . /15x,
' IF IDTPDEF = 1',
1303 . /15x,
' DEFLATION STARTS DTPDEF AFTER',
1304 . /15x,
' DPDEF HAS BEEN REACHED',
1305 . /15x,
'END TIME FOR VENTING TSTOP. . . . . . .=',1pg20.13)
1307 . 15x,
'LEAKAGE COEFFICIENT . . . . . . . . . .=',1pg20.13,
1308 . /15x,
'LEAKAGE AREA. . . . . . . . . . . . . .=',1pg20.1
1309 . /15x,
'LEAKAGE COEFFICIENT TIME FUNCTION . . .=',i10,
1310 . /15x,
' SCALE FACTOR. . . . . . . . . .=',1pg20.13,
1311 . /15x,
'LEAKAGE AREA TIME FUNCTION. . . . . . .=',i10,
1312 . /15x,
' SCALE FACTOR. . . . . . . . . .=',1pg20.13)
1313 1700
FORMAT(5x,
'FVMBAG PARAMETERS ',
1314 . /5x,
'----------------- ')
1315 1706
FORMAT(15x,
'MESH HOLES. . . . . . . . . . . . . . .=',i10)
1316 1789
FORMAT(15x,
'SWITCH OPTION (ISWITCH). . . . . . . . =',i10)
1317 1790
FORMAT(15x,
' = 1 SWITCH TO UNIFORM PRESSURE')
1318 1791
FORMAT(15x,
' = 2 MERGE TO SINGLE FV INSIDE EACH CHAMBER')
1319 2703
FORMAT(15x,
' TIME (TSWITCH) . . . . . . . . . . =',1pg20.13)
1320 2704
FORMAT(15x,
' PRESSURE DEVIATION RATIO (PSWITCH) =',1pg20.13)
1321 1711
FORMAT(/15x,
'INTERNAL SURFACE ID . . . . . . . . =',i10,
1322 . /15x,
'CELL MERGING STRATEGY: ',
1323 . /15x,
' GLOBAL MERGING TYPE. . . . . . . . .=',i10,
1324 . /15x,
' GLOBAL MERGING COEFFICIENT . . . . .=',1pg20.13,
1325 . /15x,
' NEIGHBORHOOD MERGING COEFFICIENT . .=',1pg20.13,
1326 . /15x,
'DT SCALE FACTOR . . . . . . . . . . . .=',1pg20.13,
1327 . /15x,
'MINIMUM TIMESTEP. . . . . . . . . . . .=',1pg20.13)
1328 2435
FORMAT(15x,
'INCOMING GAS VELOCITY. . . . . . . . .=',1pg20.13)
1330 . /5x,
'DEBUG OPTIONS',
1331 . /5x,
'-------------',
1332 . /5x,
' IH3D_FLAG (H3D OUTPUT). . . . . . . .=', i10)