42
43
44
49 USE matparam_def_mod
51
52
53
54#include "implicit_f.inc"
55
56
57
58#include "units_c.inc"
59#include "param_c.inc"
60
61
62
63 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
64 INTEGER, INTENT(IN) :: MAT_ID,MAXUPARAM,MAXFUNC
65 my_real,
DIMENSION(NPROPM) ,
INTENT(INOUT) :: pm
66 CHARACTER(LEN=NCHARTITLE) ,INTENT(IN) :: TITR
67 INTEGER, INTENT(INOUT) :: ISRATE,IFUNC(MAXFUNC)
68 INTEGER, INTENT(INOUT) :: NUPARAM,NFUNC
69 my_real,
DIMENSION(MAXUPARAM) ,
INTENT(INOUT) :: uparam
70 my_real,
DIMENSION(100),
INTENT(INOUT) :: parmat
71 TYPE(SUBMODEL_DATA), DIMENSION(*),INTENT(IN) :: LSUBMODEL
72 TYPE(MLAW_TAG_), INTENT(INOUT) :: MTAG
73 TYPE(MATPARAM_STRUCT_) ,INTENT(INOUT) :: MATPARAM
74
75
76
77
78 INTEGER J, IFUNC1, IFUNC2,IFUNC3, IECROU, IFUNC4, IG,
79 . IFAIL,ILENG,IFAIL2,FLGCHK,ILAW,
80 . I1,I2,I3,I4,I5,I6,I7,,I9,I10,I11,I12,I13,I14,
81 . IF1,IF2,IF3,IF4,IF5,IFUNC5,SIZ_ARRAY_COMP
82
84 . a, b, d, e, f, xk, xc, dn, dx, fwv, lscale,
85 . pun,vt0, vr0, cc(6), cn(6), xa(6), xb(6),asrate,gf3,
86 . check(13,6),rho0,a_unit,e_unit,d_unit,
87 . l_unit,gf_unit,f_unit
88 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
89
90 is_encrypted = .false.
91 is_available = .false.
92 ilaw = 113
93 pun = em01
94 fwv = zero
95 israte = 0
96 asrate = zero
97 cc(1:6) = zero
98 flgchk = 0
99 siz_array_comp = 0
100
102
103
104
105
106
107
108 WRITE(iout,1100) trim(titr),mat_id,ilaw
109 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
110 WRITE(iout,1300) rho0
111 pm(1) = rho0
112 pm(89) = rho0
113
114
115
116
117 ifail2 = 0
118 CALL hm_get_intv (
'Ifail' ,ifail ,is_available, lsubmodel)
119 CALL hm_get_intv (
'Ileng' ,ileng ,is_available, lsubmodel)
120 CALL hm_get_intv (
'Ifail2' ,ifail2 ,is_available, lsubmodel)
121
122 IF (ifail2 /= 1 .AND. ifail2 /= 2 .AND. ifail2 /= 3) ifail2 = 0
123 uparam(1)=ifail
124 uparam(2)=ileng
125 uparam(3)=ifail2
126 nuparam = 4
127
128 IF (is_encrypted) THEN
129 WRITE(iout,1000)mat_id
130 ELSE
131 WRITE(iout,1801)mat_id,ifail,ifail2,ileng
132 ENDIF
133
134
135
136
137
138
139
140 CALL hm_get_floatv(
'STIFF1' ,xk ,is_available, lsubmodel, unitab)
141 CALL hm_get_floatv(
'DAMP1' ,xc ,is_available, lsubmodel, unitab)
142 CALL hm_get_floatv(
'Acoeft1' ,a ,is_available, lsubmodel, unitab)
143 CALL hm_get_floatv(
'Bcoeft1' ,b ,is_available, lsubmodel, unitab)
144 CALL hm_get_floatv(
'Dcoeft1' ,d ,is_available, lsubmodel, unitab)
145 CALL hm_get_intv (
'FUN_A1' ,ifunc1 ,is_available, lsubmodel)
146 CALL hm_get_intv (
'HFLAG1' ,iecrou ,is_available, lsubmodel)
147 CALL hm_get_intv (
'FUN_B1' ,ifunc2 ,is_available, lsubmodel)
149 CALL hm_get_intv (
'FUN_D1' ,ifunc4 ,is_available, lsubmodel)
150 CALL hm_get_floatv(
'MIN_RUP1' ,dn ,is_available, lsubmodel, unitab)
151 CALL hm_get_floatv(
'MAX_RUP1' ,dx ,is_available, lsubmodel, unitab)
152 CALL hm_get_floatv(
'Prop_X_F' ,f ,is_available, lsubmodel, unitab)
153 CALL hm_get_floatv(
'Prop_X_E' ,e ,is_available, lsubmodel, unitab)
154 CALL hm_get_floatv(
'scale1' ,lscale ,is_available, lsubmodel, unitab)
155 CALL hm_get_floatv(
'Prop_X_H' ,gf3 ,is_available, lsubmodel, unitab)
156 CALL hm_get_intv (
'FUN_K1' ,ifunc5 ,is_available, lsubmodel)
157 IF (iecrou == 4 .AND. (ifunc1 == 0 .OR. ifunc3 == 0)) THEN
159 . msgtype=msgerror,
160 . anmode=aninfo_blind_1,
161 . i1=ig,
162 . c1=titr)
163 ENDIF
164 IF (iecrou == 4 ) THEN
166 . msgtype=msgerror,
167 . anmode=aninfo_blind_1,
168 . i1=ig,
169 . c1=titr)
170 ENDIF
171 IF (iecrou == 5. and. (ifunc1 == 0 .OR. ifunc3 == 0)) THEN
173 . msgtype=msgerror,
174 . anmode=aninfo_blind_1,
175 . i1=ig,
176 . c1=titr)
177 ENDIF
178 IF (((iecrou==6).OR.(iecrou==9)) .AND. (ifunc1 == 0 .OR. ifunc3 == 0)) THEN
180 . msgtype=msgerror,
181 . anmode=aninfo_blind_1,
182 . i1=ig,
183 . c1=titr)
184 ENDIF
185 IF (iecrou == 7 .AND. ifunc1 == 0) THEN
187 . msgtype=msgerror,
188 . anmode=aninfo_blind_1,
189 . i1=ig,
190 . c1=titr)
191 ELSEIF (iecrou == 7 .AND. ifunc3 == 0) THEN
193 . msgtype=msgwarning,
194 . anmode=aninfo_blind_1,
195 . i1=ig,
196 . c1=titr,
197 . i2=iecrou)
198 iecrou = 2
199 ENDIF
200 IF (ifunc1 == 0 .AND. a /= zero .AND. a /= one) THEN
202 . msgtype=msgwarning,
203 . anmode=aninfo_blind_1,
204 . i1=ig,
205 . c1=titr)
206 ENDIF
207
208 IF (dn == zero) dn =-infinity
209 IF (dx == zero) dx = infinity
210 IF (a == zero) THEN
212 a = one * a_unit
213 ENDIF
214 IF (d == zero) THEN
216 d = one * d_unit
217 ENDIF
218 IF (e == zero) THEN
220 e = one * e_unit
221 ENDIF
222 IF (f == zero) THEN
224 f = one * f_unit
225 ENDIF
226 IF (lscale == zero) THEN
228 lscale = one*l_unit
229 ENDIF
230 IF (gf3 == zero) THEN
232 gf3 = one*gf_unit
233 ENDIF
234 IF (ifunc1 == 0) THEN
235 a = one
236 b = zero
237 e = zero
238 ENDIF
239
240 i1 = nuparam
241 i2 = i1 + 6
242 i3 = i2 + 6
243 i4 = i3 + 6
244 i5 = i4 + 6
245 i6 = i5 + 6
246 i7 = i6 + 6
247 i8 = i7 + 6
248 i9 = i8 + 6
249 i10 = i9 + 6
250 i11 = i10 + 6
251 i12 = i11 + 6
252 i13 = i12 + 6
253
254 uparam(i1 + 1) = a
255 uparam(i2 + 1) = b
256 uparam(i3 + 1) = d
257 uparam(i4 + 1) = e
258 uparam(i5 + 1) = gf3
259 uparam(i6 + 1) = one / f
260 uparam(i7 + 1) = one / lscale
261 uparam(i8 + 1) = dn
262 uparam(i9 + 1) = dx
263 uparam(i10 + 1) = fwv
264 uparam(i11 + 1) = xk
265 uparam(i12 + 1) = xc
266 uparam(i13 + 1) = iecrou+pun
267
268
269 pm(191) = xk
270
271 check(1,1) = a
272 check(2,1) = b
273 check(3,1) = d
274 check(4,1) = e
275 check(5,1) = gf3
276 check(6,1) = one / f
277 check(7,1) = one / lscale
278 check(8,1) = dn
279 check(9,1) = dx
280 check(10,1) = fwv
281 check(11,1) = xk
282 check(12,1) = xc
283 check(13,1) = iecrou+pun
284
285
286 IF ((iecrou==6).OR.(iecrou==9)) THEN
287 uparam(4) = 6
288 ENDIF
289 IF (iecrou==9) siz_array_comp = 6
290
291 if1 = 0
292 if2 = 6
293 if3 = 12
294 if4 = 18
295 if5 = 24
296
297 ifunc(1) = ifunc1
298 ifunc(if2 + 1) = ifunc2
299 ifunc(if3 + 1) = ifunc3
300 ifunc(if4 + 1) = ifunc4
301 ifunc(if5 + 1) = ifunc5
302 nfunc = 5
303
304 IF (is_encrypted) THEN
305 WRITE(iout,'(5X,A,//)')'CONFIDENTIAL DATA'
306 ELSE
307 IF (iecrou /= 5) THEN
308 IF (ifail2 == 3) THEN
309 WRITE(iout,1813)'TENSION',xk,xc,ifunc1,lscale,ifunc3,f,iecrou,
310 . a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dx
311 ELSEIF (ifail2 == 2) THEN
312 WRITE(iout,1812)'TENSION',xk,xc,ifunc1,lscale,ifunc3,f,iecrou,
313 . a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dn,dx
314 ELSE
315 WRITE(iout,1810)'TENSION',xk,xc,ifunc1,lscale,ifunc3,f,iecrou,
316 . a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dn,dx
317 ENDIF ! IF (ifail2 == 3)
318 ELSE
319 IF (ifail2 == 3) THEN
320 WRITE(iout,1823)'TENSION',xk,xc,ifunc,lscale,ifunc2,f,iecrou,
321 . a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dx
322 ELSEIF (ifail2 == 2) THEN
323 WRITE(iout,1822)'TENSION',xk,xc,ifunc1,lscale,ifunc3,f,iecrou,
324 . a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dn,dx
325 ELSE
326 WRITE(iout,1820)'TENSION',xk,xc,ifunc1,lscale,ifunc3,f,iecrou,
327 . a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dn,dx
328 ENDIF
329 ENDIF
330 ENDIF
331
332
333
334
335
336 CALL hm_get_floatv(
'STIFF2' ,xk ,is_available, lsubmodel, unitab)
337 CALL hm_get_floatv(
'DAMP2' ,xc ,is_available, lsubmodel, unitab)
338 CALL hm_get_floatv(
'Acoeft2' ,a ,is_available, lsubmodel, unitab)
339 CALL hm_get_floatv(
'Bcoeft2' ,b ,is_available, lsubmodel, unitab)
340 CALL hm_get_floatv(
'Dcoeft2' ,d ,is_available, lsubmodel, unitab)
341 CALL hm_get_intv (
'FUN_A2' ,ifunc1 ,is_available, lsubmodel)
342 CALL hm_get_intv (
'HFLAG2' ,iecrou ,is_available, lsubmodel)
343 CALL hm_get_intv (
'FUN_B2' ,ifunc2 ,is_available, lsubmodel)
344 CALL hm_get_intv (
'FUN_C2' ,ifunc3 ,is_available, lsubmodel)
345 CALL hm_get_intv (
'FUN_D2' ,ifunc4 ,is_available, lsubmodel)
346 CALL hm_get_floatv(
'MIN_RUP2' ,dn ,is_available, lsubmodel, unitab)
347 CALL hm_get_floatv(
'MAX_RUP2' ,dx ,is_available, lsubmodel, unitab)
348 CALL hm_get_floatv('prop_y_f
' ,F ,IS_AVAILABLE, LSUBMODEL, UNITAB)
349 CALL HM_GET_FLOATV('prop_y_e' ,E ,IS_AVAILABLE, LSUBMODEL, UNITAB)
350 CALL HM_GET_FLOATV('scale2' ,LSCALE ,IS_AVAILABLE, LSUBMODEL, UNITAB)
351 CALL HM_GET_FLOATV('prop_y_h' ,GF3 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
352 CALL HM_GET_INTV ('fun_k2' ,IFUNC5 ,IS_AVAILABLE, LSUBMODEL)
353
354.AND..OR. IF (IECROU == 4 (IFUNC1 == 0 IFUNC3 == 0)) THEN
355 CALL ANCMSG(MSGID=231,
356 . MSGTYPE=MSGERROR,
357 . ANMODE=ANINFO_BLIND_1,
358 . I1=IG,
359 . C1=TITR)
360 ENDIF
361.AND.!! IF (IECROU == 4 GEO(2) == ZERO)THEN
362 IF (IECROU == 4 )THEN
363 CALL ANCMSG(MSGID=230,
364 . MSGTYPE=MSGERROR,
365 . ANMODE=ANINFO_BLIND_1,
366 . I1=IG,
367 . C1=TITR)
368 ENDIF
369.AND..OR. IF (IECROU == 5 (IFUNC1 == 0 IFUNC3 == 0)) THEN
370 CALL ANCMSG(MSGID=231,
371 . MSGTYPE=MSGERROR,
372 . ANMODE=ANINFO_BLIND_1,
373 . I1=IG,
374 . C1=TITR)
375 ENDIF
376.OR..AND..OR. IF (((IECROU==6)(IECROU==9)) (IFUNC1 == 0 IFUNC3 == 0)) THEN
377 CALL ANCMSG(MSGID=1057,
378 . MSGTYPE=MSGERROR,
379 . ANMODE=ANINFO_BLIND_1,
380 . I1=IG,
381 . C1=TITR)
382 ENDIF
383.AND. IF (IECROU == 7 IFUNC1 == 0) THEN
384 CALL ANCMSG(MSGID=1058,
385 . MSGTYPE=MSGERROR,
386 . ANMODE=ANINFO_BLIND_1,
387 . I1=IG,
388 . C1=TITR)
389.AND. ELSEIF (IECROU == 7 IFUNC3 == 0) THEN
390 CALL ANCMSG(MSGID=1059,
391 . MSGTYPE=MSGWARNING,
392 . ANMODE=ANINFO_BLIND_1,
393 . I1=IG,
394 . C1=TITR,
395 . I2=IECROU)
396 IECROU = 2
397 ENDIF
398.AND..AND. IF (IFUNC1 == 0 A /= ZERO A /= ONE) THEN
399 CALL ANCMSG(MSGID=663,
400 . MSGTYPE=MSGWARNING,
401 . ANMODE=ANINFO_BLIND_1,
402 . I1=IG,
403 . C1=TITR)
404 ENDIF
405
406 IF (DN == ZERO) DN =-INFINITY
407 IF (DX == ZERO) DX = INFINITY
408 IF (A == ZERO) THEN
409 CALL HM_GET_FLOATV_DIM('acoeft2' ,A_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
410 A = ONE * A_UNIT
411 ENDIF
412 IF (D == ZERO) THEN
413 CALL HM_GET_FLOATV_DIM('dcoeft2' ,D_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
414 D = ONE * D_UNIT
415 ENDIF
416 IF (E == ZERO) THEN
417 CALL HM_GET_FLOATV_DIM('prop_y_e',E_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
418 E = ONE * E_UNIT
419 ENDIF
420 IF (F == ZERO) THEN
421 CALL HM_GET_FLOATV_DIM('prop_y_f',F_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
422 F = ONE * F_UNIT
423 ENDIF
424 IF (LSCALE == ZERO) THEN
425 CALL HM_GET_FLOATV_DIM('scale2',L_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
426 LSCALE = ONE*L_UNIT
427 ENDIF
428 IF (GF3 == ZERO) THEN
429 CALL HM_GET_FLOATV_DIM('prop_y_h',GF_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
430 GF3 = ONE*GF_UNIT
431 ENDIF
432 IF (IFUNC1 == 0) THEN
433 A = ONE
434 B = ZERO
435 E = ZERO
436 ENDIF
437
438 UPARAM(I1 + 2) = A !
439 UPARAM(I2 + 2) = B
440 UPARAM(I3 + 2) = D
441 UPARAM(I4 + 2) = E
442 UPARAM(I5 + 2) = GF3
443 UPARAM(I6 + 2) = ONE / F
444 UPARAM(I7 + 2) = ONE / LSCALE
445 UPARAM(I8 + 2) = DN
446 UPARAM(I9 + 2) = DX
447 UPARAM(I10 + 2) = FWV
448 UPARAM(I11 + 2) = XK
449 UPARAM(I12 + 2) = XC
450 UPARAM(I13 + 2) = IECROU+PUN
451
452
453 PM(192) = XK
454 !!
455 CHECK(1,2) = A ! nupa=4
456 CHECK(2,2) = B
457 CHECK(3,2) = D
458 CHECK(4,2) = E
459 CHECK(5,2) = GF3
460 CHECK(6,2) = ONE / F
461 CHECK(7,2) = ONE / LSCALE
462 CHECK(8,2) = DN
463 CHECK(9,2) = DX
464 CHECK(10,2) = FWV
465 CHECK(11,2) = XK
466 CHECK(12,2) = XC
467 CHECK(13,2) = IECROU+PUN
468
469.OR. IF ((IECROU==6)(IECROU==9)) THEN
470 UPARAM(4) = 6
471 ENDIF
472 IF (IECROU==9) SIZ_ARRAY_COMP = 6
473
474 IFUNC(2) = IFUNC1
475 IFUNC(IF2 + 2) = IFUNC2
476 IFUNC(IF3 + 2) = IFUNC3
477 IFUNC(IF4 + 2) = IFUNC4
478 IFUNC(IF5 + 2) = IFUNC5
479 NFUNC = NFUNC + 5
480
481 IF (IS_ENCRYPTED) THEN
482 WRITE(IOUT,'(5x,a,//)')'confidential data'
483 ELSE
484 IF (IECROU /= 5) THEN
485 IF (IFAIL2 == 3) THEN
486 WRITE(IOUT,1813)'y shear',XK,XC,IFUNC1,LSCALE,IFUNC3,F,IECROU,
487 . A,B,D,E,GF3,IFUNC2,IFUNC4,IFUNC5,DX
488 ELSEIF (IFAIL2 == 2) THEN
489 WRITE(IOUT,1812)'y shear',XK,XC,IFUNC1,LSCALE,IFUNC3,F,IECROU,
490 . A,B,D,E,GF3,IFUNC2,IFUNC4,IFUNC5,DN,DX
491 ELSE
492 WRITE(IOUT,1810)'y shear',XK,XC,IFUNC1,LSCALE,IFUNC3,F,IECROU,
493 . A,B,D,E,GF3,IFUNC2,IFUNC4,IFUNC5,DN,DX
494 ENDIF ! IF (IFAIL2 == 3)
495 ELSE
496 IF (IFAIL2 == 3) THEN
497 WRITE(IOUT,1823)'y shear',XK,XC,IFUNC1,LSCALE,IFUNC3,F,IECROU,
498 . A,B,D,E,GF3,IFUNC2,IFUNC4,IFUNC5,DX
499 ELSEIF (IFAIL2 == 2) THEN
500 WRITE(IOUT,1822)'y shear',XK,XC,IFUNC1,LSCALE,IFUNC3,F,IECROU,
501 . A,B,D,E,GF3,IFUNC2,IFUNC4,IFUNC5,DN,DX
502 ELSE
503 WRITE(IOUT,1820)'y shear',XK,XC,IFUNC1,LSCALE,IFUNC3,F,IECROU,
504 . A,B,D,E,GF3,IFUNC2,IFUNC4,IFUNC5,DN,DX
505 ENDIF ! IF (IFAIL2 == 3)
506 ENDIF ! IF (IECROU /= 5)
507 ENDIF ! IF (IS_ENCRYPTED)
508
509!-----------------
510 ! Shear XZ
511!-----------------
512
513 CALL HM_GET_FLOATV('stiff3' ,XK ,IS_AVAILABLE, LSUBMODEL, UNITAB)
514 CALL HM_GET_FLOATV('damp3' ,XC ,IS_AVAILABLE, LSUBMODEL, UNITAB)
515 CALL HM_GET_FLOATV('acoeft3' ,A ,IS_AVAILABLE, LSUBMODEL, UNITAB)
516 CALL HM_GET_FLOATV('bcoeft3' ,B ,IS_AVAILABLE, LSUBMODEL, UNITAB)
517 CALL HM_GET_FLOATV('dcoeft3' ,D ,IS_AVAILABLE, LSUBMODEL, UNITAB)
518 CALL HM_GET_INTV ('fun_a3' ,IFUNC1 ,IS_AVAILABLE, LSUBMODEL)
519 CALL HM_GET_INTV ('hflag3' ,IECROU ,IS_AVAILABLE, LSUBMODEL)
520 CALL HM_GET_INTV ('fun_b3' ,IFUNC2 ,IS_AVAILABLE, LSUBMODEL)
521 CALL HM_GET_INTV ('fun_c3' ,IFUNC3 ,IS_AVAILABLE, LSUBMODEL)
522 CALL HM_GET_INTV ('fun_d3' ,IFUNC4 ,IS_AVAILABLE, LSUBMODEL)
523 CALL HM_GET_FLOATV('min_rup3' ,DN ,IS_AVAILABLE, LSUBMODEL, UNITAB)
524 CALL HM_GET_FLOATV('max_rup3' ,DX ,IS_AVAILABLE, LSUBMODEL, UNITAB)
525 CALL HM_GET_FLOATV('prop_z_f' ,F ,IS_AVAILABLE, LSUBMODEL, UNITAB)
526 CALL HM_GET_FLOATV('prop_z_e' ,E ,IS_AVAILABLE, LSUBMODEL, UNITAB)
527 CALL HM_GET_FLOATV('scale3' ,LSCALE ,IS_AVAILABLE, LSUBMODEL, UNITAB)
528 CALL HM_GET_FLOATV('prop_z_h' ,GF3 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
529 CALL HM_GET_INTV ('fun_k3' ,IFUNC5 ,IS_AVAILABLE, LSUBMODEL)
530
531.AND..OR. IF (IECROU == 4 (IFUNC1 == 0 IFUNC3 == 0)) THEN
532 CALL ANCMSG(MSGID=231,
533 . MSGTYPE=MSGERROR,
534 . ANMODE=ANINFO_BLIND_1,
535 . I1=IG,
536 . C1=TITR)
537 ENDIF
538.AND.!! IF (IECROU == 4 GEO(2) == ZERO) THEN
539 IF (IECROU == 4 ) THEN
540 CALL ANCMSG(MSGID=230,
541 . MSGTYPE=MSGERROR,
542 . ANMODE=ANINFO_BLIND_1,
543 . I1=IG,
544 . C1=TITR)
545 ENDIF
546.AND..OR. IF (IECROU == 5 (IFUNC1 == 0 IFUNC3 == 0)) THEN
547 CALL ANCMSG(MSGID=231,
548 . MSGTYPE=MSGERROR,
549 . ANMODE=ANINFO_BLIND_1,
550 . I1=IG,
551 . C1=TITR)
552 ENDIF
553.OR..AND..OR. IF (((IECROU==6)(IECROU==9)) (IFUNC1 == 0 IFUNC3 == 0)) THEN
554 CALL ANCMSG(MSGID=1057,
555 . MSGTYPE=MSGERROR,
556 . ANMODE=ANINFO_BLIND_1,
557 . I1=IG,
558 . C1=TITR)
559 ENDIF
560.AND. IF (IECROU == 7 IFUNC1 == 0) THEN
561 CALL ANCMSG(MSGID=1058,
562 . MSGTYPE=MSGERROR,
563 . ANMODE=ANINFO_BLIND_1,
564 . I1=IG,
565 . C1=TITR)
566.AND. ELSEIF (IECROU == 7 IFUNC3 == 0) THEN
567 CALL ANCMSG(MSGID=1059,
568 . MSGTYPE=MSGWARNING,
569 . ANMODE=ANINFO_BLIND_1,
570 . I1=IG,
571 . C1=TITR,
572 . I2=IECROU)
573 IECROU = 2
574 ENDIF
575.AND..AND. IF (IFUNC1 == 0 A /= ZERO A /= ONE) THEN
576 CALL ANCMSG(MSGID=663,
577 . MSGTYPE=MSGWARNING,
578 . ANMODE=ANINFO_BLIND_1,
579 . I1=IG,
580 . C1=TITR)
581 ENDIF
582
583 IF (DN == ZERO) DN =-INFINITY
584 IF (DX == ZERO) DX = INFINITY
585 IF (A == ZERO) THEN
586 CALL HM_GET_FLOATV_DIM('acoeft3' ,A_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
587 A = ONE * A_UNIT
588 ENDIF
589 IF (D == ZERO) THEN
590 CALL HM_GET_FLOATV_DIM('dcoeft3' ,D_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
591 D = ONE * D_UNIT
592 ENDIF
593 IF (E == ZERO) THEN
594 CALL HM_GET_FLOATV_DIM('prop_z_e',E_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
595 E = ONE * E_UNIT
596 ENDIF
597 IF (F == ZERO) THEN
598 CALL HM_GET_FLOATV_DIM('prop_z_f',F_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
599 F = ONE * F_UNIT
600 ENDIF
601 IF (LSCALE == ZERO) THEN
602 CALL HM_GET_FLOATV_DIM('scale3',L_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
603 LSCALE = ONE*L_UNIT
604 ENDIF
605 IF (GF3 == ZERO) THEN
606 CALL HM_GET_FLOATV_DIM('prop_z_h',GF_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
607 GF3 = ONE*GF_UNIT
608 ENDIF
609 IF (IFUNC1 == 0) THEN
610 A = ONE
611 B = ZERO
612 E = ZERO
613 ENDIF
614
615 UPARAM(I1 + 3) = A !
616 UPARAM(I2 + 3) = B
617 UPARAM(I3 + 3) = D
618 UPARAM(I4 + 3) = E
619 UPARAM(I5 + 3) = GF3
620 UPARAM(I6 + 3) = ONE / F
621 UPARAM(I7 + 3) = ONE / LSCALE
622 UPARAM(I8 + 3) = DN
623 UPARAM(I9 + 3) = DX
624 UPARAM(I10 + 3) = FWV
625 UPARAM(I11 + 3) = XK
626 UPARAM(I12 + 3) = XC
627 UPARAM(I13 + 3) = IECROU+PUN
628
629 PM(193) = XK
630 !!
631 CHECK(1,3) = A ! nupa=4
632 CHECK(2,3) = B
633 CHECK(3,3) = D
634 CHECK(4,3) = E
635 CHECK(5,3) = GF3
636 CHECK(6,3) = ONE / F
637 CHECK(7,3) = ONE / LSCALE
638 CHECK(8,3) = DN
639 CHECK(9,3) = DX
640 CHECK(10,3) = FWV
641 CHECK(11,3) = XK
642 CHECK(12,3) = XC
643 CHECK(13,3) = IECROU+PUN
644
645.OR. IF ((IECROU==6)(IECROU==9)) THEN
646 UPARAM(4) = 6
647 ENDIF
648 IF (IECROU==9) SIZ_ARRAY_COMP = 6
649
650 IFUNC(3) = IFUNC1
651 IFUNC(IF2 + 3) = IFUNC2
652 IFUNC(IF3 + 3) = IFUNC3
653 IFUNC(IF4 + 3) = IFUNC4
654 IFUNC(IF5 + 3) = IFUNC5
655 NFUNC = NFUNC + 5
656
657 IF (IS_ENCRYPTED) THEN
658 WRITE(IOUT,'(5x,a,//)')'confidential data'
659 ELSE
660 IF (IECROU /= 5) THEN
661 IF (IFAIL2 == 3) THEN
662 WRITE(IOUT,1813)'z shear',XK,XC,IFUNC1,LSCALE,IFUNC3,F,IECROU,
663 . A,B,D,E,GF3,IFUNC2,IFUNC4,IFUNC5,DX
664 ELSEIF (IFAIL2 == 2) THEN
665 WRITE(IOUT,1812)'z shear',XK,XC,IFUNC1,LSCALE,IFUNC3,F,IECROU,
666 . A,B,D,E,GF3,IFUNC3,IFUNC4,IFUNC5,DN,DX
667 ELSE
668 WRITE(IOUT,1810)'z shear',XK,XC,IFUNC1,LSCALE,IFUNC3,F,IECROU,
669 . A,B,D,E,GF3,IFUNC2,IFUNC4,IFUNC5,DN,DX
670 ENDIF ! IF (IFAIL2 == 3)
671 ELSE
672 IF (IFAIL2 == 3) THEN
673 WRITE(IOUT,1823)'z shear',XK,XC,IFUNC1,LSCALE,IFUNC3,F,IECROU,
674 . A,B,D,E,GF3,IFUNC2,IFUNC4,IFUNC5,DX
675 ELSEIF (IFAIL2 == 2) THEN
676 WRITE(IOUT,1822)'z shear',XK,XC,IFUNC1,LSCALE,IFUNC3,F,IECROU,
677 . A,B,D,E,GF3,IFUNC2,IFUNC4,IFUNC5,DN,DX
678 ELSE
679 WRITE(IOUT,1820)'z shear',XK,XC,IFUNC1,LSCALE,IFUNC3,F,IECROU,
680 . A,B,D,E,GF3,IFUNC2,IFUNC4,IFUNC5,DN,DX
681 ENDIF ! IF (IFAIL2 == 3)
682 ENDIF ! IF (IECROU /= 5)
683 ENDIF ! IF (IS_ENCRYPTED)
684
685!-------------------------------------------------------
686! Rotations
687!-------------------------------------------------------
688!-----------------
689 ! Torsion X
690!-----------------
691 CALL HM_GET_FLOATV('stiff4' ,XK ,IS_AVAILABLE, LSUBMODEL, UNITAB)
692 CALL HM_GET_FLOATV('damp4' ,XC ,IS_AVAILABLE, LSUBMODEL, UNITAB)
693 CALL HM_GET_FLOATV('acoeft4' ,A ,IS_AVAILABLE, LSUBMODEL, UNITAB)
694 CALL HM_GET_FLOATV('bcoeft4' ,B ,IS_AVAILABLE, LSUBMODEL, UNITAB)
695 CALL HM_GET_FLOATV('dcoeft4' ,D ,IS_AVAILABLE, LSUBMODEL, UNITAB)
696 CALL HM_GET_INTV ('fun_a4' ,IFUNC1 ,IS_AVAILABLE, LSUBMODEL)
697 CALL HM_GET_INTV ('hflag4' ,IECROU ,IS_AVAILABLE, LSUBMODEL)
698 CALL HM_GET_INTV ('fun_b4' ,IFUNC2 ,IS_AVAILABLE, LSUBMODEL)
699 CALL HM_GET_INTV ('fun_c4' ,IFUNC3 ,IS_AVAILABLE, LSUBMODEL)
700 CALL HM_GET_INTV ('fun_d4' ,IFUNC4 ,IS_AVAILABLE, LSUBMODEL)
701 CALL HM_GET_FLOATV('min_rup4' ,dn ,is_available, lsubmodel, unitab)
702 CALL hm_get_floatv(
'MAX_RUP4' ,dx ,is_available, lsubmodel, unitab)
703 CALL hm_get_floatv(
'Prop_Tor_F',f ,is_available, lsubmodel, unitab)
704 CALL hm_get_floatv(
'Prop_Tor_E',e ,is_available, lsubmodel, unitab)
705 CALL hm_get_floatv(
'scale4' ,lscale ,is_available, lsubmodel, unitab)
706 CALL hm_get_floatv(
'Prop_Tor_H',gf3 ,is_available, lsubmodel, unitab)
707 CALL hm_get_intv (
'FUN_K4' ,ifunc5 ,is_available, lsubmodel)
708
709 IF (iecrou == 4 .AND. (ifunc1 == 0 .OR. ifunc3 == 0)) THEN
711 . msgtype=msgerror,
712 . anmode=aninfo_blind_1,
713 . i1=ig,
714 . c1=titr)
715 ENDIF
716
717 IF (iecrou == 4) THEN
719 . msgtype=msgerror,
720 . anmode=aninfo_blind_1,
721 . i1=ig,
722 . c1=titr)
723 ENDIF
724 IF (iecrou == 5 .AND. (ifunc1 == 0 .OR. ifunc3 == 0)) THEN
726 . msgtype=msgerror,
727 . anmode=aninfo_blind_1,
728 . i1=ig,
729 . c1=titr)
730 ENDIF
731 IF (((iecrou==6).OR.(iecrou==9)) .AND. (ifunc1 == 0 .OR. ifunc3 == 0)) THEN
733 . msgtype=msgerror,
734 . anmode=aninfo_blind_1,
735 . i1=ig,
736 . c1=titr)
737 ENDIF
738 IF (iecrou == 7 .AND. ifunc1 == 0) THEN
740 . msgtype=msgerror,
741 . anmode=aninfo_blind_1,
742 . i1=ig,
743 . c1=titr)
744 ELSEIF (iecrou == 7 .AND. ifunc3 == 0) THEN
746 . msgtype=msgwarning,
747 . anmode=aninfo_blind_1,
748 . i1=ig,
749 . c1=titr,
750 . i2=iecrou)
751 iecrou = 2
752 ENDIF
753 IF (ifunc1 == 0 .AND. a /= zero .AND. a /= one) THEN
755 . msgtype=msgwarning,
756 . anmode=aninfo_blind_1,
757 . i1=ig,
758 . c1=titr)
759 ENDIF
760
761 IF (dn == zero) dn =-infinity
762 IF (dx == zero) dx = infinity
763 IF (a == zero) THEN
765 a = one * a_unit
766 ENDIF
767 IF (d == zero) THEN
769 d = one * d_unit
770 ENDIF
771 IF (e == zero) THEN
773 e = one * e_unit
774 ENDIF
775 IF (f == zero) THEN
777 f = one * f_unit
778 ENDIF
779 IF (lscale == zero) THEN
781 lscale = one*l_unit
782 ENDIF
783 IF (gf3 == zero) THEN
785 gf3 = one*gf_unit
786 ENDIF
787 IF (ifunc1 == 0) THEN
788 a = one
789 b = zero
790 e = zero
791 ENDIF
792
793
794 uparam(i1 + 4) = a
795 uparam(i2 + 4) = b
796 uparam(i3 + 4) = d
797 uparam(i4 + 4) = e
798 uparam(i5 + 4) = gf3
799 uparam(i6 + 4) = one / f
800 uparam(i7 + 4) = one / lscale
801 uparam(i8 + 4) = dn
802 uparam(i9 + 4) = dx
803 uparam(i10 + 4) = zero
804 uparam(i11 + 4) = xk
805 uparam(i12 + 4) = xc
806 uparam(i13 + 4) = iecrou+pun
807
808 check(1,4) = a
809 check(2,4) = b
810 check(3,4) = d
811 check(4,4) = e
812 check(5,4) = gf3
813 check(6,4) = one / f
814 check(7,4) = one / lscale
815 check(8,4) = dn
816 check(9,4) = dx
817 check(10,4) = zero
818 check(11,4) = xk
819 check(12,4) = xc
820 check(13,4) = iecrou+pun
821
822 IF ((iecrou==6).OR.(iecrou==9)) THEN
823 uparam(4) = 6
824 ENDIF
825 IF (iecrou==9) siz_array_comp = 6
826
827 ifunc(4) = ifunc1
828 ifunc(if2 + 4) = ifunc2
829 ifunc(if3 + 4) = ifunc3
830 ifunc(if4 + 4) = ifunc4
831 ifunc(if5 + 4) = ifunc5
832 nfunc = nfunc + 5
833
834 IF (is_encrypted) THEN
835 WRITE(iout,'(5X,A,//)')'CONFIDENTIAL DATA'
836 ELSE
837 IF (iecrou /= 5) THEN
838 IF (ifail2 == 3) THEN
839 WRITE(iout,1833)'TORSION',xk,xc,ifunc1,lscale,ifunc3,f,iecrou,
840 . a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dx
841 ELSEIF (ifail2 == 2) THEN
842 WRITE(iout,1832)'TORSION',xk,xc,ifunc1
843 . a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dn,dx
844 ELSE
845 WRITE(iout,1830)'TORSION',xk,xc,ifunc1,lscale,ifunc3,f,iecrou,
846 . a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dn,dx
847 ENDIF
848 ELSE
849 IF (ifail2 == 3) THEN
850 WRITE(iout,1843)'TORSION',xk,xc,ifunc1,lscale,ifunc3,f,iecrou,
851 . a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dx
852 ELSEIF (ifail2 == 2) THEN
853 WRITE(iout,1842)'TORSION',xk,xc,ifunc1,lscale,ifunc3,f,iecrou,
854 . a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dn,dx
855 ELSE
856 WRITE(iout,1840)'TORSION',xk,xc,ifunc1,lscale,ifunc3,f,iecrou,
857 . a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dn,dx
858 ENDIF
859 ENDIF
860 ENDIF
861
862
863
864 CALL hm_get_floatv(
'STIFF5' ,xk ,is_available, lsubmodel, unitab
867 CALL hm_get_floatv(
'Bcoeft5' ,b ,is_available, lsubmodel, unitab)
868 CALL hm_get_floatv(
'Dcoeft5' ,d ,is_available, lsubmodel, unitab)
869 CALL hm_get_intv (
'FUN_A5' ,ifunc1 ,is_available, lsubmodel)
870 CALL hm_get_intv (
'HFLAG5' ,iecrou ,is_available, lsubmodel)
871 CALL hm_get_intv (
'FUN_B5' ,ifunc2 ,is_available, lsubmodel)
872 CALL hm_get_intv (
'FUN_C5' ,ifunc3 ,is_available, lsubmodel)
873 CALL hm_get_intv (
'FUN_D5' ,ifunc4 ,is_available, lsubmodel)
874 CALL hm_get_floatv(
'MIN_RUP5' ,dn ,is_available, lsubmodel, unitab)
876 CALL hm_get_floatv(
'Prop_FlxY_F',f ,is_available, lsubmodel, unitab)
877 CALL hm_get_floatv(
'Prop_FlxY_E',e ,is_available, lsubmodel, unitab)
878 CALL hm_get_floatv(
'scale5' ,lscale ,is_available, lsubmodel, unitab)
879 CALL hm_get_floatv(
'Prop_FlxY_H',gf3 ,is_available, lsubmodel, unitab)
880 CALL hm_get_intv (
'FUN_K5' ,ifunc5 ,is_available, lsubmodel)
881
882 IF (iecrou == 4 .AND. (ifunc1 == 0 .OR. ifunc3 == 0)) THEN
884 . msgtype=msgerror,
885 . anmode=aninfo_blind_1,
886 . i1=ig,
887 . c1=titr)
888 ENDIF
889!
890 IF (iecrou == 4 ) THEN
892 . msgtype=msgerror,
893 . anmode=aninfo_blind_1,
894 . i1=ig,
895 . c1=titr)
896 ENDIF
897 IF (iecrou == 5 .AND. (ifunc1 == 0 .OR. ifunc3 == 0)) THEN
899 . msgtype=msgerror,
900 . anmode=aninfo_blind_1,
901 . i1=ig,
902 . c1=titr)
903 ENDIF
904 IF (((iecrou==6).OR.(iecrou==9)) .AND. (ifunc1 == 0 .OR. ifunc3 == 0)) THEN
906 . msgtype=msgerror,
907 . anmode=aninfo_blind_1,
908 . i1=ig,
909 . c1=titr)
910 ENDIF
911 IF (iecrou == 7 .AND. ifunc1 == 0) THEN
913 . msgtype=msgerror,
914 . anmode=aninfo_blind_1,
915 . i1=ig,
916 . c1=titr)
917 ELSEIF (iecrou == 7 .AND. ifunc3 == 0) THEN
919 . msgtype=msgwarning,
920 . anmode=aninfo_blind_1,
921 . i1=ig,
922 . c1=titr,
923 . i2=iecrou)
924 iecrou = 2
925 ENDIF
926 IF (ifunc1 == 0 .AND. a /= zero .AND. a /= oneTHEN
928 . msgtype=msgwarning,
929 . anmode=aninfo_blind_1,
930 . i1=ig,
931 . c1=titr)
932 ENDIF
933
934 IF (dn == zero) dn =-infinity
935 IF (dx == zero) dx = infinity
936 IF (a == zero) THEN
938 a = one * a_unit
939 ENDIF
940 IF (d == zero) THEN
942 d = one * d_unit
943 ENDIF
944 IF (e == zero) THEN
946 e = one * e_unit
947 ENDIF
948 IF (f == zero) THEN
950 f = one * f_unit
951 ENDIF
952 IF (lscale == zero) THEN
954 lscale = one*l_unit
955 ENDIF
956 IF (gf3 == zero) THEN
958 gf3 = one*gf_unit
959 ENDIF
960 IF (ifunc1 == 0) THEN
961 a = one
962 b = zero
963 e = zero
964 ENDIF
965
966 uparam(i1 + 5) = a
967 uparam(i2 + 5) = b
968 uparam(i3 + 5) = d
969 uparam(i4 + 5) = e
970 uparam(i5 + 5) = gf3
971 uparam(i6 + 5) = one / f
972 uparam(i7 + 5) = one / lscale
973 uparam(i8 + 5) = dn
974 uparam(i9 + 5) = dx
975 uparam(i10 + 5) = zero
976 uparam(i11 + 5) = xk
977 uparam(i12 + 5) = xc
978 uparam(i13 + 5) = iecrou+pun
979
980 IF ((iecrou==6).OR.(iecrou==9)) THEN
981 uparam(4) = 6
982 ENDIF
983 IF (iecrou==9) siz_array_comp = 6
984
985 check(1,5) = a
986 check(2,5) = b
987 check(3,5) = d
988 check(4,5) = e
989 check(5,5) = gf3
990 check(6,5) = one / f
991 check(7,5) = one / lscale
992 check(8,5) = dn
993 check(9,5) = dx
994 check(10,5) = zero
995 check(11,5) = xk
996 check(12,5) = xc
997 check(13,5) = iecrou+pun
998
999 ifunc(5) = ifunc1
1000 ifunc(if2 + 5) = ifunc2
1001 ifunc(if3 + 5) = ifunc3
1002 ifunc(if4 + 5) = ifunc4
1003 ifunc(if5 + 5) = ifunc5
1004 nfunc = nfunc + 5
1005
1006 IF (is_encrypted) THEN
1007 WRITE(iout,'(5X,A,//)')'CONFIDENTIAL DATA'
1008 ELSE
1009 IF (iecrou /= 5) THEN
1010 IF (ifail2 == 3) THEN
1011 WRITE(iout,1833)'Y FLEXION',xk,xc,ifunc1,lscale,ifunc3,f,
1012 . iecrou,a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dx
1013 ELSEIF (ifail2 == 2) THEN
1014 WRITE(iout,1832)'Y FLEXION',xk,xc,ifunc1,lscale,ifunc3,f,
1015 . iecrou,a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dn,dx
1016 ELSE
1017 WRITE(iout,1830)'Y FLEXION',xk,xc,ifunc1,lscale,ifunc3,f,
1018 . iecrou,a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dn,dx
1019 ENDIF
1020 ELSE
1021 IF (ifail2 == 3) THEN
1022 WRITE(iout,1843)'Y FLEXION',xk,xc,ifunc1,lscale,ifunc3,f,
1023 . iecrou,a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dx
1024 ELSEIF (ifail2 == 2) THEN
1025 WRITE(iout,1842)'Y FLEXION',xk,xc,ifunc1,lscale,ifunc3,f,
1026 . iecrou,a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dn,dx
1027 ELSE
1028 WRITE(iout,1840)'Y FLEXION',xk,xc,ifunc1,lscale,ifunc3,f,
1029 . iecrou,a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dn,dx
1030 ENDIF
1031 ENDIF
1032 ENDIF
1033
1034
1035
1036 CALL hm_get_floatv(
'STIFF6' ,xk ,is_available, lsubmodel, unitab)
1037 CALL hm_get_floatv(
'DAMP6' ,xc ,is_available, lsubmodel, unitab
1038 CALL hm_get_floatv(
'Acoeft6' ,a ,is_available, lsubmodel, unitab)
1039 CALL hm_get_floatv(
'Bcoeft6' ,b ,is_available, lsubmodel, unitab)
1040 CALL hm_get_floatv(
'Dcoeft6' ,d ,is_available, lsubmodel, unitab)
1041 CALL hm_get_intv (
'FUN_A6' ,ifunc1 ,is_available, lsubmodel)
1042 CALL hm_get_intv (
'HFLAG6' ,iecrou ,is_available, lsubmodel)
1043 CALL hm_get_intv (
'FUN_B6' ,ifunc2 ,is_available, lsubmodel)
1044 CALL hm_get_intv (
'FUN_C6' ,ifunc3 ,is_available, lsubmodel)
1045 CALL hm_get_intv (
'FUN_D6' ,ifunc4 ,is_available, lsubmodel)
1046 CALL hm_get_floatv(
'MIN_RUP6' ,dn ,is_available, lsubmodel, unitab)
1047 CALL hm_get_floatv(
'MAX_RUP6' ,dx ,is_available, lsubmodel, unitab)
1048 CALL hm_get_floatv(
'Prop_FlxZ_F',f ,is_available, lsubmodel, unitab)
1049 CALL hm_get_floatv(
'Prop_FlxZ_E',e ,is_available, lsubmodel, unitab)
1050 CALL hm_get_floatv(
'scale6' ,lscale ,is_available, lsubmodel, unitab
1051 CALL hm_get_floatv(
'Prop_FlxZ_H',gf3 ,is_available, lsubmodel, unitab)
1052 CALL hm_get_intv (
'FUN_K6' ,ifunc5 ,is_available, lsubmodel)
1053
1054 IF (iecrou == 4 .AND. (ifunc1 == 0 .OR. ifunc3 == 0)) THEN
1056 . msgtype=msgerror,
1057 . anmode=aninfo_blind_1,
1058 . i1=ig,
1059 . c1=titr)
1060 ENDIF
1061
1062 IF (iecrou == 4 ) THEN
1064 . msgtype=msgerror,
1065 . anmode=aninfo_blind_1,
1066 . i1=ig,
1067 . c1=titr)
1068 ENDIF
1069 IF (iecrou == 5 .AND. (ifunc1 == 0 .OR. ifunc3 == 0)) THEN
1071 . msgtype=msgerror,
1072 . anmode=aninfo_blind_1,
1073 . i1=ig,
1074 . c1=titr)
1075 ENDIF
1076 IF (((iecrou==6).OR.(iecrou==9)) .AND. (ifunc1 == 0 .OR. ifunc3 == 0)) THEN
1078 . msgtype=msgerror,
1079 . anmode=aninfo_blind_1,
1080 . i1=ig,
1081 . c1=titr)
1082 ENDIF
1083 IF (iecrou == 7 .AND. ifunc1 == 0) THEN
1085 . msgtype=msgerror,
1086 . anmode=aninfo_blind_1,
1087 . i1=ig,
1088 . c1=titr)
1089 ELSEIF (iecrou == 7 .AND. ifunc3 == 0) THEN
1091 . msgtype=msgwarning,
1092 . anmode=aninfo_blind_1,
1093 . i1=ig,
1094 . c1=titr,
1095 . i2=iecrou)
1096 iecrou = 2
1097 ENDIF
1098 IF (ifunc1 == 0 .AND. a /= zero .AND. a /= one) THEN
1100 . msgtype=msgwarning,
1101 . anmode=aninfo_blind_1,
1102 . i1=ig,
1103 . c1=titr)
1104 ENDIF
1105
1106 IF (dn == zero) dn =-infinity
1107 IF (dx == zero) dx = infinity
1108 IF (a == zero) THEN
1110 a = one * a_unit
1111 ENDIF
1112 IF (d == zero) THEN
1114 d = one * d_unit
1115 ENDIF
1116 IF (e == zero) THEN
1118 e = one * e_unit
1119 ENDIF
1120 IF (f == zero) THEN
1122 f = one * f_unit
1123 ENDIF
1124 IF (lscale == zero) THEN
1126 lscale = one*l_unit
1127 ENDIF
1128 IF (gf3 == zero) THEN
1130 gf3 = one*gf_unit
1131 ENDIF
1132 IF (ifunc1 == 0) THEN
1133 a = one
1134 b = zero
1135 e = zero
1136 ENDIF
1137
1138 uparam(i1 + 6) = a
1139 uparam(i2 + 6) = b
1140 uparam(i3 + 6) = d
1141 uparam(i4 + 6) = e
1142 uparam(i5 + 6) = gf3
1143 uparam(i6 + 6) = one / f
1144 uparam(i7 + 6) = one / lscale
1145 uparam(i8 + 6) = dn
1146 uparam(i9 + 6) = dx
1147 uparam(i10 + 6) = zero
1148 uparam(i11 + 6) = xk
1149 uparam(i12 + 6) = xc
1150 uparam(i13 + 6) = iecrou+pun
1151
1152 nuparam = nuparam + 6*14
1153
1154 check(1,6) = a
1155 check(2,6) = b
1156 check(3,6) = d
1157 check(4,6) = e
1158 check(5,6) = gf3
1159 check(6,6) = one / f
1160 check(7,6) = one / lscale
1161 check(8,6) = dn
1162 check(9,6) = dx
1163 check(10,6) = zero
1164 check(11,6) = xk
1165 check(12,6) = xc
1166 check(13,6) = iecrou+pun
1167
1168 IF ((iecrou==6).OR.(iecrou==9)) THEN
1169 uparam(4) = 6
1170 ENDIF
1171 IF (iecrou==9) siz_array_comp = 6
1172
1173 ifunc(6) = ifunc1
1174 ifunc(if2 + 6) = ifunc2
1175 ifunc(if3 + 6) = ifunc3
1176 ifunc(if4 + 6) = ifunc4
1177 ifunc(if5 + 6) = ifunc5
1178 nfunc = nfunc + 5
1179
1180 IF (is_encrypted) THEN
1181 WRITE(iout,'(5X,A,//)')'CONFIDENTIAL DATA'
1182 ELSE
1183 IF (iecrou /= 5) THEN
1184 IF (ifail2 == 3) THEN
1185 WRITE(iout,1833)'Z FLEXION',xk,xc,ifunc1,lscale,ifunc2,f,
1186 . iecrou,a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dx
1187 ELSEIF (ifail2 == 2) THEN
1188 WRITE(iout,1832)'Z FLEXION',xk,xc,ifunc1,lscale,ifunc3,f,
1189 . iecrou,a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dn,dx
1190 ELSE
1191 WRITE(iout,1830)'Z FLEXION',xk,xc,ifunc1,lscale,ifunc3,f,
1192 . iecrou,a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dn,dx
1193 ENDIF
1194 ELSE
1195 IF (ifail2 == 3) THEN
1196 WRITE(iout,1843)'Z FLEXION',xk,xc,ifunc1,lscale,ifunc3,f,
1197 . iecrou,a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dx
1198 ELSEIF (ifail2 == 2) THEN
1199 WRITE(iout,1842)'Z FLEXION',xk,xc,ifunc1,lscale,ifunc3,f,
1200 . iecrou,a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dn,dx
1201 ELSE
1202 WRITE(iout,1840)'Z FLEXION',xk,xc,ifunc1,lscale,ifunc3,f,
1203 . iecrou,a,b,d,e,gf3,ifunc2,ifunc4,ifunc5,dn,dx
1204 ENDIF
1205 ENDIF
1206 ENDIF
1207
1208 IF (flgchk == 1) THEN
1209 IF ((check(1,2)/=check(1,3)).OR.
1210 . (check(2,2)/=check(2,3)).OR.
1211 . (check(3,2)/=check(3,3)).OR.
1212 . (check(6,2)/=check(6,3)).OR.
1213 . (check(10,2)/=check(10,3)).OR.
1214 . (check(11,2)/=check(11,3)).OR.
1215 . (check(13,2)/=check(13,3)).OR.
1216 . (check(1,5)/=check(1,6)).OR.
1217 . (check(2,5)/=check(2,6)).OR.
1218 . (check(3,5)/=check(3,6)).OR.
1219 . (check(6,5)/=check(6,6)).OR.
1220 . (check(10,5)/=check(10,6)).OR.
1221 . (check(11,5)/=check(11,6)).OR.
1222 . (check(13,5)/=check(13,6))) THEN
1224 . msgtype=msginfo,
1225 . anmode=aninfo_blind_2,
1226 . i1=ig,
1227 . c1=titr)
1228 ENDIF
1229 ENDIF
1230
1231
1232
1233 CALL hm_get_floatv(
'TRANS_VEL0' ,vt0 ,is_available, lsubmodel, unitab)
1234 CALL hm_get_floatv(
'ROT_VEL0' ,vr0 ,is_available, lsubmodel, unitab)
1235 CALL hm_get_floatv(
'Asrate' ,asrate ,is_available, lsubmodel, unitab)
1236 CALL hm_get_intv (
'ISRATE' ,israte ,is_available, lsubmodel)
1237
1238 CALL hm_get_floatv(
'C1' ,cc(1) ,is_available, lsubmodel, unitab)
1239 CALL hm_get_floatv(
'REL_VEL_EXP1',cn(1) ,is_available, lsubmodel, unitab)
1240 CALL hm_get_floatv(
'ALPHA1' ,xa(1) ,is_available, lsubmodel, unitab)
1241 CALL hm_get_floatv(
'BETA1' ,xb(1) ,is_available, lsubmodel, unitab)
1242
1243 CALL hm_get_floatv(
'C2' ,cc(2) ,is_available, lsubmodel, unitab)
1244 CALL hm_get_floatv(
'REL_VEL_EXP2',cn(2) ,is_available, lsubmodel, unitab)
1245 CALL hm_get_floatv(
'ALPHA2' ,xa(2) ,is_available, lsubmodel, unitab
1246 CALL hm_get_floatv(
'BETA2' ,xb(2) ,is_available, lsubmodel, unitab
1247
1249 CALL hm_get_floatv(
'REL_VEL_EXP3',cn(3) ,is_available, lsubmodel
1250 CALL hm_get_floatv(
'ALPHA3' ,xa(3) ,is_available, lsubmodel, unitab)
1251 CALL hm_get_floatv(
'BETA3' ,xb(3) ,is_available, lsubmodel, unitab)
1252
1253 CALL hm_get_floatv(
'C4' ,cc(4) ,is_available, lsubmodel, unitab)
1254 CALL hm_get_floatv(
'REL_VEL_EXP4',cn(4) ,is_available, lsubmodel
1255 CALL hm_get_floatv(
'ALPHA4' ,xa(4) ,is_available, lsubmodel, unitab)
1256 CALL hm_get_floatv(
'BETA4' ,xb(4) ,is_available, lsubmodel, unitab)
1257
1258 CALL hm_get_floatv(
'C5' ,cc(5) ,is_available, lsubmodel, unitab)
1259 CALL hm_get_floatv(
'REL_VEL_EXP5',cn(5) ,is_available, lsubmodel, unitab)
1260 CALL hm_get_floatv(
'ALPHA5' ,xa(5) ,is_available, lsubmodel, unitab)
1261 CALL hm_get_floatv(
'BETA5' ,xb(5) ,is_available, lsubmodel, unitab)
1262
1263 CALL hm_get_floatv(
'C6' ,cc(6) ,is_available, lsubmodel, unitab)
1264 CALL hm_get_floatv(
'REL_VEL_EXP6',cn(6) ,is_available, lsubmodel, unitab)
1265 CALL hm_get_floatv(
'ALPHA6' ,xa(6) ,is_available, lsubmodel, unitab)
1266 CALL hm_get_floatv(
'BETA6' ,xb(6) ,is_available, lsubmodel, unitab)
1267
1268 IF (asrate == zero) asrate = infinity
1269 IF (vt0 == zero) vt0 = one
1270 IF (vr0
1271 DO j = 1,6
1272 IF (cn(j) == zero) cn(j) = one
1273 IF (xa(j) == zero) xa(j) = one
1274 IF (xb(j) == zero) xb(j) = two
1275 ENDDO
1276
1277
1278 IF (is_encrypted) THEN
1279 WRITE(iout,'(5X,A,//)')'CONFIDENTIAL DATA'
1280 ELSE
1281 WRITE(iout,1850) vt0,vr0,
1282 . (cc(j),j=1,6),(cn(j),j=1,6),(xa(j),j=1,6),(xb(j),j=1,6)
1283 WRITE(iout,1900) israte,asrate
1284 ENDIF
1285
1286
1287
1288 uparam(nuparam + 1) = vt0
1289 uparam(nuparam + 2) = vr0
1290 uparam(nuparam + 3) = cc(1)
1291 uparam(nuparam + 4) = cc(2)
1292 uparam(nuparam + 5) = cc(3)
1293 uparam(nuparam + 6) = cc(4)
1294 uparam(nuparam + 7) = cc(5)
1295 uparam(nuparam + 8) = cc(6)
1296 uparam(nuparam + 9) = cn(1)
1297 uparam(nuparam + 10) = cn(2)
1298 uparam(nuparam + 11) = cn(3)
1299 uparam(nuparam + 12) = cn(4)
1300 uparam(nuparam + 13) = cn(5)
1301 uparam(nuparam + 14) = cn(6)
1302 uparam(nuparam + 15) = xa(1)
1303 uparam(nuparam + 16) = xa(2)
1304 uparam(nuparam + 17) = xa(3)
1305 uparam(nuparam + 18) = xa(4)
1306 uparam(nuparam + 19) = xa(5)
1307 uparam(nuparam + 20) = xa(6)
1308 uparam(nuparam + 21) = xb(1)
1309 uparam(nuparam + 22) = xb(2)
1310 uparam(nuparam + 23) = xb(3)
1311 uparam(nuparam + 24) = xb(4)
1312 uparam(nuparam + 25) = xb(5)
1313 uparam(nuparam + 26) = xb(6)
1314 uparam(nuparam + 27) = israte
1315 uparam(nuparam + 28) = asrate
1316
1317 nuparam = nuparam + 28
1318
1319
1320 nuparam = nuparam + 6
1321
1322
1323
1324 mtag%G_TOTDEPL = 3
1325 mtag%G_TOTROT = 3
1326 mtag%G_DEP_IN_TENS = 3
1327 mtag%G_DEP_IN_COMP = 3
1328 mtag%G_ROT_IN_TENS = 3
1329 mtag%G_ROT_IN_COMP = 3
1330 mtag%G_POSX = 6
1331 mtag%G_POSY = 6
1332 mtag%G_POSZ = 6
1333 mtag%G_POSXX = 6
1334 mtag%G_POSYY = 6
1335 mtag%G_POSZZ = 6
1336 mtag%G_YIELD = 6
1337 mtag%G_RUPTCRIT = 1
1338 mtag%G_NUVAR =
max(mtag%G_NUVAR
1339 mtag%G_MASS = 1
1340 parmat(4) = israte
1341 parmat(5) = asrate
1342 mtag%G_YIELD_IN_COMP = siz_array_comp
1343 mtag%G_XXOLD_IN_COMP = siz_array_comp
1344
1345
1347
1348
1349 RETURN
1350
1351 1000 FORMAT(
1352 & 5x,'SPRING MATERIAL SET (BEAM TYPE)'/,
1353 & 5x,'-------------------------------'/,
1354 & 5x,'MATERIAL SET NUMBER . . . . . . . . . .=',i10/,
1355 & 5x,'CONFIDENTIAL DATA'//)
1356 1100 FORMAT(/
1357 & 5x,a,/,
1358 & 5x,'MATERIAL NUMBER. . . . . . . . . . . . =',i10
1359 & 5x,'MATERIAL LAW . . . . . . . . . . . . . =',i10/)
1360 1300 FORMAT(
1361 & 5x,'INITIAL DENSITY . . . . . . . . . . . .=',1pg20.13/)
1362 1800 FORMAT(
1363 & 5x,'SPRING MATERIAL SET (BEAM TYPE)'/,
1364 & 5x,'-------------------------------'/,
1365 & 5x,'MATERIAL SET NUMBER . . . . . . . . . .=',i10/,
1366 & 5x,'SPRING MASS . . . . . . . . . . . . . .=',1pg20.13/,
1367 & 5x,'SPRING INERTIA. . . . . . . . . . . . .=',1pg20.13/,
1368 & 5x,'SKEW FRAME NUMBER (0:GLOBAL). . . . . .=',i10/,
1369 & 5x,'SENSOR NUMBER (0:NOT USED). . . . . . .=',i10/,
1370 & 5x,'SENSOR FLAG (0:ACTIV 1:DEACT 2:BOTH). .=',i10/,
1371 & 5x,'FAILURE FLAG (0:UNCOUPLED 1:COUPLED). .=',i10/,
1372 & 5x,'UNIT LENGTH FLAG. . . . . . . . . . . .=',i10/,
1373 & 5x,'IF=1 UNIT LENGTH MASS,STIFFNESS AND INPUT',/,
1374 & 5x,' CURVE ARE STRAIN DEPENDING',/)
1375 1810 FORMAT(
1376 & 5x,a,/,
1377 & 5x,'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20
1378 & 5x,'SPRING DAMPING. . . . . . . . . . . . .=',1pg20
1379'FUNCTION IDENTIFIER FOR LOADING ',/,
1380 & 5x,'FORCE-DISPLACEMENT CURVE. . . . . . . .=',i10/,
1381 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1382 & 5x,'FUNCTION IDENTIFIER FOR UNLOADING ',/,
1383 & 5x,'FORCE-DISPLACEMENT CURVE (H=4,5,7). . .=',i10/,
1384 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1385 & 5x,'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1386 & 5x,'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
1387 & 5x,'4:KINEMATIC 5:UNCOUPLED NL (UN/RE)LOADING',/,
1388 & 5x,'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1389 & 5x,'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1390 & 5x,'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1391 & 5x,'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1392 & 5x,'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1393 & 5x,'DYNAMIC AMPLIFICATION FACTOR GF3 . . .=',1pg20.13/,
1394 & 5x,'FUNCTION IDENTIFIER FOR ',/,
1395 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1396 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1397 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1398 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1399 & 5x,'SCALE STIFFNESS CURVE. . . . . . . . . .=',i10/,
1400 & 5x,'NEGATIVE FAILURE DISPLACEMENT . . . . .=',1pg20.13/,
1401 & 5x,'POSITIVE FAILURE DISPLACEMENT . . . . .=',1pg20.13/)
1402 1820 FORMAT(
1403 & 5x,a,/,
1404 & 5x,'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
1405 & 5x,'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
1406 & 5x,'FUNCTION IDENTIFIER FOR LOADING ',/,
1407 & 5x,'FORCE-DISPLACEMENT CURVE. . . . . . . .=',i10/,
1408 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1409 & 5x,'PERMANENT DISPL./MAX. DISPL. CURVE(H=5)=',i10/,
1410 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1411 & 5x,'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1412 & 5x,'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
1413 & 5x,'4:KINEMATIC 5:UNCOUPLED NL (UN/RE)LOADING',/,
1414 & 5x,'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1415 & 5x,'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1416 & 5x,'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1417 & 5x,'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1418 & 5x,'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1419 & 5x,'DYNAMIC AMPLIFICATION FACTOR GF3 . . .=',1pg20.13/,
1420 & 5x,'FUNCTION IDENTIFIER FOR ',/,
1421 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1422 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1423 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1424 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1425 & 5x,'SCALE STIFFNESS CURVE. . . . . . . . . =',i10/,
1426 & 5x,'NEGATIVE FAILURE DISPLACEMENT . . . . .=',1pg20.13/,
1427 & 5x,'POSITIVE FAILURE DISPLACEMENT . . . . .=',1pg20.13/)
1428 1830 FORMAT(
1429 & 5x,a,/,
1430 & 5x,'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
1431 & 5x,'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
1432 & 5x,'FUNCTION IDENTIFIER FOR LOADING ',/,
1433 & 5x,'MOMENT-ROTATION CURVE . . . . . . . . .=',i10/,
1434 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1435 & 5x,'FUNCTION IDENTIFIER FOR UNLOADING ',/,
1436 & 5x,'MOMENT-ROTATION CURVE (H=4,5,7). . . . =',i10/,
1437 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1438 & 5x,'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1439 & 5x,'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
1440 & 5x,'4:KINEMATIC 5:UNCOUPLED NL (UN/RE)LOADING',/,
1441 & 5x,'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1442 & 5x,'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1443 & 5x,'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1444 & 5x,'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1445 & 5x,'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1446 & 5x,'DYNAMIC AMPLIFICATION FACTOR GF3 . . .=',1pg20.13/,
1447 & 5x,'FUNCTION IDENTIFIER FOR ',/,
1448 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1449 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1450 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1451 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1452 & 5x,'SCALE STIFFNESS CURVE. . . . . . . . . =',i10/,
1453 & 5x,'NEGATIVE FAILURE ROTATION . . . . . . .=',1pg20.13/,
1454 & 5x,'POSITIVE FAILURE ROTATION . . . . . . .=',1pg20.13/)
1455 1840 FORMAT(
1456 & 5x,a,/,
1457 & 5x,'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
1458 & 5x,'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
1459 & 5x,'FUNCTION IDENTIFIER FOR LOADING ',/,
1460 & 5x,'MOMENT/ROTATION CURVE . . . . . . . . .=',i10/,
1461 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1462 & 5x,'PERMANENT ROT./MAX. ROT. CURVE (H=5). .=',i10/,
1463 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1464 & 5x,'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1465 & 5x,'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
1466 & 5x,'4:KINEMATIC 5:UNCOUPLED NL (UN/RE)LOADING',/,
1467 & 5x,'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1468 & 5x,'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1469 & 5x,'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1470 & 5x,'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1471 & 5x,'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1472 & 5x,'DYNAMIC AMPLIFICATION FACTOR GF3 . . .=',1pg20.13/,
1473 & 5x,'FUNCTION IDENTIFIER FOR ',/,
1474 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1475 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1476 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1477 & 5x,'NEGATIVE FAILURE ROTATION . . . . . . .=',1pg20.13/,
1478 & 5x,'POSITIVE FAILURE ROTATION . . . . . . .=',1pg20.13/)
1479 1801 FORMAT(
1480 & 5x,'SPRING MATERIAL SET (BEAM TYPE)'/,
1481 & 5x,'-------------------------------'/,
1482 & 5x,'MATERIAL SET NUMBER . . . . . . . . . .=',i10/,
1483 & 5x,'FAILURE FLAG (0:UNCOUPLED 1:COUPLED). .=',i10/,
1484 & 5x,'FAILURE CRITERION (DISPL/FORCE/ENERGY).=',i10/,
1485 & 5x,' 1:DISPLACEMENT 2:FORCE 3:ENERGY ' ,/,
1486 & 5x,'UNIT LENGTH FLAG. . . . . . . . . . . .=',i10/,
1487 & 5x,'IF=1 UNIT LENGTH MASS,STIFFNESS AND INPUT',/,
1488 & 5x,' CURVE ARE STRAIN DEPENDING',/)
1489 1812 FORMAT(
1490 & 5x,a,/,
1491 & 5x,'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
1492 & 5x,'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
1493 & 5x,'FUNCTION IDENTIFIER FOR LOADING ',/,
1494 & 5x,'MOMENT/ROTATION CURVE. . . . . . . . . =',i10/,
1495 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1496 & 5x,'FUNCTION IDENTIFIER FOR UNLOADING ',/,
1497 & 5x,'MOMENT/ROTATION CURVE (H=4,5,7). . . . =',i10/,
1498 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1499 & 5x,'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1500 & 5x,'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
1501 & 5x,'4:KINEMATIC 5:UNCOUPLED NL (UN/RE)LOADING',/,
1502 & 5x,'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1503 & 5x,'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1504 & 5x,'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1505 & 5x,'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1506 & 5x,'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1507 & 5x,'DYNAMIC AMPLIFICATION FACTOR GF3 . . .=',1pg20.13/,
1508 & 5x,'FUNCTION IDENTIFIER FOR ',/,
1509 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1510 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1511 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1512 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1513 & 5x,'SCALE STIFFNESS CURVE. . . . . . . . . =',i10/,
1514 & 5x,'NEGATIVE FAILURE FORCE. . . . . . . . .=',1pg20.13/,
1515 & 5x,'POSITIVE FAILURE FORCE. . . . . . . . .=',1pg20.13/)
1516 1813 FORMAT(
1517 & 5x,a,/,
1518 & 5x,'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
1519 & 5x,'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
1520 & 5x,'FUNCTION IDENTIFIER FOR LOADING ',/,
1521 & 5x,'MOMENT/ROTATION CURVE . . . . . . . . .=',i10/,
1522 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1523 & 5x,'FUNCTION IDENTIFIER FOR UNLOADING ',/,
1524 & 5x,'MOMENT/ROTATION CURVE (H=4,5,7). . .=',i10/,
1525 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1526 & 5x,'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1527 & 5x,'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
1528 & 5x,'4:KINEMATIC 5:UNCOUPLED NL (UN/RE)LOADING',/,
1529 & 5x,'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1530 & 5x,'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1531 & 5x,'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1532 & 5x,'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1533 & 5x,'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1534 & 5x,'DYNAMIC AMPLIFICATION FACTOR GF3 . . .=',1pg20.13/,
1535 & 5x,'FUNCTION IDENTIFIER FOR ',/,
1536 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1537 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1538 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1539 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1540 & 5x,'SCALE STIFFNESS CURVE. . . . . . . . . =',i10/,
1541 & 5x,'FAILURE ENERGY. . . . . . . . . . . . .=',1pg20.13/)
1542 1822 FORMAT(
1543 & 5x,a,/,
1544 & 5x,'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
1545 & 5x,'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
1546 & 5x,'FUNCTION IDENTIFIER FOR LOADING ',/,
1547 & 5x,'FORCE-DISPLACEMENT CURVE. . . . . . . .=',i10/,
1548 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1549 & 5x,'PERMANENT DISPL./MAX. DISPL. CURVE(H=5)=',i10/,
1550 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1551 & 5x,'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1552 & 5x,'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
1553 & 5x,'4:KINEMATIC 5:UNCOUPLED NL (UN/RE)LOADING',/,
1554 & 5x,'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1555 & 5x,'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1556 & 5x,'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1557 & 5x,'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1558 & 5x,'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1559 & 5x,'DYNAMIC AMPLIFICATION FACTOR GF3 . . .=',1pg20.13/,
1560 & 5x,'FUNCTION IDENTIFIER FOR ',/,
1561 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1562 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1563 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1564 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1565 & 5x,'SCALE STIFNESS CURVE. . . . . . . . . .=',i10/,
1566 & 5x,'NEGATIVE FAILURE FORCE. . . . . . . . .=',1pg20.13/,
1567 & 5x,'POSITIVE FAILURE FORCE. . . . . . . . .=',1pg20.13/)
1568 1823 FORMAT(
1569 & 5x,a,/,
1570 & 5x,'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
1571 & 5x,'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
1572 & 5x,'FUNCTION IDENTIFIER FOR LOADING ',/,
1573 & 5x,'FORCE-DISPLACEMENT CURVE. . . . . . . .=',i10/,
1574 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1575 & 5x,'PERMANENT DISPL./MAX. DISPL. CURVE(H=5)=',i10/,
1576 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1577 & 5x,'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1578 & 5x,'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
1579 & 5x,'4:KINEMATIC 5:UNCOUPLED NL (UN/RE)LOADING',/,
1580 & 5x,'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1581 & 5x,'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1582 & 5x,'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1583 & 5x,'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1584 & 5x,'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1585 & 5x,'DYNAMIC AMPLIFICATION FACTOR GF3 . . .=',1pg20.13/,
1586 & 5x,'FUNCTION IDENTIFIER FOR ',/,
1587 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1588 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1589 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1590 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1591 & 5x,'SCALE CURVE. . . . . . . . . . . . . ..=',i10/,
1592 & 5x,'FAILURE ENERGY. . . . . . . . . . . . .=',1pg20.13/)
1593 1832 FORMAT(
1594 & 5x,a,/,
1595 & 5x,'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
1596 & 5x,'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
1597 & 5x,'FUNCTION IDENTIFIER FOR LOADING ',/,
1598 & 5x,'MOMENT-ROTATION CURVE . . . . . . . . .=',i10/,
1599 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1600 & 5x,'FUNCTION IDENTIFIER FOR UNLOADING ',/,
1601 & 5x,'MOMENT-ROTATION CURVE (H=4,5,7). . . . =',i10/,
1602 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1603 & 5x,'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1604 & 5x,'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
1605 & 5x,'4:KINEMATIC 5:UNCOUPLED NL (UN/RE)LOADING',/,
1606 & 5x,'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1607 & 5x,'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1608 & 5x,'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1609 & 5x,'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1610 & 5x,'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1611 & 5x,'DYNAMIC AMPLIFICATION FACTOR GF3 . . .=',1pg20.13/,
1612 & 5x,'FUNCTION IDENTIFIER FOR ',/,
1613 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1614 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1615 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1616 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1617 & 5x,'SCALE STIFFNESS CURVE. . . . . . . . . =',i10/,
1618 & 5x,'NEGATIVE FAILURE MOMENT . . . . . . . .=',1pg20.13/,
1619 & 5x,'POSITIVE FAILURE MOMENT . . . . . . . .=',1pg20.13/)
1620 1833 FORMAT(
1621 & 5x,a,/,
1622 & 5x,'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
1623 & 5x,'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
1624 & 5x,'FUNCTION IDENTIFIER FOR LOADING ',/,
1625 & 5x,'MOMENT-ROTATION CURVE . . . . . . . . .=',i10/,
1626 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1627 & 5x,'FUNCTION IDENTIFIER FOR UNLOADING ',/,
1628 & 5x,'MOMENT-ROTATION CURVE (H=4,5,7). . . . =',i10/,
1629 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1630 & 5x,'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1631 & 5x,'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
1632 & 5x,'4:KINEMATIC 5:UNCOUPLED NL (UN/RE)LOADING',/,
1633 & 5x,'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1634 & 5x,'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1635 & 5x,'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1636 & 5x,'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1637 & 5x,'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1638 & 5x,'DYNAMIC AMPLIFICATION FACTOR GF3 . . .=',1pg20.13/,
1639 & 5x,'FUNCTION IDENTIFIER FOR ',/,
1640 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1641 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1642 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1643 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1644 & 5x,'SCALE STIFFNESS CURVE. . . . . . . . . =',i10/,
1645 & 5x,'FAILURE ENERGY. . . . . . . . . . . . .=',1pg20.13/)
1646 1842 FORMAT(
1647 & 5x,a,/,
1648 & 5x,'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
1649 & 5x,'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
1650 & 5x,'FUNCTION IDENTIFIER FOR LOADING '
1651 & 5x,'MOMENT-ROTATION CURVE . . . . . . . . .=',i10/,
1652 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1653 & 5x,'PERMANENT ROT./MAX. ROT. CURVE (H=5). .=',i10/,
1654 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1655 & 5x,'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1656 & 5x,'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
1657 & 5x,'4:KINEMATIC 5:UNCOUPLED NL (UN/RE)LOADING',/,
1658 & 5x,'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1659 & 5x,'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1660 & 5x,'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1661 & 5x,'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1662 & 5x,'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1663 & 5x,'DYNAMIC AMPLIFICATION FACTOR GF3 . . .=',1pg20.13/,
1664 & 5x,'FUNCTION IDENTIFIER FOR ',/,
1665 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10
1666 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1667 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1668 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1669 & 5x,'SCALE STIFFNESS CURVE. . . . . . . . . =',i10/,
1670 & 5x,'NEGATIVE FAILURE MOMENT . . . . . . . .=',1pg20.13/,
1671 & 5x,'POSITIVE FAILURE MOMENT . . . . . . . .=',1pg20.13/)
1672 1843 FORMAT(
1673 & 5x,a,/,
1674 & 5x,'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
1675 & 5x,'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
1676 & 5x,'FUNCTION IDENTIFIER FOR LOADING ',/,
1677 & 5x,'MOMENT-ROTATION CURVE . . . . . . . . .=',i10/,
1678 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1679 & 5x,'PERMANENT ROT./MAX. ROT. CURVE (H=5). .=',i10/,
1680 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1681 & 5x,'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1682 & 5x,'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
1683 & 5x,'4:KINEMATIC 5:UNCOUPLED NL (UN/RE)LOADING',/,
1684 & 5x,'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1685 & 5x,'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1686 & 5x,'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1687 & 5x,'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1688 & 5x,'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1689 & 5x,'DYNAMIC AMPLIFICATION FACTOR GF3 . . .=',1pg20.13/,
1690 & 5x,'FUNCTION IDENTIFIER FOR ',/,
1691 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1692 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1693 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1694 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1695 & 5x,'SCALE STIFNESS CURVE. . . . . . . . . .=',i10/,
1696 & 5x,'FAILURE ENERGY. . . . . . . . . . . . .=',1pg20.13/)
1697 1850 FORMAT(
1698 & 5x,'TRANSL. REF. DEFORMATION VELOCITY . . .=',1pg20.13/,
1699 & 5x,'ROT. REF. DEFORMATION VELOCITY. . . . .=',1pg20.13/,
1700 & 5x,'C1 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/,
1701 & 5x,'C2 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/,
1702 & 5x,'C3 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/,
1703 & 5x,'C4 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/,
1704 & 5x,'C5 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/,
1705 & 5x,'C6 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/,
1706 & 5x,'N1 EXPONENT . . . . . . . . . . . . . .=',1pg20.13/,
1707 & 5x,'N2 EXPONENT . . . . . . . . . . . . . .=',1pg20.13/,
1708 & 5x,'N3 EXPONENT . . . . . . . . . . . . . .=',1pg20.13/,
1709 & 5x,'N4 EXPONENT . . . . . . . . . . . . . .=',1pg20.13/,
1710 & 5x,'N5 EXPONENT . . . . . . . . . . . . . .=',1pg20.13/,
1711 & 5x,'N6 EXPONENT . . . . . . . . . . . . . .=',1pg20.13/,
1712 & 5x,'A1 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/,
1713 & 5x,'A2 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/,
1714 & 5x,'A3 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/,
1715 & 5x,'A4 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/,
1716 & 5x,'A5 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/,
1717 & 5x,'A6 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/,
1718 & 5x,'B1 EXPONENT . . . . . . . . . . . . . .=',1pg20.13/,
1719 & 5x,'B2 EXPONENT . . . . . . . . . . . . . .=',1pg20.13/,
1720 & 5x,'B3 EXPONENT . . . . . . . . . . . . . .=',1pg20.13/,
1721 & 5x,'B4 EXPONENT . . . . . . . . . . . . . .=',1pg20.13/,
1722 & 5x,'B5 EXPONENT . . . . . . . . . . . . . .=',1pg20.13/,
1723 & 5x,'B6 EXPONENT . . . . . . . . . . . . . .=',1pg20.13/)
1724 1900 FORMAT(
1725 & 5x,'SMOOTH STRAIN RATE OPTION . . .. . . . =',i10/,
1726 & 5x,'STRAIN RATE CUTTING FREQUENCY .. . . . =',1pg20.13/)
1727
1728 RETURN
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)
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)