59
60
61
67 USE sensor_mod
68 use element_mod , only : nixc,nixtg
69
70
71
72#include "implicit_f.inc"
73
74
75
76
77#include "com04_c.inc"
78
79#include "param_c.inc"
80
81#include "units_c.inc"
82
83#include "scr03_c.inc"
84
85
86
87 TYPE(UNIT_TYPE_), INTENT(IN) :: UNITAB
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
92 TYPE(MONVOL_STRUCT_), INTENT(INOUT) :: T_MONVOLN
93 TYPE(SUBMODEL_DATA), DIMENSION(NSUBMOD), INTENT(IN) :: LSUBMODEL
94 TYPE (SENSORS_) ,INTENT(IN) :: SENSORS
95
96
97
98 INTEGER :: II, JJ
99 INTEGER :: SURFID
100 my_real :: fac_m, fac_l, fac_t, fac_c, fac_gen
101 my_real :: scal_t, scal_p, scal_s, scal_a, scal_d
102 LOGICAL :: FOUND
103 my_real :: sa, rot, vol, vmin, veps, amu, sv
104 INTEGER :: MID_INI, IEQUI, ITTF, MID_INISYS
105 my_real :: hconv, pext, ti, pini
106 my_real :: mwi, cpai, cpbi, cpci, cpdi, cpei, cpfi, r_igc1, cpi, rmwi, cvi, gamai
107 INTEGER :: NJET
108 INTEGER, DIMENSION(:), ALLOCATABLE :: I_INJ, ISENS, IJET, NJ1, NJ2, NJ3, IPT, IPA, IPZ, I_INJSYS
109 my_real,
DIMENSION(:),
ALLOCATABLE :: fpt, fpa, fpz
110 INTEGER :: NVENTHOLES, NPORSURF, NVENT
111 CHARACTER(LEN = 40) :: MESS
112 CHARACTER(LEN = 20) :: VENTTITLE
113 INTEGER :: TITREVENT(20)
114 INTEGER, DIMENSION(:), ALLOCATABLE :: IPVENT, IFVENT, IDTPDEF, IPORT, IPORP, IPORA
115 INTEGER, DIMENSION(:), ALLOCATABLE :: IPORT1, IPORP1, IPORA1, IVDP, IBLOCKAGE
116 my_real,
DIMENSION(:),
ALLOCATABLE :: avent, bvent, tvent, tstope, dpdef, dtpdef
117 my_real,
DIMENSION(:),
ALLOCATABLE :: fport, fporp, fpora, fport1, fporp1, fpora1, fvdp, cleak
119 CHARACTER(LEN = nchartitle) :: TITR1
120 my_real :: mi, rhoi, ti2, especi, cpa, cpb, cpc, cpd, cpe, cpf, mw_tmp, rmwg, cpg, cvg, gama, shol
121 LOGICAL :: IS_AVAILABLE
122
123
124
125 INTEGER USR2SYS
127
128
129
130 mess = 'MONITORED VOLUME DEFINITION '
131 rmwi = 0
132
133
134
135
136 CALL hm_get_intv(
'surf_IDex', surfid, is_available, lsubmodel)
137 CALL hm_get_floatv(
'hconv',hconv, is_available, lsubmodel, unitab)
138
139 CALL hm_get_floatv(
'scale_t', scal_t, is_available, lsubmodel, unitab)
140 CALL hm_get_floatv(
'scale_p', scal_p, is_available, lsubmodel, unitab)
141 CALL hm_get_floatv(
'scale_s', scal_s, is_available, lsubmodel, unitab)
142 CALL hm_get_floatv(
'scale_a', scal_a, is_available, lsubmodel, unitab)
143 CALL hm_get_floatv(
'scale_d', scal_d, is_available, lsubmodel, unitab)
144
145 CALL hm_get_intv(
'matid', mid_ini, is_available, lsubmodel)
146 CALL hm_get_floatv(
'mu', amu, is_available, lsubmodel, unitab)
147 CALL hm_get_floatv(
'pext', pext, is_available, lsubmodel, unitab)
148 CALL hm_get_floatv(
't_initial', ti, is_available, lsubmodel, unitab)
149 CALL hm_get_intv(
'iequil', iequi, is_available, lsubmodel)
150 CALL hm_get_intv(
'ittf', ittf, is_available, lsubmodel)
151
152 CALL hm_get_intv(
'nb_jet', njet, is_available, lsubmodel)
153 t_monvoln%NJET = njet
154 t_monvoln%IVOLU(8) = njet
155 IF (njet > 0) THEN
156 ALLOCATE(t_monvoln%IBAGJET(nibjet, njet))
157 t_monvoln%IBAGJET(1:nibjet, 1:njet) = 0
158 ALLOCATE(t_monvoln%RBAGJET(nrbjet, njet))
159 t_monvoln%RBAGJET(1:nrbjet, 1:njet) = zero
160 ENDIF
161 IF (njet > 0) THEN
162 ALLOCATE(i_inj(njet), isens(njet), ijet(njet), nj1(njet), nj2(njet), nj3(njet),
163 . ipt(njet), ipa(njet), ipz(njet), fpt(njet), fpa(njet), fpz(njet))
164 DO ii = 1, njet
171 IF (ijet(ii) > 0) THEN
178 ENDIF
179 ENDDO
180 ENDIF
181
182 CALL hm_get_intv(
'nb_vent', nventholes, is_available, lsubmodel)
183 CALL hm_get_intv(
'nb_porous', nporsurf, is_available, lsubmodel)
184 nvent = nventholes + nporsurf
185 t_monvoln%IVOLU(11) = nvent
186 t_monvoln%NVENT = nvent
187 t_monvoln%NPORSURF = nporsurf
188 IF (nvent > 0) THEN
189 ALLOCATE(t_monvoln%IBAGHOL(nibhol, nvent))
190 t_monvoln%IBAGHOL(1:nibhol, 1:nvent) = 0
191 ALLOCATE(t_monvoln%RBAGHOL(nrbhol, nvent))
192 t_monvoln%RBAGHOL(1:nrbhol, 1:nvent) = zero
193 ENDIF
194 ALLOCATE(ipvent(nvent), ifvent(nvent), avent(nvent), bvent(nvent))
195 ALLOCATE(tvent(nvent), tstope(nvent), dpdef(nvent), dtpdef(nvent),
196 . idtpdef(nvent))
197 ALLOCATE(iport(nvent), iporp(nvent), ipora(nvent), fport(nvent),
198 . fporp(nvent), fpora(nvent))
199 ALLOCATE(iport1(nvent), iporp1(nvent), ipora1(nvent), fport1(nvent),
200 . fporp1(nvent), fpora1(nvent))
201 ALLOCATE(iblockage(nvent), cleak(nvent))
202 ALLOCATE(ivdp(nvent), fvdp(nvent))
203 IF (nventholes > 0) THEN
204 DO ii = 1, nventholes
205 venttitle = ''
211 DO jj = 1, 20
212 titrevent(jj) = iachar(venttitle(jj:jj))
213 t_monvoln%IBAGHOL(jj + 14, ii) = titrevent(jj)
214 ENDDO
215
221
228
235
236 IF (ifvent(ii) == 2) THEN
239 ELSE
240 ivdp(ii) = 0
241 fvdp(ii) = zero
242 ENDIF
243 ENDDO
244 ENDIF
245 IF (nporsurf > 0) THEN
246
247
248 DO ii = 1, nporsurf
249 venttitle = ''
254 DO jj = 1, 20
255 titrevent(jj) = iachar(venttitle(jj:jj))
256 t_monvoln%IBAGHOL(jj + 14, nventholes + ii) = titrevent(jj)
257 ENDDO
258
264
265 cleak(nventholes + ii) = zero
266 avent(nventholes + ii) = zero
267 iport(nventholes + ii) = 0
268 ipora(nventholes + ii) = 0
269 fport(nventholes + ii) = zero
270 fpora(nventholes + ii) = zero
271 IF (ifvent(nventholes + ii) == 0) THEN
278 ENDIF
279 ivdp(nventholes + ii) = 0
280 fvdp(nventholes + ii) = zero
281 IF (ifvent(nventholes + ii) == 2) THEN
284 ENDIF
285 ENDDO
286 ENDIF
287
288
289
290 fac_m = unitab%FAC_M(luid)
291 fac_l = unitab%FAC_L(luid)
292 fac_t = unitab%FAC_T(luid)
293 fac_c = fac_m / (fac_l * fac_t * fac_t)
294
295
296
297
298
299 t_monvoln%IVOLU(4) = 0
300 found = .false.
301 DO ii = 1, nsurf
302 IF (surfid == igrsurf(ii)%ID) THEN
303 t_monvoln%IVOLU(4) = ii
304 t_monvoln%EXT_SURFID = ii
305 found = .true.
306 EXIT
307 ENDIF
308 ENDDO
309 IF (.NOT. found) THEN
311 ELSEIF (igrsurf(t_monvoln%IVOLU(4))%ISH4N3N == 0) THEN
312 CALL ancmsg(msgid = 18, anmode = aninfo, msgtype = msgerror,
313 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = surfid)
315 ENDIF
316
317
319
321 . igrsurf(t_monvoln%EXT_SURFID),ixc, ixtg, x, 7)
322
323 CALL monvol_compute_volume(t_monvoln, t_monvoln%TITLE, t_monvoln%IVOLU, igrsurf(t_monvoln%EXT_SURFID),
324 . itab, x, pm, geo, ixc, ixtg,
325 . sa, rot, vol, vmin, veps, sv)
326
328 . igrsurf(t_monvoln%EXT_SURFID),ixc,ixtg,vol, x, 7)
329
330 IF (ittf < 0 .OR. ittf > 3) THEN
331 CALL ancmsg(msgid = 773, anmode = aninfo, msgtype = msgerror,
332 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
333 END IF
334 IF (ti == zero) THEN
335 ti = twohundred95
336 ENDIF
337
338 t_monvoln%IVOLU(66) = 0
339 found = .false.
340 DO ii = 1, nummat
341 IF (ipm(1, ii) == mid_ini .AND. ipm(2, ii) == 999) THEN
342 mwi = pm(20, ii) * fac_m
343 cpai = pm(21, ii) * fac_l * fac_l / (fac_t * fac_t)
344 cpbi = pm(22, ii) * fac_l * fac_l / (fac_t * fac_t)
345 cpci = pm(23, ii) * fac_l * fac_l / (fac_t * fac_t)
346 cpdi = pm(24, ii) * fac_l * fac_l / (fac_t * fac_t)
347 cpei = pm(25, ii) * fac_l * fac_l / (fac_t * fac_t)
348 cpfi = pm(26, ii) * fac_l * fac_l / (fac_t * fac_t)
349 r_igc1 = pm(27, ii)
350 cpi = cpai + cpbi * ti + cpci * ti * ti + cpdi * ti * ti * ti +
351 . cpei / (ti * ti) + cpfi * ti * ti * ti * ti
352 rmwi = r_igc1 / mwi
353 cvi = cpi - rmwi
354 t_monvoln%IVOLU(66) = ii
355 IF (cvi == zero) THEN
356 CALL ancmsg(msgid = 709, msgtype = msgerror, anmode = aninfo,
357 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
358 gamai = zero
359 ELSE
360 gamai = cpi / cvi
361 END IF
362 found = .true.
363 EXIT
364 ENDIF
365 ENDDO
366 IF (.NOT. found) THEN
367 CALL ancmsg(msgid = 699, anmode = aninfo, msgtype = msgerror,
368 . i2 = mid_ini, i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
369 ENDIF
370
371 IF (njet > 0) THEN
372 ALLOCATE(i_injsys(njet))
373 DO ii = 1, njet
374
375 i_injsys(ii) = 0
376 found = .false.
377 DO jj = 1, numgeo
378 IF (igeo(1, jj) == i_inj(ii)) THEN
379 i_injsys(ii) = jj
380 found = .true.
381 EXIT
382 ENDIF
383 ENDDO
384 IF (.NOT. found) THEN
385 CALL ancmsg(msgid = 723, anmode = aninfo, msgtype = msgerror,
386 . i2 = i_inj(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
387 ENDIF
388 ENDDO
389 ENDIF
390
391
392
393
394
395 IF (scal_t == zero) THEN
397 scal_t = one * fac_gen
398 ENDIF
399 IF (scal_p == zero) THEN
401 scal_p = one * fac_gen
402 ENDIF
403 IF (scal_s == zero) THEN
405 scal_s = one * fac_gen
406 ENDIF
407 IF (scal_a == zero) THEN
409 scal_a = one * fac_gen
410 ENDIF
411 IF (scal_d == zero) THEN
413 scal_d = one * fac_gen
414 ENDIF
415
416 IF (amu == zero) amu = em02
417 IF (pext == zero) THEN
418 pext = 101325.d0 * (unitab%FAC_L_WORK * unitab%FAC_T_WORK * unitab%FAC_T_WORK) / unitab%FAC_M_WORK
419 ENDIF
420
421 pini = pext
422
423 IF (njet > 0) THEN
424 DO ii = 1, njet
425 IF (ijet(ii) > 0) THEN
426 IF (fpt(ii) == zero) THEN
428 fpt(ii) = one * fac_gen
429 ENDIF
430 IF (fpa(ii) == zero) THEN
432 fpa(ii) = one * fac_gen
433 ENDIF
434 IF (fpz(ii) == zero) THEN
436 fpz(ii) = one
437 ENDIF
438 ELSE
440 fpt(ii) = one * fac_gen
442 fpa(ii) = one * fac_gen
444 fpz(ii) = one * fac_gen
445 ENDIF
446 ENDDO
447 ENDIF
448
449 IF (nventholes > 0) THEN
450 DO ii = 1, nventholes
451 IF (ifvent(ii) == 0) ifvent(ii) = 1
452 IF (ipvent(ii) == 0) THEN
453 bvent(ii) = zero
454 ENDIF
455 IF (fport(ii) == zero) THEN
457 fport(ii) = one * fac_gen
458 ENDIF
459 IF (fporp(ii) == zero) THEN
461 fporp(ii) = one * fac_gen
462 ENDIF
463 IF (fpora(ii) == zero) THEN
465 fpora(ii) = one * fac_gen
466 ENDIF
467 IF (fport1(ii) == zero) THEN
469 fport1(ii) = one * fac_gen
470 ENDIF
471 IF (fporp1(ii) == zero) THEN
473 fporp1(ii) = one * fac_gen
474 ENDIF
475 IF (fpora1(ii) == zero) THEN
477 fpora1(ii) = one * fac_gen
478 ENDIF
479 ENDDO
480 ENDIF
481
482
483
484 t_monvoln%IVOLU(8) = njet
485 IF (iequi > 0 .AND. iequi /= 1) iequi = 1
486 t_monvoln%IVOLU(15) = iequi
487 t_monvoln%IVOLU(17) = ittf
488
489 t_monvoln%RVOLU(19) = hconv
490 t_monvoln%RVOLU(26) = one / scal_t
491 t_monvoln%RVOLU(27) = one / scal_p
492 t_monvoln%RVOLU(28) = one / scal_s
493 t_monvoln%RVOLU(29) = one / scal_a
494 t_monvoln%RVOLU(30) = one / scal_d
495
496 t_monvoln%RVOLU(31) = pini
497
498 mid_inisys = t_monvoln%IVOLU(66)
499 IF (mid_inisys /= 0) THEN
500 mwi = pm(20, mid_inisys)
501 cpai = pm(21, mid_inisys)
502 cpbi = pm(22, mid_inisys)
503 cpci = pm(23, mid_inisys)
504 cpdi = pm(24, mid_inisys)
505 cpei = pm(25, mid_inisys)
506 cpfi = pm(26, mid_inisys)
507 r_igc1 = pm(27, mid_inisys)
508 ELSE
509 mwi = zero
510 cpai = zero
511 cpbi = zero
512 cpci = zero
513 cpdi = zero
514 cpei = zero
515 cpfi = zero
516 r_igc1 = zero
517 CALL ancmsg(msgid= 7 18, anmode = aninfo, msgtype = msgerror,
518 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
519 ENDIF
520 t_monvoln%RVOLU(7)=cpai
521 t_monvoln%RVOLU(8)=cpbi
522 t_monvoln%RVOLU(9)=cpci
523 t_monvoln%RVOLU(56)=cpdi
524 t_monvoln%RVOLU(57)=cpei
525 t_monvoln%RVOLU(58)=cpfi
526 t_monvoln%RVOLU(59)=mwi
527 cpi = cpai + cpbi * ti + cpci * ti * ti + cpdi * ti * ti * ti +
528 . cpei / (ti * ti) + cpfi * ti * ti * ti * ti
529 IF (mwi == zero) THEN
530 gamai = zero
531 ELSE
532 rmwi = r_igc1 / mwi
533 cvi = cpi - rmwi
534 gamai = cpi / cvi
535 ENDIF
536 mi = pini * (vol + veps) / (rmwi * ti)
537 t_monvoln%RVOLU(1) = gamai
538 t_monvoln%RVOLU(3) = pext
539 t_monvoln%RVOLU(4) = vol + veps
540 t_monvoln%RVOLU(11) = mi
541 t_monvoln%RVOLU(12) = pini
542 t_monvoln%RVOLU(13) = ti
543 t_monvoln%RVOLU(14) = rmwi * mi
544 t_monvoln%RVOLU(17) = veps
545 t_monvoln%RVOLU(20) = mi
546 t_monvoln%RVOLU(25) = ti
547 t_monvoln%RVOLU(61) = gamai
548 rhoi = pini / (ti * rmwi)
549 t_monvoln%RVOLU(62) = rhoi
550 t_monvoln%RVOLU(10) = rmwi
551 ti2=ti*ti
552 especi=ti*(cpai+half*cpbi*ti+third*cpci*ti2-rmwi)
553 especi=especi+fourth*cpdi*ti2*ti2-cpei/ti+one_fifth*cpfi*ti2*ti2*ti
554 t_monvoln%RVOLU(63)= especi+rmwi*ti
555 t_monvoln%RVOLU(64)= zero
556 t_monvoln%RVOLU(65)= zero
557 t_monvoln%RVOLU(66)= especi
558
559 ttfire = infinity
560 DO ii = 1, njet
561 t_monvoln%IBAGJET(13, ii) = i_injsys(ii)
562 t_monvoln%RBAGJET(1, ii) = zero
563 t_monvoln%RBAGJET(2, ii) = geo(203, i_injsys(ii))
564 t_monvoln%RBAGJET(3, ii) = geo(204, i_injsys(ii))
565 t_monvoln%RBAGJET(4, ii) = geo(205, i_injsys(ii))
566 t_monvoln%RBAGJET(16, ii) = geo(206, i_injsys(ii))
567 t_monvoln%RBAGJET(17, ii) = geo(207, i_injsys(ii))
568 t_monvoln%RBAGJET(18, ii) = geo(208, i_injsys(ii))
569 t_monvoln%RBAGJET(19, ii) = geo(202, i_injsys(ii))
570 t_monvoln%RBAGJET(5, ii) = zero
571 t_monvoln%RBAGJET(6, ii) = zero
572 t_monvoln%RBAGJET(12, ii) = fpt(ii)
573 t_monvoln%RBAGJET(13, ii) = fpa(ii)
574 t_monvoln%RBAGJET(14, ii) = fpz(ii)
575 t_monvoln%IBAGJET(2, ii) = 0
576 t_monvoln%IBAGJET(3, ii) = 0
577 t_monvoln%IBAGJET(4, ii) = isens(ii)
578
579 IF (ijet(ii) > 0) THEN
580 t_monvoln%IBAGJET(5, ii) =
usr2sys(nj1(ii), itabm1, mess, t_monvoln%ID)
581 t_monvoln%IBAGJET(6, ii) =
usr2sys(nj2(ii), itabm1, mess, t_monvoln%ID)
582 IF(nj3(ii) /= 0) THEN
583 t_monvoln%IBAGJET(7, ii) =
usr2sys(nj3(ii), itabm1, mess, t_monvoln%ID)
584 ENDIF
585 found = .false.
586 DO jj= 1, nfunct
587 IF (ipt(ii) == npc(jj)) THEN
588 t_monvoln%IBAGJET(8, ii) = jj
589 found = .true.
590 EXIT
591 ENDIF
592 ENDDO
593 IF (.NOT. found) THEN
594 CALL ancmsg(msgid = 12, anmode = aninfo, msgtype = msgerror,
595 . i2 = ipt(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
596 ENDIF
597 found = .false.
598 DO jj = 1, nfunct
599 IF (ipa(ii) == npc(jj)) THEN
600 t_monvoln%IBAGJET(9, ii) = jj
601 found = .true.
602 EXIT
603 ENDIF
604 ENDDO
605 IF (.NOT. found) THEN
606 CALL ancmsg(msgid = 13, anmode = aninfo, msgtype = msgerror,
607 . i2 = ipa(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
608 ENDIF
609 found = .false.
610 DO jj = 1, nfunct
611 IF (ipz(ii) == npc(jj)) THEN
612 t_monvoln%IBAGJET(10, ii) = jj
613 found = .true.
614 EXIT
615 ENDIF
616 ENDDO
617 IF (.NOT. found) THEN
618 CALL ancmsg(msgid = 14, anmode = aninfo, msgtype = msgerror,
619 . i2 = ipz(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
620 ENDIF
621 ENDIF
622 IF (isens(ii) > 0) THEN
623 found = .false.
624 DO jj = 1, sensors%NSENSOR
625 IF (isens(ii) == sensors%SENSOR_TAB(jj)%SENS_ID) THEN
626 t_monvoln%IBAGJET(4, ii) = jj
627 IF (sensors%SENSOR_TAB(jj)%TCRIT < ttfire) ttfire = sensors%SENSOR_TAB(jj)%TCRIT
628 found = .true.
629 EXIT
630 ENDIF
631 ENDDO
632 IF (.NOT. found) THEN
633 CALL ancmsg(msgid = 17, anmode =aninfo, msgtype = msgerror,
634 . i2 = isens(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
635 ENDIF
636 ENDIF
637 cpa = t_monvoln%RBAGJET(2, ii)
638 cpb = t_monvoln%RBAGJET(3, ii)
639 cpc = t_monvoln%RBAGJET(4, ii)
640 cpd = t_monvoln%RBAGJET(16, ii)
641 cpe = t_monvoln%RBAGJET(17, ii)
642 cpf = t_monvoln%RBAGJET(18, ii)
643 mw_tmp = t_monvoln%RBAGJET(19, ii)
644 rmwg = r_igc1 / mw_tmp
645 cpg = cpa + cpb*ti+cpc*ti*ti+cpd*ti*ti*ti+
646 . cpe/(ti*ti)+cpf*ti*ti*ti*ti
647 cvg = cpg - rmwg
648 gama = cpg / cvg
649 t_monvoln%RBAGJET(1, ii) = rmwg
650 ENDDO
651 IF (ttfire == infinity) ttfire = zero
652 t_monvoln%RVOLU(49) = ttfire
653
654 DO ii = 1, nventholes
655 t_monvoln%RBAGHOL(7, ii) = fport(ii)
656 t_monvoln%RBAGHOL(8, ii) = fporp(ii)
657 t_monvoln%RBAGHOL(9, ii) = fpora(ii)
658 t_monvoln%RBAGHOL(10, ii) = fport1(ii)
659 t_monvoln%RBAGHOL(11, ii) = fporp1(ii)
660 t_monvoln%RBAGHOL(12, ii) = fpora1(ii)
661
662 t_monvoln%IBAGHOL(1, ii) = 0
663 t_monvoln%IBAGHOL(10, ii) = ifvent(ii)
664 t_monvoln%IBAGHOL(11, ii) = idtpdef(ii)
665
666 t_monvoln%IBAGHOL(12, ii) = 0
667
668 IF (ipvent(ii) == 0) THEN
669 t_monvoln%IBAGHOL(2, ii) = 0
670 ELSE
671 t_monvoln%IBAGHOL(2, ii) = 0
672 found = .false.
673 DO jj = 1, nsurf
674 IF (ipvent(ii) == igrsurf(jj)%ID) THEN
675 t_monvoln%IBAGHOL(2, ii) = jj
676 found = .true.
677 EXIT
678 ENDIF
679 ENDDO
680 IF(.NOT. found)THEN
681 CALL ancmsg(msgid = 532, anmode = aninfo, msgtype = msgerror,
682 . i2 = ipvent(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
683 ELSEIF(igrsurf(t_monvoln%IBAGHOL(2, ii))%ISH4N3N == 0) THEN
684 CALL ancmsg(msgid = 330, anmode = aninfo, msgtype = msgerror,
685 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
686 ENDIF
687 IF (avent(ii) == zero) THEN
689 avent(ii) = one * fac_gen
690 ENDIF
691 ENDIF
692 IF (avent(ii) == zero) dpdef(ii) = infinity
693 IF (avent(ii) == zero) tvent(ii) = infinity
694 IF (dpdef(ii) == zero .AND. dtpdef(ii) == zero .AND. tvent(ii) == zero) THEN
695 t_monvoln%IBAGHOL(1, ii) = 1
696 ENDIF
697 t_monvoln%RBAGHOL(1, ii) = dpdef(ii)
698 t_monvoln%RBAGHOL(2, ii) = avent(ii)
699 t_monvoln%RBAGHOL(3, ii) = tvent(ii)
700 t_monvoln%RBAGHOL(4, ii) = dtpdef(ii)
701 t_monvoln%RBAGHOL(6, ii) = bvent(ii)
702 IF (ivdp(ii) /= 0 .AND. fvdp(ii) == zero) THEN
704 fvdp(ii) = one * fac_gen
705 ENDIF
706 t_monvoln%RBAGHOL(13, ii) = fvdp(ii)
707 IF (tstope(ii) == zero) tstope(ii) = infinity
708 t_monvoln%RBAGHOL(14, ii) = tstope(ii)
709
710 t_monvoln%IBAGHOL(3, ii) = -1
711 t_monvoln%IBAGHOL(4, ii) = -1
712 t_monvoln%IBAGHOL(5, ii) = -1
713 t_monvoln%IBAGHOL(6, ii) = -1
714 t_monvoln%IBAGHOL(7, ii) = -1
715 t_monvoln%IBAGHOL(8, ii) = -1
716 t_monvoln%IBAGHOL(9, ii) = -1
717 DO jj = 1, nfunct
718 IF (iport(ii) == npc(jj)) t_monvoln%IBAGHOL(3, ii) = jj
719 IF (iporp(ii) == npc(jj)) t_monvoln%IBAGHOL(4, ii) = jj
720 IF (ipora(ii) == npc(jj)) t_monvoln%IBAGHOL(5, ii) = jj
721 IF (iport1(ii) == npc(jj)) t_monvoln%IBAGHOL(6, ii) = jj
722 IF (iporp1(ii) == npc(jj)) t_monvoln%IBAGHOL(7, ii) = jj
723 IF (ipora1(ii) == npc(jj)) t_monvoln%IBAGHOL(8, ii) = jj
724 IF (ivdp(ii) == npc(jj)) t_monvoln%IBAGHOL(9, ii) = jj
725 ENDDO
726 IF (iport(ii) == 0) t_monvoln%IBAGHOL(3, ii) = 0
727 IF (iporp(ii) == 0) t_monvoln%IBAGHOL(4, ii) = 0
728 IF (ipora(ii) == 0) t_monvoln%IBAGHOL(5, ii) = 0
729 IF (iport1(ii) == 0) t_monvoln%IBAGHOL(6, ii) = 0
730 IF (iporp1(ii) == 0) t_monvoln%IBAGHOL(7, ii) = 0
731 IF (ipora1(ii) == 0) t_monvoln%IBAGHOL(8, ii) = 0
732 IF (ivdp(ii) == 0 .AND. ifvent(ii) /= 2) t_monvoln%IBAGHOL(9, ii) = 0
733 IF (t_monvoln%IBAGHOL(3, ii) == -1) THEN
734 t_monvoln%IBAGHOL(3, ii) = 0
735 CALL ancmsg(msgid = 331, anmode = aninfo, msgtype = msgerror,
736 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = iport(ii))
737 ENDIF
738 IF (t_monvoln%IBAGHOL(4, ii) == -1) THEN
739 t_monvoln%IBAGHOL(4, ii) = 0
740 CALL ancmsg(msgid = 332, anmode = aninfo, msgtype = msgerror,
741 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = iporp(ii))
742 ENDIF
743 IF (t_monvoln%IBAGHOL(5, ii) == -1) THEN
744 t_monvoln%IBAGHOL(5, ii)=0
745 CALL ancmsg(msgid = 333, anmode = aninfo, msgtype = msgerror,
746 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = ipora(ii))
747 ENDIF
748 IF (t_monvoln%IBAGHOL(6, ii) == -1) THEN
749 t_monvoln%IBAGHOL(6, ii) = 0
750 CALL ancmsg(msgid=331, anmode=aninfo, msgtype=msgerror,
751 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = iport1(ii))
752 ENDIF
753 IF (t_monvoln%IBAGHOL(7, ii) == -1) THEN
754 t_monvoln%IBAGHOL(7, ii)=0
755 CALL ancmsg(msgid=332, anmode=aninfo, msgtype=msgerror,
756 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = iporp1(ii))
757 ENDIF
758 IF (t_monvoln%IBAGHOL(8, ii) == -1) THEN
759 t_monvoln%IBAGHOL(8, ii) = 0
760 CALL ancmsg(msgid=333, anmode=aninfo, msgtype=msgerror,
761 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = ipora1(ii))
762 ENDIF
763 IF (t_monvoln%IBAGHOL(9, ii) == -1) THEN
764 t_monvoln%IBAGHOL(9, ii) = 0
765 CALL ancmsg(msgid = 518, anmode = aninfo, msgtype = msgerror,
766 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = ivdp(ii))
767 ENDIF
768 ENDDO
769
770 DO ii = 1, nporsurf
771 t_monvoln%IBAGHOL(13, nventholes + ii) = 1
772 IF (ifvent(nventholes + ii) == 0) THEN
773 IF (cleak(nventholes + ii) > zero) iport(nventholes + ii) = 0
774 IF (avent(nventholes + ii) > zero) ipora(nventholes + ii) = 0
775 ipvent(nventholes + ii) = 0
776 iblockage(nventholes + ii) = 0
777 ENDIF
778 IF (fport(nventholes + ii) == zero) THEN
780 fport(nventholes + ii) = one * fac_gen
781 ENDIF
782 IF (fpora(nventholes + ii) == zero) THEN
784 fpora(nventholes + ii) = one * fac_gen
785 ENDIF
786 t_monvoln%RBAGHOL(7, nventholes + ii) = fport(nventholes + ii)
787 t_monvoln%RBAGHOL(9, nventholes + ii) = fpora(nventholes + ii)
788
789 t_monvoln%IBAGHOL(1, nventholes + ii) = 0
790 t_monvoln%IBAGHOL(10, nventholes + ii) = ifvent(nventholes + ii)
791 t_monvoln%IBAGHOL(11, nventholes + ii) = idtpdef(nventholes + ii)
792 t_monvoln%IBAGHOL(12, nventholes + ii) = 0
793 t_monvoln%IBAGHOL(14, nventholes + ii) = iblockage(nventholes + ii)
794
795 IF (ipvent(nventholes + ii) == 0) THEN
796 t_monvoln%IBAGHOL(2, nventholes + ii) = 0
797 ELSE
798 t_monvoln%IBAGHOL(2, nventholes + ii) = 0
799 DO jj = 1, nsurf
800 IF (ipvent(nventholes + ii) == igrsurf(jj)%ID) THEN
801 t_monvoln%IBAGHOL(2, nventholes + ii) = jj
802 ENDIF
803 ENDDO
804 IF (t_monvoln%IBAGHOL(2, nventholes + ii) == 0) THEN
805 CALL ancmsg(msgid = 532, anmode = aninfo, msgtype = msgerror,
806 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = ipvent(nventholes + ii))
807 ELSEIF (igrsurf(t_monvoln%IBAGHOL(2, nventholes + ii))%ISH4N3N == 0) THEN
808 CALL ancmsg(msgid = 330, anmode = aninfo, msgtype = msgerror,
809 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
810 ENDIF
811 ENDIF
812
813 IF (dpdef(nventholes + ii) == zero .AND. dtpdef(nventholes + ii) == zero .AND.
814 . tvent(nventholes + ii) == zero) THEN
815 t_monvoln%IBAGHOL(1, nventholes + ii) = 1
816 ENDIF
817 t_monvoln%RBAGHOL(1, nventholes + ii) = dpdef(nventholes + ii)
818 t_monvoln%RBAGHOL(2, nventholes + ii) = avent(nventholes + ii)
819 t_monvoln%RBAGHOL(3, nventholes + ii) = tvent(nventholes + ii)
820 t_monvoln%RBAGHOL(4, nventholes + ii) = dtpdef(nventholes + ii)
821 t_monvoln%RBAGHOL(6, nventholes + ii) = cleak(nventholes + ii)
822 IF (ivdp(nventholes + ii) /= 0 .AND. fvdp(nventholes + ii) == zero) THEN
824 fvdp = one * fac_gen
825 ENDIF
826 t_monvoln%RBAGHOL(13, nventholes + ii)=fvdp(nventholes + ii)
827 IF (tstope(nventholes + ii) == zero) tstope(nventholes + ii) = infinity
828 t_monvoln%RBAGHOL(14, nventholes + ii) = tstope(nventholes + ii)
829
830 t_monvoln%IBAGHOL(3, nventholes + ii) = -1
831 t_monvoln%IBAGHOL(5, nventholes + ii) = -1
832 t_monvoln%IBAGHOL(9, nventholes + ii) = -1
833
834 DO jj = 1, nfunct
835 IF (iport(nventholes + ii) == npc(jj)) THEN
836 t_monvoln%IBAGHOL(3, nventholes + ii) = jj
837 ENDIF
838 IF (ipora(nventholes + ii) == npc(jj)) THEN
839 t_monvoln%IBAGHOL(5, nventholes + ii) = jj
840 ENDIF
841 IF (ivdp(nventholes + ii) == npc(jj)) THEN
842 t_monvoln%IBAGHOL(9, nventholes + ii) = jj
843 ENDIF
844 ENDDO
845 IF (iport(nventholes + ii) == 0) t_monvoln%IBAGHOL(3, nventholes + ii) = 0
846 IF (ipora(nventholes + ii) == 0) t_monvoln%IBAGHOL(5, nventholes + ii) = 0
847 IF (ivdp(nventholes + ii) == 0 .AND. ifvent(nventholes + ii) /= 2) THEN
848 t_monvoln%IBAGHOL(9, nventholes + ii) = 0
849 ENDIF
850
851 IF (t_monvoln%IBAGHOL(3, nventholes + ii) == -1) THEN
852 t_monvoln%IBAGHOL(3, nventholes + ii) =0
853 CALL ancmsg(msgid = 331, anmode = aninfo, msgtype = msgerror,
854 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = iport(nventholes + ii))
855 ENDIF
856 IF (t_monvoln%IBAGHOL(5, nventholes + ii) == -1) THEN
857 t_monvoln%IBAGHOL(5, nventholes + ii) = 0
858 CALL ancmsg(msgid = 333, anmode = aninfo, msgtype = msgerror,
859 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = ipora(nventholes + ii))
860 ENDIF
861 IF (t_monvoln%IBAGHOL(9, nventholes + ii) == -1) THEN
862 t_monvoln%IBAGHOL(9, nventholes + ii) = 0
863 CALL ancmsg(msgid = 518, anmode = aninfo, msgtype = msgerror,
864 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = ivdp(nventholes + ii))
865 ENDIF
866 ENDDO
867
868
869 t_monvoln%RVOLU(2) = amu
870 t_monvoln%RVOLU(16) = vol + veps
871 t_monvoln%RVOLU(18) = sa
872 t_monvoln%RVOLU(21) = rot
873 t_monvoln%RVOLU(22:24) = zero
874
875
876
877
878 WRITE(iout, 1005) surfid
879 WRITE(iout, 1003) scal_t, scal_p, scal_s, scal_a, scal_d
880 WRITE(iout, 1006) hconv
881 WRITE(iout, 1002) sa, sv, vol
882 WRITE(iout,1395) mid_ini
883 WRITE(iout,1400) amu, ti, pext, pini
884 IF (iequi == 0) THEN
885 WRITE(iout,1401)
886 ENDIF
887 IF (iequi > 0) THEN
888 WRITE(iout,1402)
889 ENDIF
890 WRITE(iout,1415) mwi, gamai, cpai, cpbi, cpci, cpdi, cpei, cpfi
891 WRITE(iout,1425)
892 WRITE(iout,1426) njet
893 DO ii = 1, njet
894 WRITE(iout,1432) ii,
895 . igeo(1, i_injsys(ii)), isens(ii)
896 cpa = t_monvoln%RBAGJET(2, ii)
897 cpb = t_monvoln%RBAGJET(3, ii)
898 cpc = t_monvoln%RBAGJET(4, ii)
899 cpd = t_monvoln%RBAGJET(16, ii)
900 cpe = t_monvoln%RBAGJET(17, ii)
901 cpf = t_monvoln%RBAGJET(18, ii)
902 mw_tmp = t_monvoln%RBAGJET(19, ii)
903 rmwg = r_igc1 / mw_tmp
904 cpg = cpa + cpb*ti+cpc*ti*ti+cpd*ti*ti*ti+
905 . cpe/(ti*ti)+cpf*ti*ti*ti*ti
906 cvg = cpg - rmwg
907 gama = cpg / cvg
908 WRITE(iout,1442) gama, mw_tmp, cpa, cpb, cpc,
909 . cpd, cpe, cpf
910 IF (nj1(ii) == 0) THEN
911 WRITE(iout, 1455) 0
912 ELSE
913 WRITE(iout, 1455) 1
914 IF (nj3(ii) == 0) THEN
915 WRITE(iout, 1460) nj1(ii), nj2(ii),
916 . ipt(ii), ipa(ii), ipz(ii), fpt(ii), fpa(ii), fpz(ii)
917 t_monvoln%IBAGJET(7, ii) = t_monvoln%IBAGJET(5, ii)
918 ELSE
919 WRITE(iout, 1461) nj1(ii), nj2(ii), nj3(ii),
920 . ipt(ii), ipa(ii), ipz(ii),
921 . fpt(ii), fpa(ii) ,fpz(ii)
922 ENDIF
923 ENDIF
924 ENDDO
925 WRITE(iout,1470) nvent, ttfire
926 IF (nvent > 0) THEN
927 WRITE(iout,1471) ittf
928 ENDIF
929 DO ii = 1, nvent
930 IF (t_monvoln%IBAGHOL(13, ii) == 0) THEN
931 titr1='VENT HOLE SURFACE'
932 WRITE(iout,1472) ii,ipvent(ii)
933 ELSE
934 titr1='POROUS SURFACE'
935 WRITE(iout,1473) ii,ipvent(ii)
936 ENDIF
937 DO jj = 1, 20
938 titrevent(jj) = t_monvoln%IBAGHOL(jj + 14, ii)
939 ENDDO
940 WRITE(iout,1476) venttitle
941 IF (ipvent(ii) == 0 .AND. avent(ii) == zero) THEN
942 CALL ancmsg(msgid=1019, msgtype=msgwarning, anmode=aninfo,
943 . i1=t_monvoln%ID,i2=ii, c1=t_monvoln%TITLE,c2=titr1)
944 ENDIF
945 IF(ifvent(ii) <= 1)WRITE(iout,1481)
946 IF(ifvent(ii)==2) THEN
947 WRITE(iout,1482)ivdp(ii),fvdp(ii)
948 ENDIF
949 IF(ifvent(ii)==3) WRITE(iout,1484)
950 IF(ifvent(ii)==4) WRITE(iout,1485)
951 shol = zero
952 IF (ipvent(ii) /= 0) THEN
954 t_monvoln%RBAGHOL(15, ii) = shol
955 IF (t_monvoln%IBAGHOL(13, ii) == 0) THEN
956 WRITE(iout,1479)
957 . shol,avent(ii),bvent(ii),
958 . iport(ii),iporp(ii),ipora(ii),fport(ii),fporp(ii),fpora(ii),
959 . iport1(ii),iporp1(ii),ipora1(ii),fport1(ii),fporp1(ii),fpora1(ii)
960 WRITE(iout,1480) tvent(ii),dpdef(ii),dtpdef(ii),idtpdef(ii),tstope(ii)
961 ELSE
962 WRITE(iout,1579) shol,iblockage(ii)
963 WRITE(iout,1580) tvent(ii),dpdef(ii),dtpdef(ii),idtpdef(ii),tstope(ii)
964 ENDIF
965 ELSE
966 IF (t_monvoln%IBAGHOL(13, ii) == 0) THEN
967 WRITE(iout,1489)
968 . avent(ii),bvent(ii),
969 . iport(ii),iporp(ii),ipora(ii),fport(ii),fporp(ii),fpora(ii),
970 . iport1(ii),iporp1(ii),ipora1(ii),fport1(ii),fporp1(ii),fpora1(ii)
971 WRITE(iout,1480) tvent(ii),dpdef(ii),dtpdef(ii),idtpdef(ii),tstope(ii)
972 ELSE
973 cleak =t_monvoln%RBAGHOL(6, ii)
974 WRITE(iout,1585) cleak(ii),avent(ii),iport(ii),fport(ii),ipora(ii),fpora(ii)
975 WRITE(iout,1580) tvent(ii),dpdef(ii),dtpdef(ii),idtpdef(ii),tstope(ii)
976 ENDIF
977 ENDIF
978 ENDDO
979
980
981
982 IF (ALLOCATED(i_inj)) DEALLOCATE(i_inj)
983 IF (ALLOCATED(isens)) DEALLOCATE(isens)
984 IF (ALLOCATED(ijet)) DEALLOCATE(ijet)
985 IF (ALLOCATED(nj1)) DEALLOCATE(nj1)
986 IF (ALLOCATED(nj2)) DEALLOCATE(nj2)
987 IF (ALLOCATED(nj3)) DEALLOCATE(nj3)
988 IF (ALLOCATED(ipt)) DEALLOCATE(ipt)
989 IF (ALLOCATED(ipa)) DEALLOCATE(ipa)
990 IF (ALLOCATED(ipz)) DEALLOCATE(ipz)
991 IF (ALLOCATED(fpt)) DEALLOCATE(fpt)
992 IF (ALLOCATED(fpa)) DEALLOCATE(fpa)
993 IF (ALLOCATED(fpz)) DEALLOCATE(fpz)
994 IF (ALLOCATED(i_injsys)) DEALLOCATE(i_injsys)
995 IF (nvent > 0) THEN
996 DEALLOCATE(ipvent, ifvent, avent, bvent)
997 DEALLOCATE(tvent, tstope, dpdef, dtpdef,
998 . idtpdef)
999 DEALLOCATE(iport, iporp, ipora, fport,
1000 . fporp, fpora)
1001 DEALLOCATE(iport1, iporp1, ipora1, fport1,
1002 . fporp1, fpora1)
1003 DEALLOCATE(iblockage, cleak)
1004 DEALLOCATE(ivdp, fvdp)
1005 ENDIF
1006
1007
1008
1009
1010 RETURN
1011 1002 FORMAT(
1012 . /5x,'INITIAL SURFACE OF MONITORED VOLUME . .=',1pg20.13,
1013 . /5x,'SURFACE ERROR(NE.0 FOR NON CLOSED SURF)=',1pg20.13,
1014 . /5x,'INITIAL VOLUME OF MONITORED VOLUME. . .=',1pg20.13)
1015 1003 FORMAT(
1016 . 5x,'UNIT SCALE FOR TIME FUNCTIONS =',1pg20.13,
1017 . /5x,'UNIT SCALE FOR PRESSURE FUNCTIONS =',1pg20.13,
1018 . /5x,'UNIT SCALE FOR AREA FUNCTIONS =',1pg20.13,
1019 . /5x,'UNIT SCALE FOR ANGLE FUNCTIONS =',1pg20.13,
1020 . /5x,'UNIT SCALE FOR DISTANCE FUNCTIONS =',1pg20.13)
1021 1005 FORMAT( 5x,'EXTERNAL SURFACE ID . . . . . . . . . .=',i10)
1022 1006 FORMAT( 5x,'GLOBAL HEAT TRANSFER COEFFICIENT. . . .=',1pg20.13)
1023 1395 FORMAT(
1024 . /5x,'INITIAL GAS . . . . . . . . . . . . . .=',i10)
1025 1400 FORMAT(
1026 . 5x,'VOLUMIC VISCOSITY . . . . . . . . . . .=',1pg20.13,
1027 . /5x,'INITIAL TEMPERATURE . . . . . . . . . .=',1pg20.13,
1028 . /5x,'EXTERNAL PRESSURE . . . . . . . . . . .=',1pg20.13,
1029 . /5x,'INITIAL PRESSURE. . . . . . . . . . . .=',1pg20.13/)
1030 1401 FORMAT(
1031 . 5x,'INITIAL THERMODYNAMIC EQUILIBRIUM IS SET AT TIME 0'
1032 . /5x,'--------------------------------------------------'/)
1033 1402 FORMAT(
1034 . 5x,'INITIAL THERMODYNAMIC EQUILIBRIUM IS SET AT INJECTION TIME'
1035 . /5x,'----------------------------------------------------------'/)
1036 1415 FORMAT(
1037 . 5x,'CHARACTERISTICS OF INITIAL GAZ ',
1038 . /5x,'------------------------------ ',
1039 . /5x,'MOLECULAR WEIGHT',
1040 . /5x,' AT INITIAL TEMPERATURE . . . . .=',1pg20.13,
1041 . /5x,'GAMMA AT INITIAL TEMPERATURE . . . . .=',1pg20.13,
1042 . /5x,'COEFFICIENT CPA . . . . . . . . . . . .=',1pg20.13,
1043 . /5x,'COEFFICIENT CPB . . . . . . . . . . . .=',1pg20.13,
1044 . /5x,'COEFFICIENT CPC . . . . . . . . . . . .=',1pg20.13,
1045 . /5x,'COEFFICIENT CPD . . . . . . . . . . . .=',1pg20.13,
1046 . /5x,'COEFFICIENT CPE . . . . . . . . . . . .=',1pg20.13,
1047 . /5x,'COEFFICIENT CPF . . . . . . . . . . . .=',1pg20.13/)
1048 1425 FORMAT(
1049 . /5x,'INJECTORS ',
1050 . /5x,'--------- ')
1051 1426 FORMAT(
1052 . 5x,'NUMBER OF INJECTORS . . . . . . . . . .=',i10/)
1053 1432 FORMAT(
1054 . 5x,'INJECTOR. . . . . . . . . . . . . . . .=',i10,
1055 . /10x,'INJECTOR NUMBER . . . . . . . . . . . .=',i10,
1056 . /10x,'SENSOR NUMBER . . . . . . . . . . . . .=',i10)
1057 1442 FORMAT(
1058 . /15x,'MIXTURE CHARACTERISTICS ',
1059 . /15x,'AT BEGINNING OF INJECTION ',
1060 . /15x,'------------------------- ',
1061 . /15x,'GAMMA . . . . . . . . . . . . . . . . .=',1pg20.13,
1062 . /15x,'MOLECULAR WEIGHT. . . . . . . . . . . .=',1pg20.13,
1063 . /15x,'COEFFICIENT CPA . . . . . . . . . . . .=',1pg20.13,
1064 . /15x,'COEFFICIENT CPB . . . . . . . . . . . .=',1pg20.13,
1065 . /15x,'COEFFICIENT CPC . . . . . . . . . . . .=',1pg20.13,
1066 . /15x,'COEFFICIENT CPD . . . . . . . . . . . .=',1pg20.13,
1067 . /15x,'COEFFICIENT CPE . . . . . . . . . . . .=',1pg20.13,
1068 . /15x,'COEFFICIENT CPF . . . . . . . . . . . .=',1pg20.13)
1069 1455 FORMAT(
1070 . /10x,'JETTING OPTION. . . . . . . . . . . . .=',i10,
1071 . /10x,'----------------------------------------')
1072 1460 FORMAT(
1073 . 15x,'CONICAL JET . . . . . . . . . . . . . .',
1074 . /15x,'NODE NUMBER DEFINING INJECTION CENTER .=',i10,
1075 . /15x,'NODE NUMBER DEFINING INJECTION AXIS . .=',i10,
1076 . /15x,'JETTING PRESSURE TIME CURVE NUMBER. . .=',i10,
1077 . /15x,'JETTING PRESSURE THETA CURVE NUMBER . .=',i10,
1078 . /15x,'JETTING PRESSURE DIST. CURVE NUMBER . .=',i10,
1079 . /15x,'TIME FUNCTION SCALE FACTOR . .=',1pg20.13,
1080 . /15x,'THETA FUNCTION SCALE FACTOR . .=',1pg20.13,
1081 . /15x,'DIST FUNCTION SCALE FACTOR . .=',1pg20.13/)
1082 1461 FORMAT(
1083 . 15x,'DIHEDRAL JET. . . . . . . . . . . . . .',
1084 . /15x,'NODE NUMBER DEFINING INJECTION CENTER .=',i10,
1085 . /15x,'NODE NUMBER DEFINING INJECTION AXIS . .=',i10,
1086 . /15x,'NODE NUMBER DEFINING BASE LINE. . . . .=',i10,
1087 . /15x,'JETTING PRESSURE TIME CURVE NUMBER. . .=',i10,
1088 . /15x,'JETTING PRESSURE THETA CURVE NUMBER . .=',i10,
1089 . /15x,'JETTING PRESSURE DIST. CURVE NUMBER . .=',i10,
1090 . /15x,'TIME FUNCTION SCALE FACTOR . .=',1pg20.13,
1091 . /15x,'THETA FUNCTION SCALE FACTOR . .=',1pg20.13,
1092 . /15x,'DIST FUNCTION SCALE FACTOR . .=',1pg20.13)
1093 1470 FORMAT(
1094 . /5x,'VENT HOLES AND POROUS FABRIC SURFACES ',
1095 . /5x,'------------------------------------- ',
1096 . /5x,'NUMBER OF VENT HOLES AND POROUS SURFACES . .=',i10,
1097 . /5x,'INJECTION TIME TINJ. . . . . . . . . . . . .=',1pg20.13)
1098 1471 FORMAT(
1099 . 5x,'VENTING START TIME SHIFT . . . . . . . . . .=',i10,
1100 . /5x,' 0 : NO SHIFT',
1101 . /5x,' 1 : JETTING FUNCTIONS ARE SHIFTED BY INJECTION TIME',
1102 . /5x,' 2 : JETTING AND VENTING FUNCTIONS ARE SHIFTED BY',
1103 . /5x,' INJECTION TIME TINJ',
1104 . /5x,' 3 : JETTING AND VENTING FUNCTIONS ARE SHIFTED',
1105 . /5x,' BY TINJ FOR JETTING FUNCTIONS',
1106 . /5x,' BY TINJ+TSTART FOR VENTING FUNCTIONS')
1107 1472 FORMAT(
1108 . / 5x,'VENT HOLE NUMBER. . . . . . . . . . . .=',i10,
1109 . /15x,'VENT HOLE SURFACE ID. . . . . . . . . .=',i10)
1110 1473 FORMAT(
1111 . / 5x,'POROUS SURFACE NUMBER . . . . . . . . .=',i10,
1112 . /15x,'POROUS SURFACE ID . . . . . . . . . . .=',i10)
1113 1476 FORMAT(
1114 . 15x,'TITLE . . . . . . . . . . . . . . . . .=',1x,a20)
1115 1481 FORMAT(15x,'ISENTHALPIC VENTING MODEL ')
1116 1482 FORMAT(15x,'CHEMKIN MODEL FOR POROSITY : ',
1117 . /15x,'VELOCITY VS RELATIVE PRESSURE FUNCTION =',i10,
1118 . /15x,' SCALE FACTOR. . . . . . .=',1pg20.13)
1119 1484 FORMAT(15x,'GRAEFE POROSITY FORMULATION')
1120 1485 FORMAT(15x,'ISENTHALPIC VENTING MODEL WITH POSSIBLE FLOW IN')
1121 1479 FORMAT(
1122 . 15x,'INITIAL SURFACE . . . . . . . . . . . .=',1pg20.13,
1123 . /15x,'AVENT:VENT HOLE SCALE FACTOR. . . . . .=',1pg20.13,
1124 . /15x,'BVENT:VENT HOLE SCALE FACTOR IF CONTACT=',1pg20.13,
1125 . /15x,'POROSITY FUNCTION / TIME. . . . . . . .=',i10,
1126 . /15x,'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
1127 . /15x,'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
1128 . /15x,'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
1129 . /15x,'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
1130 . /15x,'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13,
1131 . /15x,'POROSITY FUNCTION / TIME(after contact)=',i10,
1132 . /15x,'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
1133 . /15x,'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
1134 . /15x,'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
1135 . /15x,'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
1136 . /15x,'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13)
1137 1480 FORMAT(
1138 . 15x,'START TIME FOR VENTING TSTART . . . . .=',1pg20.13,
1139 . /15x,'RELATIVE PRES. FOR MEMBRANE DEFLATION .=',1pg20.13,
1140 . /15x,' (DPDEF = PDEF - PEXT) ',
1141 . /15x,'TIME DELAY BEFORE MEMBRANE DEFLATION .=',1pg20.13,
1142 . /15x,'TIME DELAY FLAG . . . . . . . . . . . .=',i10,
1143 . /15x,' IF IDTPDEF : 0',
1144 . /15x,' PRESSURE SHOULD BE OVER PDEF DURING',
1145 . /15x,' A CUMULATED DTPDEF TIME'
1146 . /15x,' BEFORE ACTIVATING DEFLATION'
1147 . /15x,' IF IDTPDEF : 1',
1148 . /15x,' DEFLATION START DTPDEF AFTER',
1149 . /15x,' DPDEF HAS BEEN REACHED',
1150 . /15x,'END TIME FOR VENTING TSTOP. . . . . . .=',1pg20.13)
1151 1489 FORMAT(
1152 . 15x,'AVENT:VENT HOLE AREA. . . . . . . . . .=',1pg20.13,
1153 . /15x,'BVENT:VENT HOLE SCALE FACTOR IF CONTACT=',1pg20.13,
1154 . /15x,'POROSITY FUNCTION / TIME. . . . . . . .=',i10,
1155 . /15x,'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
1156 . /15x,'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
1157 . /15x,'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
1158 . /15x,'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
1159 . /15x,'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13,
1160 . /15x,'POROSITY FUNCTION / TIME(after contact)=',i10,
1161 . /15x,'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
1162 . /15x,'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
1163 . /15x,'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
1164 . /15x,'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
1165 . /15x,'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13)
1166 1579 FORMAT(
1167 . 15x,'INITIAL SURFACE . . . . . . . . . . . .=',1pg20.13,
1168 . /15x,'BLOCKAGE IF CONTACT . . . . . . . . . .=',i10,
1169 . /15x,' =0 NO =1 YES')
1170 1580 FORMAT(
1171 . 15x,'START TIME FOR VENTING TSTART . . . . .=',1pg20.13,
1172 . /15x,'RELATIVE PRESSURE TO INITIATE LEAKAGE .=',1pg20.13,
1173 . /15x,' (DPDEF = PDEF - PEXT) ',
1174 . /15x,'TIME DELAY BEFORE LEAKAGE . . . . . . .=',1pg20.13,
1175 . /15x,'TIME DELAY FLAG . . . . . . . . . . . .=',i10,
1176 . /15x,' IF IDTPDEF = 0',
1177 . /15x,' PRESSURE SHOULD BE OVER PDEF DURING',
1178 . /15x,' A CUMULATED DTPDEF TIME '
1179 . /15x,' BEFORE INITIATING LEAKAGE'
1180 . /15x,' IF IDTPDEF = 1',
1181 . /15x,' DEFLATION STARTS DTPDEF AFTER',
1182 . /15x,' DPDEF HAS BEEN REACHED',
1183 . /15x,'END TIME FOR VENTING TSTOP. . . . . . .=',1pg20.13)
1184 1585 FORMAT(
1185 . 15x,'LEAKAGE COEFFICIENT . . . . . . . . . .=',1pg20.13,
1186 . /15x,'LEAKAGE AREA. . . . . . . . . . . . . .=',1pg20.13,
1187 . /15x,'LEAKAGE COEFFICIENT TIME FUNCTION . . .=',i10,
1188 . /15x,' SCALE FACTOR. . . . . . . . . .=',1pg20.13,
1189 . /15x,'LEAKAGE AREA TIME FUNCTION. . . . . . .=',i10,
1190 . /15x,' SCALE FACTOR. . . . . . . . . .=',1pg20.13)
subroutine hm_get_float_array_index(name, rval, index, is_available, lsubmodel, unitab)
subroutine hm_get_float_array_index_dim(name, dim_fac, index, is_available, lsubmodel, unitab)
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_floatv_dim(name, dim_fac, is_available, lsubmodel, unitab)
subroutine hm_get_int_array_index(name, ival, index, is_available, lsubmodel)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_get_string_index(name, sval, index, size, is_available)
subroutine monvol_check_venthole_surf(ipri, t_monvoln, igrsurf, ihol, shol, x, ixc, ixtg)
subroutine monvol_compute_volume(t_monvoln, title, ivolu, surf, itab, node_coord, pm, geo, ixc, ixtg, sa, rot, vol, vmin, veps, sv)
subroutine monvol_check_surfclose(t_monvoln, itab, surf, x)
subroutine monvol_orient_surf(t_monvoln, title, ivolu, itab, surf, ixc, ixtg, x, itype)
subroutine monvol_reverse_normals(t_monvoln, title, ivolu, itab, surf, ixc, ixtg, vol, x, itype)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
integer function usr2sys(iu, itabm1, mess, id)