38 . NUVAR ,IFUNC ,MAXFUNC ,NFUNC , PARMAT ,
39 . UNITAB ,MAT_ID ,TITR ,MTAG , LSUBMODEL,
69#include "implicit_f.inc"
78 TYPE (UNIT_TYPE_),
INTENT(IN) :: UNITAB
79 my_real,
INTENT(INOUT) :: PM(NPROPM),PARMAT(100),UPARAM(MAXUPARAM)
80 INTEGER,
INTENT(INOUT) :: ISRATE,IFUNC(MAXFUNC),NFUNC,MAXFUNC,MAXUPARAM,NUPARAM, NUVAR,IMATVIS
82 INTEGER,
INTENT(IN) :: MAT_ID
83 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
85 TYPE(matparam_struct_) ,
INTENT(INOUT) :: MATPARAM
91 . e,nu,g,g2,c11,a1,a2,lamhook,
96 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
101 is_encrypted = .false.
102 is_available = .false.
110 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
113 CALL hm_get_floatv(
'MAT_NU' ,nu ,is_available, lsubmodel, unitab
115 CALL hm_get_floatv(
'SIGMA_r' ,sigy ,is_available, lsubmodel, unitab)
116 CALL hm_get_floatv(
'Epsilon_0' ,eps0 ,is_available, lsubmodel, unitab)
117 CALL hm_get_floatv(
'MAT_n1_t' ,exp ,is_available, lsubmodel, unitab)
118 CALL hm_get_floatv(
'MAT_F' ,ff ,is_available, lsubmodel, unitab)
119 CALL hm_get_floatv(
'MAT_G0' ,gg ,is_available, lsubmodel, unitab)
121 CALL hm_get_floatv(
'MAT_HARD' ,hh ,is_available, lsubmodel, unitab)
122 CALL hm_get_floatv(
'MAT_N' ,nn ,is_available, lsubmodel, unitab)
123 CALL hm_get_floatv(
'MAT_Lamda' ,ll ,is_available, lsubmodel, unitab)
124 CALL hm_get_floatv(
'MAT_M' ,mm ,is_available, lsubmodel, unitab
126 CALL hm_get_floatv(
'MAT_C1' ,c1 ,is_available, lsubmodel, unitab)
127 CALL hm_get_floatv(
'MAT_C2' ,c2 ,is_available, lsubmodel, unitab)
128 CALL hm_get_floatv(
'MAT_C3' ,c3 ,is_available, lsubmodel, unitab)
129 CALL hm_get_floatv(
'MAT_MUE1' ,mexp ,is_available, lsubmodel, unitab)
130 CALL hm_get_floatv(
'MAT_Dc' ,dc ,is_available, lsubmodel, unitab)
135 IF (nu < zero .OR. nu >= half)
THEN
138 . anmode=aninfo_blind_2,
144 IF (dc == zero) dc = one
149 . anmode=aninfo_blind_2,
155 IF ((ff<zero).OR.(gg<zero).OR.(hh<zero).OR.
156 . (ll<zero).OR.(mm<zero).OR.(nn<zero))
THEN
159 . anmode=aninfo_blind_2,
164 IF (exp == zero) exp = one
166 IF (mexp == zero) mexp = one
168 IF (sigy == zero) sigy = infinity
169 IF (c2 == zero) c2 = sigy
171 IF (eps0 < zero)
THEN
173 . msgtype=msgwarning,
174 . anmode=aninfo_blind_1,
178 eps0 =
max(eps0,em20)
182 a1 = e*(one-nu) /((one + nu)*(one - two*nu))
183 a2 = a1*nu/(one - nu)
185 c11 = e/three/(one - two*nu)
187 g = half*e/( one + nu)
190 lamhook = g2 * nu /(one - two*nu)
204 parmat(17) = two*g/(c11+four_over_3*g)
245 uparam(5) = e/(one - nu*nu)
246 uparam(6) = nu*uparam(4)
254 ! -> hardening parameters
275 WRITE(iout,1001) trim(titr),mat_id
277 IF(is_encrypted )
THEN
278 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
280 WRITE(iout,1002) rho0
281 WRITE(iout,1300) e,nu
282 WRITE(iout,1400) sigy,exp,eps0
283 WRITE(iout,1600) ff,gg,hh,nn,ll,mm
284 WRITE(iout,1700) c1,c2,c3,mexp,dc
291 & 5x,
' HILL ANISOTROPIC PLASTICITY + MODIFIED MOHR COULOMB '/,
292 & 5x,
' --------------------------------------------------- '//)
295 & 5x,
'MATERIAL NUMBER . . . . . . . . . . . .=',i10/,
296 & 5x,
'MATERIAL LAW. . . . . . . . . . . . . .=',i10/)
298 & 5x,
'INITIAL DENSITY . . . . . . . . . . . .=',1pg20.13/)
300 & 5x,
'YOUNG MODULUS . . . . . . . . . . . . .=',1pg20.13/,
301 & 5x,
'POISSON RATIO . . . . . . . . . . . . .=',1pg20.13//)
303 & 5x,
'INITIAL YIELD STRESS SIGY . . . . . . .=',1pg20.13
304 & 5x,
'HARDENING EXPONENT N . . . . . . . . .=',1pg20.13/,
305 & 5x,
'INITIAL PLASTIC STRAIN. . . . . . . . .=',1pg20.13//)
307 & 5x,
'HILL MATERIAL PARAMETER F . . . . . . .=',1pg20.13/,
308 & 5x,
'HILL MATERIAL PARAMETER G . . . . . . .=',1pg20.13/,
309 & 5x,
'HILL MATERIAL PARAMETER H . . . . . . .=',1pg20.13/,
310 & 5x,
'HILL MATERIAL PARAMETER N . . . . . . .=',1pg20.13/,
311 & 5x,
'HILL MATERIAL PARAMETER L . . . . . . .=',1pg20.13/,
312 & 5x,
'HILL MATERIAL PARAMETER M . . . . . . .=',1pg20.13/)
314 & 5x,
'FAILURE PARAMETER C1. . . . . . . . . .=',1pg20.13/,
315'FAILURE PARAMETER C2. . . . . . . . . .=',1pg20.13/,
316 & 5x,
'FAILURE PARAMETER C3. . . . . . . . . .=',1pg20.13/,
317 & 5x,
'DAMAGE EXPOSANT M . . . . . . . . . . .=',1pg20.13/,
318 & 5x,
'CRITICAL DAMAGE DC .. . . . . . . . . .=',1pg20.13/)
subroutine hm_read_mat72(uparam, maxuparam, nuparam, israte, imatvis, nuvar, ifunc, maxfunc, nfunc, parmat, unitab, mat_id, titr, mtag, lsubmodel, pm, matparam)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)