40 . NUVAR ,IFUNC ,MAXFUNC ,NFUNC ,PARMAT ,
41 . UNITAB ,MAT_ID ,TITR ,MTAG ,LSUBMODEL,
42 . ITABLE ,MAXTABL ,NTABLE ,PM ,IPM ,
72#include "implicit_f.inc"
81 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
82 my_real,
INTENT(INOUT) :: PM(NPROPM),(100),UPARAM(MAXUPARAM)
83 INTEGER,
INTENT(INOUT) :: IPM(NPROPMI),ISRATE,IFUNC(MAXFUNC),NFUNC,MAXFUNC,MAXUPARAM,NUPARAM
86 INTEGER,
INTENT(IN) :: MAT_ID,MAXTABL
87 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
88 TYPE(SUBMODEL_DATA),
INTENT(IN) :: LSUBMODEL(*)
89 TYPE(matparam_struct_) ,
INTENT(INOUT) :: MATPARAM
93 INTEGER I,J,NRATE,NPS,IR0,ILAW
95 . E,,G,C1,EPSMAX,EPSR1,EPSR2,
96 . R0,R45,R90,R,H,FISOKIN,M,
97 . einf,ce,t0, rhocp,x2fac,yfac,fac_pres,fac_freq
98 INTEGER IFUNCE, OPTE, NUM_FUNC
100 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
104 is_encrypted = .false.
105 is_available = .false.
117 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
119 CALL hm_get_floatv(
'MAT_E' ,e ,is_available, lsubmodel, unitab)
120 CALL hm_get_floatv(
'MAT_NU' ,nu ,is_available, lsubmodel, unitab)
122 CALL hm_get_intv (
'Yr_fun' ,ifunce ,is_available, lsubmodel)
123 CALL hm_get_floatv(
'MAT_EFIB' ,einf ,is_available, lsubmodel, unitab)
124 CALL hm_get_floatv(
'MAT_C' ,ce ,is_available, lsubmodel, unitab)
126 CALL hm_get_floatv(
'MAT_R00' ,r0 ,is_available, lsubmodel, unitab)
127 CALL hm_get_floatv(
'MAT_R45' ,r45 ,is_available, lsubmodel, unitab)
128 CALL hm_get_floatv(
'MAT_R90' ,r90 ,is_available, lsubmodel, unitab)
129 CALL hm_get_floatv(
'MAT_CHARD' ,fisokin ,is_available, lsubmodel, unitab)
130 CALL hm_get_intv (
'MAT_Iyield' ,ir0 ,is_available, lsubmodel)
132 CALL hm_get_floatv(
'MAT_EPS' ,epsmax ,is_available, lsubmodel, unitab)
133 CALL hm_get_floatv(
'MAT_EPST1' ,epsr1 ,is_available, lsubmodel
134 CALL hm_get_floatv(
'MAT_EPST2' ,epsr2 ,is_available, lsubmodel, unitab)
136 CALL hm_get_intv (
'FUN_A1' ,itable(1) ,is_available, lsubmodel)
137 CALL hm_get_floatv(
'MAT_FScale' ,yfac ,is_available, lsubmodel, unitab)
138 CALL hm_get_floatv(
'MAT_PScale' ,x2fac ,is_available, lsubmodel, unitab)
140 CALL hm_get_floatv(
'T_Initial' ,t0 ,is_available, lsubmodel, unitab)
141 CALL hm_get_floatv(
'MAT_SPHEAT' ,rhocp ,is_available, lsubmodel, unitab)
147 IF(rhor==zero)rhor=rho0
151 IF(yfac == zero)yfac=fac_pres
152 IF(x2fac == zero)x2fac=fac_freq
156 IF(r0 == zero) r0 = one
157 IF(r45 == zero) r45 = one
158 IF(r90 == zero) r90 = one
159 IF(epsr1 == zero)epsr1=infinity
160 IF(epsr2 == zero)epsr2=two*infinity
161 IF(t0 == zero) t0=twohundred93
163 IF(epsr1 >= epsr2)
THEN
166 . anmode=aninfo_blind_1,
174 uparam(3)=e/(one-nu*nu)
175 uparam(4)=nu*uparam(3)
179 r=(r0+r45+r45+r90)*fourth
182 uparam(7)=h*(one+one/r0)
183 uparam(8)=h*(one+one/r90)
185 uparam(10)=(r45*two + one)*(uparam(7)+uparam(8)-uparam(9))
187 uparam(8)=uparam(8)/uparam(7)
188 uparam(9)=uparam(9)/uparam(7)
189 uparam(10)=uparam(10)/uparam(7)
199 c1=e/3./(one - two*nu)
201 uparam(19)=c1+ four_over_3*g
210 IF (ifunce > 0 )opte = 1
212 ifunc(nfunc) = ifunce
226 parmat(17) = (one - two*nu)/(one - nu)
237 WRITE(iout,1001) trim(titr),mat_id,73
240 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
243 WRITE(iout,1100)e,nu,g,r0,r45,r90,fisokin
244 IF (ir0 >0)
WRITE(iout,1110)
245 WRITE(iout,1300)epsmax,epsr1,epsr2
246 WRITE(iout,1200)itable(1),x2fac,yfac
247 WRITE(iout,1400)t0,rhocp,ifunce,einf,ce
254 & 5x,
'MATERIAL NUMBER . . . . . . . . . . . .=',i10/,
255 & 5x,
'MATERIAL LAW. . . . . . . . . . . . . .=',i10/)
257 & 5x,
'INITIAL DENSITY . . . . . . . . . . . .=',1pg20.13/)
259 & 5x,47h thermal
tabulated hill orthotropic plasticity,/,
260 & 5x,47h ---------------------------------------------,//)
262 & 5x,
'YOUNG MODULUS . . . . . . . . . . . . .=',1pg20.13/
263 & 5x,
'POISSON RATIO . . . . . . . . . . . . .=',1pg20.13/
264 & 5x,
'SHEAR MODULUS . . . . . . . . . . . . .=',1pg20.13/
265 & 5x,
'LANKFORD COEFFICIENT R00. . . . . . . .=',1pg20.13/
266 & 5x,
'LANKFORD COEFFICIENT R45. . . . . . . .=',1pg20.13/
267 & 5x,
'LANKFORD COEFFICIENT R90. . . . . . . .=',1pg20.13/
268 & 5x,
'ISO-KINEMATIC HARDENNING FACTOR. . . . =',1pg20.13)
270 & 5x,
'YIELD STRESS IS SUPPOSSD IN ORTHOTROPIC DIR. 1 '/)
272 & 5x,
'YIELD STRESS TABLE NUMBER . . . . . . .=',i10/
273 & 5x,
'2ND ENTRY (STRAIN RATE) SCALE FACTOR. .=',1pg20
274 & 5x,
'YIELD SCALE FACTOR. . . . . . . . . . .=',1pg20.13)
276 & 5x,
'MAXIMUM PLASTIC STRAIN. . . . . . . . .=',1pg20.13/
277 & 5x,
'TENSILE FAILURE STRAIN 1. . . . . . . .=',1pg20.13/
278 & 5x,
'TENSILE FAILURE STRAIN 2. . . . . . . .=',1pg20.13)
280 & 5x,
'INITIAL TEMPERATURE . . . . . . . . . .=',1pg20.13/
281 & 5x,
'HEAT CAPACITY PER VOLUME UNIT . . . . .=',1pg20.13/
282 & 5x,
'YOUNG MODULUS SCALE FACTOR FUNCTION . .=',i10/
283 & 5x,
'YOUNG MODULUS EINF. . . . . . . . . . .=',1pg20.13/
284 & 5x,
'PARAMETER CE. . . . . . . . . . . . . .=',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)