44
45
46
51 USE matparam_def_mod
53
54
55
56#include "implicit_f.inc"
57
58
59
60#include "units_c.inc"
61#include "param_c.inc"
62
63
64
65
66 TYPE (UNIT_TYPE_),INTENT(IN) :: UNITAB
67 INTEGER, INTENT(IN)
68DIMENSION(NPROPM) ,INTENT(INOUT) :: pm
69 CHARACTER(LEN=NCHARTITLE) ,INTENT(IN) :: TITR
70 INTEGER, INTENT(INOUT) :: ISRATE,ITABLE(MAXTABL)
71 INTEGER, INTENT(INOUT) :: NUPARAM,NUVAR,NTABL,NVARTMP
72 my_real,
DIMENSION(MAXUPARAM) ,
INTENT(INOUT) :: uparam
73 my_real,
DIMENSION(100),
INTENT(INOUT) :: parmat
74 TYPE(SUBMODEL_DATA), DIMENSION(*),INTENT(IN) :: LSUBMODEL
75 TYPE(MLAW_TAG_), INTENT(INOUT) :: MTAG
76 TYPE(MATPARAM_STRUCT_) ,INTENT(INOUT) :: MATPARAM
77
78
79
80
81 INTEGER I, J, ILAW, , Itab, Ismooth
82 INTEGER TAB_YLD1,TAB_YLD2,,TAB_YLD4,TAB_YLD5,
83 . TAB_YLDC,TAB_YLDS
84
86 . rho0,rhor,
87 . young1,young2,young3,nu12,nu21,g12,g23,g31,
88 . fcut,c1,ssp,a11,a12,a21,a22,xi1,xi2,
89 . dmin,dmax,k,e3c,cc,nu1p
90 . s01,a01,b01,c01,s02,a02,b02,c02,
91 . s03,a03,b03,c03,s04,a04,b04,c04,
92 . s05,a05,b05,c05,asig,bsig,csig,
93 . tau0,atau,btau,detc,
94 . xscale1,yscale1,xscale2,yscale2,xscale3,yscale3,
95 . xscale4,yscale4,xscale5,yscale5,xscalec,yscalec,
96 . xscales,yscales,xscale_unit,yscale_unit,asrate,tref
97
98 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
99
100 is_encrypted = .false.
101 is_available = .false.
102 ilaw = 112
103
105
106
107
108 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
110
112 CALL hm_get_floatv(
'MAT_E2' ,young2 ,is_available, lsubmodel, unitab)
113 CALL hm_get_floatv(
'MAT_E3' ,young3 ,is_available, lsubmodel, unitab)
114 CALL hm_get_intv (
'MAT_IRES' ,ires ,is_available, lsubmodel)
115 CALL hm_get_intv (
'MAT_ITAB' ,itab ,is_available, lsubmodel)
116 CALL hm_get_intv (
'MAT_SMOOTH',ismooth ,is_available, lsubmodel)
117 IF (ismooth == 0) ismooth = 1
118
119 CALL hm_get_floatv(
'MAT_NU21' ,nu21 ,is_available, lsubmodel, unitab)
120 CALL hm_get_floatv(
'MAT_G12' ,g12 ,is_available, lsubmodel, unitab)
121 CALL hm_get_floatv(
'MAT_G23' ,g23 ,is_available, lsubmodel, unitab)
122 CALL hm_get_floatv(
'MAT_G13' ,g31 ,is_available, lsubmodel, unitab)
123
124
125 CALL hm_get_floatv(
'MAT_K' ,k ,is_available, lsubmodel, unitab)
126 IF (k == zero) k = one
127 CALL hm_get_floatv(
'MAT_E3C' ,e3c ,is_available, lsubmodel, unitab)
128 IF (e3c == zero) e3c = young3
129 CALL hm_get_floatv(
'MAT_CC' ,cc ,is_available, lsubmodel, unitab)
130 IF (cc == zero) cc = one
131
132 CALL hm_get_floatv(
'MAT_NU1P' ,nu1p ,is_available, lsubmodel, unitab)
133 CALL hm_get_floatv(
'MAT_NU2P' ,nu2p ,is_available, lsubmodel, unitab)
134 CALL hm_get_floatv(
'MAT_NU4P' ,nu4p ,is_available, lsubmodel, unitab)
135 CALL hm_get_floatv(
'MAT_NU5P' ,nu5p ,is_available, lsubmodel, unitab)
136
137 IF (itab == 0) THEN
138
139 CALL hm_get_floatv(
'MAT_S01' ,s01 ,is_available, lsubmodel, unitab)
140 IF (s01 == zero) s01 = infinity
141 CALL hm_get_floatv(
'MAT_A01' ,a01 ,is_available, lsubmodel, unitab)
142 CALL hm_get_floatv(
'MAT_B01' ,b01 ,is_available, lsubmodel, unitab)
143 CALL hm_get_floatv(
'MAT_C01' ,c01 ,is_available, lsubmodel, unitab)
144
145 CALL hm_get_floatv(
'MAT_S02' ,s02 ,is_available, lsubmodel, unitab)
146 IF (s02 == zero) s02 = infinity
147 CALL hm_get_floatv(
'MAT_A02' ,a02 ,is_available, lsubmodel, unitab)
148 CALL hm_get_floatv(
'MAT_B02' ,b02 ,is_available, lsubmodel, unitab)
149 CALL hm_get_floatv(
'MAT_C02' ,c02 ,is_available, lsubmodel, unitab)
150
152 IF (s03 == zero) s03 = infinity
153 CALL hm_get_floatv(
'MAT_A03' ,a03 ,is_available, lsubmodel, unitab)
154 CALL hm_get_floatv(
'MAT_B03' ,b03 ,is_available, lsubmodel, unitab)
155 CALL hm_get_floatv(
'MAT_C03' ,c03 ,is_available, lsubmodel, unitab)
156
158 IF (s04 == zero) s04 = infinity
159 CALL hm_get_floatv(
'MAT_A04' ,a04 ,is_available, lsubmodel, unitab)
160 CALL hm_get_floatv('mat_b04
' ,B04 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
161 CALL HM_GET_FLOATV('mat_c04' ,C04 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
162
163 CALL HM_GET_FLOATV('mat_s05' ,S05 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
164 IF (S05 == ZERO) S05 = INFINITY
165 CALL HM_GET_FLOATV('mat_a05' ,A05 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
166 CALL HM_GET_FLOATV('mat_b05' ,b05 ,is_available, lsubmodel, unitab)
167 CALL hm_get_floatv(
'MAT_C05' ,c05 ,is_available, lsubmodel, unitab)
168
169 CALL hm_get_floatv(
'MAT_ASIG' ,asig ,is_available, lsubmodel, unitab)
170 IF (asig == zero) asig = infinity
171 CALL hm_get_floatv(
'MAT_BSIG' ,bsig ,is_available, lsubmodel, unitab)
172 CALL hm_get_floatv(
'MAT_CSIG' ,csig ,is_available, lsubmodel, unitab)
173
174 CALL hm_get_floatv(
'MAT_TAU0' ,tau0 ,is_available, lsubmodel, unitab)
175 IF (tau0 == zero) tau0 = infinity
176 CALL hm_get_floatv(
'MAT_ATAU' ,atau ,is_available, lsubmodel, unitab)
177 CALL hm_get_floatv(
'MAT_BTAU' ,btau ,is_available, lsubmodel, unitab)
178 ELSE
179
180 CALL hm_get_intv ('tab_yld1
' ,TAB_YLD1 ,IS_AVAILABLE, LSUBMODEL)
181 IF (TAB_YLD1 == 0) THEN
182 CALL ANCMSG(MSGID=2056,
183 . MSGTYPE=MSGERROR,
184 . ANMODE=ANINFO_BLIND_2,
185 . I1=MAT_ID,
186 . C1=TITR,
187 . I2=1)
188 ENDIF
189 CALL HM_GET_FLOATV('mat_xscale1' ,XSCALE1 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
190 IF (XSCALE1 == ZERO) THEN
191 CALL HM_GET_FLOATV_DIM('mat_xscale1' ,XSCALE_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
192 XSCALE1 = ONE * XSCALE_UNIT
193 ENDIF
194 CALL HM_GET_FLOATV('mat_yscale1' ,YSCALE1 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
195 IF (YSCALE1 == ZERO) THEN
196 CALL HM_GET_FLOATV_DIM('mat_yscale1' ,YSCALE_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
197 YSCALE1 = ONE * YSCALE_UNIT
198 ENDIF
199
200 CALL HM_GET_INTV ('tab_yld2' ,TAB_YLD2 ,IS_AVAILABLE, LSUBMODEL)
201 IF (TAB_YLD2 == 0) THEN
202 CALL ANCMSG(MSGID=2056,
203 . MSGTYPE=MSGERROR,
204 . ANMODE=ANINFO_BLIND_2,
205 . I1=MAT_ID,
206 . C1=TITR,
207 . I2=2)
208 ENDIF
209 CALL HM_GET_FLOATV('mat_xscale2' ,XSCALE2 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
210 IF (XSCALE2 == ZERO) THEN
211 CALL HM_GET_FLOATV_DIM('mat_xscale2' ,XSCALE_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
212 XSCALE2 = ONE * XSCALE_UNIT
213 ENDIF
214 CALL HM_GET_FLOATV('mat_yscale2' ,YSCALE2 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
215 IF (YSCALE2 == ZERO) THEN
216 CALL HM_GET_FLOATV_DIM('mat_yscale2' ,YSCALE_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
217 YSCALE2 = ONE * YSCALE_UNIT
218 ENDIF
219
220 CALL HM_GET_INTV ('tab_yld3' ,TAB_YLD3 ,IS_AVAILABLE, LSUBMODEL)
221 IF (TAB_YLD3 == 0) THEN
222 CALL ANCMSG(MSGID=2056,
223 . MSGTYPE=MSGERROR,
224 . ANMODE=ANINFO_BLIND_2,
225 . I1=MAT_ID,
226 . C1=TITR,
227 . I2=3)
228 ENDIF
229 CALL HM_GET_FLOATV('mat_xscale3' ,XSCALE3 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
230 IF (XSCALE3 == ZERO) THEN
231 CALL HM_GET_FLOATV_DIM('mat_xscale3' ,XSCALE_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
232 XSCALE3 = ONE * XSCALE_UNIT
233 ENDIF
234 CALL HM_GET_FLOATV('mat_yscale3' ,YSCALE3 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
235 IF (YSCALE3 == ZERO) THEN
236 CALL HM_GET_FLOATV_DIM('mat_yscale3' ,YSCALE_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
237 YSCALE3 = ONE * YSCALE_UNIT
238 ENDIF
239
240 CALL HM_GET_INTV ('tab_yld4' ,TAB_YLD4 ,IS_AVAILABLE, LSUBMODEL)
241 IF (TAB_YLD4 == 0) THEN
242 CALL ANCMSG(MSGID=2056,
243 . MSGTYPE=MSGERROR,
244 . ANMODE=ANINFO_BLIND_2,
245 . I1=MAT_ID,
246 . C1=TITR,
247 . I2=4)
248 ENDIF
249 CALL HM_GET_FLOATV('mat_xscale4' ,XSCALE4 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
250 IF (XSCALE4 == ZERO) THEN
251 CALL HM_GET_FLOATV_DIM('mat_xscale4' ,XSCALE_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
252 XSCALE4 = ONE * XSCALE_UNIT
253 ENDIF
254 CALL HM_GET_FLOATV('mat_yscale4' ,YSCALE4 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
255 IF (YSCALE4 == ZERO) THEN
256 CALL HM_GET_FLOATV_DIM('mat_yscale4' ,YSCALE_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
257 YSCALE4 = ONE * YSCALE_UNIT
258 ENDIF
259
260 CALL HM_GET_INTV ('tab_yld5' ,TAB_YLD5 ,IS_AVAILABLE, LSUBMODEL)
261 IF (TAB_YLD5 == 0) THEN
262 CALL ANCMSG(MSGID=2056,
263 . MSGTYPE=MSGERROR,
264 . ANMODE=ANINFO_BLIND_2,
265 . I1=MAT_ID,
266 . C1=TITR,
267 . I2=5)
268 ENDIF
269 CALL HM_GET_FLOATV('mat_xscale5' ,XSCALE5 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
270 IF (XSCALE5 == ZERO) THEN
271 CALL HM_GET_FLOATV_DIM('mat_xscale5' ,XSCALE_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
272 XSCALE5 = ONE * XSCALE_UNIT
273 ENDIF
274 CALL HM_GET_FLOATV('mat_yscale5' ,YSCALE5 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
275 IF (YSCALE5 == ZERO) THEN
276 CALL HM_GET_FLOATV_DIM('mat_yscale5' ,YSCALE_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
277 YSCALE5 = ONE * YSCALE_UNIT
278 ENDIF
279
280 CALL HM_GET_INTV ('tab_yldc' ,TAB_YLDC ,IS_AVAILABLE, LSUBMODEL)
281 IF (TAB_YLDC == 0) THEN
282 CALL ANCMSG(MSGID=2056,
283 . MSGTYPE=MSGERROR,
284 . ANMODE=ANINFO_BLIND_2,
285 . I1=MAT_ID,
286 . C1=TITR,
287 . I2=6)
288 ENDIF
289 CALL HM_GET_FLOATV('mat_xscalec' ,XSCALEC ,IS_AVAILABLE, LSUBMODEL, UNITAB)
290 IF (XSCALEC == ZERO) THEN
291 CALL HM_GET_FLOATV_DIM('mat_xscalec' ,XSCALE_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
292 XSCALEC = ONE * XSCALE_UNIT
293 ENDIF
294 CALL HM_GET_FLOATV('mat_yscalec' ,YSCALEC ,IS_AVAILABLE, LSUBMODEL, UNITAB)
295 IF (YSCALEC == ZERO) THEN
296 CALL HM_GET_FLOATV_DIM('mat_yscalec' ,YSCALE_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
297 YSCALEC = ONE * YSCALE_UNIT
298 ENDIF
299
300 CALL HM_GET_INTV ('tab_ylds' ,TAB_YLDS ,IS_AVAILABLE, LSUBMODEL)
301 IF (TAB_YLDS == 0) THEN
302 CALL ANCMSG(MSGID=2056,
303 . MSGTYPE=MSGERROR,
304 . ANMODE=ANINFO_BLIND_2,
305 . I1=MAT_ID,
306 . C1=TITR,
307 . I2=7)
308 ENDIF
309 CALL HM_GET_FLOATV('mat_xscales' ,XSCALES ,IS_AVAILABLE, LSUBMODEL, UNITAB)
310 IF (XSCALES == ZERO) THEN
311 CALL HM_GET_FLOATV_DIM('mat_xscales' ,xscale_unit ,is_available, lsubmodel, unitab)
312 xscales = one * xscale_unit
313 ENDIF
314 CALL hm_get_floatv(
'MAT_YscaleS' ,yscales ,is_available, lsubmodel, unitab)
315 IF (yscales == zero) THEN
316 CALL hm_get_floatv_dim(
'MAT_YscaleS' ,yscale_unit ,is_available, lsubmodel, unitab)
317 yscales = one * yscale_unit
318 ENDIF
319 ENDIF
320
321
322
323
324 IF (ires == 0) ires = 2
325
326 nu12 = nu21*young1/young2
327 IF(nu12*nu21 >= one ) then
329 . msgtype=msgerror,
330 . anmode=aninfo_blind_2,
331 . i1=mat_id ,
332 . c1=titr)
333 ENDIF
334
335
336 israte = 0
337 parmat(4) = zero
338 parmat(5) = zero
339 asrate = zero
340 IF (itab > 0) asrate = 10000.0d0*unitab%FAC_T_WORK
341
342
343
344 a11 = young1/(one - nu12*nu21)
345 a12 = nu12*young2/(one - nu12*nu21)
346 a21 = nu21*young1/(one - nu12*nu21)
347 a22 = young2/(one - nu12*nu21)
348
349
350
351
352
353 IF (itab == 0) THEN
354 nuparam = 47
355 ntabl = 0
356 nvartmp = 0
357 ELSE
358 nuparam = 37
359 ntabl = 7
360 nvartmp = 7
361 itable(1) = tab_yld1
362 itable(2) = tab_yld2 ! yield function table = f(epsp,epsdot)
363 itable(3) = tab_yld3
364 itable(4) = tab_yld4
365 itable(5) = tab_yld5
366 itable(6) = tab_yldc
367 itable(7) = tab_ylds
368 ENDIF
369
370 IF (ires == 1) THEN
371 nuvar = 3
372 ELSE
373 nuvar = 0
374 ENDIF
375
376
377 uparam(1) = young1
378 uparam(2) = young2
379 uparam(3) = young3
380 uparam(4) = nu12
381 uparam(5) = nu21
382 uparam(6) = a11
383 uparam(7) = a12
384 uparam(8) = a21
385 uparam(9) = a22
386 uparam(10) = g12
387 uparam(11) = g23
388 uparam(12) = g31
389 uparam(13) = ires
390 uparam(14) = itab
391 uparam(15) = two*k
392 uparam(16) = e3c
393 uparam(17) = cc
394 uparam(18) = nu1p
395 uparam(19) = nu2p
396 uparam(20) = nu4p
397 uparam(21) = nu5p
398 IF (itab == 0) THEN
399 uparam(22) = s01
400 uparam(23) = a01
401 uparam(24) = b01
402 uparam(25) = c01
403 uparam(26) = s02
404 uparam(27) = a02
405 uparam(28) = b02
406 uparam(29) = c02
407 uparam(30) = s03
408 uparam(31) = a03
409 uparam(32) = b03
410 uparam(33) = c03
411 uparam(34) = s04
412 uparam(35) = a04
413 uparam(36) = b04
414 uparam(37) = c04
415 uparam(38) = s05
416 uparam(39) = a05
417 uparam(40) = b05
418 uparam(41) = c05
419 uparam(42) = asig
420 uparam(43) = bsig
421 uparam(44) = csig
422 uparam(45) = tau0
423 uparam(46) = atau
424 uparam(47) = btau
425 ELSE
426 IF (xscale1 /= zero) THEN
427 uparam(22) = one/xscale1
428 ELSE
429 uparam(22) = zero
430 ENDIF
431 uparam(23) = yscale1
432 IF (xscale2 /= zero) THEN
433 uparam(24) = one/xscale2
434 ELSE
435 uparam(24) = zero
436 ENDIF
437 uparam(25) = yscale2
438 IF (xscale3 /= zero) THEN
439 uparam(26) = one/xscale3
440 ELSE
441 uparam(26) = zero
442 ENDIF
443 uparam(27) = yscale3
444 IF (xscale4 /= zero) THEN
445 uparam(28) = one/xscale4
446 ELSE
447 uparam(28) = zero
448 ENDIF
449 uparam(29) = yscale4
450 IF (xscale5 /= zero) THEN
451 uparam(30) = one/xscale5
452 ELSE
453 uparam(30) = zero
454 ENDIF
455 uparam(31) = yscale5
456 IF (xscalec /= zero) THEN
457 uparam(32) = one/xscalec
458 ELSE
459 uparam(32) = zero
460 ENDIF
461 uparam(33) = yscalec
462 IF (xscales /= zero) THEN
463 uparam(34) = one/xscales
464 ELSE
465 uparam(34) = zero
466 ENDIF
467 uparam(35) = yscales
468 uparam(36) = asrate
469 uparam(37) = ismooth
470 ENDIF
471
472
473 parmat(1) =
max(young1,young2,young3,g12,g23,g31)
474 parmat(2) =
max(young1,young2,young3)
475 parmat(3) =
max(nu12,nu21)
476 parmat(16) = 1
477 dmin = young1*young2
478 dmax =
max(young1,young2)
479 parmat(17) = dmin/dmax/dmax
480
481
482 pm(1) = rhor
483 pm(89) = rho0
484 ssp = sqrt(
max(a11,a12,a22,a21,young3,g12,g23,g31)/ rho0)
485 pm(27) = ssp
486
487
488 mtag%G_PLA = 4
489 mtag%L_PLA = 4
490 mtag%G_EPSD = 4
491 mtag%L_EPSD = 4
492
498
499
502
503
504
505
506 WRITE(iout,1000) trim(titr),mat_id,ilaw
507 WRITE(iout,1050)
508 IF (is_encrypted) THEN
509 WRITE(iout,'(5X,A,//)')'CONFIDENTIAL DATA'
510 ELSE
511 WRITE(iout,1200) rho0
512 WRITE(iout,1300) young1,young2,young3,nu12,nu21,g12,g23,g31
513 WRITE(iout,1350) ires
514 WRITE(iout,1400) k,e3c,cc,nu1p,nu2p,nu4p,nu5p
515 IF (itab == 0) THEN
516 WRITE(iout,1500) s01,a01,b01,c01,s02,a02,b02,c02,s03,a03,b03,c03,
517 . s04,a04,b04,c04,s05,a05,b05,c05,asig,bsig,csig,
518 . tau0,atau,btau
519 ELSE
520 WRITE(iout,1525) tab_yld1,xscale1,yscale1,tab_yld2,xscale2,yscale2,
521 . tab_yld3,xscale3,yscale3,tab_yld4,xscale4,yscale4,
522 . tab_yld5,xscale5,yscale5,tab_yldc,xscalec,yscalec,
523 . tab_ylds,xscales,yscales,ismooth
524 ENDIF
525 ENDIF
526
527 1000 FORMAT(/
528 & 5x,a,/,
529 & 5x,'MATERIAL NUMBER. . . . . . . . . . . . =',i10/,
530 & 5x,'MATERIAL LAW . . . . . . . . . . . . . =',i10/)
531 1050 FORMAT
532 &(5x,'MATERIAL MODEL : PAPERBOARD (XIA,2002)',/,
533 & 5x,'--------------------------------------',/)
534 1200 FORMAT(
535 & 5x,'INITIAL DENSITY . . . . . . . . . . . .=',1pg20.13/)
536 1300 FORMAT(
537 & 5x,'YOUNG MODULUS IN DIRECTION 1. . . . . .=',1pg20.13/
538 & 5x,'YOUNG MODULUS IN DIRECTION 2. . . . . .=',1pg20.13/
539 & 5x,'YOUNG MODULUS IN DIRECTION 3. . . . . .=',1pg20.13/
540 & 5x,'POISSON RATIO NU12 . . . . . . . . . .=',1pg20.13/
541 & 5x,'POISSON RATIO NU21 . . . . . . . . . .=',1pg20.13/
542 & 5x,'SHEAR MODULUS IN 12 . . . . . . . . . .=',1pg20.13/
543 & 5x,'SHEAR MODULUS IN 23 . . . . . . . . . .=',1pg20.13/
544 & 5x,'SHEAR MODULUS IN 13 . . . . . . . . . .=',1pg20.13/)
545 1350 FORMAT(
546 & 5x,'RETURN MAPPING ALGORITHM FLAG . . . . .=',i3/
547 & 5x,' IRES=1 NICE EXPLICIT'/
548 & 5x,' IRES=2 NEWTON-ITERATION IMPLICIT (CUTTING PLANE)'/)
549 1400 FORMAT(
550 & 5x,'YIELD CRITERION EXPONENT K . . . . . .=',1pg20.13/
551 & 5x,'ELASTIC COMPRESSION PARAMETER . . . . .=',1pg20.13/
552 & 5x,'ELASTIC COMPRESSION EXPONENT . . . . .=',1pg20.13/
553 & 5x,'TENSILE PLASTIC POISSON RATIO IN DIR 1.=',1pg20.13/
554 & 5x,'COMPRES PLASTIC POISSON RATIO IN DIR 1.=',1pg20.13/
555 & 5x,'TENSILE PLASTIC POISSON RATIO IN DIR 2.=',1pg20.13/
556 & 5x,'COMPRES PLASTIC POISSON RATIO IN DIR 2.=',1pg20.13/)
557 1500 FORMAT(
558 & 5x,'-----------------------------------------------',/,
559 & 5x,'YIELD STRESS IN TENSION IN DIRECTION 1 (MD) ',/,
560 & 5x,'-----------------------------------------------',/,
561 & 5x,'1ST PLASTICITY PARAMETER S01 . . . . .=',1pg20.13/
562 & 5x,'2ND PLASTICITY PARAMETER A01 . . . . .='
563 & 5x,'3RD PLASTICITY PARAMETER B01 . . . . .=',1pg20.13/
564 & 5x,'4TH PLASTICITY PARAMETER C01 . . . . .=',1pg20.13/
565 & 5x,'-----------------------------------------------',/,
566 & 5x,'YIELD STRESS IN TENSION IN DIRECTION 2 (CD) ',/,
567 & 5x,'-----------------------------------------------',/,
568 & 5x,'1ST PLASTICITY PARAMETER S02 . . . . .=',1pg20.13/
569 & 5x,'2ND PLASTICITY PARAMETER A02 . . . . .=',1pg20.13/
570 & 5x,'3RD PLASTICITY PARAMETER B02 . . . . .=',1pg20.13/
571 & 5x,'4TH PLASTICITY PARAMETER C02 . . . . .=',1pg20.13/
572 & 5x,'-----------------------------------------------',/,
573 & 5x,'YIELD STRESS IN POSITIVE SHEAR ',/,
574 & 5x,'-----------------------------------------------',/,
575 & 5x,'1ST PLASTICITY PARAMETER S03 . . . . .=',1pg20.13/
576 & 5x,'2ND PLASTICITY PARAMETER A03 . . . . .=',1pg20.13/
577 & 5x,'3RD PLASTICITY PARAMETER B03 . . . . .=',1pg20.13/
578 & 5x,'4TH PLASTICITY PARAMETER C03 . . . . .=',1pg20.13/
579 & 5x,'-----------------------------------------------',/,
580 & 5x,'YIELD STRESS IN COMPRESSION IN DIRECTION 1 (MD)',/,
581 & 5x,'-----------------------------------------------',/,
582 & 5x,'1ST PLASTICITY PARAMETER S04 . . . . .=',1pg20.13/
583 & 5x,'2ND PLASTICITY PARAMETER A04 . . . . .=',1pg20.13/
584 & 5x,'3RD PLASTICITY PARAMETER B04 . . . . .=',1pg20.13/
585 & 5x,'4TH PLASTICITY PARAMETER C04 . . . . .=',1pg20
586 & 5x,'-----------------------------------------------',/,
587 & 5x,'YIELD STRESS IN COMPRESSION IN DIRECTION 2 (CD)',/,
588 & 5x,'-----------------------------------------------',/,
589 & 5x,'1ST PLASTICITY PARAMETER S05 . . . . .=',1pg20.13/
590 & 5x,'2ND PLASTICITY PARAMETER A05 . . . . .=',1pg20.13/
591 & 5x,'3RD PLASTICITY PARAMETER B05 . . . . .=',1pg20.13/
592 & 5x,'4TH PLASTICITY PARAMETER C05 . . . . .=',1pg20.13/
593 & 5x,'-----------------------------------------------',/,
594 & 5X,'yield stress in out-of-plane direction ',/,
595 & 5X,'-----------------------------------------------',/,
596 & 5X,'1st plasticity PARAMETER asig . . . . .=',1PG20.13/
597 & 5X,'2nd plasticity PARAMETER bsig . . . . .=',1PG20.13/
598 & 5X,'3rd plasticity PARAMETER csig . . . . .=',1PG20.13/
599 & 5X,'-----------------------------------------------',/,
600 & 5X,'yield stress in transverse shear ',/,
601 & 5X,'-----------------------------------------------',/,
602 & 5X,'1st plasticity PARAMETER tau0 . . . . .=',1PG20.13/
603 & 5X,'2nd plasticity PARAMETER atau . . . . .=',1PG20.13/
604 & 5X,'3rd plasticity PARAMETER btau . . . . .=',1PG20.13/)
605 1525 FORMAT(
606 & 5X,'---------------------------------------------------------',/,
607 & 5X,'tabulated yield stress in tension in direction 1 (md)
',/,
608 & 5X,'---------------------------------------------------------',/,
609 & 5X,'tabulated yield - strain rate table
id.=
',I10/
610 & 5X,'tabulated yield x factor . . . . . . .=
',1PG20.13/
611 & 5X,'tabulated yield y factor . . . . . . .=
',1PG20.13/
612 & 5X,'---------------------------------------------------------',/,
613 & 5X,'tabulated yield stress in tension in direction 2 (cd)
',/,
614 & 5X,'---------------------------------------------------------',/,
615 & 5X,'tabulated yield - strain rate table
id.=
',I10/
617 & 5X,'tabulated yield y factor . . . . . . .=
',1PG20.13/
618 & 5X,'---------------------------------------------------------',/,
619 & 5X,'tabulated yield stress in positive shear
',/,
620 & 5X,'---------------------------------------------------------',/,
622 & 5X,'tabulated yield x factor . . . . . . .=
',1PG20.13/
623 & 5X,'tabulated yield y factor . . . . . . .=
',1PG20.13/
624 & 5X,'---------------------------------------------------------',/,
625 & 5X,'tabulated yield stress in compression in direction 1 (md)
',/,
626 & 5X,'---------------------------------------------------------',/,
627 & 5X,'tabulated yield - strain rate table
id.=
',I10/
628 & 5X,'tabulated yield x factor . . . . . . .=
',1PG20.13/
629 & 5X,'tabulated yield y factor . . . . . . .=
',1PG20.13/
630 & 5X,'---------------------------------------------------------',/,
631 & 5X,'tabulated yield stress in compression
',/,
632 & 5X,'',/,
633 & 5X,'tabulated yield - strain rate table
id.=
',I10/
634 & 5X,'tabulated yield x factor . . . . . . .=
',1PG20.13/
635 & 5X,'tabulated yield y factor . . . . . . .=
',1PG20.13/
636 & 5X,'-------------------------------------------',/,
637 & 5X,'tabulated yield stress in out-of-plane direction
',/,
638 & 5X,'---------------------------------------------------------',/,
639 & 5X,'tabulated yield - strain rate table
id.=
',I10/
640 & 5X,'tabulated yield x factor . . . . . . .=
',1PG20.13/
641 & 5X,'tabulated yield y factor . . . . . . .=
',1PG20.13/
642 & 5X,'---------------------------------------------------------',/,
643 & 5X,'tabulated yield stress in transverse shear
',/,
644 & 5X,'---------------------------------------------------------',/,
645 & 5X,'tabulated yield - strain rate table
id.=
',I10/
646 & 5X,'tabulated yield x factor . . . . . . .=
',1PG20.13/
647 & 5X,'tabulated yield y factor . . . . . . .=
',1PG20.13/
648 & 5X,'---------------------------------------------------------',/,
649 & 5X,'DATA for strain-rate computation
',/,
650 & 5X,'---------------------------------------------------------',/,
651 & 5X,'table interpolation flag . . . . . . .=',I10/
652 & 5X,' ismooth=1 linear interpolation'/
653 & 5X,' ismooth=2 logarithmic interpolation base 10'/
654 & 5X,' ismooth=3 logarithmic interpolation base n'/)
655
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_floatv_dim(name, dim_fac, is_available, lsubmodel, unitab)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_is_encrypted(is_encrypted)
subroutine init_mat_keyword(matparam, keyword)
for(i8=*sizetab-1;i8 >=0;i8--)
integer, parameter nchartitle
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)
subroutine tabulated(iflag, nel, pm, off, eint, mu, espe, dvol, df, vnew, mat, psh, pnew, dpdm, dpde, npf, tf)