39 . NUVAR ,IFUNC ,MAXFUNC ,NFUNC , PARMAT ,
40 . UNITAB ,MAT_ID ,TITR ,MTAG , LSUBMODEL,
70#include "implicit_f.inc"
79 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
80 my_real,
INTENT(INOUT) :: PM(NPROPM),PARMAT(100),UPARAM(MAXUPARAM)
81 INTEGER,
INTENT(INOUT) :: IPM(NPROPMI),ISRATE,IFUNC(MAXFUNC),NFUNC,MAXFUNC,MAXUPARAM
83 INTEGER,
INTENT(IN) :: MAT_ID
84 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
86 TYPE(matparam_struct_) ,
INTENT(INOUT) :: MATPARAM
91 . e11, e22, n12, g12, g23, g13,fac1,fac2,fac3,fac4,fac5,
92 . fac_l,fac_t,fac_m,fac_c,dmin,dmax,ssp
93 INTEGER NRATE,J,I,IFLAG
94 my_real :: RHO0, RHOR, FAC_UNIT
95 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
100 is_encrypted = .false.
101 is_available = .false.
114 CALL hm_get_floatv(
'Refer_Rho' ,rhor ,is_available, lsubmodel, unitab)
116 CALL hm_get_floatv(
'MAT_E1' ,e11 ,is_available, lsubmodel, unitab)
119 CALL hm_get_floatv(
'MAT_GAB' ,g12 ,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)
125 CALL hm_get_intv (
'FUN_A5' ,ifunc(4) ,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)
132 CALL hm_get_floatv(
'MAT_SFAC23' ,fac4 ,is_available, lsubmodel, unitab)
133 CALL hm_get_floatv(
'MAT_SFAC45' ,fac5 ,is_available, lsubmodel, unitab)
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)