42 USE matparam_def_mod,
ONLY : matparam_struct_
58#include "implicit_f.inc"
62 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
63 INTEGER IOUT, IUNIT, NPROPM
65 TYPE(),
DIMENSION(NSUBMOD),
INTENT(IN) :: LSUBMODEL
66 TYPE(matparam_struct_),
INTENT(INOUT) :: MAT_PARAM
67 INTEGER,
INTENT(IN) :: IMIDEOS
71 my_real p0, e0, psh, rho0, k0, k1, rhoi, rhor, mu0, df, ssp0, g0, dpdmu
72 LOGICAL :: IS_ENCRYPTED, IS_AVAILABLE, IS_AVAILABLE_RHO0
76 is_encrypted = .false.
77 is_available = .false.
78 is_available_rho0 = .false.
82 CALL hm_get_floatv(
'EOS_K0', k0, is_available,lsubmodel,unitab)
84 CALL hm_get_floatv(
'LAW5_P0', p0, is_available,lsubmodel,unitab)
85 CALL hm_get_floatv(
'LAW5_PSH', psh, is_available,lsubmodel,unitab)
86 CALL hm_get_floatv(
'Refer_Rho', rho0, is_available_rho0,lsubmodel,unitab)
102 CALL ancmsg(msgid=67,msgtype=msgerror,anmode=aninfo,i1=imideos, c1=
'/EOS/MURNAGHAN', c2=
'K0 MUST BE POSITIVE')
109 mat_param%EOS%NUPARAM = 3
110 mat_param%EOS%NIPARAM = 0
111 mat_param%EOS%NFUNC = 0
112 mat_param%EOS%NTABLE = 0
113 CALL mat_param%EOS%CONSTRUCT()
115 mat_param%EOS%UPARAM(1) = k0
116 mat_param%EOS%UPARAM(2) = p0
117 mat_param%EOS%UPARAM(3) = k1
118 mat_param%EOS%PSH = psh
119 mat_param%EOS%E0 = e0
120 IF (mat_param%THERM%TINI == zero)
THEN
121 mat_param%THERM%TINI =three100
142 pm(31) = k0/k1 * (exp(k1*log(1+mu0)) - one ) + p0 - psh
143 pm(104)= k0/k1 * (exp(k1*log(1+mu0)) - one ) + p0 - psh
150 dpdmu =
max(zero,dpdmu)
151 IF(rhor > zero) ssp0 = sqrt((dpdmu + two_third*g0)/rhor)
156 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
158 WRITE(iout,1500)k0,k1,p0,pm(31),psh
159 IF(is_available_rho0)
WRITE(iout,1501)pm(1)
164 & 5x,
' MURNAGHAN EOS ',/,
165 & 5x,
' ------------- ',/)
167 & 5x,
'K0. . . . . . . . . . . . . . . . . . . .=',1pg20.13/,
168 & 5x,
'K1. . . . . . . . . . . . . . . . . . . .=',1pg20.13/,
169 & 5x,
'P0. . . . . . . . . . . . . . . . . . . .=',1pg20.13
170 & 5x,'initial pressure. . . . . . . . . . . . .=
',1PG20.13/,
171 & 5X,'psh . . . . . . . . . . . . . . . . . . .=
',1PG20.13)
173 & 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)