39 . LSUBMODEL ,MTAG ,UNITAB ,IPM ,PM ,
40 . MAT_ID ,TITR ,ISRATE ,MATPARAM )
64#include "implicit_f.inc"
73 INTEGER,
INTENT(INOUT) :: MAT_ID
74 INTEGER,
INTENT(INOUT) :: ISRATE
75 INTEGER,
DIMENSION(NPROPMI) ,
INTENT(INOUT) :: IPM
76 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
77 my_real,
DIMENSION(NPROPM) ,
INTENT(INOUT) :: pm
79 TYPE(
submodel_data),
DIMENSION(NSUBMOD),
INTENT(IN) :: LSUBMODEL
81 TYPE(matparam_struct_) ,
INTENT(INOUT) :: MATPARAM
85 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
86 INTEGER JTUR, I, ,EMPTY_LINE,COUNT
89 . young,nu,sig0,cb,cn,sigm,epsm,t0,tmelt,pmin,
90 . sph,cb1,cb2,ch,cf,g0,bulk,
91 . fac_l,fac_t,fac_m,fac_c,
92 . bid2 ,bid3 ,bid4 ,bid5 ,
93 . bid2_,bid3_,bid4_,bid5_,
94 . c0,c1,c2,c3,c4,c5,e0,psh,rho0,rhor
95 CHARACTER*32 :: MTL_MSG
113 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
116 CALL hm_get_floatv(
'MAT_E0' ,young ,is_available, lsubmodel, unitab)
117 CALL hm_get_floatv(
'MAT_NU' ,nu ,is_available, lsubmodel, unitab)
119 CALL hm_get_floatv(
'MAT_SIGY' ,sig0 ,is_available, lsubmodel, unitab)
120 CALL hm_get_floatv(
'MAT_BETA' ,cb ,is_available, lsubmodel, unitab)
121 CALL hm_get_floatv(
'MAT_HARD' ,cn ,is_available, lsubmodel, unitab)
122 CALL hm_get_floatv(
'MAT_EPS' ,epsm ,is_available, lsubmodel, unitab)
123 CALL hm_get_floatv(
'MAT_SIG' ,sigm ,is_available, lsubmodel, unitab)
125 CALL hm_get_floatv(
'MAT_T0' ,t0 ,is_available, lsubmodel, unitab)
126 CALL hm_get_floatv(
'MAT_TMELT' ,tmelt ,is_available, lsubmodel, unitab)
127 CALL hm_get_floatv(
'MAT_SPHEAT' ,sph ,is_available, lsubmodel, unitab)
128 CALL hm_get_floatv(
'MAT_PC' ,pmin ,is_available, lsubmodel, unitab)
130 CALL hm_get_floatv(
'MAT_B1' ,cb1 ,is_available, lsubmodel, unitab)
131 CALL hm_get_floatv(
'MAT_B2' ,cb2 ,is_available, lsubmodel, unitab)
133 CALL hm_get_floatv(
'MAT_F' ,cf ,is_available, lsubmodel, unitab)
135 CALL hm_get_intv (
'Line_count' ,count ,is_available, lsubmodel)
142 IF (pmin==zero) pmin=-ep20
143 IF (rhor==zero) rhor=rho0
148 CALL ancmsg(msgid=1513,msgtype=msgerror,anmode=aninfo,i1 = mat_id,c1 = titr)
151 IF(nu<zero.OR.nu>=half)
THEN
152 mtl_msg =
"LAW49 (STEINBERG GUINAN)"
153 CALL ancmsg(msgid=1514,msgtype=msgerror,anmode=aninfo,i1=mat_id,c1=mtl_msg,c2=titr)
156 IF(epsm==zero) epsm = ep20
157 IF(sigm==zero) sigm = ep20
158 IF(tmelt==zero)tmelt = ep20
159 IF(pmin==zero) pmin =-ep20
160 IF(t0==zero) t0 = three100
161 g0 = young /two / (one+nu)
162 bulk=young/(three*(one - two*nu))
167 pm(24) = nu * young / (one-nu*nu)
187 pm(105) = two*g0/(bulk+four_over_3*g0)
204 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
206 WRITE(iout,2001) titr,mat_id,49
207 WRITE(iout,2002) rho0,rhor
208 WRITE(iout,1100)young,sig0,nu,cb,cn,sigm,epsm,t0,tmelt,sph,pmin,cb1,cb2,ch,cf
219 & 5x,
' STEINBERG-GUINAN CONSTITUTIVE LAW ',/,
220 & 5x,
' ---------------------------------- ',//)
222 & 5x,
'INITIAL YOUNG MODULUS . . . . . . . . .=',1pg20.13/
223 & 5x,
'INITIAL YIELD STRESS. . . . . . . . . .=',1pg20.13/
224 & 5x,
'POISSON RATIO . . . . . . . . . . . . .=',1pg20.13/
225 & 5x,
'HARDENING COEFFICIENT . . . . . . . . .=',1pg20.13/
226 & 5x,
'HARDENING EXPONENT. . . . . . . . . . .=',1pg20.13/
227 & 5x,
'MAXIMUM STRESS. . . . . . . . . . . . .=',1pg20.13/
228 & 5x,
'MAXIMUM STRAIN. . . . . . . . . . . . .=',1pg20.13/
229 & 5x,
'INITIAL TEMPERATURE . . . . . . . . . .=',1pg20.13/
230 & 5x,
'MELTING TEMPERATURE . . . . . . . . . .=',1pg20.13/
231 & 5x,
'SPECIFIC HEAT . . . . . . . . . . . . .=',1pg20.13/
232 & 5x,
'MINIMAL PRESSURE. . . . . . . . . . . .=',1pg20.13/
233 & 5x,
'B1 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/
234 & 5x,
'B2 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/
235 & 5x,
'H COEFFICIENT . . . . . . . . . . . . .=',1pg20.13/
236 & 5x,
'F COEFFICIENT . . . . . . . . . . . . .=',1pg20
239 & 5x,
' POLYNOMIAL EOS ',/,
240 & 5x,
' -------------- ',/,
241 & 5x,
' INPUT 100 IS OBSOLETE ',/,
242 & 5x,
' IT CAN BE REPLACED BY /EOS CARD ',/)
245 & 5x,
' MATERIAL NUMBER . . . . . . . . . . . .=',i10/,
246 & 5x,
' MATERIAL LAW. . . . . . . . . . . . . .=',i10/)
248 & 5x,
' INITIAL DENSITY . . . . . . . . . . . .=',1pg20.13/,
249 & 5x,
' REFERENCE DENSITY . . . . . . . . . . .=',1pg20.13/)
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)