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