56 . UNITAB, LUID, NPC, IGRSURF, ITAB, X, PM, GEO, IXC, IXTG,
67 use element_mod ,
only : nixc,nixtg
71#include "implicit_f.inc"
88 INTEGER,
INTENT(IN) :: LUID, ITABM1(*), NPT(*)
89 INTEGER,
INTENT(IN) :: NPC(*), ITAB(*), IXC(, *), IXTG(NIXTG, *)
90 my_real,
INTENT(IN) :: x(3, *), geo(npropg, *), pm(npropm, *),pld(2, *)
91 TYPE (SURF_),
INTENT(INOUT),
DIMENSION(NSURF) :: IGRSURF
93 TYPE(
submodel_data),
DIMENSION(NSUBMOD),
INTENT(IN) :: LSUBMODEL
94 TYPE () ,
INTENT(IN) :: SENSORS
100 my_real :: FAC_M, FAC_L, FAC_T,
101 my_real :: scal_t, scal_p, scal_s, scal_a, scal_d
102 LOGICAL :: FOUND, DECREASE
103 my_real :: sa, rot, vol, vmin, veps, amu, sv,
104 . pext, ti, pini, fac_gen
105 INTEGER :: IEQUI, ITTF, NP, IP, IS, NJET, NVENT
106 my_real :: gamai, cpai, cpbi, cpci, cpi, cvi, rmwi, cpg, rmwg, rhoi, especi, ti2, mi,
108 my_real,
DIMENSION(:),
ALLOCATABLE :: gama, cpa, cpb, cpc, fmass, ftemp, fpt, fpa, fpz,
109 . tvent, dpdef, dtpdef, fvdp, avent, bvent, tstope, fport, fporp, fpora,
110 . fport1, fporp1,fpora1
111 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IMASS, IFLU, ITEMP, ISENS, IJET, NJ1, NJ2, NJ3,
112 . IPT, IPA, IPZ, IVDP, IDTPDEF, IPVENT, IFVENT, IPORT, IPORP, IPORA, IPORT1, IPORP1, IPORA1
113 CHARACTER(LEN = 40) :: MESS
114 LOGICAL :: IS_AVAILABLE
123 mess =
'MONITORED VOLUME DEFINITION '
128 CALL hm_get_intv(
'surf_IDex', surfid, is_available, lsubmodel)
130 CALL hm_get_floatv(
'Ascalet', scal_t, is_available, lsubmodel, unitab)
131 CALL hm_get_floatv(
'AscaleP', scal_p, is_available, lsubmodel, unitab)
132 CALL hm_get_floatv(
'AscaleS', scal_s, is_available, lsubmodel, unitab)
133 CALL hm_get_floatv(
'AscaleA', scal_a, is_available, lsubmodel, unitab)
134 CALL hm_get_floatv(
'AscaleD', scal_d, is_available, lsubmodel, unitab)
136 CALL hm_get_floatv(
'MU', amu, is_available, lsubmodel, unitab)
137 CALL hm_get_floatv(
'Pext', pext, is_available, lsubmodel, unitab)
138 CALL hm_get_floatv(
'T0', ti, is_available, lsubmodel, unitab)
139 CALL hm_get_intv(
'Iequi', iequi, is_available, lsubmodel)
140 CALL hm_get_intv(
'Ittf', ittf, is_available, lsubmodel)
142 CALL hm_get_floatv(
'GAMMAi', gamai, is_available, lsubmodel, unitab)
143 CALL hm_get_floatv(
'cpai', cpai, is_available, lsubmodel, unitab)
144 CALL hm_get_floatv(
'cpbi', cpbi, is_available, lsubmodel, unitab)
145 CALL hm_get_floatv(
'cpci', cpci, is_available, lsubmodel, unitab)
147 CALL hm_get_intv(
'Njet', njet, is_available, lsubmodel)
149 t_monvoln%NJET = njet
150 t_monvoln%IVOLU(8) = njet
152 ALLOCATE(t_monvoln%IBAGJET(nibjet, njet))
153 t_monvoln%IBAGJET(1:nibjet, 1:njet) = 0
154 ALLOCATE(t_monvoln%RBAGJET(nrbjet, njet))
155 t_monvoln%RBAGJET(1:nrbjet, 1:njet) = zero
158 ALLOCATE(gama(njet), cpa(njet), cpb(njet), cpc(njet))
159 ALLOCATE(imass(njet), iflu(njet), fmass(njet), itemp(njet), ftemp(njet), isens(njet))
160 ALLOCATE(ijet(njet), nj1(njet), nj2(njet), nj3(njet))
161 ALLOCATE(ipt(njet), ipa(njet), ipz(njet), fpt(njet), fpa(njet), fpz(njet
183 IF (ijet(ii) > 0)
THEN
195 CALL hm_get_intv(
'Nvent', nvent, is_available, lsubmodel)
197 t_monvoln%IVOLU(11) = nvent
198 t_monvoln%NVENT = nvent
200 ALLOCATE(t_monvoln%IBAGHOL(nibhol, nvent))
201 t_monvoln%IBAGHOL(1:nibhol, 1:nvent) = 0
202 ALLOCATE(t_monvoln%RBAGHOL(nrbhol, nvent))
203 t_monvoln%RBAGHOL(1:nrbhol, 1:nvent) = zero
206 ALLOCATE(tvent(nvent), dpdef(nvent), dtpdef(nvent), fvdp(nvent), avent(nvent),
207 . bvent(nvent), tstope(nvent))
208 ALLOCATE(ipvent(nvent), ivdp(nvent), idtpdef(nvent), ifvent(nvent))
209 ALLOCATE(iport(nvent), iporp(nvent), ipora(nvent), iport1(nvent),
210 . iporp1(nvent), ipora1(nvent))
211 ALLOCATE(fport(nvent), fporp(nvent), fpora(nvent), fport1(nvent),
212 . fporp1(nvent), fpora1(nvent))
246 t_monvoln%IVOLU(4) = 0
249 IF (surfid == igrsurf(ii)%ID)
THEN
250 t_monvoln%IVOLU(4) = ii
251 t_monvoln%EXT_SURFID = ii
256 IF (.NOT. found)
THEN
258 ELSEIF (igrsurf(t_monvoln%IVOLU(4))%ISH4N3N == 0)
THEN
259 CALL ancmsg(msgid = 18, anmode = aninfo, msgtype = msgerror,
260 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = surfid)
268 . igrsurf(t_monvoln%EXT_SURFID),ixc, ixtg, x, 2)
270 CALL monvol_compute_volume(t_monvoln, t_monvoln%TITLE, t_monvoln%IVOLU, igrsurf(t_monvoln%EXT_SURFID),
271 . itab, x, pm, geo, ixc, ixtg,
272 . sa, rot, vol, vmin, veps, sv)
275 . igrsurf(t_monvoln%EXT_SURFID),ixc,ixtg,vol, x, 2)
277 IF (ittf < 0 .OR. ittf > 3)
THEN
278 CALL ancmsg(msgid = 773, anmode = aninfo, msgtype = msgerror,
279 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
284 fac_m = unitab%FAC_M(luid)
285 fac_l = unitab%FAC_L(luid)
286 fac_t = unitab%FAC_T(luid)
287 fac_c = fac_m / (fac_l * fac_t * fac_t)
292 IF (scal_t == zero)
THEN
294 scal_t = one * fac_gen
296 IF (scal_p == zero)
THEN
298 scal_p = one * fac_gen
300 IF (scal_s == zero)
THEN
302 scal_s = one * fac_gen
304 IF (scal_a == zero)
THEN
306 scal_a = one * fac_gen
308 IF (scal_d == zero)
THEN
310 scal_d = one * fac_gen
313 IF (amu == zero) amu = em02
314 IF(pext == zero)
THEN
315 pext = 101325.d0 * (unitab%FAC_L_WORK * unitab%FAC_T_WORK * unitab%FAC_T_WORK) / unitab%FAC_M_WORK
318 IF (ti == zero) ti = twohundred95
320 IF (imass(ii) /= 0 .AND. fmass(ii) == zero)
THEN
322 fmass(ii) = one * fac_gen
324 IF (itemp(ii) /= 0 .AND. ftemp(ii) == zero)
THEN
326 ftemp(ii) = one * fac_gen
328 IF (iflu(ii) /= 0)
THEN
329 fmass(ii) = fmass(ii) / fac_t
331 IF (fpt(ii) == zero)
THEN
333 fpt(ii) = one * fac_gen
335 IF (fpa(ii) == zero)
THEN
337 fpa(ii) = one * fac_gen
339 IF (fpz(ii) == zero)
THEN
341 fpz(ii) = one * fac_gen
345 IF (ivdp(ii) > 0) ifvent(ii) = 2
346 IF (ipvent(ii) == 0)
THEN
349 IF (fport(ii) == zero) fport(ii) = one
350 IF (fporp(ii) == zero) fporp(ii) = one
351 IF (fpora(ii) == zero) fpora(ii) = one
352 IF (fport1(ii) == zero) fport1(ii) = one
353 IF (fporp1(ii) == zero) fporp1(ii) = one
354 IF (fpora1(ii) == zero) fpora1(ii) = one
356 IF (gamai == zero)
THEN
364 cpi = cpai + ti * (cpbi + cpci * ti)
366 rmwi = cvi * (gamai - one)
367 mi = pini * (vol + veps) / (rmwi * ti)
370 IF (isens(ii) > 0)
THEN
372 DO is = 1, sensors%NSENSOR
373 IF (isens(ii) == sensors%SENSOR_TAB(is)%SENS_ID)
THEN
374 t_monvoln%IBAGJET(4, ii) = is
375 IF (sensors%SENSOR_TAB(is)%TCRIT < ttfire) ttfire = sensors%SENSOR_TAB(is)%TCRIT
380 IF (.NOT. found)
THEN
381 CALL ancmsg(msgid = 17, anmode = aninfo, msgtype = msgerror,
382 . i2 = isens(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
386 IF (ttfire == infinity)
THEN
393 t_monvoln%RVOLU(26) = one / scal_t
394 t_monvoln%RVOLU(27) = one / scal_p
395 t_monvoln%RVOLU(28) = one / scal_s
396 t_monvoln%RVOLU(29) = one / scal_a
397 t_monvoln%RVOLU(30) = one / scal_d
399 IF (iequi > 0) iequi = 1
400 t_monvoln%IVOLU(15) = iequi
401 t_monvoln%IVOLU(17) = ittf
402 t_monvoln%IVOLU(8) = njet
404 t_monvoln%RVOLU(31) = pini
405 t_monvoln%RVOLU(7) = cpai
406 t_monvoln%RVOLU(8) = cpbi
407 t_monvoln%RVOLU(9) = cpci
408 t_monvoln%RVOLU(10) = rmwi
409 t_monvoln%RVOLU(49) = ttfire
411 t_monvoln%RVOLU(1) = gamai
412 t_monvoln%RVOLU(3) = pext
413 t_monvoln%RVOLU(4) = vol+veps
414 t_monvoln%RVOLU(11) = mi
415 t_monvoln%RVOLU(12) = pini
416 t_monvoln%RVOLU(13) = ti
417 t_monvoln%RVOLU(14) = rmwi*mi
418 t_monvoln%RVOLU(17) = veps
419 t_monvoln%RVOLU(20) = mi
420 t_monvoln%RVOLU(25) = ti
421 t_monvoln%RVOLU(61) = gamai
422 rhoi = pini / (ti * rmwi)
423 t_monvoln%RVOLU(62) = rhoi
425 especi = ti * (cpai + half * cpbi * ti + third * cpci * ti2 - rmwi)
427 t_monvoln%RVOLU(63) = especi + rmwi * ti
428 t_monvoln%RVOLU(64) = zero
429 t_monvoln%RVOLU(65) = zero
430 t_monvoln%RVOLU(66) = especi
432 t_monvoln%IBAGJET(13, ii) = 0
433 t_monvoln%RBAGJET(1, ii) = gama(ii)
434 t_monvoln%RBAGJET(2, ii) = cpa(ii)
435 t_monvoln%RBAGJET(3, ii) = cpb(ii)
436 t_monvoln%RBAGJET(4, ii) = cpc(ii)
437 t_monvoln%RBAGJET(5, ii) = fmass(ii)
438 t_monvoln%RBAGJET(6, ii) = ftemp(ii)
439 t_monvoln%RBAGJET(12, ii) = fpt(ii)
440 t_monvoln%RBAGJET(13, ii) = fpa(ii)
441 t_monvoln%RBAGJET(14, ii) = fpz(ii)
442 IF (imass(ii) == 0)
THEN
443 t_monvoln%IBAGJET(1, ii) = 0
447 IF (imass(ii) == npc(jj))
THEN
448 t_monvoln%IBAGJET(1, ii) = jj
450 np = (npt(jj + 1) - npt(jj)) / 2
451 IF (iflu(ii) == 0)
THEN
452 DO ip = (npt(jj) - 1) / 2 + 1, (npt(jj + 1) - 1) / 2 - 1
453 IF (pld(2, ip + 1) < pld(2, ip)) decrease = .true.
456 CALL ancmsg(msgid=540, msgtype = msgwarning, anmode = aninfo_blind_1,
457 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = imass(ii), i3 = ii)
460 DO ip = (npt(jj) - 1) / 2 + 1, (npt(jj + 1) - 1) / 2
461 IF (pld(2, ip) < zero) decrease = .true.
464 CALL ancmsg(msgid = 541, msgtype = msgwarning, anmode = aninfo_blind_1,
465 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = imass(ii), i3 = ii)
472 IF (.NOT. found)
THEN
473 CALL ancmsg(msgid = 10, anmode = aninfo, msgtype = msgerror,
474 . i2 = imass(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
477 t_monvoln%IBAGJET(2, ii) = iflu(ii)
478 IF (itemp(ii) == 0)
THEN
479 t_monvoln%IBAGJET(3, ii) = 0
483 IF (itemp(ii) == npc(jj))
THEN
484 t_monvoln%IBAGJET(3, ii) = jj
489 IF (.NOT. found)
THEN
490 CALL ancmsg(msgid = 11, anmode = aninfo, msgtype = msgerror,
491 . i2 = itemp(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
495 IF (ijet(ii) > 0)
THEN
496 t_monvoln%IBAGJET(5, ii) = usr2sys(nj1(ii), itabm1, mess, t_monvoln%ID)
497 t_monvoln%IBAGJET(6, ii) = usr2sys(nj2(ii), itabm1, mess, t_monvoln%ID)
498 IF(nj3(ii) /= 0)
THEN
499 t_monvoln%IBAGJET(7, ii) = usr2sys(nj3(ii), itabm1, mess, t_monvoln%ID)
503 IF (ipt(ii) == npc(jj))
THEN
504 t_monvoln%IBAGJET(8, ii) = jj
509 IF (.NOT. found)
THEN
510 CALL ancmsg(msgid = 12, anmode = aninfo, msgtype = msgerror,
511 . i2 = ipt(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
515 IF (ipa(ii) == npc(jj))
THEN
516 t_monvoln%IBAGJET(9, ii) = jj
521 IF (.NOT. found)
THEN
522 CALL ancmsg(msgid = 13, anmode = aninfo, msgtype = msgerror,
523 . i2 = ipa(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
527 IF (ipz(ii) == npc(jj))
THEN
528 t_monvoln%IBAGJET(10, ii) = jj
533 IF (.NOT. found)
THEN
534 CALL ancmsg(msgid = 14, anmode = aninfo, msgtype = msgerror,
535 . i2 = ipz(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
538 cpg = cpa(ii) + ti * (cpb(ii) + cpc(ii) * ti)
539 rmwg = cpg * (gama(ii) - one) / gama(ii)
540 t_monvoln%RBAGJET(1, ii) = rmwg
541 IF (nj1(ii) == 0)
THEN
546 IF (nj3(ii) == 0)
THEN
547 t_monvoln%IBAGJET(7, ii) = t_monvoln%IBAGJET(5, ii)
552 t_monvoln%IBAGHOL(13, ii) = 0
553 t_monvoln%RBAGHOL(7, ii) = fport(ii
554 t_monvoln%RBAGHOL(8, ii) = fporp(ii)
555 t_monvoln%RBAGHOL(9, ii) = fpora(ii)
556 t_monvoln%RBAGHOL(10, ii) = fport1(ii)
557 t_monvoln%RBAGHOL(11, ii) = fporp1(ii)
558 t_monvoln%RBAGHOL(12, ii) = fpora1(ii)
559 t_monvoln%IBAGHOL(1, ii) = 0
560 t_monvoln%IBAGHOL(10, ii) = ifvent(ii)
561 t_monvoln%IBAGHOL(11, ii) = idtpdef(ii)
562 t_monvoln%IBAGHOL(12, ii) = 0
563 IF (ipvent(ii) == 0)
THEN
564 t_monvoln%IBAGHOL(2, ii) = 0
566 t_monvoln%IBAGHOL(2, ii) = 0
569 IF (ipvent(ii) == igrsurf(jj)%ID)
THEN
570 t_monvoln%IBAGHOL(2, ii) = jj
576 CALL ancmsg(msgid = 532, anmode = aninfo, msgtype = msgerror,
577 . i2 = ipvent(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
578 ELSEIF(igrsurf(t_monvoln%IBAGHOL(2, ii))%ISH4N3N == 0)
THEN
579 CALL ancmsg(msgid = 330, anmode = aninfo, msgtype = msgerror,
580 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
582 IF (avent(ii) == zero) avent(ii) = one
584 IF (avent(ii) == zero) dpdef(ii) = infinity
585 IF (avent(ii) == zero) tvent(ii) = infinity
586 IF (dpdef(ii) == zero .AND. dtpdef(ii) == zero .AND. tvent(ii) == zero)
THEN
587 t_monvoln%IBAGHOL(1, ii) = 1
589 t_monvoln%RBAGHOL(1, ii) = dpdef(ii)
590 t_monvoln%RBAGHOL(2, ii) = avent(ii)
591 t_monvoln%RBAGHOL(3, ii) = tvent(ii)
592 t_monvoln%RBAGHOL(4, ii) = dtpdef(ii)
593 t_monvoln%RBAGHOL(6, ii) = bvent(ii)
594 IF (ivdp(ii) /= 0 .AND. fvdp(ii) == zero) fvdp(ii) = one
595 t_monvoln%RBAGHOL(13, ii) = fvdp(ii)
596 IF (tstope(ii) == zero) tstope(ii) = infinity
597 t_monvoln%RBAGHOL(14, ii) = tstope(ii)
599 t_monvoln%IBAGHOL(3, ii) = -1
600 t_monvoln%IBAGHOL(4, ii) = -1
601 t_monvoln%IBAGHOL(5, ii) = -1
602 t_monvoln%IBAGHOL(6, ii) = -1
603 t_monvoln%IBAGHOL(7, ii) = -1
604 t_monvoln%IBAGHOL(8, ii) = -1
605 t_monvoln%IBAGHOL(9, ii) = -1
607 IF (iport(ii) == npc(jj)) t_monvoln%IBAGHOL(3, ii) = jj
608 IF (iporp(ii) == npc(jj)) t_monvoln%IBAGHOL(4, ii) = jj
609 IF (ipora(ii) == npc(jj)) t_monvoln%IBAGHOL(5, ii) = jj
610 IF (iport1(ii) == npc(jj)) t_monvoln%IBAGHOL(6, ii) = jj
611 IF (iporp1(ii) == npc(jj)) t_monvoln%IBAGHOL(7, ii) = jj
612 IF (ipora1(ii) == npc(jj)) t_monvoln%IBAGHOL(8, ii) = jj
613 IF (ivdp(ii) == npc(jj)) t_monvoln%IBAGHOL(9, ii) = jj
615 IF (iport(ii) == 0) t_monvoln%IBAGHOL(3, ii) = 0
616 IF (iporp(ii) == 0) t_monvoln%IBAGHOL(4, ii) = 0
617 IF (ipora(ii) == 0) t_monvoln%IBAGHOL(5, ii) = 0
618 IF (iport1(ii) == 0) t_monvoln%IBAGHOL(6, ii) = 0
619 IF (iporp1(ii) == 0) t_monvoln%IBAGHOL(7, ii) = 0
620 IF (ipora1(ii) == 0) t_monvoln%IBAGHOL(8, ii) = 0
621 IF (ivdp(ii) == 0) t_monvoln%IBAGHOL(9, ii) = 0
622 IF (t_monvoln%IBAGHOL(3, ii) == -1)
THEN
623 t_monvoln%IBAGHOL(3, ii) = 0
624 CALL ancmsg(msgid = 331, anmode = aninfo, msgtype = msgerror,
625 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = iport(ii))
627 IF (t_monvoln%IBAGHOL(4, ii) == -1)
THEN
628 t_monvoln%IBAGHOL(4, ii) = 0
629 CALL ancmsg(msgid = 332, anmode = aninfo, msgtype = msgerror,
630 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = iporp(ii))
632 IF (t_monvoln%IBAGHOL(5, ii) == -1)
THEN
633 t_monvoln%IBAGHOL(5, ii)=0
634 CALL ancmsg(msgid = 333, anmode = aninfo, msgtype
635 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = ipora(ii))
637 IF (t_monvoln%IBAGHOL(6, ii) == -1)
THEN
638 t_monvoln%IBAGHOL(6, ii) = 0
639 CALL ancmsg(msgid=331, anmode=aninfo
640 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = iport1(ii))
642 IF (t_monvoln%IBAGHOL(7, ii) == -1)
THEN
643 t_monvoln%IBAGHOL(7, ii)=0
644 CALL ancmsg(msgid=332, anmode=aninfo, msgtype=msgerror,
645 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = iporp1(ii))
647 IF (t_monvoln%IBAGHOL(8, ii) == -1)
THEN
648 t_monvoln%IBAGHOL(8, ii) = 0
649 CALL ancmsg(msgid=333, anmode=aninfo, msgtype=msgerror,
650 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = ipora1(ii))
652 IF (t_monvoln%IBAGHOL(9, ii) == -1)
THEN
653 t_monvoln%IBAGHOL(9, ii) = 0
654 CALL ancmsg(msgid = 518, anmode = aninfo, msgtype = msgerror,
655 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = ivdp(ii))
659 t_monvoln%RVOLU(2) = amu
660 t_monvoln%RVOLU(16) = vol + veps
661 t_monvoln%RVOLU(18) = sa
662 t_monvoln%RVOLU(21) = rot
663 t_monvoln%RVOLU(22:24) = zero
668 WRITE(iout, 1005) surfid
669 WRITE(iout, 1003) scal_t, scal_p, scal_s, scal_a, scal_d
670 WRITE(iout, 1002) sa, sv, vol
671 WRITE(iout, 1400) amu, ti, pext, pini
677 WRITE(iout, 1410) gamai, cpai, cpbi, cpci
682 . imass(ii), iflu(ii), fmass(ii), itemp(ii), ftemp(ii), isens(ii)
683 WRITE(iout, 1440) gama(ii), cpa(ii), cpb(ii), cpc(ii)
684 WRITE(iout, 1450) ijet(ii)
685 IF (ijet(ii) > 0)
THEN
686 IF (nj3(ii) == 0)
THEN
687 WRITE(iout, 1460) nj1(ii), nj2(ii), ipt(ii), ipa(ii), ipz(ii),
688 . fpt(ii), fpa(ii), fpz(ii)
690 WRITE(iout, 1461) nj1(ii), nj2(ii), nj3(ii), ipt(ii), ipa(ii), ipz(ii),
691 . fpt(ii), fpa(ii), fpz(ii)
695 WRITE(iout, 1470) nvent,ttfire
697 WRITE(iout, 1471) ittf
700 WRITE(iout,1472) ii, ipvent(ii)
701 IF (ipvent(ii) == 0 .AND. avent(ii) == zero)
THEN
702 CALL ancmsg(msgid = 1019, msgtype = msgwarning, anmode = aninfo,
703 . i1 = t_monvoln%ID, i2 = ii, c1 = t_monvoln%TITLE, c2 =
'VENT HOLE SURFACE')
705 IF (ifvent(ii) <= 1)
WRITE(iout, 1481)
706 IF (ifvent(ii) == 2)
THEN
707 WRITE(iout, 1482) ivdp(ii), fvdp(ii)
709 IF (ifvent(ii) == 3)
WRITE(iout, 1484)
710 IF (ifvent(ii) == 4)
WRITE(iout, 1485)
711 IF (ipvent(ii) /= 0)
THEN
713 t_monvoln%RBAGHOL(15, ii) = shol
715 . shol,avent(ii),bvent(ii),
716 . iport(ii),iporp(ii),ipora(ii),fport(ii),fporp(ii),fpora(ii),
717 . iport1(ii),iporp1(ii),ipora1(ii),fport1(ii),fporp1(ii),fpora1(ii)
718 WRITE(iout,1480) tvent(ii),dpdef(ii),dtpdef(ii),idtpdef(ii),tstope(ii)
721 . avent(ii),bvent(ii),
722 . iport(ii),iporp(ii),ipora(ii),fport(ii),fporp(ii),fpora(ii),
723 . iport1(ii),iporp1(ii),ipora1(ii),fport1(ii),fporp1(ii),fpora1(ii)
724 WRITE(iout,1480) tvent(ii),dpdef(ii),dtpdef(ii),idtpdef(ii),tstope(ii)
731 DEALLOCATE(gama, cpa, cpb, cpc)
732 DEALLOCATE(imass, iflu, fmass, itemp, ftemp, isens)
733 DEALLOCATE(ijet, nj1, nj2, nj3)
734 DEALLOCATE(ipt, ipa, ipz, fpt, fpa, fpz)
737 DEALLOCATE(tvent, dpdef, dtpdef, fvdp, avent, bvent, tstope)
738 DEALLOCATE(ipvent, ivdp, idtpdef, ifvent)
739 DEALLOCATE(iport, iporp, ipora, iport1, iporp1, ipora1)
740 DEALLOCATE(fport, fporp, fpora, fport1, fporp1, fpora1)
748 . /5x,
'INITIAL SURFACE OF MONITORED VOLUME . .=',1pg20.13,
749 . /5x,
'SURFACE ERROR(NE.0 FOR NON CLOSED SURF)=',1pg20.13,
750 . /5x,
'INITIAL VOLUME OF MONITORED VOLUME. . .=',1pg20.13)
752 . 5x,
'UNIT SCALE FOR TIME FUNCTIONS =',1pg20.13,
753 . /5x,
'UNIT SCALE FOR PRESSURE FUNCTIONS =',1pg20.13,
754 . /5x,
'UNIT SCALE FOR AREA FUNCTIONS =',1pg20.13,
755 . /5x,
'UNIT SCALE FOR ANGLE FUNCTIONS =',1pg20.13,
756 . /5x,
'UNIT SCALE FOR DISTANCE FUNCTIONS =',1pg20.13)
757 1005
FORMAT( 5x,
'EXTERNAL SURFACE ID . . . . . . . . . .=',i10)
759 . 5x,
'VOLUMIC VISCOSITY . . . . . . . . . . .=',1pg20.13,
760 . /5x,
'INITIAL TEMPERATURE . . . . . . . . . .=',1pg20.13,
761 . /5x,
'EXTERNAL PRESSURE . . . . . . . . . . .=',1pg20.13,
762 . /5x,
'INITIAL PRESSURE. . . . . . . . . . . .=',1pg20.13/)
764 . 5x,
'INITIAL THERMODYNAMIC EQUILIBRIUM IS SET AT TIME 0'
765 . /5x,
'--------------------------------------------------'/)
767 . 5x,
'INITIAL THERMODYNAMIC EQUILIBRIUM IS SET AT INJECTION TIME'
768 . /5x,
'----------------------------------------------------------'/)
770 . 5x,
'CHARACTERISTICS OF INITIAL GAZ ',
771 . /5x,
'------------------------------ ',
772 . /5x,
'GAMMA AT INITIAL TEMPERATURE. . . . . .=',1pg20.13,
773 . /5x,
'COEFFICIENT CPA . . . . . . . . . . . .=',1pg20.13,
774 . /5x,
'COEFFICIENT CPB . . . . . . . . . . . .=',1pg20.13,
775 . /5x,
'COEFFICIENT CPC . . . . . . . . . . . .=',1pg20.13/)
780 . 5x,
'NUMBER OF INFLATORS . . . . . . . . . .=',i10/)
782 . 5x,
'INFLATOR NUMBER . . . . . . . . . . . .=',i10,
783 . /15x,
'TIME FUNCTION FOR INCOMING TOTAL MASS .=',i10,
784 . /15x,
' or MASS FLUX if IFLU=1 . . . . IFLU =',i10,
785 . /15x,
'SCALE FACTOR FOR INCOMING TOTAL MASS .=',1pg20.13,
786 . /15x,
'TIME FUNCTION FOR INCOMIMG GAS TEMP . .=',i10,
787 . /15x,
'SCALE FACTOR FOR INCOMIMG GAS TEMP . .=',1pg20.13,
788 . /15x,
'SENSOR NUMBER . . . . . . . . . . . . .=',i10)
790 . /15x,
'GAZ CHARACTERISTICS ',
791 . /15x,
'------------------- ',
792 . /15x,
'GAMMA AT INITIAL TEMPERATURE. . . . . .=',1pg20.13,
793 . /15x,
'COEFFICIENT CPA . . . . . . . . . . . .=',1pg20.13,
794 . /15x,
'COEFFICIENT CPB . . . . . . . . . . . .=',1pg20.13,
795 . /15x,
'COEFFICIENT CPC . . . . . . . . . . . .=',1pg20.13)
797 . /15x,
'JETTING OPTION. . . . . . . . . . . . .=',i10,
798 . /15x,
'----------------------------------------')
800 . 15x,
'CONICAL JET . . . . . . . . . . . . . .',
801 . /15x
'NODE NUMBER DEFINING INJECTION CENTER .=',i10,
802 . /15x,
'NODE NUMBER DEFINING INJECTION AXIS . .=',i10,
803 . /15x,
'JETTING PRESSURE TIME CURVE NUMBER. . .=',i10,
804 . /15x,
'JETTING PRESSURE THETA CURVE NUMBER . .='
805 . /15x,
'JETTING PRESSURE DIST. CURVE NUMBER . .=',i10,
806 . /15x,
'TIME FUNCTION SCALE FACTOR . .=',1pg20.13,
807 . /15x,
'THETA FUNCTION SCALE FACTOR . .=',1pg20.13,
808 . /15x,
'DIST FUNCTION SCALE FACTOR . .=',1pg20.13/)
810 . 15x,
'DIHEDRAL JET. . . . . . . . . . . . . .',
811 . /15x,
'NODE NUMBER DEFINING INJECTION CENTER .=',i10,
812 . /15x,
'NODE NUMBER DEFINING INJECTION AXIS . .=',i10,
813 . /15x,
'NODE NUMBER DEFINING BASE LINE. . . . .=',i10,
814 . /15x,
'JETTING PRESSURE TIME CURVE NUMBER. . .=',i10,
815 . /15x,
'JETTING PRESSURE THETA CURVE NUMBER . .=',i10,
816 . /15x,
'JETTING PRESSURE DIST. CURVE NUMBER . .=',i10,
817 . /15x,
'TIME FUNCTION SCALE FACTOR . .=',1pg20.13,
818 . /15x,
'THETA FUNCTION SCALE FACTOR . .=',1pg20.13,
819 . /15x,
'DIST FUNCTION SCALE FACTOR . .=',1pg20.13)
821 . /5x,
'VENT HOLES AND POROUS FABRIC SURFACES ',
822 . /5x,'-------------------------------------
',
823 . /5X,'number of vent holes and porous surfaces . .=
',I10,
824 . /5X,'injection time tinj. . . . . . . . . . . . .=
',1PG20.13)
826 . 5X,'venting start time shift . . . . . . . . . .=
',I10,
827 . /5X,' 0 : no shift
',
828 . /5X,' 1 : jetting functions are shifted by injection time
',
829 . /5X,' 2 : jetting and venting functions are shifted by
',
830 . /5X,' injection time tinj
',
831 . /5X,' 3 : jetting and venting functions are shifted
',
832 . /5X,' by tinj
for jetting functions
',
833 . /5X,' by tinj+tstart
for venting functions
')
835 . / 5X,'vent hole number. . . . . . . . . . . .=
',I10,
836 . /15X,'vent hole surface
id. . . . . . . . . .=
',I10)
837 1481 FORMAT(15X,'isenthalpic venting model
')
838 1482 FORMAT(15X,'chemkin model
for porosity :
',
839 . /15X,'velocity vs relative pressure
FUNCTION =
',I10,
840 . /15X,' scale factor. . . . . . .=
',1PG20.13)
841 1484 FORMAT(15X,'graefe porosity formulation
')
842 1485 FORMAT(15X,'isenthalpic venting model with possible flow in
')
844 . 15X,'initial surface . . . . . . . . . . . .=
',1PG20.13,
845 . /15X,'avent:vent hole scale factor. . . . . .=
',1PG20.13,
846 . /15X,'bvent:vent hole scale factor
if contact=
',1PG20.13,
847 . /15X,'porosity function / time. . . . . . . .=
',I10,
848 . /15X,'porosity function / pressure. . . . . .=
',I10,
849 . /15X,'porosity function /
area. . . . . . . .=
',I10,
850 . /15X,'porosity time function scale factor =
',1PG20.13,
851 . /15X,'porosity pressure function scale factor=
',1PG20.13,
852 . /15X,'porosity
area function scale factor . .=
',1PG20.13,
853 . /15X,'porosity function / time(after contact)=
',I10,
854 . /15X,'porosity function / pressure. . . . . .=
',I10,
855 . /15X,'porosity function /
area. . . . . . . .=
',I10,
856 . /15X,'porosity time function scale factor =
',1PG20.13,
857 . /15X,'porosity pressure function scale factor=
',1PG20.13,
858 . /15X,'porosity
area function scale factor . .=
',1PG20.13)
860 . 15X,'start time
for venting tstart . . . . .=
',1PG20.13,
861 . /15X,'relative pres.
for membrane deflation .=
',1PG20.13,
862 . /15X,' (DPDEF = PDEF - PEXT)
',
863 . /15X,'time delay before membrane deflation .=
',1PG20.13,
864 . /15X,'time delay flag . . . . . . . . . . . .=
',I10,
865 . /15X,' if idtpdef : 0
',
866 . /15X,' pressure should be over pdef during
',
867 . /15X,' a cumulated dtpdef time'
868 . /15x,
' BEFORE ACTIVATING DEFLATION'
869 . /15x,
' IF IDTPDEF : 1',
870 . /15x,
' DEFLATION START DTPDEF AFTER',
871 . /15x,
' DPDEF HAS BEEN REACHED',
872 . /15x,
'END TIME FOR VENTING TSTOP. . . . . . .=',1pg20.13)
874 . 15x,
'AVENT:VENT HOLE AREA. . . . . . . . . .=',1pg20.13,
875 . /15x,
'BVENT:VENT HOLE SCALE FACTOR IF CONTACT=',1pg20.13,
876 . /15x,
'POROSITY FUNCTION / TIME. . . . . . . .=',i10,
877 . /15x,
'POROSITY FUNCTION / PRESSURE. . . . . .=',i10
878 . /15x,
'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
879 . /15x,
'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
880 . /15x,
'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
881 . /15x,
'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13,
882 . /15x,
'POROSITY FUNCTION / TIME(after contact)=',i10,
883 . /15x,
'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
884 . /15x,
'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
885 . /15x,
'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
886 . /15x,
'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
887 . /15x,
'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13)