46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
69 USE matparam_def_mod
72
73
74
75#include "implicit_f.inc"
76
77
78
79#include "units_c.inc"
80#include "param_c.inc"
81
82
83
84 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
85 my_real,
DIMENSION(NPROPM) ,
INTENT(INOUT) :: pm
86 my_real,
DIMENSION(100) ,
INTENT(INOUT) :: parmat
87 my_real,
DIMENSION(MAXUPARAM) ,
INTENT(INOUT) :: uparam
88
89 INTEGER, INTENT(INOUT) :: MFUNC,NUPARAM,NUVAR,IMATVIS
90 INTEGER, DIMENSION(MAXFUNC) ,INTENT(INOUT) :: IFUNC
91 TYPE(MLAW_TAG_),INTENT(INOUT) :: MTAG
92 INTEGER,INTENT(IN) :: ID,MAXFUNC,MAXUPARAM
93 CHARACTER(LEN=NCHARTITLE) ,INTENT(IN) :: TITR
94 TYPE(SUBMODEL_DATA),INTENT(IN) :: LSUBMODEL(*)
95 TYPE(MATPARAM_STRUCT_) ,INTENT(INOUT) :: MATPARAM
96
97
98
99 INTEGER :: NBMAT, MAT_ID
100 INTEGER :: I,J,NRATE,NPS,ILAW,NFUNC,ITEST,N_NETWORK, FLAG_HE, FLAG_MUL, EXPPL,
101 . FLAG_PL,NHYPER,NET,N,TAB,SHIFT,
102 . NMUL,NTEMP,NPLAS,NVISC(10),FLAG_VISC(10)
103 my_real :: rho0, e,nu,g,rbulk,tauref_unit,
104 . c1,c2,c3,c4,c5,mu,lm,d,beta,facpl, scale1, scale2,scalefac,
105 . c10,c01,c20,c11,c02 ,fac_unit,fac_sm,fac_bm,
106 . c30, c21,c12,c03,sb,d1,d2,d3,ff,epshat,tauy ,
107 . a(10),expc(10),
108 . expm(10),ksi(10),stiffn(10),b0(10),expn(10),tauref(10)
109 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
110
111
112
113 is_encrypted = .false.
114 is_available = .false.
115 g = zero
116
117
118
120
121 imatvis = 1
122 ilaw = 100
123 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
124
125 nfunc = 0
126 nuvar = 0
127 c10 = zero
128 c01 = zero
129 c20 = zero
130 c11 = zero
131 c02 = zero
132 c30 = zero
133 c21 = zero
134 c12 = zero
135 c03 = zero
136 d1 = zero
137 d2 = zero
138 d3 = zero
139 nu = zero
140 nhyper = 0
141 rbulk = zero
142
143 flag_he = 1
144 flag_pl = 0
145
146
147 CALL hm_get_intv(
'MAT_N_net' , n_network, is_available, lsubmodel)
148 CALL hm_get_intv(
'MAT_Flag_HE', flag_he , is_available, lsubmodel)
149 CALL hm_get_intv(
'MAT_Flag_Cr', flag_pl , is_available, lsubmodel)
150
151 IF (n_network > 10 ) THEN
153 . msgtype=msgerror,
154 . anmode=aninfo_blind_2,
156 . c1=titr)
157 ENDIF
158
159
160
161
162
163
164
165
166
167 IF (flag_he == 1)THEN
168
169 CALL hm_get_floatv(
'MAT_C_10' ,c10 ,is_available, lsubmodel, unitab)
170 CALL hm_get_floatv(
'MAT_C_01' ,c01 ,is_available, lsubmodel, unitab)
171 CALL hm_get_floatv(
'MAT_C_20' ,c20 ,is_available, lsubmodel, unitab)
172 CALL hm_get_floatv(
'MAT_C_11' ,c11 ,is_available, lsubmodel, unitab)
173 CALL hm_get_floatv(
'MAT_C_02' ,c02 ,is_available, lsubmodel, unitab)
174
175 CALL hm_get_floatv(
'MAT_C_30' ,c30 ,is_available, lsubmodel, unitab)
176 CALL hm_get_floatv(
'MAT_C_21' ,c21 ,is_available, lsubmodel, unitab)
177 CALL hm_get_floatv(
'MAT_C_12' ,c12 ,is_available, lsubmodel, unitab)
178 CALL hm_get_floatv(
'MAT_C_03' ,c03 ,is_available, lsubmodel, unitab)
179
180 CALL hm_get_floatv(
'MAT_D_1' ,d1 ,is_available, lsubmodel, unitab)
181 CALL hm_get_floatv(
'MAT_D_2' ,d2 ,is_available, lsubmodel, unitab)
182 CALL hm_get_floatv(
'MAT_D_3' ,d3 ,is_available, lsubmodel, unitab)
183 nhyper = 12
184
185 ELSEIF (flag_he == 2)THEN
186
187 CALL hm_get_floatv(
'MAT_MUE1' ,mu ,is_available, lsubmodel, unitab)
188 CALL hm_get_floatv(
'MAT_D' ,d ,is_available, lsubmodel, unitab)
189 CALL hm_get_floatv(
'Lambda' ,lm ,is_available, lsubmodel, unitab)
190
191 CALL hm_get_intv (
'Itype' ,itest ,is_available, lsubmodel)
192 CALL hm_get_intv (
'MAT_fct_ID_AB' ,ifunc(1) ,is_available, lsubmodel)
193 CALL hm_get_floatv(
'MAT_NU' ,nu ,is_available, lsubmodel, unitab)
194 CALL hm_get_floatv(
'Fscale_AB' ,scalefac ,is_available, lsubmodel, unitab)
195 IF(scalefac == zero)THEN
197 scalefac = one * fac_unit
198 ENDIF
199 IF(itest == 0) itest = 1
200 nhyper = 11
201 IF(ifunc(1) /= 0) nfunc = 1
202
203 ELSEIF (flag_he == 3)THEN
204
205 CALL hm_get_floatv(
'MAT_C_10' ,c10 ,is_available, lsubmodel, unitab)
206 CALL hm_get_floatv(
'MAT_D_1' ,d1 ,is_available, lsubmodel, unitab)
207 nhyper = 12
208
209 ELSEIF (flag_he == 4)THEN
210
211 CALL hm_get_floatv(
'MAT_C_10' ,c10 ,is_available, lsubmodel, unitab)
212 CALL hm_get_floatv(
'MAT_C_01' ,c01 ,is_available, lsubmodel, unitab)
213 CALL hm_get_floatv(
'MAT_D_1' ,d1 ,is_available, lsubmodel, unitab)
214 nhyper = 12
215
216 ELSEIF (flag_he == 5)THEN
217
218 CALL hm_get_floatv(
'MAT_C_10' ,c10 ,is_available, lsubmodel, unitab)
219 CALL hm_get_floatv(
'MAT_C_20' ,c20 ,is_available, lsubmodel, unitab)
220 CALL hm_get_floatv(
'MAT_C_30' ,c30 ,is_available, lsubmodel, unitab)
221 CALL hm_get_floatv(
'MAT_D_1' ,d1 ,is_available, lsubmodel, unitab)
222 nhyper = 12
223
224 ELSEIF (flag_he == 13)THEN
225
226 CALL hm_get_intv (
'MAT_fct_ID_SM' ,ifunc(1) ,is_available
227 CALL hm_get_intv (
'MAT_fct_ID_BM' ,ifunc(2) ,is_available, lsubmodel)
228 CALL hm_get_floatv(
'MAT_Fscale_SM' ,scale1 ,is_available, lsubmodel, unitab
229 CALL hm_get_floatv(
'MAT_Fscale_BM' ,scale2 ,is_available, lsubmodel, unitab)
230 IF(scale1 == zero)THEN
232 scale1 = one * fac_sm
233 ENDIF
234 IF(scale2 == zero)THEN
236 scale2 = one * fac_bm
237 ENDIF
238 nfunc = 2
239 nhyper = 5
240 nuvar = 2
241 IF(ifunc(1)==0 .OR. ifunc(2)==0) THEN
243 . msgtype=msgerror,
244 . anmode=aninfo_blind_2,
245 . i1
246 . c1=titr)
247 ENDIF
248
249
250 ELSE
252 . msgtype=msgerror,
253 . anmode=aninfo_blind_2,
255 . c1=titr,
256 . i2=flag_he)
257 ENDIF
258
259
260
261
262
263 IF (flag_pl == 1)THEN
264
265 CALL hm_get_floatv(
'MAT_A_pl' ,facpl ,is_available, lsubmodel, unitab)
266 CALL hm_get_floatv(
'MAT_Sigma_pl' ,tauy ,is_available, lsubmodel, unitab)
267 CALL hm_get_floatv(
'MAT_F_pl' ,ff ,is_available, lsubmodel, unitab)
268 CALL hm_get_floatv(
'MAT_Epsilon_F' ,epshat ,is_available, lsubmodel, unitab)
269 CALL hm_get_intv (
'MAT_N_pl' ,exppl ,is_available, lsubmodel)
270
271 IF(exppl == 0) exppl=1
272 IF(facpl == zero) facpl=one
273 IF(epshat == zero) epshat=one
274 IF(ff == zero) ff=one
275 IF(tauy == zero) tauy = one
276
277 ENDIF
278
279
280
281
282
283
284 nuvar = nuvar + 13
285 shift = 0
286 DO net = 1, n_network
287
290
291 IF (flag_visc(net) == 1)THEN
292
293 nvisc(net) = 5
298 CALL HM_GET_FLOAT_ARRAY_INDEX('tau_ref' ,TAUREF(NET) ,NET,IS_AVAILABLE,LSUBMODEL,UNITAB)
299 SHIFT = 9 +2 !SET NUVAR
300 IF(TAUREF(NET) == ZERO) THEN
301 CALL HM_GET_FLOATV_DIM('tau_ref' ,TAUREF_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
302 TAUREF(NET) = ONE * TAUREF_UNIT
303 ENDIF
304
305
306 !-----------------------------
307 ELSEIF (FLAG_VISC(NET) == 2)THEN !hyperbolic sine
308 NVISC(NET) = 3
309 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_arr_a2',A(NET) ,NET,IS_AVAILABLE,LSUBMODEL,UNITAB)
310 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_arr_b' ,B0(NET) ,NET,IS_AVAILABLE,LSUBMODEL,UNITAB)
311 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_arr_n2' ,EXPN(NET) ,NET,IS_AVAILABLE,LSUBMODEL,UNITAB)
312 SHIFT = 9+2 !SET SHIFT FOR NUVAR
313
314 !READ(LINE,ERR=999,FMT=FMT_5F) A(NET),B0(NET),EXPN(NET)
315 ELSEIF (FLAG_VISC(NET) == 3)THEN ! POWER LAW
316 NVISC(NET) = 3
317 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_arr_a3',A(NET) ,NET,IS_AVAILABLE,LSUBMODEL,UNITAB)
318 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_arr_n3' ,EXPN(NET) ,NET,IS_AVAILABLE,LSUBMODEL,UNITAB)
319 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_arr_m3' ,EXPM(NET) ,NET,IS_AVAILABLE,LSUBMODEL,UNITAB)
320 SHIFT = 10 +2!SET NUVAR
321 ELSE
322 CALL ANCMSG(MSGID=1808 ,
323 . MSGTYPE=MSGERROR,
324 . ANMODE=ANINFO_BLIND_2,
325 . I1=ID,
326 . C1=TITR,
327 . I2=N_NETWORK,
328 . I3=NET)
329 ! READ(LINE,ERR=999,FMT=FMT_5F) A(NET),EXPN(NET),EXPM(NET)
330 ENDIF !FLAG_VISC
331 !-----------------------------
332 NUVAR = NUVAR + SHIFT
333
334 ENDDO
335
336 !NUVAR = NUVAR +50 !POUR DEBUG
337
338 SB = ZERO
339 DO NET = 1,N_NETWORK
340 SB = SB + STIFFN(NET) ! check si ca donne un =1
341 ENDDO
342
343 !==============HE========================
344.OR..OR..OR. IF (FLAG_HE == 1 FLAG_HE == 3 FLAG_HE == 4 FLAG_HE == 5 )THEN
345 !--------------------------------------
346 IF(D2 /= ZERO ) D2 = ONE/D2
347 IF(D3 /= ZERO ) D3 = ONE/D3
348 G = TWO * (C10 + C01) *(SB + ONE)
349 IF(D1 /= ZERO) THEN
350 D1 = ONE/D1
351 RBULK= TWO*D1 *(ONE + SB)
352 NU = (THREE*RBULK -TWO*G)/(THREE*RBULK + G)/TWO
353 E = NINE*RBULK*G/(THREE*RBULK + G)
354 ELSE
355 D2 = ZERO
356 D3 = ZERO
357 NU = 0.495
358 RBULK = TWO_THIRD*G*(ONE + NU)/(ONE-TWO*NU)
359 D1 = RBULK / TWO ! 1/D1 A VOIR SI ON SUPRIME PAS LE TERME AVEC J
360 E = TWO*G*(ONE + NU)
361 ENDIF
362 !==============HE========================
363 ELSEIF (FLAG_HE == 2)THEN
364 !--------------------------------------
365 C1 = HALF
366 C2 = ONE/TWENTY
367 C3 = ELEVEN/1050.
368 C4 = 19.D00/7000.
369 C5 = 519.D00/673750.
370 IF(D == ZERO ) D = EM20
371 IF(LM == ZERO) LM = SEVEN
372 BETA = ONE/LM/LM
373 G = MU*(ONE + THREE*BETA /FIVE + EIGHTY19*BETA*BETA/175.
374 . + 513.*BETA**3/875. + 42039.*BETA**4/67375.)*(SB + ONE)
375 RBULK = TWO *(ONE + SB) /D
376 E = NINE*RBULK*G/(THREE*RBULK + G)
377 IF(IFUNC(1) == 0)THEN
378 NU = (THREE*RBULK -TWO*G)/(THREE*RBULK + G)/TWO
379 ELSE !(IFUNC(1) /= 0) THEN
380 NFUNC = 1
381 IF (NU == ZERO) NU= 0.495
382 ENDIF
383 ENDIF ! FLAG_HE
384
385
386
387
388 UPARAM(1) = N_NETWORK
389 UPARAM(2) = FLAG_HE
390 !UPARAM(3) = FLAG_MUL treated in updmat =1 if /fail/mullins exist
391 UPARAM(4) = SB
392 UPARAM(5) = FLAG_PL
393 !PRINSIPAL NETWORK
394 NMUL = 0
395 NTEMP = 0
396 NPLAS = 0
397 UPARAM(6) = NMUL
398 UPARAM(7) = NTEMP
399 UPARAM(8) = NPLAS
400 TAB = 8 !USED IN UPDMAT AND ENGINE
401.OR..OR..OR. IF (FLAG_HE == 1 FLAG_HE == 3 FLAG_HE == 4 FLAG_HE == 5 ) THEN
402 UPARAM(TAB + 1) = C10
403 UPARAM(TAB + 2) = C01
404 UPARAM(TAB + 3) = C20
405 UPARAM(TAB + 4) = C11
406 UPARAM(TAB + 5) = C02
407 UPARAM(TAB + 6) = C30
408 UPARAM(TAB + 7) = C21
409 UPARAM(TAB + 8) = C12
410 UPARAM(TAB + 9) = C03
411 UPARAM(TAB + 10) = D1
412 UPARAM(TAB + 11) = D2
413 UPARAM(TAB + 12) = D3
414 TAB = TAB + NHYPER
415 ELSEIF (FLAG_HE == 2) THEN
416 UPARAM(TAB + 1) = C1
417 UPARAM(TAB + 2) = C2
418 UPARAM(TAB + 3) = C3
419 UPARAM(TAB + 4) = C4
420 UPARAM(TAB + 5) = C5
421 UPARAM(TAB + 6) = MU
422 UPARAM(TAB + 7) = ONE/D
423 UPARAM(TAB + 8) = BETA
424 UPARAM(TAB + 9) = ITEST
425 UPARAM(TAB +10) = NU
426 UPARAM(TAB +11) = SCALEFAC
427 TAB = TAB + NHYPER
428 ELSEIF (FLAG_HE == 13)THEN !neo-hook with temperature
429 UPARAM(TAB + 1) = SCALE1
430 UPARAM(TAB + 2) = SCALE2
431 UPARAM(TAB + 3) = NFUNC
432 !UPARAM(TAB+4) AND UPARAM(TAB+5) CALCULE DANS UPDMAT
433 TAB = TAB + NHYPER
434 ENDIF
435 !NETWORK
436
437 !POUR FUTUR STOCKAGE PARAMETRE MULINS THERMIQUE PLASTIQUE
438 IF (FLAG_PL == 1) THEN
439 NPLAS = 5
440 UPARAM(TAB + 1) = FF
441 UPARAM(TAB + 2) = EPSHAT
442 UPARAM(TAB + 3) = TAUY
443 UPARAM(TAB + 4) = EXPPL
444 UPARAM(TAB + 5) = FACPL
445 ENDIF
446
447 TAB = TAB + NPLAS
448
449 DO N = 1, N_NETWORK
450 UPARAM(TAB + 1) = STIFFN(N)
451 UPARAM(TAB + 2) = FLAG_VISC(N)
452 UPARAM(TAB + 3) = NVISC(N)
453 IF (FLAG_VISC(N) == 1)THEN
454 IF(EXPM(N) == ZERO)EXPM(N) = ONE
455 IF(EXPC(N) == ZERO)EXPC(N) = -0.700000000
456 IF(KSI(N) == ZERO)KSI(N) = EM02
457 UPARAM(TAB + 4) = A(N)
458 UPARAM(TAB + 5) = EXPC(N)
459 UPARAM(TAB + 6) = EXPM(N)
460 UPARAM(TAB + 7) = KSI(N)
461 UPARAM(TAB + 8) = TAUREF(N)
462 TAB = TAB + 3 + NVISC(N)
463
464 ELSEIF (FLAG_VISC(N) == 2)THEN !hperbolic sine
465 UPARAM(TAB + 4) = A(N)
466 UPARAM(TAB + 5) = B0(N)
467 UPARAM(TAB + 6) = EXPN(N)
468 TAB = TAB + 3 + NVISC(N)
469 ELSEIF (FLAG_VISC(N) == 3)THEN !power law
470 UPARAM(TAB + 4) = A(N)
471 UPARAM(TAB + 5) = EXPN(N)
472 UPARAM(TAB + 6) = EXPM(N)
473 TAB = TAB + 3 + NVISC(N)
474 ENDIF
475 ENDDO
476 IF (FLAG_HE /= 13)THEN
477 UPARAM(TAB + 1) = G
478 UPARAM(TAB + 2) = RBULK
479 PARMAT(1) = RBULK
480 PARMAT(2) = E
481 PARMAT(3) = NU
482 ENDIF
483 NUPARAM = TAB + 2
484 MFUNC = NFUNC
485
486 PM(89) = RHO0
487 PM(100) = RBULK
488
489 CALL INIT_MAT_KEYWORD(MATPARAM,"INCOMPRESSIBLE")
490 CALL INIT_MAT_KEYWORD(MATPARAM,"TOTAL")
491 CALL INIT_MAT_KEYWORD(MATPARAM,"HOOK")
492 ! Properties compatibility
493 CALL INIT_MAT_KEYWORD(MATPARAM,"SOLID_ISOTROPIC")
494
495
496
497 WRITE(IOUT,1001) TRIM(TITR),ID,100
498 WRITE(IOUT,1000)
499 IF (IS_ENCRYPTED)THEN
500 WRITE(IOUT,'(5x,a,//)')'confidential data'
501 ELSE
502 WRITE(IOUT,1002)RHO0
503 WRITE(IOUT,900)N_NETWORK, FLAG_HE,FLAG_PL
504 IF (FLAG_HE == 1) THEN
505 WRITE(IOUT,1100)C10,C01,C20,C11,C02,
506 . C30, C21,C12,C03,D1,D2,D3
507
508 ELSEIF (FLAG_HE == 2) THEN
509 WRITE(IOUT,2000)MU,D, LM
510 IF(IFUNC(1) > 0) THEN
511 IF(ITEST == 1) THEN
512 WRITE(IOUT,2200)IFUNC(1),SCALEFAC, NU
513 ELSEIF(ITEST == 2) THEN
514 WRITE(IOUT,2300)IFUNC(1),SCALEFAC, NU
515 ELSEIF(ITEST == 3) THEN
516 WRITE(IOUT,2400)IFUNC(1),SCALEFAC, NU
517 ENDIF
518 ENDIF
519 ELSEIF (FLAG_HE == 3) THEN
520 WRITE(IOUT,2001)C10,D1
521 ELSEIF (FLAG_HE == 4) THEN
522 WRITE(IOUT,2002)C10,C01,D1
523 ELSEIF (FLAG_HE == 5) THEN
524 WRITE(IOUT,2003)C10,C20,C30,D1
525 ELSEIF (FLAG_HE == 13) THEN
526 WRITE(IOUT,2005)IFUNC(1),IFUNC(2),SCALE1,SCALE2
527 ENDIF
528 IF (FLAG_PL == 1) THEN
529 WRITE(IOUT,2004) FACPL , TAUY, EXPPL,FF,EPSHAT
530 ENDIF
531 DO N = 1, N_NETWORK
532 WRITE(IOUT,1150)N
533 IF (FLAG_VISC(N) == 1)THEN
534 WRITE(IOUT,1300)STIFFN(N),A(N),EXPC(N),EXPM(N),KSI(N) , TAUREF(N)
535 ELSEIF (FLAG_VISC(N) == 2)THEN !hperbolic sine
536 WRITE(IOUT,1400)STIFFN(N),A(N),B0(N),EXPN(N)
537 ELSEIF (FLAG_VISC(N) == 3)THEN !power law
538 WRITE(IOUT,1500)STIFFN(N),A(N),EXPN(N),EXPM(N)
539 ENDIF
540
541 ENDDO
542 IF (FLAG_HE /= 13)THEN
543 WRITE(IOUT,1200)G,RBULK, NU
544 endif
545 ENDIF
546
547 1000 FORMAT(
548 & 5X,' parallel rheological framework : ',/,
549 & 5X,' -------------------------------- ',/)
550 1001 FORMAT(/
551 & 5X,A,/,
552 & 5X,'material number. . . . . . . . . . . . . =',I10/,
553 & 5X,'material law . . . . . . . . . . . . . . =',I10/)
554 1002 FORMAT(
555 & 5X,'initial density . . . . . . . . . . . . .=',1PG20.13/)
556 900 FORMAT(
557 & 5X,'number of secondary networks . . . . . .= ',I10/
558 & 5X,'flag
for hyperelastic law. . . . . . . .=
',I10/
559 & 5X,'flag
for plasticity. . . . . . . . . . .= ',i10)
560 1100 FORMAT(
561 & 5x,'HYPERELASTIC MODEL = PPOLYNOMIAL ',/,
562 & 5x,'C10 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
563 & 5x,'C01 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
564 & 5x,'C20 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
565 & 5x,'C11 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
566 & 5x,'C02 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
567 & 5x,'C30 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
568 & 5x,'C21 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
569 & 5x,'C12 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
570 & 5x,'C03 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
571 & 5x,'1/D1 . . . . . . . . . . . . . . . . . .=',1pg20.13/
572 & 5x,'1/D2 . . . . . . . . . . . . . . . . . .=',1pg20.13/
573 & 5x,'1/D3 . . . . . . . . . . . . . . . . . .=',1pg20.13/)
574 2000 FORMAT(
575 & 5x,'HYPERELASTIC MODEL = ARRUDA-BOYCE ',/,
576 & 5x,'MATERIAL CONSTANT MU . . . . . . . . . .=',1pg20.13/
577 & 5x,'VOLUMETRIC MATERIAL PARAMETER. . . . . .=',1pg20.13/
578 & 5x,'LOCKING STRETCH. . . . . . . . . . . . .=',1pg20.13//)
579 2200 FORMAT(
580 & 5x,'UNIAXIAL DATA TEST CURVE . . . . . . .=',i10/
581 & 5x,'SCALE FACTOR FOR STRESS IN FUNCTION. . .=',1pg20.13/
582 & 5x,'POISSON RATIO. . . . . . . . . . . . . .=',1pg20.13//)
583 2300 FORMAT(
584 & 5x,'EQUIBIAXIAL DATA TEST CURVE. . . . . . .=',i10/
585 & 5x,'SCALE FACTOR FOR STRESS IN FUNCTION. . .=',1pg20.13/
586 & 5x,'POISSON RATIO. . . . . . . . . . . . . .=',1pg20.13//)
587 2400 FORMAT(
588 & 5x,'PLANAR DATA TEST CURVE . . . . . . . .=',i10/
589 & 5x,'SCALE FACTOR FOR STRESS IN FUNCTION. . .=',1pg20.13/
590 & 5x,'POISSON RATIO. . . . . . . . . . . . . .=',1pg20.13//)
591 2001 FORMAT(
592 & 5x,'HYPERELASTIC MODEL = NEO-HOOKEAN ',/,
593 & 5x,'C10 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
594 & 5x,'1/D1 . . . . . . . . . . . . . . . . . .=',1pg20.13//)
595 2002 FORMAT(
596 & 5x,'HYPERELASTIC MODEL = MOONEY-RIVLIN ',/,
597 & 5x,'C10 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
598 & 5x,'C01 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
599 & 5x,'1/D1 . . . . . . . . . . . . . . . . . .=',1pg20.13//)
600 2003 FORMAT(
601 & 5x,'HYPERELASTIC MODEL = YEOH ',/,
602 & 5x,'C10 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
603 & 5x,'C20 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
604 & 5x,'C30 . . . . . . . . . . . . . . . . . . .=',1pg20.13/
605 & 5x,'1/D1 . . . . . . . . . . . . . . . . . .=',1pg20.13//)
606 2005 FORMAT(
607 & 5x,'HYPERELASTIC MODEL = TEMPERATURE DEPENDENT NEO HOOK',/,
608 & 5x,'FUNCTION ID FOR MU. . . . . . . . . . . .=',i10/
609 & 5x,'FUNCTION ID FOR D . . . . . . . . . . . .=',i10/
610 & 5x,'SCALE FACTOR FOR FUNCTION 1 . . . . . . .=',1pg20.13/
611 & 5x,'SCALE FACTOR FOR FUNCTION 2 . . . . . . .=',1pg20.13//)
612
613 2004 FORMAT(
614 & 5x,'PLASTICITY PARAMETERS IN EQUILIBRIUM NETWORK',/,
615 & 5x,'A FACTOR. . . . . . . . . . . . . . . . .=',1pg20.13/
616 & 5x,'FLOW RESISTANCE . . . . . . . . . . . . .=',1pg20.13/
617 & 5x,'EXPONENT FOR FLOW RATE. . . . . . . . . .=',i10/
618 & 5x,'FINAL FLOW RESISTANCE . . . . . . . . . .=',1pg20.13/
619 & 5x,'CHARACTERISTIC STRAIN . . . . . . . . . .=',1pg20.13//)
620 1150 FORMAT(
621 & 5x,'PARAMETERS FOR VISCOUS MODEL FOR NETWORK : ',i10)
622 1300 FORMAT(
623 & 5x,'BERGSTROM BOYCE VISCOUS MODEL ',/,
624 & 5x,'STIFFNESS SCALING COEFFICIENT. . . . . . =',1pg20.13/
625 & 5x,'A. . . . . . . . . . . . . . . . . . . . =',1pg20.13/
626 & 5x,'EXPONENT C . . . . . . . . . . . . . . . =',1pg20.13/
627 & 5x,'EXPONENT M . . . . . . . . . . . . . . . =',1pg20.13/
628 & 5x,'KSI. . . . . . . . . . . . . . . . . . . =',1pg20.13/
629 & 5x,'REFERENCE STRESS . . . . . . . . . . . . =',1pg20.13)
630 1400 FORMAT(
631 & 5x,'HYPERBOLIC SINE VISCOUS MODEL ',/,
632 & 5x,'STIFFNESS SCALING COEFFICIENT. . . . . . =',1pg20.13/
633 & 5x,'A. . . . . . . . . . . . . . . . . . . . =',1pg20.13/
634 & 5x,'COEFFICIENT B0 . . . . . . . . . . . . . =',1pg20.13/
635 & 5x,'EXPONENT N . . . . . . . . . . . . . . . =',1pg20.13/)
636 1500 FORMAT(
637 & 5x,'POWER LAW VISCOUS MODEL ',/,
638 & 5x,'STIFFNESS SCALING COEFFICIENT. . . . . . =',1pg20.13/
639 & 5x,'A. . . . . . . . . . . . . . . . . . . . =',1pg20.13/
640 & 5x,'EXPONENT N . . . . . . . . . . . . . . . =',1pg20.13/
641 & 5x,'EXPONENT M . . . . . . . . . . . . . . . =',1pg20.13/)
642 1200 FORMAT(
643 & 5x,'INITIAL SHEAR MODULUS . . . . . . . . . =',1pg20.13/
644 & 5x,'INITIAL BULK MODULUS. . . . . . . . . . =',1pg20.13/
645 & 5x,'POISSON RATIO . . . . . . . . . . . . . =',1pg20.13//)
646
647 RETURN
subroutine hm_get_float_array_index(name, rval, index, is_available, lsubmodel, unitab)
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_int_array_index(name, ival, index, is_available, lsubmodel)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_is_encrypted(is_encrypted)
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)