41 USE matparam_def_mod,
ONLY : matparam_struct_
57#include "implicit_f.inc"
61 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
64 TYPE(
submodel_data),
DIMENSION(NSUBMOD),
INTENT(IN) :: LSUBMODEL
65 TYPE(matparam_struct_),
INTENT(INOUT) :: MAT_PARAM
66 INTEGER,
INTENT(IN) :: IMIDEOS
74 my_real c0, c1, psh, rho0,rhor,mu0, fac_l,fac_t,fac_m,fac_c,rhoi,g0,ssp0,dpdmu
75 LOGICAL :: IS_ENCRYPTED, IS_AVAILABLE , IS_AVAILABLE_RHO0
79 is_encrypted = .false.
80 is_available = .false.
81 is_available_rho0 = .false.
85 CALL hm_get_floatv(
'LAW5_P0', c0, is_available,lsubmodel,unitab)
86 CALL hm_get_floatv('mat_bulk
', C1, IS_AVAILABLE,LSUBMODEL,UNITAB)
87 CALL HM_GET_FLOATV('law5_psh
', PSH, IS_AVAILABLE,LSUBMODEL,UNITAB)
88 CALL HM_GET_FLOATV('refer_rho
', RHO0, IS_AVAILABLE_RHO0,LSUBMODEL,UNITAB)
106 MAT_PARAM%EOS%NUPARAM = 2
107 MAT_PARAM%EOS%NIPARAM = 0
108 MAT_PARAM%EOS%NFUNC = 0
109 MAT_PARAM%EOS%NTABLE = 0
110 CALL MAT_PARAM%EOS%CONSTRUCT() !allocations
112 MAT_PARAM%EOS%UPARAM(1) = C0-PSH
113 MAT_PARAM%EOS%UPARAM(2) = C1
114 MAT_PARAM%EOS%PSH = PSH
115 MAT_PARAM%EOS%E0 = ZERO
116 IF (MAT_PARAM%THERM%TINI == ZERO) THEN
117 MAT_PARAM%THERM%TINI =THREE100
121 !initial pressure for stress tensor
123 MU0 = ZERO ! error 683 already displayed
128 MU0 = ZERO ! error 683 already displayed
140 DPDMU=MAX(ZERO,DPDMU)
141 IF(RHOR > ZERO) SSP0 = SQRT((DPDMU + TWO_THIRD*G0)/RHOR)
146 WRITE(IOUT,'(5x,a,//)
')'confidential data
'
148 WRITE(IOUT,1500)C0,C1,PSH
149 IF(IS_AVAILABLE_RHO0)WRITE(IOUT,1501)PM(1)
154 & 5X,' linear eos
',/,
155 & 5X,' ----------
',/)
157 & 5X,'initial pressure. . . . . . . . . . . . .=
',1PG20.13/,
158 & 5X,'bulk modulus. . . . . . . . . . . . . . .=
',1PG20.13/,
159 & 5X,'pressure shift. . . . . . . . . . . . . .=
',1PG20.13)
161 & 5X,'eos reference density . . . . . . . . . .=
',1PG20.13)