37 . NUVAR ,IFUNC ,MAXFUNC ,NFUNC , PARMAT ,
38 . UNITAB ,MAT_ID ,TITR ,MTAG , LSUBMODEL,
68#include "implicit_f.inc"
77 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
78 my_real,
INTENT(INOUT) :: PM(),PARMAT(100),UPARAM(MAXUPARAM)
79 INTEGER,
INTENT(INOUT) :: IPM(NPROPMI),ISRATE,IFUNC(MAXFUNC),NFUNC,MAXFUNC,MAXUPARAM,NUPARAM, NUVAR
81 INTEGER,
INTENT(IN) :: MAT_ID
82 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
84 TYPE(matparam_struct_) ,
INTENT(INOUT) :: MATPARAM
89 E,NU,G,MU,RBULK,C10,C20,C30,D1,D2,D3
90 CHARACTER(LEN=NCHARFIELD) :: STRING
92 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
96 is_encrypted = .false.
97 is_available = .false.
106 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
114 CALL hm_get_floatv(
'LAW94_C02' ,c20 ,is_available, lsubmodel, unitab)
115 CALL hm_get_floatv(
'LAW94_C03' ,c30 ,is_available, lsubmodel, unitab
117 CALL hm_get_floatv(
'LAW94_D1' ,d1 ,is_available, lsubmodel, unitab)
118 CALL hm_get_floatv(
'LAW94_D2' ,d2 ,is_available, lsubmodel, unitab)
119 CALL hm_get_floatv(
'LAW94_D3' ,d3 ,is_available, lsubmodel, unitab)
141 IF(d2 /= zero ) d2 = one/d2
142 IF(d3 /= zero ) d3 = one/d3
149 rbulk = two_third*g*(one + nu)/(one-two*nu)
155 nu = (three*rbulk -two*g)/(three*rbulk + g)/two
156 e = nine*rbulk*g/(three*rbulk + g)
171 IF(nuparam>maxuparam)
THEN
172 WRITE(iout,*)
' ** ERROR : NUPARAM GT MAXUPARAM'
173 WRITE(iout,*)
' NUPARAM =',nuparam,
174 .
' MAXUPARAM =',maxuparam
183 parmat(17) = two*g/(rbulk + four_over_3*g)
196 WRITE(iout,1010) trim(titr),mat_id,94
199 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
212 WRITE(iout,1100)c10,c20,c30,d1,d2,d3
213 WRITE(iout,1200)g,rbulk, nu
219 & 5x,
' ---------- ',//)
222 & 5x,
'MATERIAL NUMBER. . . . . . . . . . . . . =',i10/,
223 & 5x,
'MATERIAL LAW . . . . . . . . . . . . . . =',i10/)
225 & 5x,
'INITIAL DENSITY . . . . . . . . . . . . .=',1pg20.13/)
227 & 5x,
'C10 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
228 & 5x,
'C20 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
229 & 5x,
'C30 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
230 & 5x,
'1/D1 . . . . . . . . . . . . . . . . . .=',1pg20.13/
231 & 5x,
'1/D2 . . . . . . . . . . . . . . . . . .=',1pg20.13/
232 & 5x,
'1/D3 . . . . . . . . . . . . . . . . . .=',1pg20.13)
234 & 5x,
'INITIAL SHEAR MODULUS . . . . . . . . . .=',1pg20.13/
235 & 5x,
'BULK MODULUS. . . . . . . . . . . . . . .=',1pg20.13/
236 & 5x,
'POISSON RATIO . . . . . . . . . . . . . .=',1pg20.13/)
subroutine hm_read_mat94(uparam, maxuparam, nuparam, israte, imatvis, nuvar, ifunc, maxfunc, nfunc, parmat, unitab, mat_id, titr, mtag, lsubmodel, pm, ipm, matparam)