39 . NUVAR ,IFUNC ,MAXFUNC ,NFUNC , PARMAT ,
40 . UNITAB ,MAT_ID ,TITR ,MTAG , LSUBMODEL,
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) :
84 INTEGER,
DIMENSION(MAXFUNC) ,
INTENT(INOUT)
85INTEGER,
INTENT(INOUT) ::,,NFUNC,MAXFUNC,MAXUPARAM,NUPARAM,NUVAR
87 INTEGER,
INTENT(IN) :: MAT_ID
88 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
90 TYPE(matparam_struct_) ,
INTENT(INOUT) :: MATPARAM
94 my_real e, nu, ca, cb, cm, cn, epsm,
95 . sigm, tref, tmelt, tmax, tol, fcut,rho0,rhor,cm_unit
97 . pmin, cs, stifint, dummy
99 LOGICAL IS_AVAILABLE,IS_ENCRYPTED
103 is_encrypted = .false.
104 is_available = .false.
109 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
110 CALL hm_get_floatv(
'Refer_Rho' ,rhor ,is_available, lsubmodel, unitab)
112 CALL hm_get_floatv(
'MAT_E' , e ,is_available, lsubmodel, unitab)
113 CALL hm_get_floatv(
'MAT_NU' , nu ,is_available, lsubmodel, unitab)
114 CALL hm_get_intv(
'MLAW106_FCT_ID1' , ifunc(1) ,is_available, lsubmodel)
115 CALL hm_get_intv(
'MLAW106_FCT_ID2' , ifunc(2) ,is_available, lsubmodel)
116 CALL hm_get_intv(
'MLAW106_FCT_ID3' , ifunc(3) ,is_available, lsubmodel)
121 CALL hm_get_floatv(
'MAT_HARD' , cn ,is_available, lsubmodel, unitab)
122 CALL hm_get_floatv(
'MLAW106_EP_MAX ' , epsm ,is_available, lsubmodel, unitab)
123 CALL hm_get_floatv(
'MLAW106_SIGMA_MAX' , sigm ,is_available, lsubmodel, unitab)
125 CALL hm_get_floatv(
'MAT_PC' ,pmin ,is_available, lsubmodel, unitab)
126 CALL hm_get_intv(
'MLAW106_NMAX' ,nmax ,is_available, lsubmodel)
127 CALL hm_get_floatv(
'MLAW106_TOL' ,tol ,is_available, lsubmodel, unitab)
129 CALL hm_get_floatv(
'MAT_M' , cm ,is_available, lsubmodel,unitab)
130 CALL hm_get_floatv(
'MAT_TMELT' , tmelt ,is_available, lsubmodel, unitab)
131 CALL hm_get_floatv(
'MAT_TMAX' , tmax ,is_available, lsubmodel, unitab)
133 CALL hm_get_floatv(
'MAT_SPHEAT' , cs ,is_available, lsubmodel, unitab)
138 IF(cs == zero.AND.tmelt == zero)
THEN
140 . msgtype=msgwarning,
141 . anmode=aninfo_blind_1,
144 ELSEIF(cs == zero)
THEN
147 . anmode=aninfo_blind_1,
150 IF(pmin == zero) pmin =-infinity
152 IF(epsm == zero) epsm = infinity
153 IF(sigm == zero) sigm = infinity
155 IF(cm == zero) cm = one
156 IF(tmelt <= zero)tmelt = infinity
157 IF(tmax <= zero) tmax = infinity
158 IF(tref <= zero) tref = three100
159 IF(nmax == 0) nmax = 1
160 IF(tol <= zero) tol = em7
161 IF(rhor == zero)rhor=rho0
168 CALL ancmsg(msgid=276,msgtype=msgerror,anmode
171 CALL ancmsg(msgid=300,msgtype=msgerror,anmode=aninfo,i1=106,i2=mat_id,c1=titr)
197 stifint = e*(one-nu)/(one+nu)/(one-two*nu)
214 matparam%HEAT_FLAG = 1
223 WRITE(iout,1010) trim(titr),mat_id,106
226 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
229 WRITE(iout,1100) e,nu,ifunc(1),ifunc(2),ifunc(3),ca,cb
230 WRITE(iout,1300) nmax,tol
234 & 5x,
' JOHNSON COOK LAW - TEMPERATURE DEPENDENT YOUNG MODULUS ',/,
235 & 5x,
' ------------------------------------------------------ '//)
238 & 5x,
'MATERIAL NUMBER. . . . . . . . . . . . . . .=',i10/,
239 & 5x,
'MATERIAL LAW . . . . . . . . . . . . . . . .=',i10/)
241 & 5x,
'INITIAL DENSITY . . . . . . . . . . . . . . =',1pg20.13/)
243 & 5x,
'YOUNG MODULUS E. . . . . . . . . . . . . . .=',1pg20.13/
244 & 5x,
'POISSON RATIO NU . . . . . . . . . . . . . .=',1pg20.13/
245 & 5x,
'FUNCTION E(T) (HEATING). . . . . . . . . . .=',i10/
246 & 5x,
'FUNCTION E(T) (COOLING). . . . . . . . . . .=',i10/
247 & 5x,
'FUNCTION NU(T) . . . . . . . . . . . . . . .=',i10/
248 & 5x,
'YIELD COEFFICIENT A. . . . . . . . . . . . .=',1pg20.13/
249 & 5x,
'YIELD COEFFICIENT B. . . . . . . . . . . . .=',1pg20.13/
250 & 5x,
'YIELD COEFFICIENT M (TEMPERATURE). . . . . .=',1pg20.13/
251 & 5x,
'YIELD COEFFICIENT N (HARDENING). . . . . . .=',1pg20.13/
252 & 5x,
'EPS-MAX. . . . . . . . . . . . . . . . . . .=',1pg20.13/
253 & 5x,
'SIG-MAX. . . . . . . . . . . . . . . . . . .=',1pg20.13/
254 & 5x,
'MELTING TEMPERATURE. . . . . . . . . . . . .=',1pg20.13/
255 & 5x,
'REFERENCE TEMPERATURE. . . . . . . . . . . .=',1pg20.13/
256 & 5x,
'SPECIFIC HEAT RHO*CP . . . . . . . . . . . .=',1pg20.13/)
258 & 5x,
'MAXIMUM NUMBER OF ITERATIONS . . . . . . . .=',i10/
259 & 5x,
'PLASTICITY TOLERANCE . . . . . . . . . . . .=',1pg20.13/)
subroutine hm_read_mat106(uparam, maxuparam, nuparam, fsmooth, imatvis, nuvar, ifunc, maxfunc, nfunc, parmat, unitab, mat_id, titr, mtag, lsubmodel, pm, ipm, 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)