40 . MAXFUNC ,MTAG ,PARMAT ,UNITAB ,IMATVIS ,
41 . PM ,LSUBMODEL, ID ,TITR ,MATPARAM)
71#include "implicit_f.inc"
80 TYPE (),
INTENT(IN) ::UNITAB
81 my_real,
DIMENSION(NPROPM) ,
INTENT(INOUT) :: PM
82 my_real,
DIMENSION(100) ,
INTENT(INOUT) :: parmat
83 my_real,
DIMENSION(MAXUPARAM) ,
INTENT(INOUT) :: uparam
85 INTEGER,
INTENT(INOUT) :: MFUNC,NUPARAM,NUVAR,IMATVIS
86 TYPE(MLAW_TAG_),
INTENT(INOUT) :: MTAG
87 INTEGER,
INTENT(IN) :: ID,MAXFUNC,MAXUPARAM
88 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
90 TYPE(matparam_struct_) ,
INTENT(INOUT) :: MATPARAM
94 INTEGER :: NBMAT, MAT_ID
95 INTEGER :: I,J,NRATE,NPS,OPTE,IFUNCE,ILAW,NFUNC,IFORM
96 my_real :: rho0, rhor,e,nu,g,mu,rbulk, c1,
97 . c10,c01,c20,c11,c02 ,tauref_unit,
98 . c30, c21,c12,c03,sb,d1,d2,d3,a,expc,expm,ksi
99 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
103 is_encrypted = .false.
104 is_available = .false.
112 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
113 CALL hm_get_floatv(
'Refer_Rho',rhor ,is_available, lsubmodel, unitab)
136 CALL hm_get_floatv(
'MAT_C_10' ,c10 ,is_available, lsubmodel, unitab)
137 CALL hm_get_floatv(
'MAT_C_01' ,c01 ,is_available, lsubmodel, unitab)
138 CALL hm_get_floatv(
'MAT_C_20' ,c20 ,is_available, lsubmodel, unitab)
139 CALL hm_get_floatv(
'MAT_C_11' ,c11 ,is_available, lsubmodel, unitab)
140 CALL hm_get_floatv(
'MAT_C_02' ,c02 ,is_available, lsubmodel, unitab)
142 CALL hm_get_floatv(
'MAT_C_30' ,c30 ,is_available, lsubmodel, unitab
143 CALL hm_get_floatv(
'MAT_C_21' ,c21 ,is_available, lsubmodel, unitab)
144 CALL hm_get_floatv(
'MAT_C_12' ,c12 ,is_available, lsubmodel, unitab)
145 CALL hm_get_floatv(
'MAT_C_03' ,c03 ,is_available, lsubmodel, unitab)
146 CALL hm_get_floatv(
'MAT_Sb' ,sb ,is_available, lsubmodel, unitab)
149 CALL hm_get_floatv(
'MAT_D_1' ,d1 ,is_available, lsubmodel, unitab)
150 CALL hm_get_floatv(
'MAT_D_2' ,d2 ,is_available, lsubmodel, unitab)
151 CALL hm_get_floatv(
'MAT_D_3' ,d3 ,is_available, lsubmodel, unitab)
152 CALL hm_get_floatv(
'MAT_NU' ,nu ,is_available, lsubmodel, unitab)
153 CALL hm_get_intv (
'IFORM' ,iform ,is_available,lsubmodel)
156 CALL hm_get_floatv(
'MLAW95_A' ,a ,is_available, lsubmodel, unitab)
157 CALL hm_get_floatv(
'MLAW95_C' ,expc ,is_available, lsubmodel, unitab)
158 CALL hm_get_floatv(
'MLAW95_M' ,expm ,is_available, lsubmodel, unitab)
159 CALL hm_get_floatv(
'MLAW95_KSI' ,ksi ,is_available, lsubmodel, unitab)
160 CALL hm_get_floatv(
'MAT_TAU_REF' ,tauref ,is_available, lsubmodel, unitab)
167 IF(d2 /= zero ) d2 = one/d2
168 IF(d3 /= zero ) d3 = one/d3
169 IF(iform== 0 )iform = 1
171 IF(tauref == zero)
THEN
172 CALL hm_get_floatv_dim(
'MAT_TAU_REF' ,tauref_unit ,is_available, lsubmodel, unitab)
173 tauref = one * tauref_unit
177 g = two * (c10 + c01) *(sb + one)
180 rbulk= two*d1 *(one+sb)
181 nu = (three*rbulk -two*g)/(three*rbulk + g)/two
182 e = nine*rbulk*g/(three*rbulk + g)
183 ELSEIF(nu /=zero)
THEN
187 rbulk = two_third*g*(one + nu)/(one-two*nu)
193 rbulk = two_third*g*(one + nu)/(one-two*nu)
201 IF(expm == zero)expm = one
202 IF(expc == zero)expc = -0.700000000
203 IF(ksi == zero)ksi = em02
228 IF (rhor == zero) rhor=rho0
243 WRITE(iout,1001) trim(titr),id,95
245 IF (is_encrypted)
THEN
246 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
249 WRITE(iout,1100)c10,c01,c20,c11,c02,
250 . c30, c21,c12,c03,d1,d2,d3 ,nu,iform
251 WRITE(iout,1300)a,expc,expm,ksi ,sb ,tauref
252 WRITE(iout,1200)g,rbulk, nu
256 & 5x,
' BERGSTROM BOYCE MATERIAL : ',/,
257 & 5x,
' -------------------------- ',/)
260 & 5x,
'MATERIAL NUMBER. . . . . . . . . . . . . =',i10/,
261 & 5x,
'MATERIAL LAW . . . . . . . . . . . . . . =',i10/)
263 & 5x,
'INITIAL DENSITY . . . . . . . . . . . . .=',1pg20.13/)
265 & 5x,
'C10 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
266 & 5x,
'C01 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
267 & 5x,
'C20 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
268 & 5x,
'C11 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
269 & 5x,
'C02 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
270 & 5x,
'C30 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
271 & 5x,
'C21 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
272 & 5x,
'C12 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
273 & 5x,
'C03 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
274 & 5x,
'1/D1 . . . . . . . . . . . . . . . . . .=',1pg20.13/
275 & 5x,
'1/D2 . . . . . . . . . . . . . . . . . .=',1pg20.13/
276 & 5x,
'1/D3 . . . . . . . . . . . . . . . . . .=',1pg20.13/
277 & 5x,
'POISSON COEFFICIENT . . . . . . . . . . .=',1pg20.13//
278 & 5x,
'INCOMPRESSIBILITY FORMULATION FLAG IFORM. . . =',i2/,
279 & 5x,
' IFORM = 1: STANDARD STRAIN ENERGY DENSITY (DEFAULT)',/,
280 & 5x,
' IFORM = 2: MODIFIED STRAIN ENERGY DENSITY ',/)
282 & 5x,
'PARAMETERS FOR THE EFFECTIVE CREEP STRAIN RATE: ',/,
283 & 5x,
'A. . . . . . . . . . . . . . . . . . . . =',1pg20.13/
284 & 5x,
'EXPONENT C . . . . . . . . . . . . . . . =',1pg20.13/
285 & 5x,
'EXPONENT M . . . . . . . . . . . . . . . =',1pg20.13/
286 & 5x,
'XI . . . . . . . . . . . . . . . . . . . =',1pg20.13//
287 & 5x,
'FACTOR S OF CHAIN B. . . . . . . . . . . =',1pg20.13/
288 & 5x,
'REFERENCE STRESS FOR CHAIN B . . . . . . =',1pg20.13)
290 & 5x,
'INITIAL SHEAR MODULUS . . . . . . . . . =',1pg20.13/
291 & 5x,
'INITIAL BULK MODULUS. . . . . . . . . . =',1pg20.13/
292 & 5x,
'POISSON RATIO. . . . . . . . . . . . . . =',1pg20.13//)