59
60
61
62
63
64
65
71 USE sensor_mod
72
73
74
75#include "implicit_f.inc"
76
77
78
79
80#include "com04_c.inc"
81
82#include "param_c.inc"
83
84#include "units_c.inc"
85
86#include "scr03_c.inc"
87
88
89
90 TYPE(UNIT_TYPE_), INTENT(IN) :: UNITAB
91 INTEGER, INTENT(IN) :: LUID, IPM(NPROPMI, NUMMAT), IGEO(NPROPGI, NUMGEO), ITABM1(NUMNOD), IFRAME(LISKN,NUMFRAM+1)
92 INTEGER, INTENT(IN) :: NPC(*), ITAB(NUMNOD), IXC(NIXC, NUMELC), IXTG(NIXTG, NUMELTG)
93 my_real,
INTENT(IN) :: x(3, numnod), geo(npropg, numgeo), pm(npropm, nummat),
94 . xframe(nxframe, numfram+1)
95 TYPE (SURF_), INTENT(INOUT), DIMENSION(NSURF) :: IGRSURF
96 TYPE(MONVOL_STRUCT_), INTENT(INOUT) :: T_MONVOLN
97 TYPE (GROUP_) , DIMENSION(NGRBRIC), INTENT(IN) :: IGRBRIC
98 TYPE(SUBMODEL_DATA), DIMENSION(NSUBMOD), INTENT(IN) :: LSUBMODEL
99 TYPE (SENSORS_) ,INTENT(IN) :: SENSORS
100
101
102
103 INTEGER :: II, JJ
104 INTEGER :: SURFID, SURFID_INT,SURFID_INJ
105 my_real :: fac_m, fac_l, fac_t, fac_c, fac_gen
106 my_real :: scal_t, scal_p, scal_s, scal_a, scal_d
107 LOGICAL :: FOUND
108 my_real :: sa, rot, vol, vmin, veps, amu, sv
109 INTEGER :: MID_INI, IEQUI, ITTF, MID_INISYS
110 my_real :: hconv, pext, ti, pini
111 my_real :: mwi, cpai, cpbi, cpci, cpdi, cpei, cpfi, r_igc1, cpi, rmwi, cvi, gamai
112 INTEGER :: NJET
113 INTEGER, DIMENSION(:), ALLOCATABLE :: I_INJ, ISENS, IJET, NJ1, NJ2, NJ3,
114 . IPT, IPA, IPZ, I_INJSYS,IVEL
115 my_real,
DIMENSION(:),
ALLOCATABLE :: fpt, fpa, fpz,fvel
116 INTEGER :: NVENTHOLES, NPORSURF, NVENT
117 CHARACTER(LEN = 40) :: MESS
118 CHARACTER(LEN = 20) :: VENTTITLE
119 INTEGER :: TITREVENT(20)
120 INTEGER, DIMENSION(:), ALLOCATABLE :: IPVENT, IFVENT, IDTPDEF, IPORT, IPORP, IPORA,
121 . IPORT1, IPORP1, IPORA1, IVDP, IBLOCKAGE
122 my_real,
DIMENSION(:),
ALLOCATABLE :: avent, bvent, tvent, tstope, dpdef, dtpdef,
123 . fport, fporp, fpora, fport1, fporp1, fpora1, fvdp, cleak
125 CHARACTER(LEN = nchartitle) :: TITR1
126 my_real :: mi, rhoi, ti2, especi, cpa, cpb, cpc, cpd, cpe, cpf, mw_tmp, rmwg,
127 . cpg, cvg, gama, shol
128 LOGICAL lFOUND
129 INTEGER KFRAME, IMESH_ALL, ISWITCH, NBX, NBY, NBZ, IBRIC
130 INTEGER IREF, IGMERG, ILVOUT, NLAYER, NFACMAX, NPPMAX, IFVANI
131 INTEGER I1,I2,I3, I4, NBRIC, NN, ISH34
132 my_real tswitch, pswitch, lx, ly, lz, cnmerg, qa, qb, ptole,hmin, cfl_coef, dtmin, sjet, cgmerg
133 my_real nx, ny, nz, xx, yy, zz, x13, y13, z13, x24, y24, z24
134 my_real origx, origy, origz, dir2x, dir2y, dir2z, dir, ds, dirx, diry, dirz
135 INTEGER :: KMESH, ID_DT_OPTION,IH3D_FLAG
136 LOGICAL :: IS_AVAILABLE
137
138
139
140 INTEGER USR2SYS
142
143
144
145 mess = 'MONITORED VOLUME DEFINITION '
146 lfound=.false.
147 id_dt_option=2
148 rmwi = 0
149
150
151
152
153 CALL hm_get_intv(
'surf_IDex', surfid, is_available, lsubmodel)
154 CALL hm_get_floatv(
'Hconv',hconv, is_available, lsubmodel, unitab)
155 CALL hm_get_intv(
'IH3D', ih3d_flag, is_available, lsubmodel)
156
157
158 CALL hm_get_floatv(
'Ascalet', scal_t, is_available, lsubmodel, unitab)
159 CALL hm_get_floatv(
'AscaleP', scal_p, is_available, lsubmodel, unitab)
160 CALL hm_get_floatv(
'AscaleS', scal_s, is_available, lsubmodel, unitab)
161 CALL hm_get_floatv(
'AscaleA', scal_a, is_available, lsubmodel, unitab)
162 CALL hm_get_floatv(
'AscaleD', scal_d, is_available, lsubmodel, unitab)
163
164 CALL hm_get_intv(
'mat_ID', mid_ini, is_available, lsubmodel)
165 CALL hm_get_floatv(
'Pext', pext, is_available, lsubmodel, unitab)
166 CALL hm_get_floatv(
'T0', ti, is_available, lsubmodel, unitab)
167 CALL hm_get_intv(
'Iequil', iequi, is_available, lsubmodel)
168 CALL hm_get_intv(
'Ittf', ittf, is_available, lsubmodel)
169
170 CALL hm_get_intv(
'Njet', njet, is_available, lsubmodel)
171
172 t_monvoln%NJET = njet
173 t_monvoln%IVOLU(8) = njet
174 IF (njet > 0) THEN
175 ALLOCATE(t_monvoln%IBAGJET(nibjet, njet))
176 t_monvoln%IBAGJET(1:nibjet, 1:njet) = 0
177 ALLOCATE(t_monvoln%RBAGJET(nrbjet, njet))
178 t_monvoln%RBAGJET(1:nrbjet, 1:njet) = zero
179 ENDIF
180 IF (njet > 0) THEN
181 ALLOCATE(i_inj(njet), isens(njet), ijet(njet), nj1(njet), nj2(njet), nj3(njet))
182 ALLOCATE(ipt(njet), ipa(njet), ipz(njet), fpt(njet), fpa(njet), fpz(njet))
183 ALLOCATE(ivel(njet),fvel(njet))
184 ipt(:)=0
185 ipa(:)=0
186 ipz(:)=0
187 fpt(:)=zero
188 fpa(:)=zero
189 fpz(:)=zero
190 ivel(:)=0
191 fvel(:)=zero
192 DO ii = 1, njet
198 ENDDO
199 ENDIF
200
201 CALL hm_get_intv(
'Nvent', nventholes, is_available, lsubmodel)
202 CALL hm_get_intv(
'Nporsurf', nporsurf, is_available, lsubmodel)
203
204 nvent = nventholes + nporsurf
205 t_monvoln%IVOLU(11) = nvent
206 t_monvoln%NVENT = nvent
207 t_monvoln%NPORSURF = nporsurf
208 IF (nvent > 0) THEN
209 ALLOCATE(t_monvoln%IBAGHOL(nibhol, nvent))
210 t_monvoln%IBAGHOL(1:nibhol, 1:nvent) = 0
211 ALLOCATE(t_monvoln%RBAGHOL(nrbhol, nvent))
212 t_monvoln%RBAGHOL(1:nrbhol, 1:nvent) = zero
213 ENDIF
214 ALLOCATE(ipvent(nvent), ifvent(nvent), avent(nvent), bvent(nvent))
215 ALLOCATE(tvent(nvent), tstope(nvent), dpdef(nvent), dtpdef(nvent),
216 . idtpdef(nvent))
217 ALLOCATE(iport(nvent), iporp(nvent), ipora(nvent), fport(nvent),
218 . fporp(nvent), fpora(nvent))
219 ALLOCATE(iport1(nvent), iporp1(nvent), ipora1(nvent), fport1(nvent),
220 . fporp1(nvent), fpora1(nvent))
221 ALLOCATE(iblockage(nvent), cleak(nvent))
222 ALLOCATE(ivdp(nvent), fvdp(nvent))
223
224 IF (nventholes > 0) THEN
225 DO ii = 1, nventholes
226 venttitle = ''
232 IF (ifvent(ii) == 0) ifvent(ii) = 1
238
239 venttitle = venttitle(1:len_trim(venttitle))
240 DO jj = 1, 20
241 titrevent(jj) = iachar(venttitle(jj:jj))
242 t_monvoln%IBAGHOL(jj + 14, ii) = titrevent(jj)
243 ENDDO
250
257
258 IF (ifvent(ii) == 2) THEN
261 ELSE
262 ivdp(ii) = 0
263 fvdp(ii) = zero
264 ENDIF
265 ENDDO
266 ENDIF
267 IF (nporsurf > 0) THEN
268 DO ii = 1, nporsurf
269 venttitle = ''
274
275 venttitle = venttitle(1:len_trim(venttitle))
276 DO jj = 1, 20
277 titrevent(jj) = iachar(venttitle(jj:jj))
278 t_monvoln%IBAGHOL(jj + 14, nventholes + ii) = titrevent(jj)
279 ENDDO
280
286
287
288 cleak(nventholes + ii) = zero
289 avent(nventholes + ii) = zero
290 iport(nventholes + ii) = 0
291 ipora(nventholes + ii) = 0
292 fport(nventholes + ii) = zero
293 fpora(nventholes + ii) = zero
294 IF (ifvent(nventholes + ii) == 0) ifvent(nventholes + ii) = 1
295 IF (ifvent(nventholes + ii) == 3) ifvent(nventholes + ii) = 5
296 ivdp(nventholes + ii) = 0
297 fvdp(nventholes + ii) = zero
298 IF (ifvent(nventholes + ii) == 2) THEN
301 ENDIF
302 ENDDO
303 ENDIF
304
305 imesh_all = 0
306 CALL hm_get_intv(
'frame_ID', kframe, is_available, lsubmodel)
307 CALL hm_get_intv(
'kmesh', kmesh, is_available, lsubmodel)
308 CALL hm_get_floatv(
'Tswitch', tswitch, is_available, lsubmodel, unitab)
309 CALL hm_get_intv(
'Iswitch', iswitch, is_available, lsubmodel)
310 CALL hm_get_floatv(
'Pswitch', pswitch, is_available, lsubmodel, unitab)
311
312 CALL hm_get_floatv(
'L1', lx, is_available, lsubmodel, unitab)
313 CALL hm_get_floatv(
'L2', ly, is_available, lsubmodel, unitab)
314 CALL hm_get_floatv(
'L3', lz, is_available, lsubmodel, unitab)
315
316 CALL hm_get_intv(
'Nb1', nbx, is_available, lsubmodel)
317 CALL hm_get_intv(
'Nb2', nby, is_available, lsubmodel)
318 CALL hm_get_intv(
'Nb3', nbz, is_available, lsubmodel)
319 CALL hm_get_intv(
'grbric_ID', ibric, is_available, lsubmodel)
320 CALL hm_get_intv(
'surf_IDin', surfid_int, is_available, lsubmodel)
321 CALL hm_get_intv(
'Iref', iref, is_available, lsubmodel)
322
323 CALL hm_get_intv(
'Igmerg', igmerg, is_available, lsubmodel)
324 CALL hm_get_floatv(
'Cgmerg', cgmerg, is_available, lsubmodel, unitab)
325 CALL hm_get_floatv(
'Cnmerg', cnmerg, is_available, lsubmodel, unitab)
326 CALL hm_get_floatv(
'Ptole', ptole, is_available, lsubmodel, unitab)
327
328 CALL hm_get_floatv(
'qa', qa, is_available, lsubmodel, unitab)
329 CALL hm_get_floatv(
'qb', qb, is_available, lsubmodel, unitab)
330 CALL hm_get_floatv(
'Hmin', hmin, is_available, lsubmodel, unitab)
331 CALL hm_get_floatv(
'Dtsca', cfl_coef, is_available, lsubmodel, unitab)
332 CALL hm_get_floatv(
'Dtmin', dtmin, is_available, lsubmodel, unitab)
333
334 CALL hm_get_intv(
'Ilvout', ilvout, is_available, lsubmodel)
335 CALL hm_get_intv(
'Nlayer', nlayer, is_available, lsubmodel)
336 CALL hm_get_intv(
'Nfacmax', nfacmax, is_available, lsubmodel)
337 CALL hm_get_intv(
'Nppmax', nppmax, is_available, lsubmodel)
338 CALL hm_get_intv(
'Ifvani', ifvani, is_available, lsubmodel)
339
340 lfound = .false.
341 IF (kframe == 0)THEN
342 jj = 1
343 ELSE
344 DO ii = 1, numfram
345 IF (iframe(4, ii + 1) == kframe) THEN
346 jj = ii + 1
347 lfound = .true.
348 ENDIF
349 ENDDO
350 IF (.NOT. lfound) THEN
351 CALL ancmsg(msgid = 853, anmode = aninfo, msgtype = msgerror,
352 . i2 = kframe, i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
353 ENDIF
354 ENDIF
355 dirx = xframe(7, jj)
356 diry = xframe(8, jj)
357 dirz = xframe(9, jj)
358 dir2x = xframe(1, jj)
359 dir2y = xframe(2, jj)
360 dir2z = xframe(3, jj)
361 origx = xframe(10, jj)
362 origy = xframe(11, jj)
363 origz = xframe(12, jj)
364
365
366
367
368 fac_m = unitab%FAC_M(luid)
369 fac_l = unitab%FAC_L(luid)
370 fac_t = unitab%FAC_T(luid)
371 fac_c = fac_m / (fac_l * fac_t * fac_t)
372
373
374
375
376
377 t_monvoln%IVOLU(4) = 0
378 t_monvoln%EXT_SURFID = 0
379 found = .false.
380 DO ii = 1, nsurf
381 IF (surfid == igrsurf(ii)%ID) THEN
382 t_monvoln%IVOLU(4) = ii
383 t_monvoln%EXT_SURFID = ii
384 found = .true.
385 EXIT
386 ENDIF
387 ENDDO
388 IF (.NOT. found) THEN
390 ELSEIF (igrsurf(t_monvoln%IVOLU(4))%ISH4N3N == 0) THEN
391 CALL ancmsg(msgid = 18, anmode = aninfo, msgtype = msgerror,
392 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = surfid)
394 ENDIF
395
396
398
400 . igrsurf(t_monvoln%EXT_SURFID),ixc, ixtg, x, 8)
401
402 CALL monvol_compute_volume(t_monvoln, t_monvoln%TITLE, t_monvoln%IVOLU, igrsurf(t_monvoln%EXT_SURFID),
403 . itab, x, pm, geo, ixc, ixtg,
404 . sa, rot, vol, vmin, veps, sv)
405
407 . igrsurf(t_monvoln%EXT_SURFID),ixc,ixtg,vol, x, 8)
408
409 IF (ittf < 0 .OR. ittf > 3) THEN
410 CALL ancmsg(msgid = 773, anmode = aninfo, msgtype = msgerror,
411 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
412 ENDIF
413 IF (ti == zero) THEN
414 ti = twohundred95
415 ENDIF
416
417 t_monvoln%IVOLU(66) = 0
418 found = .false.
419 DO ii = 1, nummat
420 IF (ipm(1, ii) == mid_ini .AND. ipm(2, ii) == 999) THEN
421 mwi = pm(20, ii) * fac_m
422 cpai = pm(21, ii) * fac_l * fac_l / (fac_t * fac_t)
423 cpbi = pm(22, ii) * fac_l * fac_l / (fac_t * fac_t)
424 cpci = pm(23, ii) * fac_l * fac_l / (fac_t * fac_t)
425 cpdi = pm(24, ii) * fac_l * fac_l / (fac_t * fac_t)
426 cpei = pm(25, ii) * fac_l * fac_l / (fac_t * fac_t)
427 cpfi = pm(26, ii) * fac_l * fac_l / (fac_t * fac_t)
428 r_igc1 = pm(27, ii)
429 cpi = cpai + cpbi * ti + cpci * ti * ti + cpdi * ti * ti * ti +
430 . cpei / (ti * ti) + cpfi * ti * ti * ti * ti
431 rmwi = r_igc1 / mwi
432 cvi = cpi - rmwi
433 t_monvoln%IVOLU(66) = ii
434 IF (cvi == zero) THEN
435 CALL ancmsg(msgid = 709, msgtype = msgerror, anmode = aninfo,
436 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
437 gamai = zero
438 ELSE
439 gamai = cpi / cvi
440 END IF
441 found = .true.
442 EXIT
443 ENDIF
444 ENDDO
445 IF (.NOT. found) THEN
446 CALL ancmsg(msgid = 699, anmode = aninfo, msgtype = msgerror,
447 . i2 = mid_ini, i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
448 ENDIF
449
450 IF (njet > 0) THEN
451 ALLOCATE(i_injsys(njet))
452 DO ii = 1, njet
453
454 i_injsys(ii) = 0
455 found = .false.
456 DO jj = 1, numgeo
457 IF (igeo(1, jj) == i_inj(ii)) THEN
458 i_injsys(ii) = jj
459 found = .true.
460 EXIT
461 ENDIF
462 ENDDO
463 IF (.NOT. found) THEN
464 CALL ancmsg(msgid = 723, anmode = aninfo, msgtype = msgerror,
465 . i2 = i_inj(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
466 ENDIF
467 ENDDO
468 ENDIF
469
470
471 t_monvoln%IVOLU(61)=0
472 IF(ibric>0) THEN
473 DO ii=1,ngrbric
474 IF (ibric==igrbric(ii)%ID) THEN
475 t_monvoln%IVOLU(61)=ii
476 EXIT
477 ENDIF
478 ENDDO
479 ENDIF
480
481
482 t_monvoln%IVOLU(67)=0
483 t_monvoln%INT_SURFID = 0
484 IF(surfid_int>0) THEN
485 DO ii=1,nsurf
486 IF (surfid_int==igrsurf(ii)%ID) THEN
487 t_monvoln%IVOLU(67) = ii
488 t_monvoln%INT_SURFID = ii
489 EXIT
490 ENDIF
491 ENDDO
492 ENDIF
493
494 nbric=0
495 IF(t_monvoln%IVOLU(61)/=0) nbric=igrbric(t_monvoln%IVOLU(61))%ID
496 surfid_int=0
497 IF(t_monvoln%INT_SURFID/=0) surfid_int=igrsurf(t_monvoln%INT_SURFID)%ID
498
499
500
501 IF(ih3d_flag /= 0)THEN
502 IF(ih3d_flag /= -1 .AND. ih3d_flag /= 1)THEN
503 ih3d_flag = -1
504 ENDIF
505 ENDIF
506
507
508
509
510
511
512
513 IF (scal_t == zero) THEN
515 scal_t = one
516 ENDIF
517 IF (scal_p == zero) THEN
519 scal_p = one
520 ENDIF
521 IF (scal_s == zero) THEN
523 scal_s = one
524 ENDIF
525 IF (scal_a == zero) THEN
527 scal_a = one
528 ENDIF
529 IF (scal_d == zero) THEN
531 scal_d = one
532 ENDIF
533
534 amu = em02
535
536 IF (pext == zero) THEN
537 pext = 101325.d0 * (unitab%FAC_L_WORK * unitab%FAC_T_WORK * unitab%FAC_T_WORK) / unitab%FAC_M_WORK
538 ELSE
540 pext = pext * fac_gen
541 ENDIF
542
543
544 pini = pext
545
546 IF (njet > 0) THEN
547 DO ii = 1, njet
548 fpt(ii) = one * fac_c
549 fpa(ii) = one * fac_c
550 fpz(ii) = one * fac_c
551 ENDDO
552 ENDIF
553
554 IF (nventholes > 0) THEN
555 DO ii = 1, nventholes
556 IF (ipvent(ii) == 0) THEN
557 bvent(ii) = zero
558 ENDIF
559 IF (fport(ii) == zero) fport(ii) = one
560 IF (fporp(ii) == zero) fporp(ii) = one
561 IF (fpora(ii) == zero) fpora(ii) = one
562 IF (fport1(ii) == zero) fport1(ii) = one
563 IF (fporp1(ii) == zero) fporp1(ii) = one
564 IF (fpora1(ii) == zero) fpora1(ii) = one
565 ENDDO
566 ENDIF
567
568
569 DO ii=1,njet
570 t_monvoln%IBAGJET(14,ii) = 0
571 lfound=.false.
572 DO jj=1,nsurf
573 IF (ijet(ii)==igrsurf(jj)%ID) THEN
574 t_monvoln%IBAGJET(14, ii) = jj
575 lfound=.true.
576 EXIT
577 ENDIF
578 ENDDO
579 ijet(ii)=0
580 IF(.NOT.lfound)
CALL ancmsg(msgid=847,anmode=aninfo,msgtype=msgerror,i2=ijet(ii),i1=t_monvoln%ID,c1=t_monvoln%TITLE)
581 DO jj=1,nfunct
582 IF (ivel(ii)==npc(jj)) t_monvoln%IBAGJET(11, ii)=jj
583 ENDDO
584 IF (fvel(ii) == zero) fvel(ii) = one
585 ENDDO
586
587 IF(tswitch == zero) tswitch=ep20
588 IF (kmesh == 0) kmesh=14
589 IF (kmesh == 2) kmesh=12
590 IF (kmesh == 4) kmesh=14
591 IF (ibric /= 0) THEN
592 kmesh = 1
593 ENDIF
594 IF (nbx==0) nbx=1
595 IF (nby==0) nby=1
596 IF (nbz==0) nbz=1
597
598
599 IF (igmerg==0) igmerg=1
600 IF (cgmerg==zero) cgmerg=em01
601 IF (cnmerg==zero) cnmerg=em04
602 IF (ptole==zero) ptole=em5
603 IF (nlayer ==0) nlayer =10
604 IF (nfacmax==0) nfacmax=20
605 IF (nppmax ==0) nppmax =20
606
607 IF(cfl_coef/=zero .AND. dtmin/=zero)id_dt_option=1
608 IF(cfl_coef==zero)cfl_coef=zep9
609 IF(dtmin==zero)dtmin=em20
610
611
612
613
614
615 t_monvoln%IMESH_ALL = imesh_all
616 t_monvoln%IVOLU(8) = njet
617 IF (iequi > 0 .AND. iequi /= 1) iequi = 1
618 t_monvoln%IVOLU(15) = iequi
619 t_monvoln%IVOLU(17) = ittf
620 t_monvoln%IVOLU(27) = id_dt_option
621 t_monvoln%IVOLU(30) = kmesh
622 t_monvoln%IVOLU(35)=nbx*nby
623 t_monvoln%IVOLU(37) = 0
624 t_monvoln%IVOLU(40)=nlayer
625 t_monvoln%IVOLU(41)=nfacmax
626 t_monvoln%IVOLU(42)=nppmax
627 t_monvoln%IVOLU(44)=ilvout
628 t_monvoln%IVOLU(54)=nbx
629 t_monvoln%IVOLU(55)=nby
630 t_monvoln%IVOLU(59)=iref
631 t_monvoln%IVOLU(60)=igmerg
632 t_monvoln%IVOLU(65)=nbz
633 t_monvoln%IVOLU(74) = iswitch
634 t_monvoln%IVOLU(75) = ih3d_flag
635
636 t_monvoln%RVOLU(19) = hconv
637 t_monvoln%RVOLU(26) = one / scal_t
638 t_monvoln%RVOLU(27) = one / scal_p
639 t_monvoln%RVOLU(28) = one / scal_s
640 t_monvoln%RVOLU(29) = one / scal_a
641 t_monvoln%RVOLU(30) = one / scal_d
642 t_monvoln%RVOLU(31)=cgmerg
643 t_monvoln%RVOLU(34)=cnmerg
644 t_monvoln%RVOLU(35)=dirx
645 t_monvoln%RVOLU(36)=diry
646 t_monvoln%RVOLU(37)=dirz
647 t_monvoln%RVOLU(38)=dir2x
648 t_monvoln%RVOLU(39)=dir2y
649 t_monvoln%RVOLU(40)=dir2z
650 t_monvoln%RVOLU(41)=origx
651 t_monvoln%RVOLU(42)=origy
652 t_monvoln%RVOLU(43)=origz
653 t_monvoln%RVOLU(44)=lx
654 t_monvoln%RVOLU(45)=ly
655 t_monvoln%RVOLU(46)=qa
656 t_monvoln%RVOLU(47)=qb
657 t_monvoln%RVOLU(50)=ptole
658 t_monvoln%RVOLU(51)=hmin
659 t_monvoln%RVOLU(53)=lz
660 t_monvoln%RVOLU(70) = tswitch
661 t_monvoln%RVOLU(71) = cfl_coef
662 t_monvoln%RVOLU(72) = dtmin
663 t_monvoln%RVOLU(73) = pswitch
664
665
666 mid_inisys = t_monvoln%IVOLU(66)
667 IF (mid_inisys /= 0) THEN
668 mwi = pm(20, mid_inisys)
669 cpai = pm(21, mid_inisys)
670 cpbi = pm(22, mid_inisys)
671 cpci = pm(23, mid_inisys)
672 cpdi = pm(24, mid_inisys)
673 cpei = pm(25, mid_inisys)
674 cpfi = pm(26, mid_inisys)
675 r_igc1 = pm(27, mid_inisys)
676 ELSE
677 mwi = zero
678 cpai = zero
679 cpbi = zero
680 cpci = zero
681 cpdi = zero
682 cpei = zero
683 cpfi = zero
684 r_igc1 = zero
685 CALL ancmsg(msgid= 7 18, anmode = aninfo, msgtype = msgerror,
686 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
687 ENDIF
688 t_monvoln%RVOLU(7)=cpai
689 t_monvoln%RVOLU(8)=cpbi
690 t_monvoln%RVOLU(9)=cpci
691 t_monvoln%RVOLU(56)=cpdi
692 t_monvoln%RVOLU(57)=cpei
693 t_monvoln%RVOLU(58)=cpfi
694 t_monvoln%RVOLU(59)=mwi
695 cpi = cpai + cpbi * ti + cpci * ti * ti + cpdi * ti * ti * ti +
696 . cpei / (ti * ti) + cpfi * ti * ti * ti * ti
697 IF (mwi == zero) THEN
698 gamai = zero
699 ELSE
700 rmwi = r_igc1 / mwi
701 cvi = cpi - rmwi
702 gamai = cpi / cvi
703 ENDIF
704 mi = pini * (vol + veps) / (rmwi * ti)
705 t_monvoln%RVOLU(1) = gamai
706 t_monvoln%RVOLU(3) = pext
707 t_monvoln%RVOLU(4) = vol + veps
708 t_monvoln%RVOLU(11) = mi
709 t_monvoln%RVOLU(12) = pini
710 t_monvoln%RVOLU(13) = ti
711 t_monvoln%RVOLU(14) = rmwi * mi
712 t_monvoln%RVOLU(17) = veps
713 t_monvoln%RVOLU(20) = mi
714 t_monvoln%RVOLU(25) = ti
715 t_monvoln%RVOLU(61) = gamai
716 rhoi = pini / (ti * rmwi)
717 t_monvoln%RVOLU(62) = rhoi
718 t_monvoln%RVOLU(10) = rmwi
719 ti2=ti*ti
720 especi=ti*(cpai+half*cpbi*ti+third*cpci*ti2-rmwi)
721 especi=especi+fourth*cpdi*ti2*ti2-cpei/ti+one_fifth*cpfi*ti2*ti2*ti
722 t_monvoln%RVOLU(63)= especi+rmwi*ti
723 t_monvoln%RVOLU(64)= zero
724 t_monvoln%RVOLU(65)= zero
725 t_monvoln%RVOLU(66)= especi
726
727 ttfire = infinity
728 DO ii = 1, njet
729
730 t_monvoln%RBAGJET(15,ii)=fvel(ii)
731
732 t_monvoln%IBAGJET(13, ii) = i_injsys(ii)
733 t_monvoln%RBAGJET(1, ii) = zero
734 t_monvoln%RBAGJET(2, ii) = geo(203, i_injsys(ii))
735 t_monvoln%RBAGJET(3, ii) = geo(204, i_injsys(ii))
736 t_monvoln%RBAGJET(4, ii) = geo(205, i_injsys(ii))
737 t_monvoln%RBAGJET(16, ii) = geo(206, i_injsys(ii))
738 t_monvoln%RBAGJET(17, ii) = geo(207, i_injsys(ii))
739 t_monvoln%RBAGJET(18, ii) = geo(208, i_injsys(ii))
740 t_monvoln%RBAGJET(19, ii) = geo(202, i_injsys(ii))
741 t_monvoln%RBAGJET(5, ii) = zero
742 t_monvoln%RBAGJET(6, ii) = zero
743 t_monvoln%RBAGJET(12, ii) = fpt(ii)
744 t_monvoln%RBAGJET(13, ii) = fpa(ii)
745 t_monvoln%RBAGJET(14, ii) = fpz(ii)
746 t_monvoln%IBAGJET(2, ii) = 0
747 t_monvoln%IBAGJET(3, ii) = 0
748 t_monvoln%IBAGJET(4, ii) = isens(ii)
749
750 IF (ijet(ii) > 0) THEN
751 t_monvoln%IBAGJET(5, ii) =
usr2sys(nj1(ii), itabm1, mess, t_monvoln%ID)
752 t_monvoln%IBAGJET(6, ii) =
usr2sys(nj2(ii), itabm1, mess, t_monvoln%ID)
753 IF(nj3(ii) /= 0) THEN
754 t_monvoln%IBAGJET(7, ii) =
usr2sys(nj3(ii), itabm1, mess, t_monvoln%ID)
755 ENDIF
756 found = .false.
757 DO jj= 1, nfunct
758 IF (ipt(ii) == npc(jj)) THEN
759 t_monvoln%IBAGJET(8, ii) = jj
760 found = .true.
761 EXIT
762 ENDIF
763 ENDDO
764 IF (.NOT. found) THEN
765 CALL ancmsg(msgid = 12, anmode = aninfo, msgtype = msgerror,
766 . i2 = ipt(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
767 ENDIF
768 found = .false.
769 DO jj = 1, nfunct
770 IF (ipa(ii) == npc(jj)) THEN
771 t_monvoln%IBAGJET(9, ii) = jj
772 found = .true.
773 EXIT
774 ENDIF
775 ENDDO
776 IF (.NOT. found) THEN
777 CALL ancmsg(msgid = 13, anmode = aninfo, msgtype = msgerror,
778 . i2 = ipa(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
779 ENDIF
780 found = .false.
781 DO jj = 1, nfunct
782 IF (ipz(ii) == npc(jj)) THEN
783 t_monvoln%IBAGJET(10, ii) = jj
784 found = .true.
785 EXIT
786 ENDIF
787 ENDDO
788 IF (.NOT. found) THEN
789 CALL ancmsg(msgid = 14, anmode = aninfo, msgtype = msgerror,
790 . i2 = ipz(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
791 ENDIF
792 ENDIF
793 IF (isens(ii) > 0) THEN
794 found = .false.
795 DO jj = 1, sensors%NSENSOR
796 IF (isens(ii) == sensors%SENSOR_TAB(jj)%SENS_ID) THEN
797 t_monvoln%IBAGJET(4, ii) = jj
798 IF (sensors%SENSOR_TAB(jj)%TCRIT < ttfire) ttfire = sensors%SENSOR_TAB(jj)%TCRIT
799 found = .true.
800 EXIT
801 ENDIF
802 ENDDO
803 IF (.NOT. found) THEN
804 CALL ancmsg(msgid = 17, anmode =aninfo, msgtype = msgerror,
805 . i2 = isens(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
806 ENDIF
807 ENDIF
808 cpa = t_monvoln%RBAGJET(2, ii)
809 cpb = t_monvoln%RBAGJET(3, ii)
810 cpc = t_monvoln%RBAGJET(4, ii)
811 cpd = t_monvoln%RBAGJET(16, ii)
812 cpe = t_monvoln%RBAGJET(17, ii)
813 cpf = t_monvoln%RBAGJET(18, ii)
814 mw_tmp = t_monvoln%RBAGJET(19, ii)
815 rmwg = r_igc1 / mw_tmp
816 cpg = cpa + cpb*ti+cpc*ti*ti+cpd*ti*ti*ti+
817 . cpe/(ti*ti)+cpf*ti*ti*ti*ti
818 cvg = cpg - rmwg
819 gama = cpg / cvg
820 t_monvoln%RBAGJET(1, ii) = rmwg
821 ENDDO
822 IF (ttfire == infinity) ttfire = zero
823 t_monvoln%RVOLU(49) = ttfire
824
825 DO ii = 1, nventholes
826 t_monvoln%RBAGHOL(7, ii) = fport(ii)
827 t_monvoln%RBAGHOL(8, ii) = fporp(ii)
828 t_monvoln%RBAGHOL(9, ii) = fpora(ii)
829 t_monvoln%RBAGHOL(10, ii) = fport1(ii)
830 t_monvoln%RBAGHOL(11, ii) = fporp1(ii)
831 t_monvoln%RBAGHOL(12, ii) = fpora1(ii)
832
833 t_monvoln%IBAGHOL(1, ii) = 0
834 IF (ifvent(ii) == 1) t_monvoln%IBAGHOL(10, ii) = 2
835 IF (ifvent(ii) == 2) t_monvoln%IBAGHOL(10, ii) = 3
836 IF (ifvent(ii) == 3) t_monvoln%IBAGHOL(10, ii) = 1
837
838 t_monvoln%IBAGHOL(11, ii) = idtpdef(ii)
839
840 t_monvoln%IBAGHOL(12, ii) = 0
841
842 IF (ipvent(ii) == 0) THEN
843 t_monvoln%IBAGHOL(2, ii) = 0
844 ELSE
845 t_monvoln%IBAGHOL(2, ii) = 0
846 found = .false.
847 DO jj = 1, nsurf
848 IF (ipvent(ii) == igrsurf(jj)%ID) THEN
849 t_monvoln%IBAGHOL(2, ii) = jj
850 found = .true.
851 EXIT
852 ENDIF
853 ENDDO
854 IF(.NOT. found)THEN
855 CALL ancmsg(msgid = 532, anmode = aninfo, msgtype = msgerror,
856 . i2 = ipvent(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
857 ELSEIF(igrsurf(t_monvoln%IBAGHOL(2, ii))%ISH4N3N == 0) THEN
858 CALL ancmsg(msgid = 330, anmode = aninfo, msgtype = msgerror,
859 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
860 ENDIF
861 IF (avent(ii) == zero) avent(ii) = one
862 ENDIF
863 IF (avent(ii) == zero) dpdef(ii) = infinity
864 IF (avent(ii) == zero) tvent(ii) = infinity
865 IF (dpdef(ii) == zero .AND. dtpdef(ii) == zero .AND. tvent(ii) == zero) THEN
866 t_monvoln%IBAGHOL(1, ii) = 1
867 ENDIF
868 t_monvoln%RBAGHOL(1, ii) = dpdef(ii)
869 t_monvoln%RBAGHOL(2, ii) = avent(ii)
870 t_monvoln%RBAGHOL(3, ii) = tvent(ii)
871 t_monvoln%RBAGHOL(4, ii) = dtpdef(ii)
872 t_monvoln%RBAGHOL(6, ii) = bvent(ii)
873 IF (ivdp(ii) /= 0 .AND. fvdp(ii) == zero) fvdp(ii) = one
874 t_monvoln%RBAGHOL(13, ii) = fvdp(ii)
875 IF (tstope(ii) == zero) tstope(ii) = infinity
876 t_monvoln%RBAGHOL(14, ii) = tstope(ii)
877
878 t_monvoln%IBAGHOL(3, ii) = -1
879 t_monvoln%IBAGHOL(4, ii) = -1
880 t_monvoln%IBAGHOL(5, ii) = -1
881 t_monvoln%IBAGHOL(6, ii) = -1
882 t_monvoln%IBAGHOL(7, ii) = -1
883 t_monvoln%IBAGHOL(8, ii) = -1
884 t_monvoln%IBAGHOL(9, ii) = -1
885 DO jj = 1, nfunct
886 IF (iport(ii) == npc(jj)) t_monvoln%IBAGHOL(3, ii) = jj
887 IF (iporp(ii) == npc(jj)) t_monvoln%IBAGHOL(4, ii) = jj
888 IF (ipora(ii) == npc(jj)) t_monvoln%IBAGHOL(5, ii) = jj
889 IF (iport1(ii) == npc(jj)) t_monvoln%IBAGHOL(6, ii) = jj
890 IF (iporp1(ii) == npc(jj)) t_monvoln%IBAGHOL(7, ii) = jj
891 IF (ipora1(ii) == npc(jj)) t_monvoln%IBAGHOL(8, ii) = jj
892 IF (ivdp(ii) == npc(jj)) t_monvoln%IBAGHOL(9, ii) = jj
893 ENDDO
894 IF (iport(ii) == 0) t_monvoln%IBAGHOL(3, ii) = 0
895 IF (iporp(ii) == 0) t_monvoln%IBAGHOL(4, ii) = 0
896 IF (ipora(ii) == 0) t_monvoln%IBAGHOL(5, ii) = 0
897 IF (iport1(ii) == 0) t_monvoln%IBAGHOL(6, ii) = 0
898 IF (iporp1(ii) == 0) t_monvoln%IBAGHOL(7, ii) = 0
899 IF (ipora1(ii) == 0) t_monvoln%IBAGHOL(8, ii) = 0
900 IF (ivdp(ii) == 0 .AND. ifvent(ii) /= 3) t_monvoln%IBAGHOL(9, ii) = 0
901 IF (t_monvoln%IBAGHOL(3, ii) == -1) THEN
902 t_monvoln%IBAGHOL(3, ii) = 0
903 CALL ancmsg(msgid = 331, anmode = aninfo, msgtype = msgerror,
904 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = iport(ii))
905 ENDIF
906 IF (t_monvoln%IBAGHOL(4, ii) == -1) THEN
907 t_monvoln%IBAGHOL(4, ii) = 0
908 CALL ancmsg(msgid = 332, anmode = aninfo, msgtype = msgerror,
909 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = iporp(ii))
910 ENDIF
911 IF (t_monvoln%IBAGHOL(5, ii) == -1) THEN
912 t_monvoln%IBAGHOL(5, ii)=0
913 CALL ancmsg(msgid = 333, anmode = aninfo, msgtype = msgerror,
914 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = ipora(ii))
915 ENDIF
916 IF (t_monvoln%IBAGHOL(6, ii) == -1) THEN
917 t_monvoln%IBAGHOL(6, ii) = 0
918 CALL ancmsg(msgid=331, anmode=aninfo, msgtype=msgerror,
919 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = iport1(ii))
920 ENDIF
921 IF (t_monvoln%IBAGHOL(7, ii) == -1) THEN
922 t_monvoln%IBAGHOL(7, ii)=0
923 CALL ancmsg(msgid=332, anmode=aninfo, msgtype=msgerror,
924 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = iporp1(ii))
925 ENDIF
926 IF (t_monvoln%IBAGHOL(8, ii) == -1) THEN
927 t_monvoln%IBAGHOL(8, ii) = 0
928 CALL ancmsg(msgid=333, anmode=aninfo, msgtype=msgerror,
929 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = ipora1(ii))
930 ENDIF
931 IF (t_monvoln%IBAGHOL(9, ii) == -1) THEN
932 t_monvoln%IBAGHOL(9, ii) = 0
933 CALL ancmsg(msgid = 518, anmode = aninfo, msgtype = msgerror,
934 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = ivdp(ii))
935 ENDIF
936 ENDDO
937
938 DO ii = 1, nporsurf
939 t_monvoln%IBAGHOL(13, nventholes + ii) = 1
940 IF (ifvent(nventholes + ii) == 1) t_monvoln%IBAGHOL(10, nventholes + ii) = 2
941 IF (ifvent(nventholes + ii) == 2) t_monvoln%IBAGHOL(10, nventholes + ii) = 3
942 IF (fport(nventholes + ii) == zero) fport(nventholes + ii) = one
943 IF (fpora(nventholes + ii) == zero) fpora(nventholes + ii) = one
944 t_monvoln%RBAGHOL(7, nventholes + ii) = fport(nventholes + ii)
945 t_monvoln%RBAGHOL(9, nventholes + ii) = fpora(nventholes + ii)
946
947 t_monvoln%IBAGHOL(1, nventholes + ii) = 0
948 t_monvoln%IBAGHOL(11, nventholes + ii) = idtpdef(nventholes + ii)
949 t_monvoln%IBAGHOL(12, nventholes + ii) = 0
950 t_monvoln%IBAGHOL(14, nventholes + ii) = iblockage(nventholes + ii)
951
952 IF (ipvent(nventholes + ii) == 0) THEN
953 t_monvoln%IBAGHOL(2, nventholes + ii) = 0
954 ELSE
955 t_monvoln%IBAGHOL(2, nventholes + ii) = 0
956 DO jj = 1, nsurf
957 IF (ipvent(nventholes + ii) == igrsurf(jj)%ID) THEN
958 t_monvoln%IBAGHOL(2, nventholes + ii) = jj
959 ENDIF
960 ENDDO
961 IF (t_monvoln%IBAGHOL(2, nventholes + ii) == 0) THEN
962 CALL ancmsg(msgid = 532, anmode = aninfo, msgtype = msgerror,
963 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = ipvent(nventholes + ii))
964 ELSEIF (igrsurf(t_monvoln%IBAGHOL(2, nventholes + ii))%ISH4N3N == 0) THEN
965 CALL ancmsg(msgid = 330, anmode = aninfo, msgtype = msgerror,
966 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
967 ENDIF
968 ENDIF
969
970 IF (dpdef(nventholes + ii) == zero .AND. dtpdef(nventholes + ii) == zero .AND.
971 . tvent(nventholes + ii) == zero) THEN
972 t_monvoln%IBAGHOL(1, nventholes + ii) = 1
973 ENDIF
974 t_monvoln%RBAGHOL(1, nventholes + ii) = dpdef(nventholes + ii)
975 t_monvoln%RBAGHOL(2, nventholes + ii) = avent(nventholes + ii)
976 t_monvoln%RBAGHOL(3, nventholes + ii) = tvent(nventholes + ii)
977 t_monvoln%RBAGHOL(4, nventholes + ii) = dtpdef(nventholes + ii)
978 t_monvoln%RBAGHOL(6, nventholes + ii) = cleak(nventholes + ii)
979 IF (ivdp(nventholes + ii) /= 0 .AND. fvdp(nventholes + ii) == zero) fvdp=one
980 t_monvoln%RBAGHOL(13, nventholes + ii)=fvdp(nventholes + ii)
981 IF (tstope(nventholes + ii) == zero) tstope(nventholes + ii) = infinity
982 t_monvoln%RBAGHOL(14, nventholes + ii) = tstope(nventholes + ii)
983
984 t_monvoln%IBAGHOL(3, nventholes + ii) = -1
985 t_monvoln%IBAGHOL(5, nventholes + ii) = -1
986 t_monvoln%IBAGHOL(9, nventholes + ii) = -1
987
988 DO jj = 1, nfunct
989 IF (iport(nventholes + ii) == npc(jj)) THEN
990 t_monvoln%IBAGHOL(3, nventholes + ii) = jj
991 ENDIF
992 IF (ipora(nventholes + ii) == npc(jj)) THEN
993 t_monvoln%IBAGHOL(5, nventholes + ii) = jj
994 ENDIF
995 IF (ivdp(nventholes + ii) == npc(jj)) THEN
996 t_monvoln%IBAGHOL(9, nventholes + ii) = jj
997 ENDIF
998 ENDDO
999 IF (iport(nventholes + ii) == 0) t_monvoln%IBAGHOL(3, nventholes + ii) = 0
1000 IF (ipora(nventholes + ii) == 0) t_monvoln%IBAGHOL(5, nventholes + ii) = 0
1001 IF (ivdp(nventholes + ii) == 0 .AND. ifvent(nventholes + ii) /= 2) THEN
1002 t_monvoln%IBAGHOL(9, nventholes + ii) = 0
1003 ENDIF
1004
1005 IF (t_monvoln%IBAGHOL(3, nventholes + ii) == -1) THEN
1006 t_monvoln%IBAGHOL(3, nventholes + ii) =0
1007 CALL ancmsg(msgid = 331, anmode = aninfo, msgtype = msgerror,
1008 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = iport(nventholes + ii))
1009 ENDIF
1010 IF (t_monvoln%IBAGHOL(4, ii) == -1) THEN
1011 t_monvoln%IBAGHOL(4, ii) = 0
1012 CALL ancmsg(msgid = 332, anmode = aninfo, msgtype = msgerror,
1013 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = iporp(ii))
1014 ENDIF
1015 IF (t_monvoln%IBAGHOL(5, nventholes + ii) == -1) THEN
1016 t_monvoln%IBAGHOL(5, nventholes + ii) = 0
1017 CALL ancmsg(msgid = 333, anmode = aninfo, msgtype = msgerror,
1018 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = ipora(nventholes + ii))
1019 ENDIF
1020 IF (t_monvoln%IBAGHOL(9, nventholes + ii) == -1) THEN
1021 t_monvoln%IBAGHOL(9, nventholes + ii) = 0
1022 CALL ancmsg(msgid = 518, anmode = aninfo, msgtype = msgerror,
1023 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = ivdp(nventholes + ii))
1024 ENDIF
1025 ENDDO
1026
1027
1028 t_monvoln%RVOLU(2) = amu
1029 t_monvoln%RVOLU(16) = vol + veps
1030 t_monvoln%RVOLU(18) = sa
1031 t_monvoln%RVOLU(21) = rot
1032 t_monvoln%RVOLU(22:24) = zero
1033
1034
1035
1036
1037 WRITE(iout, 1005) surfid
1038 WRITE(iout, 1003) scal_t, scal_p, scal_s, scal_a, scal_d
1039 WRITE(iout, 1006) hconv
1040 WRITE(iout, 1002) sa, sv, vol
1041 WRITE(iout,1395) mid_ini
1042 WRITE(iout,1400) amu, ti, pext, pini
1043 IF (iequi == 0) THEN
1044 WRITE(iout,1401)
1045 ELSEIF(iequi == 1) THEN
1046 WRITE(iout,1404)
1047 ELSE
1048 WRITE(iout,1405) iequi
1049 ENDIF
1050 WRITE(iout,1415) mwi, gamai, cpai, cpbi, cpci, cpdi, cpei, cpfi
1051 WRITE(iout,1700)
1052 WRITE(iout,1702) kmesh
1053
1054 IF(iswitch /= 0 .OR. tswitch /= zero .OR. pswitch /= zero)THEN
1055 WRITE(iout,1789)iswitch
1056 WRITE(iout,1790)
1057 WRITE(iout,1791)
1058 WRITE(iout,2703) tswitch
1059 WRITE(iout,2704) pswitch
1060 ENDIF
1061
1062 IF (t_monvoln%IMESH_ALL > 0) THEN
1063 WRITE(iout, 1706) t_monvoln%IMESH_ALL
1064 ENDIF
1065 WRITE(iout,1704)
1066 WRITE(iout,1705) kframe
1067 WRITE(iout,1710) t_monvoln%RVOLU(41),t_monvoln%RVOLU(42),t_monvoln%RVOLU(43),
1068 . t_monvoln%RVOLU(38),t_monvoln%RVOLU(39),t_monvoln%RVOLU(40),
1069 . t_monvoln%RVOLU(35),t_monvoln%RVOLU(36),t_monvoln%RVOLU(37),
1070 . t_monvoln%RVOLU(44),t_monvoln%RVOLU(45),t_monvoln%RVOLU(53),
1071 . t_monvoln%IVOLU(54),t_monvoln%IVOLU(55),t_monvoln%IVOLU(65),
1072 . nbric ,surfid_int ,t_monvoln%IVOLU(59),
1073 . t_monvoln%IVOLU(60),t_monvoln%RVOLU(31),t_monvoln%RVOLU(34),
1074 . t_monvoln%RVOLU(50),
1075 . t_monvoln%RVOLU(46),t_monvoln%RVOLU(47),t_monvoln%RVOLU(51),
1076 . t_monvoln%RVOLU(71),t_monvoln%RVOLU(72),
1077 . t_monvoln%IVOLU(44),t_monvoln%IVOLU(40),t_monvoln%IVOLU(41),
1078 . t_monvoln%IVOLU(42),ifvani
1079 WRITE(iout,1425)
1080 WRITE(iout,1426) njet
1081 DO ii = 1, njet
1082 WRITE(iout,1432) ii, igeo(1, i_injsys(ii)), isens(ii)
1083 IF (ivel(ii) > 0) THEN
1084 WRITE(iout, 1435) ivel(ii), fvel(ii)
1085 ENDIF
1086 cpa = t_monvoln%RBAGJET(2, ii)
1087 cpb = t_monvoln%RBAGJET(3, ii)
1088 cpc = t_monvoln%RBAGJET(4, ii)
1089 cpd = t_monvoln%RBAGJET(16, ii)
1090 cpe = t_monvoln%RBAGJET(17, ii)
1091 cpf = t_monvoln%RBAGJET(18, ii)
1092 mw_tmp = t_monvoln%RBAGJET(19, ii)
1093 rmwg = r_igc1 / mw_tmp
1094 cpg = cpa + cpb*ti+cpc*ti*ti+cpd*ti*ti*ti+
1095 . cpe/(ti*ti)+cpf*ti*ti*ti*ti
1096 cvg = cpg - rmwg
1097 gama = cpg / cvg
1098 WRITE(iout,1442) gama, mw_tmp, cpa, cpb, cpc,
1099 . cpd, cpe, cpf
1100 surfid_inj = t_monvoln%IBAGJET(14, ii)
1101 sjet = zero
1102 IF (surfid_inj/=0) THEN
1103 IF (igrsurf(surfid_inj)%ISH4N3N == 0) THEN
1104 CALL ancmsg(msgid = 18, anmode = aninfo, msgtype = msgerror,
1105 . i2 = igrsurf(surfid_inj)%ID, i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
1106 ELSE
1107 nn = igrsurf(surfid_inj)%NSEG
1108 DO jj = 1, nn
1109 dir = half
1110 i1 = igrsurf(surfid_inj)%NODES(jj,1)
1111 i2 = igrsurf(surfid_inj)%NODES(jj,2)
1112 i3 = igrsurf(surfid_inj)%NODES(jj,3)
1113 i4 = igrsurf(surfid_inj)%NODES(jj,4)
1114 ish34 = igrsurf(surfid_inj)%ELTYP(jj)
1115 IF (ish34 == 7)i4 = i3
1116 xx = half * (x(1, i1) + x(1, i2))
1117 yy = half * (x(2, i1) + x(2, i2))
1118 zz = half * (x(3, i1) + x(3, i2))
1119 x13 = x(1, i3) - x(1, i1)
1120 y13 = x(2, i3) - x(2, i1)
1121 z13 = x(3, i3) - x(3, i1)
1122 x24 = x(1, i4) - x(1, i2)
1123 y24 = x(2, i4) - x(2, i2)
1124 z24 = x(3, i4) - x(3, i2)
1125 nx = dir * (y13 * z24 - y24 * z13)
1126 ny = dir * (z13 * x24 - z24 * x13)
1127 nz = dir * (x13 * y24 - x24 * y13)
1128 ds = sqrt(nx * nx + ny * ny + nz * nz)
1129 sjet = sjet + ds
1130 ENDDO
1131 ENDIF
1132 WRITE(iout,1445) igrsurf(surfid_inj)%ID, sjet
1133 ENDIF
1134 ENDDO
1135 WRITE(iout,1470) nvent, ttfire
1136 WRITE(iout,1475)ittf
1137 DO ii = 1, nvent
1138 IF (t_monvoln%IBAGHOL(13, ii) == 0) THEN
1139 titr1='VENT HOLE SURFACE'
1140 WRITE(iout,1472) ii, ipvent(ii)
1141 ELSE
1142 titr1='POROUS SURFACE'
1143 WRITE(iout,1473) ii, ipvent(ii)
1144 ENDIF
1145 DO jj = 1, 20
1146 titrevent(jj) = t_monvoln%IBAGHOL(jj + 14, ii)
1147 venttitle(jj:jj) = achar(titrevent(jj))
1148 ENDDO
1149 WRITE(iout,1476) venttitle
1150 IF (ipvent(ii)==0) THEN
1151 CALL ancmsg(msgid = 1050, msgtype = msgerror, anmode = aninfo,
1152 . i1 = t_monvoln%ID, i2 = ii, c1 = t_monvoln%TITLE, c2 = titr1)
1153 ENDIF
1154 ifvent(ii) = t_monvoln%IBAGHOL(10, ii)
1155 IF (ifvent(ii) == 1) WRITE(iout, 1483)
1156 IF (ifvent(ii) == 2) WRITE(iout, 1481)
1157 IF (ifvent(ii) == 3) WRITE(iout, 1482) ivdp(ii), fvdp(ii)
1158 IF (ifvent(ii) == 5) WRITE(iout, 1484)
1159 IF (ifvent(ii) == 4) WRITE(iout, 1485)
1160 shol = zero
1161 IF (ipvent(ii) /= 0) THEN
1163 t_monvoln%RBAGHOL(15, ii) = shol
1164 IF (t_monvoln%IBAGHOL(13, ii) == 0) THEN
1165 WRITE(iout,1479)
1166 . shol,avent(ii),bvent(ii),
1167 . iport(ii),iporp(ii),ipora(ii),fport(ii),fporp(ii),fpora(ii),
1168 . iport1(ii),iporp1(ii),ipora1(ii),fport1(ii),fporp1(ii),fpora1(ii)
1169 WRITE(iout,1480) tvent(ii),dpdef(ii),dtpdef(ii),idtpdef(ii),tstope(ii)
1170 ELSE
1171 WRITE(iout,1579) shol,iblockage(ii)
1172 WRITE(iout,1580) tvent(ii),dpdef(ii),dtpdef(ii),idtpdef(ii),tstope(ii)
1173 ENDIF
1174 ELSE
1175 IF (t_monvoln%IBAGHOL(13, ii) == 0) THEN
1176 WRITE(iout,1489)
1177 . avent(ii),bvent(ii),
1178 . iport(ii),iporp(ii),ipora(ii),fport(ii),fporp(ii),fpora(ii),
1179 . iport1(ii),iporp1(ii),ipora1(ii),fport1(ii),fporp1(ii),fpora1(ii)
1180 WRITE(iout,1480) tvent(ii),dpdef(ii),dtpdef(ii),idtpdef(ii),tstope(ii)
1181 ELSE
1182 cleak =t_monvoln%RBAGHOL(6, ii)
1183 WRITE(iout,1585) cleak(ii),avent(ii),iport(ii),fport(ii),ipora(ii),fpora(ii)
1184 WRITE(iout,1580) tvent(ii),dpdef(ii),dtpdef(ii),idtpdef(ii),tstope(ii)
1185 ENDIF
1186 ENDIF
1187 ENDDO
1188
1189 IF(t_monvoln%IVOLU(75) == 1)THEN
1190 WRITE(iout,3001)1
1191 ENDIF
1192
1193
1194
1195
1196 IF (ALLOCATED(i_inj)) DEALLOCATE(i_inj)
1197 IF (ALLOCATED(isens)) DEALLOCATE(isens)
1198 IF (ALLOCATED(ijet)) DEALLOCATE(ijet)
1199 IF (ALLOCATED(nj1)) DEALLOCATE(nj1)
1200 IF (ALLOCATED(nj2)) DEALLOCATE(nj2)
1201 IF (ALLOCATED(nj3)) DEALLOCATE(nj3)
1202 IF (ALLOCATED(ipt)) DEALLOCATE(ipt)
1203 IF (ALLOCATED(ipa)) DEALLOCATE(ipa)
1204 IF (ALLOCATED(ipz)) DEALLOCATE(ipz)
1205 IF (ALLOCATED(fpt)) DEALLOCATE(fpt)
1206 IF (ALLOCATED(fpa)) DEALLOCATE(fpa)
1207 IF (ALLOCATED(fpz)) DEALLOCATE(fpz)
1208 IF (ALLOCATED(i_injsys)) DEALLOCATE(i_injsys)
1209 DEALLOCATE(ipvent, ifvent, avent, bvent)
1210 DEALLOCATE(tvent, tstope, dpdef, dtpdef,
1211 . idtpdef)
1212 DEALLOCATE(iport, iporp, ipora, fport,
1213 . fporp, fpora)
1214 DEALLOCATE(iport1, iporp1, ipora1, fport1,
1215 . fporp1, fpora1)
1216 DEALLOCATE(iblockage, cleak)
1217 DEALLOCATE(ivdp, fvdp)
1218
1219
1220
1221
1222 RETURN
1223 1002 FORMAT(
1224 . /5x,'INITIAL SURFACE OF MONITORED VOLUME . .=',1pg20.13,
1225 . /5x,'SURFACE ERROR(NE.0 FOR NON CLOSED SURF)=',1pg20.13,
1226 . /5x,'INITIAL VOLUME OF MONITORED VOLUME. . .=',1pg20.13)
1227 1003 FORMAT(
1228 . 5x,'UNIT SCALE FOR TIME FUNCTIONS =',1pg20.13,
1229 . /5x,'UNIT SCALE FOR PRESSURE FUNCTIONS =',1pg20.13,
1230 . /5x,'UNIT SCALE FOR AREA FUNCTIONS =',1pg20.13,
1231 . /5x,'UNIT SCALE FOR ANGLE FUNCTIONS =',1pg20.13,
1232 . /5x,'UNIT SCALE FOR DISTANCE FUNCTIONS =',1pg20.13)
1233 1005 FORMAT( 5x,'EXTERNAL SURFACE ID . . . . . . . . . .=',i10)
1234 1006 FORMAT( 5x,'GLOBAL HEAT TRANSFER COEFFICIENT. . . .=',1pg20.13)
1235 1395 FORMAT(
1236 . /5x,'INITIAL GAS . . . . . . . . . . . . . .=',i10)
1237 1400 FORMAT(
1238 . 5x,'VOLUMIC VISCOSITY . . . . . . . . . . .=',1pg20.13,
1239 . /5x,'INITIAL TEMPERATURE . . . . . . . . . .=',1pg20.13,
1240 . /5x,'EXTERNAL PRESSURE . . . . . . . . . . .=',1pg20.13,
1241 . /5x,'INITIAL PRESSURE. . . . . . . . . . . .=',1pg20.13/)
1242 1401 FORMAT(
1243 . 5x,'INITIAL THERMODYNAMIC EQUILIBRIUM IS SET AT TIME 0'
1244 . /5x,'--------------------------------------------------'/)
1245 1404 FORMAT(
1246 . 5x,'THERMODYNAMIC EQUILIBRIUM IS SET EVERY CYCLE UP TO INJECTION TIME'/)
1247 1405 FORMAT(
1248 . 5x,'THERMODYNAMIC EQUILIBRIUM IS SET EVERY',i10,' CYCLES UP TO INJECTION TIME'/)
1249 1415 FORMAT(
1250 . 5x,'CHARACTERISTICS OF INITIAL GAZ ',
1251 . /5x,'------------------------------ ',
1252 . /5x,'MOLECULAR WEIGHT',
1253 . /5x,' AT INITIAL TEMPERATURE . . . . .=',1pg20.13,
1254 . /5x,'GAMMA AT INITIAL TEMPERATURE . . . . .=',1pg20.13,
1255 . /5x,'COEFFICIENT CPA . . . . . . . . . . . .=',1pg20.13,
1256 . /5x,'COEFFICIENT CPB . . . . . . . . . . . .=',1pg20.13,
1257 . /5x,'COEFFICIENT CPC . . . . . . . . . . . .=',1pg20.13,
1258 . /5x,'COEFFICIENT CPD . . . . . . . . . . . .=',1pg20.13,
1259 . /5x,'COEFFICIENT CPE . . . . . . . . . . . .=',1pg20.13,
1260 . /5x,'COEFFICIENT CPF . . . . . . . . . . . .=',1pg20.13/)
1261 1425 FORMAT(
1262 . /5x,'INJECTORS ',
1263 . /5x,'--------- ')
1264 1426 FORMAT(
1265 . 5x,'NUMBER OF INJECTORS . . . . . . . . . .=',i10/)
1266 1432 FORMAT(
1267 . 5x,'INJECTOR. . . . . . . . . . . . . . . .=',i10,
1268 . /10x,'INJECTOR NUMBER . . . . . . . . . . . .=',i10,
1269 . /10x,'SENSOR NUMBER . . . . . . . . . . . . .=',i10)
1270 1435 FORMAT(15x,'TIME FUNCTION FOR INCOMING GAS VELOCITY=',i10,
1271 . /15x,'SCALE FACTOR FOR INCOMING GAS VELOCITY.=',1pg20.13)
1272 1442 FORMAT(
1273 . /15x,'MIXTURE CHARACTERISTICS ',
1274 . /15x,'AT BEGINNING OF INJECTION ',
1275 . /15x,'------------------------- ',
1276 . /15x,'GAMMA . . . . . . . . . . . . . . . . .=',1pg20.13,
1277 . /15x,'MOLECULAR WEIGHT. . . . . . . . . . . .=',1pg20.13,
1278 . /15x,'COEFFICIENT CPA . . . . . . . . . . . .=',1pg20.13,
1279 . /15x,'COEFFICIENT CPB . . . . . . . . . . . .=',1pg20.13,
1280 . /15x,'COEFFICIENT CPC . . . . . . . . . . . .=',1pg20.13,
1281 . /15x,'COEFFICIENT CPD . . . . . . . . . . . .=',1pg20.13,
1282 . /15x,'COEFFICIENT CPE . . . . . . . . . . . .=',1pg20.13,
1283 . /15x,'COEFFICIENT CPF . . . . . . . . . . . .=',1pg20.13)
1284 1445 FORMAT(
1285 . 15x,'INFLATOR SURFACE ID . . . . . . . . . .=',i10,
1286 . /15x,'INITIAL SURFACE OF INFLATOR . . . . . .=',1pg20.13)
1287 1470 FORMAT(
1288 . /5x,'VENT HOLES AND POROUS FABRIC SURFACES ',
1289 . /5x,'------------------------------------- ',
1290 . /5x,'NUMBER OF VENT HOLES AND POROUS SURFACES . .=',i10,
1291 . /5x,'INJECTION TIME TINJ. . . . . . . . . . . . .=',1pg20.13)
1292 1472 FORMAT(
1293 . / 5x,'VENT HOLE NUMBER. . . . . . . . . . . .=',i10,
1294 . /15x,'VENT HOLE SURFACE ID. . . . . . . . . .=',i10)
1295 1473 FORMAT(
1296 . / 5x,'POROUS SURFACE NUMBER . . . . . . . . .=',i10,
1297 . /15x,'POROUS SURFACE ID . . . . . . . . . . .=',i10)
1298 1475 FORMAT(
1299 . 5x,'VENTING START TIME SHIFT . . . . . . . . . .=',i10,
1300 . /5x,' 0 : NO SHIFT',
1301 . /5x,' 1,2: VENTING FUNCTIONS ARE SHIFTED BY TINJ',
1302 . /5x,' 3 : VENTING FUNCTIONS ARE SHIFTED BY TINJ+TSTART')
1303 1476 FORMAT(
1304 . 15x,'TITLE . . . . . . . . . . . . . . . . .=',1x,a20)
1305 1481 FORMAT(15x,'ISENTHALPIC VENTING MODEL ')
1306 1482 FORMAT(15x,'CHEMKIN MODEL FOR POROSITY : ',
1307 . /15x,'VELOCITY VS RELATIVE PRESSURE FUNCTION =',i10,
1308 . /15x,' SCALE FACTOR. . . . . . .=',1pg20.13)
1309 1484 FORMAT(15x,'GRAEFE POROSITY FORMULATION')
1310 1485 FORMAT(15x,'ISENTHALPIC VENTING MODEL WITH POSSIBLE FLOW IN')
1311 1479 FORMAT(
1312 . 15x,'INITIAL SURFACE . . . . . . . . . . . .=',1pg20.13,
1313 . /15x,'AVENT:VENT HOLE SCALE FACTOR. . . . . .=',1pg20.13,
1314 . /15x,'BVENT:VENT HOLE SCALE FACTOR IF CONTACT=',1pg20.13,
1315 . /15x,'POROSITY FUNCTION / TIME. . . . . . . .=',i10,
1316 . /15x,'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
1317 . /15x,'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
1318 . /15x,'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
1319 . /15x,'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
1320 . /15x,'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13,
1321 . /15x,'POROSITY FUNCTION / TIME(after contact)=',i10,
1322 . /15x,'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
1323 . /15x,'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
1324 . /15x,'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
1325 . /15x,'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
1326 . /15x,'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13)
1327 1480 FORMAT(
1328 . 15x,'START TIME FOR VENTING TSTART . . . . .=',1pg20.13,
1329 . /15x,'RELATIVE PRES. FOR MEMBRANE DEFLATION .=',1pg20.13,
1330 . /15x,' (DPDEF = PDEF - PEXT) ',
1331 . /15x,'TIME DELAY BEFORE MEMBRANE DEFLATION .=',1pg20.13,
1332 . /15x,'TIME DELAY FLAG . . . . . . . . . . . .=',i10,
1333 . /15x,' IF IDTPDEF : 0',
1334 . /15x,' PRESSURE SHOULD BE OVER PDEF DURING',
1335 . /15x,' A CUMULATED DTPDEF TIME'
1336 . /15x,' BEFORE ACTIVATING DEFLATION'
1337 . /15x,' IF IDTPDEF : 1',
1338 . /15x,' DEFLATION START DTPDEF AFTER',
1339 . /15x,' DPDEF HAS BEEN REACHED',
1340 . /15x,'END TIME FOR VENTING TSTOP. . . . . . .=',1pg20.13)
1341 1483 FORMAT(15x,'LOCAL VELOCITY VENTING FORMULATION')
1342 1489 FORMAT(
1343 . 15x,'AVENT:VENT HOLE AREA. . . . . . . . . .=',1pg20.13,
1344 . /15x,'BVENT:VENT HOLE SCALE FACTOR IF CONTACT=',1pg20.13,
1345 . /15x,'POROSITY FUNCTION / TIME. . . . . . . .=',i10,
1346 . /15x,'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
1347 . /15x,'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
1348 . /15x,'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
1349 . /15x,'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
1350 . /15x,'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13,
1351 . /15x,'POROSITY FUNCTION / TIME(after contact)=',i10,
1352 . /15x,'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
1353 . /15x,'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
1354 . /15x,'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
1355 . /15x,'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
1356 . /15x,'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13)
1357 1579 FORMAT(
1358 . 15x,'INITIAL SURFACE . . . . . . . . . . . .=',1pg20.13,
1359 . /15x,'BLOCKAGE IF CONTACT . . . . . . . . . .=',i10,
1360 . /15x,' =0 NO =1 YES')
1361 1580 FORMAT(
1362 . 15x,'START TIME FOR VENTING TSTART . . . . .=',1pg20.13,
1363 . /15x,'RELATIVE PRESSURE TO INITIATE LEAKAGE .=',1pg20.13,
1364 . /15x,' (DPDEF = PDEF - PEXT) ',
1365 . /15x,'TIME DELAY BEFORE LEAKAGE . . . . . . .=',1pg20.13,
1366 . /15x,'TIME DELAY FLAG . . . . . . . . . . . .=',i10,
1367 . /15x,' IF IDTPDEF = 0',
1368 . /15x,' PRESSURE SHOULD BE OVER PDEF DURING',
1369 . /15x,' A CUMULATED DTPDEF TIME '
1370 . /15x,' BEFORE INITIATING LEAKAGE'
1371 . /15x,' IF IDTPDEF = 1',
1372 . /15x,' DEFLATION STARTS DTPDEF AFTER',
1373 . /15x,' DPDEF HAS BEEN REACHED',
1374 . /15x,'END TIME FOR VENTING TSTOP. . . . . . .=',1pg20.13)
1375 1585 FORMAT(
1376 . 15x,'LEAKAGE COEFFICIENT . . . . . . . . . .=',1pg20.13,
1377 . /15x,'LEAKAGE AREA. . . . . . . . . . . . . .=',1pg20.13,
1378 . /15x,'LEAKAGE COEFFICIENT TIME FUNCTION . . .=',i10,
1379 . /15x,' SCALE FACTOR. . . . . . . . . .=',1pg20.13,
1380 . /15x,'LEAKAGE AREA TIME FUNCTION. . . . . . .=',i10,
1381 . /15x,' SCALE FACTOR. . . . . . . . . .=',1pg20.13)
1382 1700 FORMAT(5x,'FVMBAG PARAMETERS ',
1383 . /5x,'----------------- ')
1384 1702 FORMAT(15x,'GAS MESH OPTION . . . . . . . . . . . .=',i10,
1385 . /15x,' = 1 POLYHEDRON AUTOMESH (obsolete) ',
1386 . /15x,' = 2 TETRAHEDRON AUTOMESH ',
1387 . /15x,' = 4 TETRAHEDRON AUTOMESH WITH MESH OUTPUT ',
1388 . /15x,' = 12 TETRAHEDRON HM AUTOMESH ',
1389 . /15x,' = 14 TETRAHEDRON HM AUTOMESH WITH MESH OUTPUT')
1390 1704 FORMAT(15x,'AIRBAG CUTTING FRAME: ')
1391 1705 FORMAT(15x,'FRAME NUMBER. . . . . . . . . . . . . .=',i10)
1392 1706 FORMAT(15x,'MESH HOLES. . . . . . . . . . . . . . .=',i10)
1393 1710 FORMAT(15x,' ORIGIN X COORDINATE. . . . . . . . .=',1pg20.13,
1394 . /15x,' ORIGIN Y COORDINATE. . . . . . . . .=',1pg20.13,
1395 . /15x,' ORIGIN Z COORDINATE. . . . . . . . .=',1pg20.13,
1396 . /15x,' DIRECTION 1 X COORDINATE . . . . . .=',1pg20.13,
1397 . /15x,' DIRECTION 1 Y COORDINATE . . . . . .=',1pg20.13,
1398 . /15x,' DIRECTION 1 Z COORDINATE . . . . . .=',1pg20.13,
1399 . /15x,' DIRECTION 3 X COORDINATE . . . . . .=',1pg20.13,
1400 . /15x,' DIRECTION 3 Y COORDINATE . . . . . .=',1pg20.13,
1401 . /15x,' DIRECTION 3 Z COORDINATE . . . . . .=',1pg20.13,
1402 . /15x,'CUTTING LENGTH IN LOCAL DIRECTION 1 . .=',1pg20.13,
1403 . /15x,'CUTTING LENGTH IN LOCAL DIRECTION 2 . .=',1pg20.13,
1404 . /15x,'CUTTING LENGTH IN LOCAL DIRECTION 3 . .=',1pg20.13,
1405 . /15x,'NUMBER OF CELLS IN LOCAL DIRECTION 1. .=',i10,
1406 . /15x,'NUMBER OF CELLS IN LOCAL DIRECTION 2. .=',i10,
1407 . /15x,'NUMBER OF CELLS IN LOCAL DIRECTION 3. .=',i10,
1408 . /15x,'ADDITIONAL BRICK GROUP NUMBER . . . . .=',i10,
1409 . /15x,'INTERNAL SURFACE ID. . . . . . . . . .=',i10,
1410 . /15x,'FLAG FOR MESH ON REFERENCE METRICS. . .=',i10,
1411 . /15x,'CELL MERGING STRATEGY: ',
1412 . /15x,' GLOBAL MERGING TYPE. . . . . . . . .=',i10,
1413 . /15x,' GLOBAL MERGING COEFFICIENT . . . . .=',1pg20.13,
1414 . /15x,' NEIGHBORHOOD MERGING COEFFICIENT . .=',1pg20.13,
1415 . /15x,'TOLERANCE FOR SMALL SEGMENT REMOVAL . .=',1pg20.13,
1416 . /15x,'QUADRATIC BULK VISCOSITY. . . . . . . .=',1pg20.13,
1417 . /15x,'LINEAR BULK VISCOSITY . . . . . . . . .=',1pg20.13,
1418 . /15x,'MINIMUM HEIGHT. . . . . . . . . . . . .=',1pg20.13,
1419 . /15x,'DT SCALE FACTOR . . . . . . . . . . . .=',1pg20.13,
1420 . /15x,'MINIMUM TIMESTEP. . . . . . . . . . . .=',1pg20.13,
1421 . /15x,'OUTPUT LEVEL. . . . . . . . . . . . . .=',i10,
1422 . /15x,'MEMORY PARAMETERS: ',
1423 . /15x,' ESTIMATED NUMBER OF AIRBAG LAYERS. .=',i10,
1424 . /15x,' ESTIMATED MAXIMUM NUMBER OF AIRBAG ',
1425 . /15x,' FACETS PER CUTTING CELL. . . . .=',i10,
1426 . /15x,' ESTIMATED MAXIMUM NUMBER OF POINTS ',
1427 . /15x,' PER POLYGON. . . . . . . . . . .=',i10,
1428 . /15x,'FLAG FOR ANIMATION FILE A000. . . . . .=',i10)
1429 1789 FORMAT(15x, 'SWITCH OPTION (ISWITCH). . . . . . . . =',i10)
1430 1790 FORMAT(15x, ' = 1 SWITCH TO UNIFORM PRESSURE')
1431 1791 FORMAT(15x, ' = 2 MERGE TO SINGLE FV INSIDE EACH CHAMBER')
1432 2703 FORMAT(15x, ' TIME (TSWITCH) . . . . . . . . . . =',1pg20.13)
1433 2704 FORMAT(15x, ' PRESSURE DEVIATION RATIO (PSWITCH) =',1pg20.13)
1434 3001 FORMAT(
1435 . /5x,'DEBUG OPTIONS',
1436 . /5x,'-------------',
1437 . /5x,' IH3D_FLAG (H3D OUTPUT). . . . . . . .=', i10)
subroutine hm_get_float_array_index(name, rval, 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)