40 . NUVAR ,NUMTABL ,MAXTABL ,ITABLE ,PARMAT ,UNITAB ,
41 . PM ,LSUBMODEL,MAT_ID ,TITR ,MATPARAM ,NVARTMP ,
74#include "implicit_f.inc"
85 INTEGER,
INTENT(IN) :: MAT_ID,MAXTABL
86 my_real,
DIMENSION(NPROPM) ,
INTENT(INOUT) :: PM
87 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
88 INTEGER,
INTENT(INOUT) :: NUVAR,NUMTABL,NVARTMP,IMATVIS
89 INTEGER,
DIMENSION(MAXTABL) ,
INTENT(INOUT) :: ITABLE
90 my_real,
DIMENSION(100),
INTENT(INOUT) :: parmat
92 TYPE (MATPARAM_STRUCT_) ,
INTENT(INOUT) :: MATPARAM
96 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
98 my_real :: RHO0,NU,BULK,E,EMOD,G,A11,HU, SHAPE,
99 . scale_1_unit,xscale_1_unit,xfac(2)
102 is_encrypted = .false.
103 is_available = .false.
109 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
112 CALL hm_get_floatv(
'MAT_E' ,emod ,is_available, lsubmodel, unitab)
116 CALL hm_get_floatv(
'MAT_HU' ,hu ,is_available, lsubmodel, unitab)
117 CALL hm_get_floatv(
'MAT_SHAPE' ,shape ,is_available, lsubmodel, unitab)
120 CALL hm_get_intv (
'FUN_1' ,itable(1),is_available, lsubmodel)
121 CALL hm_get_floatv(
'XSCALE_1' ,xfac(1) ,is_available, lsubmodel, unitab)
122 CALL hm_get_floatv(
'SCALE_1' ,xfac(2) ,is_available, lsubmodel, unitab)
125 CALL hm_get_floatv_dim(
'XSCALE_1' ,xscale_1_unit ,is_available, lsubmodel, unitab)
126 IF (xfac(1) == zero) xfac(1) = one * xscale_1_unit
128 IF (xfac(2) == zero) xfac(2) = one * scale_1_unit
132 g = emod / two / (one+nu)
133 bulk = emod / three / (one-two * nu)
134 a11 = emod * (one - nu) / (one + nu) / (one-two * nu)
135 IF (hu == zero) hu = one
146 ALLOCATE(matparam%UPARAM(matparam%NUPARAM))
147 matparam%UPARAM(1) = emod
148 matparam%UPARAM(2) = bulk
149 matparam%UPARAM(3) = g
150 matparam%UPARAM(4) = xfac(1)
151 matparam%UPARAM(5) = xfac(2)
152 matparam%UPARAM(6) = hu
153 matparam%UPARAM(7) = shape
164 parmat(17) = (one - two*nu)/(one - nu)
176 WRITE(iout,900) trim(titr),mat_id,ilaw
179 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
181 WRITE(iout,1050) rho0
182 WRITE(iout,1110) e,bulk,g
183 WRITE(iout,1150) hu,shape
184 WRITE(iout,1200) itable(1),xfac(1),xfac(2)
188 & 5x,
'MATERIAL NUMBER . . . . . . . . . . . . . . . =',i10/,
189 & 5x,
'MATERIAL LAW. . . . . . . . . . . . . . . . . =',i10/)
191 & 5x,
'-----------------------------------------------',/
192 & 5x,
' MATERIAL MODEL: ISOTROPIC PATH DEPENDENT FOAM ',/,
193 & 5x,
'-----------------------------------------------',/)
195 & 5x,
'INITIAL DENSITY. . . . . . . . . . . . . . . .=',1pg20.13/)
197 & 5x,
'INITIAL YOUNG MODULUS E. . . . . . . . . . . .=',1pg20.13/
198 & 5x,
'INITIAL BULK MODULUS K . . . . . . . . . . . .=',1pg20.13/
199 & 5x,
'INITIAL SHEAR MODULUS G. . . . . . . . . . . .=',1pg20.13/)
201 & 5x,
'HYSTERETIC UNLOADING FACTOR HU . . . . . . . .=',1pg20.13/
202 & 5x,
'SHAPE FACTOR FOR UNLOADING . . . . . . . . . .=',1pg20.13/)
204 & 5x,
'LOADING TABLE IDENTIFIER . . . . . . . . . . .=',i10/
205 & 5x,
'REFERENCE STRAIN RATE (SCALE FACTOR) . . . . .=',1pg20.13/
206 & 5x,
'LOADING STRESS SCALE FACTOR. . . . . . . . . .=',1pg20.13/)
subroutine hm_read_mat190(nuvar, numtabl, maxtabl, itable, parmat, unitab, pm, lsubmodel, mat_id, titr, matparam, nvartmp, imatvis)