39 . NUVAR ,IFUNC ,MAXFUNC ,NFUNC , PARMAT ,
40 . UNITAB ,MAT_ID ,TITR ,MTAG , LSUBMODEL,
70#include "implicit_f.inc"
79 TYPE (UNIT_TYPE_),
INTENT(IN)
80INTENT(INOUT) :: PM(NPROPM),PARMAT(100),UPARAM(MAXUPARAM)
81 INTEGER,
INTENT(INOUT) :: IPM(NPROPMI),ISRATE,IFUNC(MAXFUNC),NFUNC,MAXFUNC,MAXUPARAM,NUPARAM, NUVAR,IMATVIS
83 INTEGER,
INTENT(IN) :: MAT_ID
84 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
86 TYPE(matparam_struct_) ,
INTENT(INOUT) :: MATPARAM
91 . e11, e22, g12, g23,fac1,fac2,fac3,fac4,fac5,
94 my_real :: RHO0, RHOR, FAC_UNIT
95 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
100 is_encrypted = .false.
101 is_available = .false.
113 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
114 CALL hm_get_floatv(
'Refer_Rho' ,rhor ,is_available, lsubmodel, unitab)
116 CALL hm_get_floatv(
'MAT_E1' ,e11 ,is_available, lsubmodel, unitab)
117 CALL hm_get_floatv(
'MAT_E2' ,e22 ,is_available, lsubmodel, unitab)
119 CALL hm_get_floatv(
'MAT_GAB' ,g12 ,is_available, lsubmodel, unitab)
120 CALL hm_get_floatv(
'MAT_GBC' ,g23 ,is_available, lsubmodel, unitab)
122 CALL hm_get_intv (
'FUN_A1' ,ifunc(1) ,is_available, lsubmodel)
123 CALL hm_get_intv (
'FUN_B1' ,ifunc(2) ,is_available, lsubmodel)
124 CALL hm_get_intv (
'FUN_A3' ,ifunc(3) ,is_available, lsubmodel)
126 CALL hm_get_intv (
'FUN_A6' ,ifunc(5) ,is_available, lsubmodel)
129 CALL hm_get_floatv(
'MAT_SFAC11' ,fac1 ,is_available, lsubmodel, unitab)
131 CALL hm_get_floatv(
'MAT_SFAC12' ,fac3 ,is_available, lsubmodel
132 CALL hm_get_floatv(
'MAT_SFAC23' ,fac4 ,is_available, lsubmodel, unitab)
133 CALL hm_get_floatv(
'MAT_SFAC45' ,fac5 ,is_available, lsubmodel
139 IF(rhor == zero)rhor=rho0
142 ssp = sqrt(
max(e11,e22,g12,g23)/rho0)
144 IF (fac1 == zero) fac1 = one*fac_unit
145 IF (fac2 == zero) fac2 = one*fac_unit
146 IF (fac3 == zero) fac3 = one*fac_unit
147 IF (fac4 == zero) fac4 = one*fac_unit
148 IF (fac5 == zero) fac5 = one*fac_unit
162 parmat(1) =
max(e11,e22,g12,g23)
163 parmat(2) =
max(e11,e22)
167 parmat(17) = dmin/dmax/dmax
177 WRITE(iout,1001) trim(titr),mat_id,53
180 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
182 WRITE(iout,1002) rho0
183 WRITE(iout,1100)e11,e22,g12,g23,(ifunc(i),i=1,5)
184 WRITE(iout,1200)fac1,fac2,fac3,fac4,fac5
190 & 5x,30h /mat/law53(tsai_tab) ,/,
191 & 5x,30h ------------- ,//)
194 & 5x,
'MATERIAL NUMBER . . . . . . . . . . . . =',i10/,
195 & 5x,
'MATERIAL LAW. . . . . . . . . . . . . . =',i10/)
197 & 5x,
'INITIAL DENSITY . . . . . . . . . . . . =',1pg20.13/)
199 & 5x,
'E11 . . . . . . . . . . . . . . . . . .=',1pg20.13/
200 & 5x,
'E22 . . . . . . . . . . . . . . . . . .=',1pg20.13/
201 & 5x,
'G12 . . . . . . . . . . . . . . . . . .=',1pg20.13/
202 & 5x,
'G23 . . . . . . . . . . . . . . . . . .=',1pg20.13/
203 & 5x,
'YIELD STRESS 11 FUNCTION NUMBER . . . .=',i10/
204 & 5x,
'YIELD STRESS 22 FUNCTION NUMBER . . . .=',i10/
205 & 5x,
'YIELD STRESS 12 FUNCTION NUMBER . . . .=',i10/
206 & 5x,
'YIELD STRESS 23 FUNCTION NUMBER . . . .=',i10/
207 & 5x,
'YIELD STRESS 45 FUNCTION NUMBER . . . .=',i10)
209 & 5x,
'STRESS 11 FUNCTION SCALE FACTOR . . . .=',1pg20.13/
210 & 5x,
'STRESS 22 FUNCTION SCALE FACTOR . . . .=',1pg20.13/
211 & 5x,
'STRESS 33 FUNCTION SCALE FACTOR . . . .=',1pg20.13/
212 & 5x,
'STRESS 12 FUNCTION SCALE FACTOR . . . .=',1pg20.13/
213 & 5x,
'STRESS 23 FUNCTION SCALE FACTOR . . . .=',1pg20.13/
214 & 5x,
'STRESS 45 FUNCTION SCALE FACTOR . . . .=',1pg20.13//)
subroutine hm_read_mat53(uparam, maxuparam, nuparam, israte, imatvis, nuvar, ifunc, maxfunc, nfunc, parmat, unitab, mat_id, titr, mtag, lsubmodel, pm, ipm, matparam)