40 . MAT_ID, TITR ,MATPARAM)
54#include "implicit_f.inc"
63 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
64 INTEGER,
INTENT(IN) :: MAT_ID
65 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
68 INTEGER,
DIMENSION(NPROPMI) ,
INTENT(INOUT) :: IPM
69 my_real,
DIMENSION(NPROPM) ,
INTENT(INOUT) :: pm
70 TYPE(matparam_struct_),
INTENT(INOUT) :: MATPARAM
86 INTEGER IFR, IFP , IFE , IFT, IFQ, ITYP, INOD, JTHE, ICOMP
89 . gam, vcrt2, gamrp, gam1, p0, c1, ssp2, ef,
90 . rho0, psh, carl, gam2, e0, vcrt, rcrt, pcrt, ssp,
92 . tscal, tref,gama,rhor,
93 . fac_length_, fac_time_
94 LOGICAL :: IS_ENCRYPTED, IS_AVAILABLE
99 is_encrypted = .false.
100 is_available = .false.
107 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
108 CALL hm_get_floatv(
'Refer_Rho' ,rhor ,is_available, lsubmodel, unitab)
109 IF (rhor == zero)
THEN
114 ale%GLOBAL%IS_BOUNDARY_MATERIAL = .true.
141 CALL hm_get_intv(
'Itype', ityp, is_available, lsubmodel)
143 CALL hm_get_floatv(
'MAT_PSH', psh, is_available, lsubmodel, unitab)
144 CALL hm_get_floatv(
'SCALE', tscal, is_available, lsubmodel, unitab)
151 CALL hm_get_intv(
'NODE1', inod, is_available, lsubmodel)
152 CALL hm_get_floatv(
'GAMMA', gam, is_available, lsubmodel, unitab)
153 CALL hm_get_floatv(
'K_cdi', dc, is_available, lsubmodel, unitab)
155 CALL hm_get_intv(
'FUN_A1', ifr, is_available, lsubmodel)
157 CALL hm_get_intv(
'FUN_A2', ifp, is_available, lsubmodel)
158 CALL hm_get_floatv(
'MAT_PScale', p0, is_available, lsubmodel, unitab)
160 CALL hm_get_intv(
'NODE1', inod, is_available, lsubmodel)
161 CALL hm_get_floatv(
'MAT_C1', c1, is_available, lsubmodel, unitab)
162 CALL hm_get_floatv(
'K_cdi', dc, is_available, lsubmodel, unitab)
164 CALL hm_get_intv(
'FUN_A1', ifr, is_available, lsubmodel)
166 CALL hm_get_intv(
'FUN_A2', ifp, is_available, lsubmodel)
167 CALL hm_get_floatv(
'MAT_PScale', p0, is_available, lsubmodel, unitab)
169 CALL hm_get_intv(
'FUN_A6', ife, is_available, lsubmodel)
170 CALL hm_get_floatv(
'MAT_E0', e0, is_available, lsubmodel, unitab)
172 CALL hm_get_intv(
'FUN_A1', ifr, is_available, lsubmodel)
174 CALL hm_get_intv(
'FUN_A2', ifp, is_available, lsubmodel)
175 CALL hm_get_floatv(
'MAT_PScale', p0, is_available, lsubmodel, unitab
177 CALL hm_get_intv(
'FUN_A6', ife, is_available, lsubmodel)
178 CALL hm_get_floatv(
'MAT_E0', e0, is_available, lsubmodel, unitab)
180 CALL hm_get_floatv(
'MAT_C0', ssp, is_available, lsubmodel, unitab)
181 CALL hm_get_floatv(
'h', carl, is_available, lsubmodel, unitab)
182 IF(carl*ssp==zero)
THEN
190 CALL ancmsg(msgid=1665, msgtype=msgerror, anmode=aninfo,
196 CALL hm_get_intv(
'Xt_fun', ift, is_available, lsubmodel)
197 CALL hm_get_intv(
'Yt_fun', ifq, is_available, lsubmodel)
202 IF(carl==zero)carl = em01 * fac_length_
203 IF(t0==zero) t0 = three100
204 IF(tscal == zero) tscal = one * fac_time_
207 gam1 = one/(gam - one)
209 gamrp= gam2*(gam-one)
213 vcrt2= two*gam*(p0+psh)/rho0/(gam + one)
215 rcrt = (one-gamrp*rho0*vcrt2/(p0+psh))**gam1
216 pcrt = (p0+psh)*rcrt**gam
225 IF(carl>zero)alp0=half*ssp/carl
234 WRITE(iout, 800)trim(titr),mat_id,11
238 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
240 WRITE(iout,1000)ityp,psh,tscal
241 WRITE(iout, 850) rho0,rhor
244 WRITE(iout,1100)gam,p0,e0,vcrt,rcrt,pcrt,inod
245 WRITE(iout,1350)ef,dc
246 WRITE(iout,1300)ifr,ifp
248 WRITE(iout,1200)c1,p0,e0,inod
250 WRITE(iout,1301)ifr,ifp,ife
252 WRITE(iout,1400)p0,e0
253 WRITE(iout,1302)ifr,ifp,ife
255 WRITE(iout,1353)ssp,carl,inod
259 IF(ityp/=3)
WRITE(iout,2001) ift,ifq
278 pm(34) = -half*ssp2/carl**2
317 & 5x,
'MATERIAL NUMBER. . . . . . . . . . . . . . .=',i10/,
318 & 5x,
'MATERIAL LAW . . . . . . . . . . . . . . . .=',i10/)
320 & 5x,
'INITIAL DENSITY . . . . . . . . . . . .=',1pg20.13/,
321 & 5x,
'REFERENCE DENSITY . . . . . . . . . . .=',1pg20.13/)
323 & 5x,40h law
for fluid boundary elements ,/,
324 & 5x,40h ------------------------------- ,/)
326 & 5x,40h law
for fluid boundary elements ,/,
327 & 5x,40h ------------------------------- ,/,
328 & 5x,40hityp. . . . . . . . . . . . . . . . . .=,i10/,
329 & 5x,
'ITYP = 0 : GAS INLET',/,
330 & 5x,
'ITYP = 1 : LIQUID INLET',/,
331 & 5x,
'ITYP = 2 : IMPOSED INLET/OUTLET - TIME DEPENDENT',/,
332 & 5x,
'ITYP = 3 : NON-REFLECTING BOUNDARY',/,
333 & 5x,
'PSH: PRESSURE SHIFT . . . . . . . . . .=',1pg20.13/,
334 & 5x,
'TIME SCALE FACTOR . . . . . . . . . . .=',1pg20.13/)
336 & 5x,40hgamma constant. . . . . . . . . . . . .=,e12.4/,
337 & 5x,40hstagnation pressure . . . . . . . . . .=,e12.4/,
338 & 5x,40hstagnation energy . . . . . . . . . . .=,e12.4/,
339 & 5x,40hcritical velocity . . . . . . . . . . .=,e12.4/,
340 & 5x,40hcritical density. . . . . . . . . . . .=,e12.4/,
341 & 5x,40hcritical pressure . . . . . . . . . . .=,e12.4/,
342 & 5x,40hreference node(velocity) . . . . . . .=,i10
344 & 5x,40hbulk modulus. . . . . . . . . . . . . .=,e12.4/,
345 & 5x,40hstagnation pressure . . . . . . . . . .=,e12.4/,
346 & 5x,40hstagnation energy . . . . . . . . . . .=,e12.4/,
347 & 5x,40hreference node(velocity) . . . . . . .=,i10/)
349 & 5x,40hstagnation density load curve. . . . .=,i10/,
350 & 5x,40hstagnation pressure load curve. . . . .=,i10/)
352 & 5x,40hstagnation density load curve. . . . .=,i10/,
353 & 5x,40hstagnation pressure load curve. . . . .=,i10/,
354 & 5x,40hstagnation energy load curve. . . . .=,i10/)
356 & 5x,40hdensity load curve . . . . . . . . .=,i10/,
357 & 5x,40hpressure load curve . . . . . . . . .=,i10/,
358 & 5x,40henergy load curve . . . . . . . . .=,i10/)
360 & 5x,40hdischarge coefficient(entry loss). . .=,e12.4/)
362 & 5x,40hfinal stagnation energy . . . . . . . .=,e12.4/,
363 & 5x,40hdischarge coefficient(entry loss). . .=,e12.4/)
365 & 5x,40hcharacteristic sound speed. . . . . . .=,e12.4/,
366 & 5x,40hcharacteristic length . . . . . . . . .=,e12.4/,
367 & 5x,40hreference node (velocity) . . . . . . .=,i10/)
369 & 5x,40hinitial pressure(p-psh) . . . . . . . .=,e12.4/,
370 & 5x,40hinitial energy. . . . . . . . . . . . .=,e12.4/)
372 & 5x,
' THERMAL BOUNDARY ',/,
373 & 5x,
' ---------------- ',/,
374 & 5x,
'TEMPERATURE LOAD CURVE. . . . . . . . .=',i10/,
375 & 5x,
'FLUX LOAD CURVE. . . . . . . . . . . .=',i10/)
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)