58#include "implicit_f.inc"
62 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
63 INTEGER IIN,IOUT,IUNIT
65 TYPE(
submodel_data),
DIMENSION(NSUBMOD),
INTENT(IN) :: LSUBMODEL
66 INTEGER,
INTENT(IN) :: IMIDEOS
74 my_real :: gamma, p0,t0, e0, psh, rho0,fac_l,fac_t,fac_m,fac_c,cv,mu0,pp,rhoi,rhor,g0,ssp0,dpdmu,df
75 my_real :: xscale_a, xscale_b, fscale_a, fscale_b
76 LOGICAL :: IS_ENCRYPTED, IS_AVAILABLE, IS_AVAILABLE_RHO0
77 INTEGER :: A_FUN_ID, B_FUN_ID
81 is_encrypted = .false.
82 is_available = .false.
83 is_available_rho0 = .false.
87 CALL hm_get_intv (
'A_FUNC' ,a_fun_id ,is_available,lsubmodel)
88 CALL hm_get_intv (
'B_FUNC' ,b_fun_id ,is_available,lsubmodel)
90 CALL hm_get_floatv(
'XscaleA', xscale_a, is_available,lsubmodel,unitab)
91 CALL hm_get_floatv(
'XscaleB', xscale_b, is_available,lsubmodel,unitab)
93 CALL hm_get_floatv(
'FscaleA', fscale_a, is_available,lsubmodel,unitab)
94 CALL hm_get_floatv(
'FscaleB', fscale_b, is_available,lsubmodel
98 CALL hm_get_floatv(
'Refer_Rho', rho0, is_available_rho0,lsubmodel,unitab
101 IF(a_fun_id+b_fun_id == 0)
THEN
102 CALL ancmsg(msgid=67,msgtype=msgerror,anmode=aninfo,
104 . c1=
'/EOS/TABULATED',
105 . c2=
'NO INPUT FUNCTION')
108 IF(is_available_rho0 .AND. rho0 < zero)
THEN
109 CALL ancmsg(msgid=67,msgtype=msgerror,anmode=aninfo
111 . c1=
'/EOS/TABULATED',
112 . c2=
'REFERENCE DENSITY MUST BE STRICTLY POSITIVE')
151 dpdmu=
max(zero,dpdmu)
152 IF(rhor > zero) ssp0 = sqrt((dpdmu + two_third*g0)/rhor
170 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
172 WRITE(iout,1500)a_fun_id,xscale_a,fscale_a,b_fun_id,xscale_b,fscale_b,e0,psh
173 IF(is_available_rho0)
WRITE(iout,1501)pm(1)
178 & 5x,
' TABULATED EOS ',/,
179 & 5x,
' ------------- ',/)
181 & 5x,
'FUNCTION A IDENTIFIER . . . . . . . . . .=',1pg20.13/,
182 & 5x,
'XSCALE_A. . . . . . . . . . . . . . . . .=',1pg20.13/,
183 & 5x,
'FSCALE_A. . . . . . . . . . . . . . . . .=',1pg20.13/,
184 & 5x,
'FUNCTION B IDENTIFIER . . . . . . . . . .=',1pg20.13/,
185 & 5x,
'XSCALE_B. . . . . . . . . . . . . . . . .=',1pg20.13/,
186 & 5x,
'FSCALE_B. . . . . . . . . . . . . . . . .=',1pg20.13/,
187 & 5x,
'E0. . . . . . . . . . . . . . . . . . . .=',1pg20.13/,
188 & 5x,
'PSH . . . . . . . . . . . . . . . . . . .=',1pg20.13)
190 & 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)