42 USE matparam_def_mod,
ONLY : matparam_struct_
58#include "implicit_f.inc"
62 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
65 TYPE(
submodel_data),
DIMENSION(NSUBMOD),
INTENT(IN) :: LSUBMODEL
66 TYPE(matparam_struct_),
INTENT(INOUT) :: MAT_PARAM
67 INTEGER,
INTENT(IN) :: IMIDEOS
76 LOGICAL :: IS_ENCRYPTED, IS_AVAILABLE, IS_AVAILABLE_RHO0
80 is_encrypted = .false.
81 is_available = .false.
82 is_available_rho0 = .false.
86 CALL hm_get_floatv(
'Gamma', gamma, is_available,lsubmodel,unitab)
87 CALL hm_get_floatv(
'LAW5_P0', p0, is_available,lsubmodel,unitab)
88 CALL hm_get_floatv(
'LAW5_PSH', psh, is_available,lsubmodel,unitab)
92 CALL hm_get_floatv(
'Refer_Rho', rho0, is_available_rho0,lsubmodel,unitab)
108 IF(gamma <= zero)
THEN
114 . c2=
'GAMMA MUST BE GREATER THAN 1.0')
120 mat_param%EOS%NUPARAM = 4
121 mat_param%EOS%NIPARAM = 0
122 mat_param%EOS%NFUNC = 0
123 mat_param%EOS%NTABLE = 0
124 CALL mat_param%EOS%CONSTRUCT()
142 IF(mu0 <= -one)mu0=-one+ep12
145 e0 = (p0-a*exp(b*log(one+mu0)))/(gamma-one)/(one+mu0)
150 pm(32) = (gamma-one)*abs(e0) + a*b
153 CALL ancmsg(msgid=67,msgtype=msgerror,anmode=aninfo,
156 . c2=
'PARAMETERS RESULTS INTO A NEGATIVE INITIAL ENERGY')
163 mat_param%EOS%UPARAM(1) = gamma
164 mat_param%EOS%UPARAM(2) = p0
165 mat_param%EOS%UPARAM(3) = a
166 mat_param%EOS%UPARAM(4) = b
167 mat_param%EOS%PSH = psh
168 mat_param%EOS%E0 = e0
169 IF (mat_param%THERM%TINI == zero)
THEN
170 mat_param%THERM%TINI =three100
177 pp = (gamma-one)*(one+mu0)*e0 + a*exp(b*log(one+mu0))
179 dpdmu = (gamma-one)*e0+a*b/(one+mu0)*exp((b-one)*log(one+mu0))+(gamma-one)*df*pp
180 dpdmu =
max(zero,dpdmu)
181 IF(rhor > zero) ssp0 = sqrt((dpdmu + two_third*g0)/rhor)
187 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
189 WRITE(iout,1500)gamma,p0,psh,a,b
190 IF(is_available_rho0)
WRITE(iout,1501)pm(1)
195 & 5x,
' LANDAU-STANYUKOVICH-ZELDOVICH-KOMPANEETS EOS (LSZK) ',/,
196 & 5x,
' --------------------------------------------------- ',/)
198 & 5x,
'GAMMA . . . . . . . . . . . . . . . . . .=',1pg20.13/,
199 & 5x,
'P0. . . . . . . . . . . . . . . . . . . .=',1pg20.13/,
200 & 5x,
'PSH . . . . . . . . . . . . . . . . . . .=',1pg20.13/,
201 & 5x,
'A . . . . . . . . . . . . . . . . . . . .=',1pg20.13/,
202 & 5x,
'b . . . . . . . . . . . . . . . . . . . .=',1pg20.13)
204 & 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)