OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_monvol_type4_mod Module Reference

Functions/Subroutines

subroutine hm_read_monvol_type4 (t_monvoln, itabm1, sensors, npt, pld, unitab, luid, npc, igrsurf, itab, x, pm, geo, ixc, ixtg, lsubmodel)

Function/Subroutine Documentation

◆ hm_read_monvol_type4()

subroutine hm_read_monvol_type4_mod::hm_read_monvol_type4 ( type(monvol_struct_), intent(inout) t_monvoln,
integer, dimension(*), intent(in) itabm1,
type (sensors_), intent(in) sensors,
integer, dimension(*), intent(in) npt,
dimension(2, *), intent(in) pld,
type(unit_type_), intent(in) unitab,
integer, intent(in) luid,
integer, dimension(*), intent(in) npc,
type (surf_), dimension(nsurf), intent(inout) igrsurf,
integer, dimension(*), intent(in) itab,
dimension(3, *), intent(in) x,
dimension(npropm, *), intent(in) pm,
dimension(npropg, *), intent(in) geo,
integer, dimension(nixc, *), intent(in) ixc,
integer, dimension(nixtg, *), intent(in) ixtg,
type(submodel_data), dimension(nsubmod), intent(in) lsubmodel )

Definition at line 54 of file hm_read_monvol_type4.F.

58C-----------------------------------------------
59C M o d u l e s
60C-----------------------------------------------
61 USE unitab_mod
62 USE groupdef_mod
63 USE message_mod
65 USE submodel_mod
66 USE sensor_mod
67C-----------------------------------------------
68C I m p l i c i t T y p e s
69C-----------------------------------------------
70#include "implicit_f.inc"
71C-----------------------------------------------
72C C o m m o n B l o c k s
73C-----------------------------------------------
74C NSURF
75#include "com04_c.inc"
76C KMONVO, IREC
77C NIMV, NRVOLU
78#include "param_c.inc"
79C IIN
80#include "units_c.inc"
81C IPRI
82#include "scr03_c.inc"
83C-----------------------------------------------
84C D u m m y A r g u m e n t s
85C-----------------------------------------------
86 TYPE(UNIT_TYPE_), INTENT(IN) :: UNITAB
87 INTEGER, INTENT(IN) :: LUID, ITABM1(*), NPT(*)
88 INTEGER, INTENT(IN) :: NPC(*), ITAB(*), IXC(NIXC, *), IXTG(NIXTG, *)
89 my_real, INTENT(IN) :: x(3, *), geo(npropg, *), pm(npropm, *),pld(2, *)
90 TYPE (SURF_), INTENT(INOUT), DIMENSION(NSURF) :: IGRSURF
91 TYPE(MONVOL_STRUCT_), INTENT(INOUT) :: T_MONVOLN
92 TYPE(SUBMODEL_DATA), DIMENSION(NSUBMOD), INTENT(IN) :: LSUBMODEL
93 TYPE (SENSORS_) ,INTENT(IN) :: SENSORS
94C-----------------------------------------------
95C L o c a l V a r i a b l e s
96C-----------------------------------------------
97 INTEGER :: II, JJ
98 INTEGER :: SURFID
99 my_real :: fac_m, fac_l, fac_t, fac_c
100 my_real :: scal_t, scal_p, scal_s, scal_a, scal_d
101 LOGICAL :: FOUND, DECREASE
102 my_real :: sa, rot, vol, vmin, veps, amu, sv,
103 . pext, ti, pini, fac_gen
104 INTEGER :: IEQUI, ITTF, NP, IP, IS, NJET, NVENT
105 my_real :: gamai, cpai, cpbi, cpci, cpi, cvi, rmwi, cpg, rmwg, rhoi, especi, ti2, mi,
106 . ttfire, shol
107 my_real, DIMENSION(:), ALLOCATABLE :: gama, cpa, cpb, cpc, fmass, ftemp, fpt, fpa, fpz,
108 . tvent, dpdef, dtpdef, fvdp, avent, bvent, tstope, fport, fporp, fpora,
109 . fport1, fporp1,fpora1
110 INTEGER, DIMENSION(:), ALLOCATABLE :: IMASS, IFLU, ITEMP, ISENS, IJET, NJ1, NJ2, NJ3,
111 . IPT, IPA, IPZ, IVDP, IDTPDEF, IPVENT, IFVENT, IPORT, IPORP, IPORA, IPORT1, IPORP1, IPORA1
112 CHARACTER(LEN = 40) :: MESS
113 LOGICAL :: IS_AVAILABLE
114C-----------------------------------------------
115C E x t e r n a l F u n c t i o n s
116C-----------------------------------------------
117 INTEGER USR2SYS
118 EXTERNAL usr2sys
119C-----------------------------------------------
120C B e g i n n i n g o f s o u r c e
121C-----------------------------------------------
122 mess = 'MONITORED VOLUME DEFINITION '
123C =======
124C Reading
125C =======
126C Line 1
127 CALL hm_get_intv('surf_IDex', surfid, is_available, lsubmodel)
128C
129 CALL hm_get_floatv('Ascalet', scal_t, is_available, lsubmodel, unitab)
130 CALL hm_get_floatv('AscaleP', scal_p, is_available, lsubmodel, unitab)
131 CALL hm_get_floatv('AscaleS', scal_s, is_available, lsubmodel, unitab)
132 CALL hm_get_floatv('AscaleA', scal_a, is_available, lsubmodel, unitab)
133 CALL hm_get_floatv('AscaleD', scal_d, is_available, lsubmodel, unitab)
134C Line 2
135 CALL hm_get_floatv('MU', amu, is_available, lsubmodel, unitab)
136 CALL hm_get_floatv('Pext', pext, is_available, lsubmodel, unitab)
137 CALL hm_get_floatv('T0', ti, is_available, lsubmodel, unitab)
138 CALL hm_get_intv('Iequi', iequi, is_available, lsubmodel)
139 CALL hm_get_intv('Ittf', ittf, is_available, lsubmodel)
140C Line 3
141 CALL hm_get_floatv('GAMMAi', gamai, is_available, lsubmodel, unitab)
142 CALL hm_get_floatv('cpai', cpai, is_available, lsubmodel, unitab)
143 CALL hm_get_floatv('cpbi', cpbi, is_available, lsubmodel, unitab)
144 CALL hm_get_floatv('cpci', cpci, is_available, lsubmodel, unitab)
145C Injectors
146 CALL hm_get_intv('Njet', njet, is_available, lsubmodel)
147
148 t_monvoln%NJET = njet
149 t_monvoln%IVOLU(8) = njet
150 IF (njet > 0) THEN
151 ALLOCATE(t_monvoln%IBAGJET(nibjet, njet))
152 t_monvoln%IBAGJET(1:nibjet, 1:njet) = 0
153 ALLOCATE(t_monvoln%RBAGJET(nrbjet, njet))
154 t_monvoln%RBAGJET(1:nrbjet, 1:njet) = zero
155 ENDIF
156 IF (njet > 0) THEN
157 ALLOCATE(gama(njet), cpa(njet), cpb(njet), cpc(njet))
158 ALLOCATE(imass(njet), iflu(njet), fmass(njet), itemp(njet), ftemp(njet), isens(njet))
159 ALLOCATE(ijet(njet), nj1(njet), nj2(njet), nj3(njet))
160 ALLOCATE(ipt(njet), ipa(njet), ipz(njet), fpt(njet), fpa(njet), fpz(njet))
161 DO ii = 1, njet
162 CALL hm_get_float_array_index('GAMMAj', gama(ii), ii, is_available, lsubmodel, unitab)
163 CALL hm_get_float_array_index('cpa', cpa(ii), ii, is_available, lsubmodel, unitab)
164 CALL hm_get_float_array_index('cpb', cpb(ii), ii, is_available, lsubmodel, unitab)
165 CALL hm_get_float_array_index('cpc', cpc(ii), ii, is_available, lsubmodel, unitab)
166
167 CALL hm_get_int_array_index('fct_IDmas', imass(ii), ii,is_available, lsubmodel)
168 CALL hm_get_int_array_index('Iflow', iflu(ii), ii,is_available, lsubmodel)
169 CALL hm_get_float_array_index('Fscalemas', fmass(ii), ii, is_available, lsubmodel, unitab)
170 CALL hm_get_int_array_index('fct_IDT', itemp(ii), ii,is_available, lsubmodel)
171 CALL hm_get_float_array_index('FscaleT', ftemp(ii), ii, is_available, lsubmodel, unitab)
172 CALL hm_get_int_array_index('sens_ID', isens(ii), ii,is_available, lsubmodel)
173
174 CALL hm_get_int_array_index('Ijet', ijet(ii), ii,is_available, lsubmodel)
175 CALL hm_get_int_array_index('ABG_N1', nj1(ii), ii,is_available, lsubmodel)
176 CALL hm_get_int_array_index('ABG_N2', nj2(ii), ii,is_available, lsubmodel)
177 CALL hm_get_int_array_index('ABG_N3', nj3(ii), ii,is_available, lsubmodel)
178
179 fpt(ii) = zero
180 fpa(ii) = zero
181 fpz(ii) = zero
182 IF (ijet(ii) > 0) THEN
183 CALL hm_get_int_array_index('IPt', ipt(ii), ii,is_available, lsubmodel)
184 CALL hm_get_int_array_index('IPtheta', ipa(ii), ii,is_available, lsubmodel)
185 CALL hm_get_int_array_index('IPdelta', ipz(ii), ii,is_available, lsubmodel)
186 CALL hm_get_float_array_index('Fpt', fpt(ii), ii, is_available, lsubmodel, unitab)
187 CALL hm_get_float_array_index('Fptheta', fpa(ii), ii, is_available, lsubmodel, unitab)
188 CALL hm_get_float_array_index('Fpdelta', fpz(ii), ii, is_available, lsubmodel, unitab)
189 ENDIF
190 ENDDO
191 ENDIF
192
193C Ventholes
194 CALL hm_get_intv('Nvent', nvent, is_available, lsubmodel)
195
196 t_monvoln%IVOLU(11) = nvent
197 t_monvoln%NVENT = nvent
198 IF (nvent > 0) THEN
199 ALLOCATE(t_monvoln%IBAGHOL(nibhol, nvent))
200 t_monvoln%IBAGHOL(1:nibhol, 1:nvent) = 0
201 ALLOCATE(t_monvoln%RBAGHOL(nrbhol, nvent))
202 t_monvoln%RBAGHOL(1:nrbhol, 1:nvent) = zero
203 ENDIF
204 IF (nvent > 0) THEN
205 ALLOCATE(tvent(nvent), dpdef(nvent), dtpdef(nvent), fvdp(nvent), avent(nvent),
206 . bvent(nvent), tstope(nvent))
207 ALLOCATE(ipvent(nvent), ivdp(nvent), idtpdef(nvent), ifvent(nvent))
208 ALLOCATE(iport(nvent), iporp(nvent), ipora(nvent), iport1(nvent),
209 . iporp1(nvent), ipora1(nvent))
210 ALLOCATE(fport(nvent), fporp(nvent), fpora(nvent), fport1(nvent),
211 . fporp1(nvent), fpora1(nvent))
212 DO ii = 1, nvent
213 ifvent(ii) = 0
214 CALL hm_get_int_array_index('surf_IDv', ipvent(ii), ii,is_available, lsubmodel)
215 CALL hm_get_float_array_index('Avent', avent(ii), ii, is_available, lsubmodel, unitab)
216 CALL hm_get_float_array_index('Bvent', bvent(ii), ii, is_available, lsubmodel, unitab)
217 CALL hm_get_float_array_index('Tstop', tstope(ii), ii, is_available, lsubmodel, unitab)
218
219 CALL hm_get_float_array_index('Tvent', tvent(ii), ii, is_available, lsubmodel, unitab)
220 CALL hm_get_float_array_index('dPdef', dpdef(ii), ii, is_available, lsubmodel, unitab)
221 CALL hm_get_float_array_index('dtPdef', dtpdef(ii), ii, is_available, lsubmodel, unitab)
222 CALL hm_get_int_array_index('fct_IDv', ivdp(ii), ii,is_available, lsubmodel)
223 CALL hm_get_float_array_index('Fscalev', fvdp(ii), ii, is_available, lsubmodel, unitab)
224 CALL hm_get_int_array_index('IdtPdef', idtpdef(ii), ii,is_available, lsubmodel)
225
226 CALL hm_get_int_array_index('fct_IDt', iport(ii), ii,is_available, lsubmodel)
227 CALL hm_get_int_array_index('fct_IDP', iporp(ii), ii,is_available, lsubmodel)
228 CALL hm_get_int_array_index('fct_IDA', ipora(ii), ii,is_available, lsubmodel)
229 CALL hm_get_float_array_index('Fscalet', fport(ii), ii, is_available, lsubmodel, unitab)
230 CALL hm_get_float_array_index('FscaleP', fporp(ii), ii, is_available, lsubmodel, unitab)
231 CALL hm_get_float_array_index('FscaleA', fpora(ii), ii, is_available, lsubmodel, unitab)
232
233 CALL hm_get_int_array_index("fct_IDt'", iport1(ii), ii,is_available, lsubmodel)
234 CALL hm_get_int_array_index("fct_IDP'", iporp1(ii), ii,is_available, lsubmodel)
235 CALL hm_get_int_array_index("fct_IDA'", ipora1(ii), ii,is_available, lsubmodel)
236 CALL hm_get_float_array_index("Fscalet'", fport1(ii), ii, is_available, lsubmodel, unitab)
237 CALL hm_get_float_array_index("FscaleP'", fporp1(ii), ii, is_available, lsubmodel, unitab)
238 CALL hm_get_float_array_index("FscaleA'", fpora1(ii), ii, is_available, lsubmodel, unitab)
239 ENDDO
240 ENDIF
241C ================
242C Check operations
243C ================
244C External surface check
245 t_monvoln%IVOLU(4) = 0
246 found = .false.
247 DO ii = 1, nsurf
248 IF (surfid == igrsurf(ii)%ID) THEN
249 t_monvoln%IVOLU(4) = ii
250 t_monvoln%EXT_SURFID = ii
251 found = .true.
252 EXIT
253 ENDIF
254 ENDDO
255 IF (.NOT. found) THEN
256 CALL freerr(3)
257 ELSEIF (igrsurf(t_monvoln%IVOLU(4))%ISH4N3N == 0) THEN
258 CALL ancmsg(msgid = 18, anmode = aninfo, msgtype = msgerror,
259 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = surfid)
260 CALL freerr(3)
261 ENDIF
262
263C Check surface closure
264 CALL monvol_check_surfclose(t_monvoln, itab, igrsurf(t_monvoln%EXT_SURFID), x)
265C Set all normal on same side
266 CALL monvol_orient_surf(t_monvoln, t_monvoln%TITLE, t_monvoln%IVOLU, itab,
267 . igrsurf(t_monvoln%EXT_SURFID),ixc, ixtg, x, 2)
268C Compute Monvon volume
269 CALL monvol_compute_volume(t_monvoln, t_monvoln%TITLE, t_monvoln%IVOLU, igrsurf(t_monvoln%EXT_SURFID),
270 . itab, x, pm, geo, ixc, ixtg,
271 . sa, rot, vol, vmin, veps, sv)
272C Reverse all normals to ensure positive volume
273 CALL monvol_reverse_normals(t_monvoln, t_monvoln%TITLE, t_monvoln%IVOLU, itab,
274 . igrsurf(t_monvoln%EXT_SURFID),ixc,ixtg,vol, x, 2)
275
276 IF (ittf < 0 .OR. ittf > 3) THEN
277 CALL ancmsg(msgid = 773, anmode = aninfo, msgtype = msgerror,
278 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
279 ENDIF
280C =====
281C Units
282C =====
283 fac_m = unitab%FAC_M(luid)
284 fac_l = unitab%FAC_L(luid)
285 fac_t = unitab%FAC_T(luid)
286 fac_c = fac_m / (fac_l * fac_t * fac_t)
287
288C ==============
289C Default values
290C ==============
291 IF (scal_t == zero) THEN
292 CALL hm_get_floatv_dim('Ascalet', fac_gen, is_available, lsubmodel, unitab)
293 scal_t = one * fac_gen
294 ENDIF
295 IF (scal_p == zero) THEN
296 CALL hm_get_floatv_dim('AscaleP', fac_gen, is_available, lsubmodel, unitab)
297 scal_p = one * fac_gen
298 ENDIF
299 IF (scal_s == zero) THEN
300 CALL hm_get_floatv_dim('AscaleS', fac_gen, is_available, lsubmodel, unitab)
301 scal_s = one * fac_gen
302 ENDIF
303 IF (scal_a == zero) THEN
304 CALL hm_get_floatv_dim('AscaleA', fac_gen, is_available, lsubmodel, unitab)
305 scal_a = one * fac_gen
306 ENDIF
307 IF (scal_d == zero) THEN
308 CALL hm_get_floatv_dim('AscaleD', fac_gen, is_available, lsubmodel, unitab)
309 scal_d = one * fac_gen
310 ENDIF
311
312 IF (amu == zero) amu = em02
313 IF(pext == zero) THEN
314 pext = 101325.d0 * (unitab%FAC_L_WORK * unitab%FAC_T_WORK * unitab%FAC_T_WORK) / unitab%FAC_M_WORK
315 ENDIF
316 pini = pext
317 IF (ti == zero) ti = twohundred95
318 DO ii = 1, njet
319 IF (imass(ii) /= 0 .AND. fmass(ii) == zero) THEN
320 CALL hm_get_float_array_index_dim('Fscalemas', fac_gen, ii, is_available, lsubmodel, unitab)
321 fmass(ii) = one * fac_gen
322 ENDIF
323 IF (itemp(ii) /= 0 .AND. ftemp(ii) == zero) THEN
324 CALL hm_get_float_array_index_dim('FscaleT', fac_gen, ii, is_available, lsubmodel, unitab)
325 ftemp(ii) = one * fac_gen
326 ENDIF
327 IF (iflu(ii) /= 0) THEN
328 fmass(ii) = fmass(ii) / fac_t
329 ENDIF
330 IF (fpt(ii) == zero) THEN
331 CALL hm_get_float_array_index_dim('Fpt', fac_gen, ii, is_available, lsubmodel, unitab)
332 fpt(ii) = one * fac_gen
333 ENDIF
334 IF (fpa(ii) == zero) THEN
335 CALL hm_get_float_array_index_dim('Fptheta', fac_gen, ii, is_available, lsubmodel, unitab)
336 fpa(ii) = one * fac_gen
337 ENDIF
338 IF (fpz(ii) == zero) THEN
339 CALL hm_get_float_array_index_dim('Fpdelta', fac_gen, ii, is_available, lsubmodel, unitab)
340 fpz(ii) = one * fac_gen
341 ENDIF
342 ENDDO
343 DO ii = 1, nvent
344 IF (ivdp(ii) > 0) ifvent(ii) = 2
345 IF (ipvent(ii) == 0) THEN
346 bvent(ii) = zero
347 ENDIF
348 IF (fport(ii) == zero) fport(ii) = one
349 IF (fporp(ii) == zero) fporp(ii) = one
350 IF (fpora(ii) == zero) fpora(ii) = one
351 IF (fport1(ii) == zero) fport1(ii) = one
352 IF (fporp1(ii) == zero) fporp1(ii) = one
353 IF (fpora1(ii) == zero) fpora1(ii) = one
354 ENDDO
355 IF (gamai == zero) THEN
356 IF (njet > 0) THEN
357 gamai = gama(1)
358 cpai = cpa(1)
359 cpbi = cpb(1)
360 cpci = cpc(1)
361 ENDIF
362 ENDIF
363 cpi = cpai + ti * (cpbi + cpci * ti)
364 cvi = cpi / gamai
365 rmwi = cvi * (gamai - one)
366 mi = pini * (vol + veps) / (rmwi * ti)
367 ttfire = infinity
368 DO ii = 1, njet
369 IF (isens(ii) > 0) THEN
370 found = .false.
371 DO is = 1, sensors%NSENSOR
372 IF (isens(ii) == sensors%SENSOR_TAB(is)%SENS_ID) THEN
373 t_monvoln%IBAGJET(4, ii) = is
374 IF (sensors%SENSOR_TAB(is)%TCRIT < ttfire) ttfire = sensors%SENSOR_TAB(is)%TCRIT
375 found = .true.
376 EXIT
377 ENDIF
378 ENDDO
379 IF (.NOT. found) THEN
380 CALL ancmsg(msgid = 17, anmode = aninfo, msgtype = msgerror,
381 . i2 = isens(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
382 ENDIF
383 ENDIF
384 ENDDO
385 IF (ttfire == infinity) THEN
386 ttfire = zero
387 ENDIF
388
389C =====
390C Store
391C =====
392 t_monvoln%RVOLU(26) = one / scal_t
393 t_monvoln%RVOLU(27) = one / scal_p
394 t_monvoln%RVOLU(28) = one / scal_s
395 t_monvoln%RVOLU(29) = one / scal_a
396 t_monvoln%RVOLU(30) = one / scal_d
397C
398 IF (iequi > 0) iequi = 1
399 t_monvoln%IVOLU(15) = iequi
400 t_monvoln%IVOLU(17) = ittf
401 t_monvoln%IVOLU(8) = njet
402C
403 t_monvoln%RVOLU(31) = pini
404 t_monvoln%RVOLU(7) = cpai
405 t_monvoln%RVOLU(8) = cpbi
406 t_monvoln%RVOLU(9) = cpci
407 t_monvoln%RVOLU(10) = rmwi
408 t_monvoln%RVOLU(49) = ttfire
409C
410 t_monvoln%RVOLU(1) = gamai
411 t_monvoln%RVOLU(3) = pext
412 t_monvoln%RVOLU(4) = vol+veps
413 t_monvoln%RVOLU(11) = mi
414 t_monvoln%RVOLU(12) = pini
415 t_monvoln%RVOLU(13) = ti
416 t_monvoln%RVOLU(14) = rmwi*mi
417 t_monvoln%RVOLU(17) = veps
418 t_monvoln%RVOLU(20) = mi
419 t_monvoln%RVOLU(25) = ti
420 t_monvoln%RVOLU(61) = gamai
421 rhoi = pini / (ti * rmwi)
422 t_monvoln%RVOLU(62) = rhoi
423 ti2 = ti * ti
424 especi = ti * (cpai + half * cpbi * ti + third * cpci * ti2 - rmwi)
425
426 t_monvoln%RVOLU(63) = especi + rmwi * ti
427 t_monvoln%RVOLU(64) = zero
428 t_monvoln%RVOLU(65) = zero
429 t_monvoln%RVOLU(66) = especi
430 DO ii = 1, njet
431 t_monvoln%IBAGJET(13, ii) = 0
432 t_monvoln%RBAGJET(1, ii) = gama(ii)
433 t_monvoln%RBAGJET(2, ii) = cpa(ii)
434 t_monvoln%RBAGJET(3, ii) = cpb(ii)
435 t_monvoln%RBAGJET(4, ii) = cpc(ii)
436 t_monvoln%RBAGJET(5, ii) = fmass(ii)
437 t_monvoln%RBAGJET(6, ii) = ftemp(ii)
438 t_monvoln%RBAGJET(12, ii) = fpt(ii)
439 t_monvoln%RBAGJET(13, ii) = fpa(ii)
440 t_monvoln%RBAGJET(14, ii) = fpz(ii)
441 IF (imass(ii) == 0)THEN
442 t_monvoln%IBAGJET(1, ii) = 0
443 ELSE
444 found = .false.
445 DO jj = 1, nfunct
446 IF (imass(ii) == npc(jj)) THEN
447 t_monvoln%IBAGJET(1, ii) = jj
448 decrease = .false.
449 np = (npt(jj + 1) - npt(jj)) / 2
450 IF (iflu(ii) == 0) THEN
451 DO ip = (npt(jj) - 1) / 2 + 1, (npt(jj + 1) - 1) / 2 - 1
452 IF (pld(2, ip + 1) < pld(2, ip)) decrease = .true.
453 ENDDO
454 IF (decrease) THEN
455 CALL ancmsg(msgid=540, msgtype = msgwarning, anmode = aninfo_blind_1,
456 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = imass(ii), i3 = ii)
457 ENDIF
458 ELSE
459 DO ip = (npt(jj) - 1) / 2 + 1, (npt(jj + 1) - 1) / 2
460 IF (pld(2, ip) < zero) decrease = .true.
461 ENDDO
462 IF (decrease) THEN
463 CALL ancmsg(msgid = 541, msgtype = msgwarning, anmode = aninfo_blind_1,
464 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = imass(ii), i3 = ii)
465 ENDIF
466 ENDIF
467 found = .true.
468 EXIT
469 ENDIF
470 ENDDO
471 IF (.NOT. found) THEN
472 CALL ancmsg(msgid = 10, anmode = aninfo, msgtype = msgerror,
473 . i2 = imass(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
474 ENDIF
475 ENDIF
476 t_monvoln%IBAGJET(2, ii) = iflu(ii)
477 IF (itemp(ii) == 0) THEN
478 t_monvoln%IBAGJET(3, ii) = 0
479 ELSE
480 found = .false.
481 DO jj = 1, nfunct
482 IF (itemp(ii) == npc(jj)) THEN
483 t_monvoln%IBAGJET(3, ii) = jj
484 found = .true.
485 EXIT
486 ENDIF
487 ENDDO
488 IF (.NOT. found) THEN
489 CALL ancmsg(msgid = 11, anmode = aninfo, msgtype = msgerror,
490 . i2 = itemp(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
491 ENDIF
492 ENDIF
493! Jetting
494 IF (ijet(ii) > 0) THEN
495 t_monvoln%IBAGJET(5, ii) = usr2sys(nj1(ii), itabm1, mess, t_monvoln%ID)
496 t_monvoln%IBAGJET(6, ii) = usr2sys(nj2(ii), itabm1, mess, t_monvoln%ID)
497 IF(nj3(ii) /= 0) THEN
498 t_monvoln%IBAGJET(7, ii) = usr2sys(nj3(ii), itabm1, mess, t_monvoln%ID)
499 ENDIF
500 found = .false.
501 DO jj= 1, nfunct
502 IF (ipt(ii) == npc(jj)) THEN
503 t_monvoln%IBAGJET(8, ii) = jj
504 found = .true.
505 EXIT
506 ENDIF
507 ENDDO
508 IF (.NOT. found) THEN
509 CALL ancmsg(msgid = 12, anmode = aninfo, msgtype = msgerror,
510 . i2 = ipt(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
511 ENDIF
512 found = .false.
513 DO jj = 1, nfunct
514 IF (ipa(ii) == npc(jj)) THEN
515 t_monvoln%IBAGJET(9, ii) = jj
516 found = .true.
517 EXIT
518 ENDIF
519 ENDDO
520 IF (.NOT. found) THEN
521 CALL ancmsg(msgid = 13, anmode = aninfo, msgtype = msgerror,
522 . i2 = ipa(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
523 ENDIF
524 found = .false.
525 DO jj = 1, nfunct
526 IF (ipz(ii) == npc(jj)) THEN
527 t_monvoln%IBAGJET(10, ii) = jj
528 found = .true.
529 EXIT
530 ENDIF
531 ENDDO
532 IF (.NOT. found) THEN
533 CALL ancmsg(msgid = 14, anmode = aninfo, msgtype = msgerror,
534 . i2 = ipz(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
535 ENDIF
536 ENDIF
537 cpg = cpa(ii) + ti * (cpb(ii) + cpc(ii) * ti)
538 rmwg = cpg * (gama(ii) - one) / gama(ii)
539 t_monvoln%RBAGJET(1, ii) = rmwg
540 IF (nj1(ii) == 0) THEN
541 ijet(ii) = 0
542 ELSE
543 ijet(ii) = 1
544 ENDIF
545 IF (nj3(ii) == 0) THEN
546 t_monvoln%IBAGJET(7, ii) = t_monvoln%IBAGJET(5, ii)
547 ENDIF
548 ENDDO ! NJET loop
549! Ventholes
550 DO ii = 1, nvent
551 t_monvoln%IBAGHOL(13, ii) = 0
552 t_monvoln%RBAGHOL(7, ii) = fport(ii)
553 t_monvoln%RBAGHOL(8, ii) = fporp(ii)
554 t_monvoln%RBAGHOL(9, ii) = fpora(ii)
555 t_monvoln%RBAGHOL(10, ii) = fport1(ii)
556 t_monvoln%RBAGHOL(11, ii) = fporp1(ii)
557 t_monvoln%RBAGHOL(12, ii) = fpora1(ii)
558 t_monvoln%IBAGHOL(1, ii) = 0
559 t_monvoln%IBAGHOL(10, ii) = ifvent(ii)
560 t_monvoln%IBAGHOL(11, ii) = idtpdef(ii)
561 t_monvoln%IBAGHOL(12, ii) = 0
562 IF (ipvent(ii) == 0) THEN
563 t_monvoln%IBAGHOL(2, ii) = 0
564 ELSE
565 t_monvoln%IBAGHOL(2, ii) = 0
566 found = .false.
567 DO jj = 1, nsurf
568 IF (ipvent(ii) == igrsurf(jj)%ID) THEN
569 t_monvoln%IBAGHOL(2, ii) = jj
570 found = .true.
571 EXIT
572 ENDIF
573 ENDDO
574 IF(.NOT. found)THEN
575 CALL ancmsg(msgid = 532, anmode = aninfo, msgtype = msgerror,
576 . i2 = ipvent(ii), i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
577 ELSEIF(igrsurf(t_monvoln%IBAGHOL(2, ii))%ISH4N3N == 0) THEN
578 CALL ancmsg(msgid = 330, anmode = aninfo, msgtype = msgerror,
579 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE)
580 ENDIF
581 IF (avent(ii) == zero) avent(ii) = one
582 ENDIF
583 IF (avent(ii) == zero) dpdef(ii) = infinity
584 IF (avent(ii) == zero) tvent(ii) = infinity
585 IF (dpdef(ii) == zero .AND. dtpdef(ii) == zero .AND. tvent(ii) == zero) THEN
586 t_monvoln%IBAGHOL(1, ii) = 1
587 ENDIF
588 t_monvoln%RBAGHOL(1, ii) = dpdef(ii)
589 t_monvoln%RBAGHOL(2, ii) = avent(ii)
590 t_monvoln%RBAGHOL(3, ii) = tvent(ii)
591 t_monvoln%RBAGHOL(4, ii) = dtpdef(ii)
592 t_monvoln%RBAGHOL(6, ii) = bvent(ii)
593 IF (ivdp(ii) /= 0 .AND. fvdp(ii) == zero) fvdp(ii) = one
594 t_monvoln%RBAGHOL(13, ii) = fvdp(ii)
595 IF (tstope(ii) == zero) tstope(ii) = infinity
596 t_monvoln%RBAGHOL(14, ii) = tstope(ii)
597C
598 t_monvoln%IBAGHOL(3, ii) = -1
599 t_monvoln%IBAGHOL(4, ii) = -1
600 t_monvoln%IBAGHOL(5, ii) = -1
601 t_monvoln%IBAGHOL(6, ii) = -1
602 t_monvoln%IBAGHOL(7, ii) = -1
603 t_monvoln%IBAGHOL(8, ii) = -1
604 t_monvoln%IBAGHOL(9, ii) = -1
605 DO jj = 1, nfunct
606 IF (iport(ii) == npc(jj)) t_monvoln%IBAGHOL(3, ii) = jj
607 IF (iporp(ii) == npc(jj)) t_monvoln%IBAGHOL(4, ii) = jj
608 IF (ipora(ii) == npc(jj)) t_monvoln%IBAGHOL(5, ii) = jj
609 IF (iport1(ii) == npc(jj)) t_monvoln%IBAGHOL(6, ii) = jj
610 IF (iporp1(ii) == npc(jj)) t_monvoln%IBAGHOL(7, ii) = jj
611 IF (ipora1(ii) == npc(jj)) t_monvoln%IBAGHOL(8, ii) = jj
612 IF (ivdp(ii) == npc(jj)) t_monvoln%IBAGHOL(9, ii) = jj
613 ENDDO
614 IF (iport(ii) == 0) t_monvoln%IBAGHOL(3, ii) = 0
615 IF (iporp(ii) == 0) t_monvoln%IBAGHOL(4, ii) = 0
616 IF (ipora(ii) == 0) t_monvoln%IBAGHOL(5, ii) = 0
617 IF (iport1(ii) == 0) t_monvoln%IBAGHOL(6, ii) = 0
618 IF (iporp1(ii) == 0) t_monvoln%IBAGHOL(7, ii) = 0
619 IF (ipora1(ii) == 0) t_monvoln%IBAGHOL(8, ii) = 0
620 IF (ivdp(ii) == 0) t_monvoln%IBAGHOL(9, ii) = 0
621 IF (t_monvoln%IBAGHOL(3, ii) == -1) THEN
622 t_monvoln%IBAGHOL(3, ii) = 0
623 CALL ancmsg(msgid = 331, anmode = aninfo, msgtype = msgerror,
624 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = iport(ii))
625 ENDIF
626 IF (t_monvoln%IBAGHOL(4, ii) == -1) THEN
627 t_monvoln%IBAGHOL(4, ii) = 0
628 CALL ancmsg(msgid = 332, anmode = aninfo, msgtype = msgerror,
629 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = iporp(ii))
630 ENDIF
631 IF (t_monvoln%IBAGHOL(5, ii) == -1) THEN
632 t_monvoln%IBAGHOL(5, ii)=0
633 CALL ancmsg(msgid = 333, anmode = aninfo, msgtype = msgerror,
634 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = ipora(ii))
635 ENDIF
636 IF (t_monvoln%IBAGHOL(6, ii) == -1) THEN
637 t_monvoln%IBAGHOL(6, ii) = 0
638 CALL ancmsg(msgid=331, anmode=aninfo, msgtype=msgerror,
639 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = iport1(ii))
640 ENDIF
641 IF (t_monvoln%IBAGHOL(7, ii) == -1) THEN
642 t_monvoln%IBAGHOL(7, ii)=0
643 CALL ancmsg(msgid=332, anmode=aninfo, msgtype=msgerror,
644 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = iporp1(ii))
645 ENDIF
646 IF (t_monvoln%IBAGHOL(8, ii) == -1) THEN
647 t_monvoln%IBAGHOL(8, ii) = 0
648 CALL ancmsg(msgid=333, anmode=aninfo, msgtype=msgerror,
649 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = ipora1(ii))
650 ENDIF
651 IF (t_monvoln%IBAGHOL(9, ii) == -1) THEN
652 t_monvoln%IBAGHOL(9, ii) = 0
653 CALL ancmsg(msgid = 518, anmode = aninfo, msgtype = msgerror,
654 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = ivdp(ii))
655 ENDIF
656 ENDDO
657C
658 t_monvoln%RVOLU(2) = amu
659 t_monvoln%RVOLU(16) = vol + veps
660 t_monvoln%RVOLU(18) = sa
661 t_monvoln%RVOLU(21) = rot
662 t_monvoln%RVOLU(22:24) = zero
663
664C =========
665C Print out
666C =========
667 WRITE(iout, 1005) surfid
668 WRITE(iout, 1003) scal_t, scal_p, scal_s, scal_a, scal_d
669 WRITE(iout, 1002) sa, sv, vol
670 WRITE(iout, 1400) amu, ti, pext, pini
671 IF (iequi == 0) THEN
672 WRITE(iout, 1401)
673 ELSE
674 WRITE(iout, 1402)
675 ENDIF
676 WRITE(iout, 1410) gamai, cpai, cpbi, cpci
677 WRITE(iout,1420)
678 WRITE(iout,1421)njet
679 DO ii = 1, njet
680 WRITE(iout,1430) ii,
681 . imass(ii), iflu(ii), fmass(ii), itemp(ii), ftemp(ii), isens(ii)
682 WRITE(iout, 1440) gama(ii), cpa(ii), cpb(ii), cpc(ii)
683 WRITE(iout, 1450) ijet(ii)
684 IF (ijet(ii) > 0) THEN
685 IF (nj3(ii) == 0) THEN
686 WRITE(iout, 1460) nj1(ii), nj2(ii), ipt(ii), ipa(ii), ipz(ii),
687 . fpt(ii), fpa(ii), fpz(ii)
688 ELSE
689 WRITE(iout, 1461) nj1(ii), nj2(ii), nj3(ii), ipt(ii), ipa(ii), ipz(ii),
690 . fpt(ii), fpa(ii), fpz(ii)
691 ENDIF
692 ENDIF
693 ENDDO
694 WRITE(iout, 1470) nvent,ttfire
695 IF(nvent > 0) THEN
696 WRITE(iout, 1471) ittf
697 ENDIF
698 DO ii = 1, nvent
699 WRITE(iout,1472) ii, ipvent(ii)
700 IF (ipvent(ii) == 0 .AND. avent(ii) == zero) THEN
701 CALL ancmsg(msgid = 1019, msgtype = msgwarning, anmode = aninfo,
702 . i1 = t_monvoln%ID, i2 = ii, c1 = t_monvoln%TITLE, c2 = 'VENT HOLE SURFACE')
703 ENDIF
704 IF (ifvent(ii) <= 1) WRITE(iout, 1481)
705 IF (ifvent(ii) == 2) THEN
706 WRITE(iout, 1482) ivdp(ii), fvdp(ii)
707 ENDIF
708 IF (ifvent(ii) == 3) WRITE(iout, 1484)
709 IF (ifvent(ii) == 4) WRITE(iout, 1485)
710 IF (ipvent(ii) /= 0) THEN
711 CALL monvol_check_venthole_surf(ipri, t_monvoln, igrsurf, ii, shol, x, ixc, ixtg)
712 t_monvoln%RBAGHOL(15, ii) = shol
713 WRITE(iout,1479)
714 . shol,avent(ii),bvent(ii),
715 . iport(ii),iporp(ii),ipora(ii),fport(ii),fporp(ii),fpora(ii),
716 . iport1(ii),iporp1(ii),ipora1(ii),fport1(ii),fporp1(ii),fpora1(ii)
717 WRITE(iout,1480) tvent(ii),dpdef(ii),dtpdef(ii),idtpdef(ii),tstope(ii)
718 ELSE
719 WRITE(iout,1489)
720 . avent(ii),bvent(ii),
721 . iport(ii),iporp(ii),ipora(ii),fport(ii),fporp(ii),fpora(ii),
722 . iport1(ii),iporp1(ii),ipora1(ii),fport1(ii),fporp1(ii),fpora1(ii)
723 WRITE(iout,1480) tvent(ii),dpdef(ii),dtpdef(ii),idtpdef(ii),tstope(ii)
724 ENDIF
725 ENDDO
726C ===========
727C Memory free
728C ===========
729 IF (njet > 0) THEN
730 DEALLOCATE(gama, cpa, cpb, cpc)
731 DEALLOCATE(imass, iflu, fmass, itemp, ftemp, isens)
732 DEALLOCATE(ijet, nj1, nj2, nj3)
733 DEALLOCATE(ipt, ipa, ipz, fpt, fpa, fpz)
734 ENDIF
735 IF (nvent > 0) THEN
736 DEALLOCATE(tvent, dpdef, dtpdef, fvdp, avent, bvent, tstope)
737 DEALLOCATE(ipvent, ivdp, idtpdef, ifvent)
738 DEALLOCATE(iport, iporp, ipora, iport1, iporp1, ipora1)
739 DEALLOCATE(fport, fporp, fpora, fport1, fporp1, fpora1)
740 ENDIF
741C-----------------------------------------------
742C E n d o f s o u r c e
743C-----------------------------------------------
744
745 RETURN
746 1002 FORMAT(
747 . /5x,'INITIAL SURFACE OF MONITORED VOLUME . .=',1pg20.13,
748 . /5x,'SURFACE ERROR(NE.0 FOR NON CLOSED SURF)=',1pg20.13,
749 . /5x,'INITIAL VOLUME OF MONITORED VOLUME. . .=',1pg20.13)
750 1003 FORMAT(
751 . 5x,'UNIT SCALE FOR TIME FUNCTIONS =',1pg20.13,
752 . /5x,'UNIT SCALE FOR PRESSURE FUNCTIONS =',1pg20.13,
753 . /5x,'UNIT SCALE FOR AREA FUNCTIONS =',1pg20.13,
754 . /5x,'UNIT SCALE FOR ANGLE FUNCTIONS =',1pg20.13,
755 . /5x,'UNIT SCALE FOR DISTANCE FUNCTIONS =',1pg20.13)
756 1005 FORMAT( 5x,'EXTERNAL SURFACE ID . . . . . . . . . .=',i10)
757 1400 FORMAT(
758 . 5x,'VOLUMIC VISCOSITY . . . . . . . . . . .=',1pg20.13,
759 . /5x,'INITIAL TEMPERATURE . . . . . . . . . .=',1pg20.13,
760 . /5x,'EXTERNAL PRESSURE . . . . . . . . . . .=',1pg20.13,
761 . /5x,'INITIAL PRESSURE. . . . . . . . . . . .=',1pg20.13/)
762 1401 FORMAT(
763 . 5x,'INITIAL THERMODYNAMIC EQUILIBRIUM IS SET AT TIME 0'
764 . /5x,'--------------------------------------------------'/)
765 1402 FORMAT(
766 . 5x,'INITIAL THERMODYNAMIC EQUILIBRIUM IS SET AT INJECTION TIME'
767 . /5x,'----------------------------------------------------------'/)
768 1410 FORMAT(
769 . 5x,'CHARACTERISTICS OF INITIAL GAZ ',
770 . /5x,'------------------------------ ',
771 . /5x,'GAMMA AT INITIAL TEMPERATURE. . . . . .=',1pg20.13,
772 . /5x,'COEFFICIENT CPA . . . . . . . . . . . .=',1pg20.13,
773 . /5x,'COEFFICIENT CPB . . . . . . . . . . . .=',1pg20.13,
774 . /5x,'COEFFICIENT CPC . . . . . . . . . . . .=',1pg20.13/)
775 1420 FORMAT(
776 . 5x,'INFLATORS ',
777 . /5x,'--------- ')
778 1421 FORMAT(
779 . 5x,'NUMBER OF INFLATORS . . . . . . . . . .=',i10/)
780 1430 FORMAT(
781 . 5x,'INFLATOR NUMBER . . . . . . . . . . . .=',i10,
782 . /15x,'TIME FUNCTION FOR INCOMING TOTAL MASS .=',i10,
783 . /15x,' or MASS FLUX if IFLU=1 . . . . IFLU =',i10,
784 . /15x,'SCALE FACTOR FOR INCOMING TOTAL MASS .=',1pg20.13,
785 . /15x,'TIME FUNCTION FOR INCOMIMG GAS TEMP . .=',i10,
786 . /15x,'SCALE FACTOR FOR INCOMIMG GAS TEMP . .=',1pg20.13,
787 . /15x,'SENSOR NUMBER . . . . . . . . . . . . .=',i10)
788 1440 FORMAT(
789 . /15x,'GAZ CHARACTERISTICS ',
790 . /15x,'------------------- ',
791 . /15x,'GAMMA AT INITIAL TEMPERATURE. . . . . .=',1pg20.13,
792 . /15x,'COEFFICIENT CPA . . . . . . . . . . . .=',1pg20.13,
793 . /15x,'COEFFICIENT CPB . . . . . . . . . . . .=',1pg20.13,
794 . /15x,'COEFFICIENT CPC . . . . . . . . . . . .=',1pg20.13)
795 1450 FORMAT(
796 . /15x,'JETTING OPTION. . . . . . . . . . . . .=',i10,
797 . /15x,'----------------------------------------')
798 1460 FORMAT(
799 . 15x,'CONICAL JET . . . . . . . . . . . . . .',
800 . /15x,'NODE NUMBER DEFINING INJECTION CENTER .=',i10,
801 . /15x,'NODE NUMBER DEFINING INJECTION AXIS . .=',i10,
802 . /15x,'JETTING PRESSURE TIME CURVE NUMBER. . .=',i10,
803 . /15x,'JETTING PRESSURE THETA CURVE NUMBER . .=',i10,
804 . /15x,'JETTING PRESSURE DIST. CURVE NUMBER . .=',i10,
805 . /15x,'TIME FUNCTION SCALE FACTOR . .=',1pg20.13,
806 . /15x,'THETA FUNCTION SCALE FACTOR . .=',1pg20.13,
807 . /15x,'DIST FUNCTION SCALE FACTOR . .=',1pg20.13/)
808 1461 FORMAT(
809 . 15x,'DIHEDRAL JET. . . . . . . . . . . . . .',
810 . /15x,'NODE NUMBER DEFINING INJECTION CENTER .=',i10,
811 . /15x,'NODE NUMBER DEFINING INJECTION AXIS . .=',i10,
812 . /15x,'NODE NUMBER DEFINING BASE LINE. . . . .=',i10,
813 . /15x,'JETTING PRESSURE TIME CURVE NUMBER. . .=',i10,
814 . /15x,'JETTING PRESSURE THETA CURVE NUMBER . .=',i10,
815 . /15x,'JETTING PRESSURE DIST. CURVE NUMBER . .=',i10,
816 . /15x,'TIME FUNCTION SCALE FACTOR . .=',1pg20.13,
817 . /15x,'THETA FUNCTION SCALE FACTOR . .=',1pg20.13,
818 . /15x,'DIST FUNCTION SCALE FACTOR . .=',1pg20.13)
819 1470 FORMAT(
820 . /5x,'VENT HOLES AND POROUS FABRIC SURFACES ',
821 . /5x,'------------------------------------- ',
822 . /5x,'NUMBER OF VENT HOLES AND POROUS SURFACES . .=',i10,
823 . /5x,'INJECTION TIME TINJ. . . . . . . . . . . . .=',1pg20.13)
824 1471 FORMAT(
825 . 5x,'VENTING START TIME SHIFT . . . . . . . . . .=',i10,
826 . /5x,' 0 : NO SHIFT',
827 . /5x,' 1 : JETTING FUNCTIONS ARE SHIFTED BY INJECTION TIME',
828 . /5x,' 2 : JETTING AND VENTING FUNCTIONS ARE SHIFTED BY',
829 . /5x,' INJECTION TIME TINJ',
830 . /5x,' 3 : JETTING AND VENTING FUNCTIONS ARE SHIFTED',
831 . /5x,' BY TINJ FOR JETTING FUNCTIONS',
832 . /5x,' BY TINJ+TSTART FOR VENTING FUNCTIONS')
833 1472 FORMAT(
834 . / 5x,'VENT HOLE NUMBER. . . . . . . . . . . .=',i10,
835 . /15x,'VENT HOLE SURFACE ID. . . . . . . . . .=',i10)
836 1481 FORMAT(15x,'ISENTHALPIC VENTING MODEL ')
837 1482 FORMAT(15x,'CHEMKIN MODEL FOR POROSITY : ',
838 . /15x,'VELOCITY VS RELATIVE PRESSURE FUNCTION =',i10,
839 . /15x,' SCALE FACTOR. . . . . . .=',1pg20.13)
840 1484 FORMAT(15x,'GRAEFE POROSITY FORMULATION')
841 1485 FORMAT(15x,'ISENTHALPIC VENTING MODEL WITH POSSIBLE FLOW IN')
842 1479 FORMAT(
843 . 15x,'INITIAL SURFACE . . . . . . . . . . . .=',1pg20.13,
844 . /15x,'AVENT:VENT HOLE SCALE FACTOR. . . . . .=',1pg20.13,
845 . /15x,'BVENT:VENT HOLE SCALE FACTOR IF CONTACT=',1pg20.13,
846 . /15x,'POROSITY FUNCTION / TIME. . . . . . . .=',i10,
847 . /15x,'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
848 . /15x,'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
849 . /15x,'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
850 . /15x,'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
851 . /15x,'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13,
852 . /15x,'POROSITY FUNCTION / TIME(after contact)=',i10,
853 . /15x,'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
854 . /15x,'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
855 . /15x,'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
856 . /15x,'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
857 . /15x,'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13)
858 1480 FORMAT(
859 . 15x,'START TIME FOR VENTING TSTART . . . . .=',1pg20.13,
860 . /15x,'RELATIVE PRES. FOR MEMBRANE DEFLATION .=',1pg20.13,
861 . /15x,' (DPDEF = PDEF - PEXT) ',
862 . /15x,'TIME DELAY BEFORE MEMBRANE DEFLATION .=',1pg20.13,
863 . /15x,'TIME DELAY FLAG . . . . . . . . . . . .=',i10,
864 . /15x,' IF IDTPDEF : 0',
865 . /15x,' PRESSURE SHOULD BE OVER PDEF DURING',
866 . /15x,' A CUMULATED DTPDEF TIME'
867 . /15x,' BEFORE ACTIVATING DEFLATION'
868 . /15x,' IF IDTPDEF : 1',
869 . /15x,' DEFLATION START DTPDEF AFTER',
870 . /15x,' DPDEF HAS BEEN REACHED',
871 . /15x,'END TIME FOR VENTING TSTOP. . . . . . .=',1pg20.13)
872 1489 FORMAT(
873 . 15x,'AVENT:VENT HOLE AREA. . . . . . . . . .=',1pg20.13,
874 . /15x,'BVENT:VENT HOLE SCALE FACTOR IF CONTACT=',1pg20.13,
875 . /15x,'POROSITY FUNCTION / TIME. . . . . . . .=',i10,
876 . /15x,'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
877 . /15x,'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
878 . /15x,'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
879 . /15x,'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
880 . /15x,'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13,
881 . /15x,'POROSITY FUNCTION / TIME(after contact)=',i10,
882 . /15x,'POROSITY FUNCTION / PRESSURE. . . . . .=',i10,
883 . /15x,'POROSITY FUNCTION / AREA. . . . . . . .=',i10,
884 . /15x,'POROSITY TIME FUNCTION SCALE FACTOR =',1pg20.13,
885 . /15x,'POROSITY PRESSURE FUNCTION SCALE FACTOR=',1pg20.13,
886 . /15x,'POROSITY AREA FUNCTION SCALE FACTOR . .=',1pg20.13)
#define my_real
Definition cppsort.cpp:32
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 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)
Definition message.F:889
subroutine freerr(it)
Definition freform.F:506
integer function usr2sys(iu, itabm1, mess, id)
Definition sysfus.F:160