57#include "implicit_f.inc"
61 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
62 INTEGER IIN,IOUT,IUNIT
64 TYPE(
submodel_data),
DIMENSION(NSUBMOD),
INTENT(IN) :: LSUBMODEL
65 INTEGER,
INTENT(IN) :: IMIDEOS
73 my_real gamma, p0, e0, psh, rho0,fac_l,fac_t,fac_m,fac_c,pstar,rhoi,rhor,mu0,pp,df,ssp0,g0,dpdmu
74 LOGICAL :: IS_ENCRYPTED, IS_AVAILABLE, IS_AVAILABLE_RHO0
78 is_encrypted = .false.
79 is_available = .false.
80 is_available_rho0 = .false.
84 CALL hm_get_floatv(
'Gamma', gamma, is_available,lsubmodel,unitab)
85 CALL hm_get_floatv(
'LAW5_P0', p0, is_available,lsubmodel,unitab)
86 CALL hm_get_floatv(
'LAW5_PSH', psh, is_available,lsubmodel,unitab)
87 CALL hm_get_floatv(
'P_star', pstar, is_available,lsubmodel,unitab)
88 CALL hm_get_floatv(
'Refer_Rho', rho0, is_available_rho0,lsubmodel,unitab)
101 e0=(p0+gamma*pstar)/(gamma-one)
110 CALL ancmsg(msgid=67,msgtype=msgerror,anmode=aninfo,i1=imideos,c1=
'/EOS/STIFF-GAS',c2=
'GAMMA MUST BE GREATER THAN 1.0')
137 pp = -gamma*pstar-psh + (gamma-one)*(one+mu0)*e0
139 IF(pm(79)==zero)pm(79)=three100
146 dpdmu = (gamma-one) *e0+(gamma-one)*(one+mu0)*df*df*(pp+psh)
147 dpdmu=
max(zero,dpdmu)
148 IF(rhor > zero) ssp0 = sqrt((dpdmu + two_third*g0)/rhor)
154 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
156 WRITE(iout,1500)gamma,p0,psh,pstar,e0
157 IF(is_available_rho0)
WRITE(iout,1501)pm(1)
162 & 5x,
' STIFFENED GAS EOS ',/,
163 & 5x,
' ----------------- ',/)
165 & 5x,
'GAMMA . . . . . . . . . . . . . . . . . .=',1pg20.13/,
166 & 5x,
'P0. . . . . . . . . . . . . . . . . . . .=',1pg20.13/,
167 & 5x,
'PSH . . . . . . . . . . . . . . . . . . .=',1pg20.13/,
168 & 5x,
'PSTAR . . . . . . . . . . . . . . . . . .=',1pg20.13/,
169 & 5x,
'COMPUTED E0 . . . . . . . . . . . . . . .=',1pg20.13)
171 & 5x,'eos reference density . . . . . . . . . .=
',1PG20.13)
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)