40
46
47
48
49#include "implicit_f.inc"
50
51
52
53#include "units_c.inc"
54#include "param_c.inc"
55#include "com04_c.inc"
56#include "sphcom.inc"
57#include "tablen_c.inc"
58
59
60
61 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
62 INTEGER IGEO(NPROPGI),ISKN(LISKN,*),IGTYP,IG,SUB_ID
63
65 . geo(npropg)
66 CHARACTER(LEN=NCHARTITLE) :: IDTITL
67 TYPE(PROP_TAG_) , DIMENSION(0:MAXPROP) :: PROP_TAG
68 TYPE(SUBMODEL_DATA),INTENT(IN)::LSUBMODEL(*)
69
70
71
72 INTEGER J, IFUNC, IFUNC2,IFUNC3,IECROU, IFV, ISK,
73 . ISENS,IFL,IFAIL,ILENG,IFAIL2,K
74
76 . a, b, d, e, f, xm, xin, xk, xc, dn, dx, fwv,lscale, fscale,
77 . vt0, vr0, cc(6), cn(6), xa(6), xb(6),gf3,pun,a_unit,d_unit,f_unit,
78 . e_unit,lscale_unit,gf3_unit,crit_scale(4),vr0_unit,vt0_unit
79 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
80
81C
82 pun = em01
83 fwv = zero
84 ifail2 = 0
85
86 is_encrypted = .false.
87 is_available = .false.
88
89 igeo(1)=ig
90 igeo(11)=igtyp
91 geo(12) =igtyp+pun
92
93
94
95
97
98
99
100 CALL hm_get_intv(
'SKEW_CSID',isk,is_available,lsubmodel)
101 IF(isk == 0 .AND. sub_id /= 0 ) isk = lsubmodel(sub_id)%SKEW
102 CALL hm_get_intv(
'ISENSOR',isens,is_available,lsubmodel)
103 CALL hm_get_intv(
'ISFLAG',ifl,is_available,lsubmodel)
104 CALL hm_get_intv(
'Ifail',ifail,is_available,lsubmodel)
105 CALL hm_get_intv(
'Ileng',ileng,is_available,lsubmodel)
107
108
109
111 CALL hm_get_floatv(
'INERTIA',xin,is_available,lsubmodel,unitab)
112
113 IF (ifl == 1) isens=-isens
114
116 IF(isk == iskn(4,k+1)) THEN
117 isk=k+1
118 GO TO 100
119 ENDIF
120 ENDDO
121 CALL ancmsg(msgid=137,anmode=aninfo,msgtype=msgerror,
122 . c1='PROPERTY',
123 . c2='PROPERTY',
124 . i1=igeo(1),i2=isk,c3=idtitl)
125100 CONTINUE
126
127 igeo(3)=isens
128 geo(79)=ifail
129 geo(80)=ifl
130 geo(93)=ileng
131 geo(95)=ifail2
132 geo(1) =xm
133 geo(2) =isk+em01
134 geo(8) =6
135 geo(9) =xin
136 igeo(2)=isk
137
138 IF(is_encrypted)THEN
139 WRITE(iout,1000)ig
140 1000 FORMAT(
141 & 5x,'SPRING PROPERTY SET'/,
142 & 5x,'-------------------'/,
143 & 5x,'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
144 & 5x,'CONFIDENTIAL DATA'//)
145 ELSE
146 WRITE(iout,1801)ig,xm,xin,iskn(4,isk),abs(isens),ifl,ileng
147 ENDIF
148
149
150
151!-------------------------------------------------------
152
153
154
155
156
157
158
159 CALL hm_get_intv(
'FUN_A1',ifunc,is_available,lsubmodel)
160 CALL hm_get_intv(
'HFLAG1',iecrou,is_available,lsubmodel)
161 CALL hm_get_intv(
'FUN_B1',ifv,is_available,lsubmodel)
162 CALL hm_get_intv(
'FUN_C1',ifunc2,is_available,lsubmodel)
163 CALL hm_get_intv(
'FUN_D1',ifunc3,is_available,lsubmodel)
164
165
166
167 CALL hm_get_floatv(
'STIFF1',xk,is_available,lsubmodel,unitab)
169 CALL hm_get_floatv(
'Acoeft1',a,is_available,lsubmodel,unitab)
170 CALL hm_get_floatv(
'Bcoeft1',b,is_available,lsubmodel,unitab)
171 CALL hm_get_floatv(
'Dcoeft1',d,is_available,lsubmodel,unitab)
172 CALL hm_get_floatv(
'MIN_RUP1',dn,is_available,lsubmodel,unitab)
173 CALL hm_get_floatv(
'MAX_RUP1',dx,is_available,lsubmodel,unitab)
174 CALL hm_get_floatv(
'Prop_Tens_F',f,is_available,lsubmodel,unitab)
175 CALL hm_get_floatv(
'Prop_Tens_E',e,is_available,lsubmodel,unitab)
176 CALL hm_get_floatv(
'scale1',lscale,is_available,lsubmodel,unitab)
177 CALL hm_get_floatv(
'F_EMC_a',gf3,is_available,lsubmodel,unitab)
178
179
187
188
189 IF(iecrou==4.AND.(ifunc==0.OR.ifunc2==0))THEN
191 . msgtype=msgerror,
192 . anmode=aninfo_blind_1,
193 . i1=ig,
194 . c1=idtitl)
195 ENDIF
196 IF(iecrou==4 .AND. isk==zero)THEN
198 . msgtype=msgerror,
199 . anmode=aninfo_blind_1,
200 . i1=ig,
201 . c1=idtitl)
202 ENDIF
203 IF(iecrou==5.AND.(ifunc==0.OR.ifunc2==0))THEN
205 . msgtype=msgerror,
206 . anmode=aninfo_blind_1,
207 . i1=ig,
208 . c1=idtitl)
209 ENDIF
210 IF(iecrou==6.AND.(ifunc==0.OR.ifunc2==0))THEN
212 . msgtype=msgerror,
213 . anmode=aninfo_blind_1,
214 . i1=ig,
215 . c1=idtitl)
216 ENDIF
217 IF(iecrou==7.AND.ifunc==0)THEN
219 . msgtype=msgerror,
220 . anmode=aninfo_blind_1,
221 . i1=ig,
222 . c1=idtitl)
223
224 ELSEIF(iecrou==7.AND.ifunc2==0)THEN
226 . msgtype=msgwarning,
227 . anmode=aninfo_blind_1,
228 . i1=ig,
229 . c1=idtitl,
230 . i2=iecrou)
231 iecrou = 2
232 ENDIF
233
234
235
236
237
238
239
240 IF (ifunc == 0 .AND. a /= zero .AND. a /= one) THEN
242 . msgtype=msgwarning,
243 . anmode=aninfo_blind_1,
244 . i1=ig,
245 . c1=idtitl)
246 ENDIF
247
248 IF (a == zero) a = one * a_unit
249 IF (d == zero) d = one * d_unit
250 IF (e == zero) e = one * e_unit
251 IF (f == zero) f = one * f_unit
252 IF (lscale == zero) lscale = one * lscale_unit
253 IF (gf3 == zero) gf3 = one * gf3_unit
254 IF (ifunc == 0) THEN
255 a = one
256 b = zero
257 e = zero
258 ENDIF
259
260 IF ((ifail2 == 0).OR.(ifail2 ==1)) THEN
261 dn = dn * lscale / crit_scale(1)
262 dx = dx * lscale / crit_scale(1)
263 ENDIF
264 IF (dn == zero) dn=-ep30* crit_scale(1)
265 IF (dx == zero) dx= ep30* crit_scale(1)
266 IF ((ifail2 == 0).OR.(ifail2 ==1)) crit_scale(1) = lscale / crit_scale(1)
267
268 geo(3) =xk / a
269 geo(4) =xc
270 geo(41)=a
271 geo(42)=b
272 geo(43)=d
273 geo(40)=e
274 geo(132)= gf3
275 geo(44)=one/f
276 geo(39)=one/lscale
277 geo(65)=dn
278 geo(66)=dx
279
280 IF (iecrou == 6) THEN
281 geo(25) = 6
282 ENDIF
283
284 igeo(101) =iecrou
285 igeo(102) =ifunc
286 igeo(103) =ifunc2
287 igeo(104) =ifv
288 igeo(119) = ifunc3
289
290 IF(.NOT.is_encrypted)THEN
291 IF (iecrou /= 5) THEN
292 IF (ifail2 == 3) THEN
293 WRITE(iout,1813)'TENSION',xk,xc,ifunc,lscale,ifunc2,f,iecrou,
294 . a,b,d,e,gf3,ifv,ifunc3,dx
295 ELSEIF (ifail2 == 2) THEN
296 WRITE(iout,1812)'TENSION',xk,xc,ifunc,lscale,ifunc2,f,iecrou,
297 . a,b,d,e,gf3,ifv,ifunc3,dn,dx
298 ELSE
299 WRITE(iout,1810)'TENSION',xk,xc,ifunc,lscale
300 . a,b,d,e,gf3,ifv,ifunc3,dn,dx
301 ENDIF
302 ELSE
303 IF (ifail2 == 3) THEN
304 WRITE(iout,1823)'tension',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
305 . A,B,D,E,GF3,IFV,IFUNC3,DX
306 ELSEIF (IFAIL2 == 2) THEN
307 WRITE(IOUT,1822)'tension',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
308 . A,B,D,E,GF3,IFV,IFUNC3,DN,DX
309 ELSE
310 WRITE(IOUT,1820)'tension',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
311 . A,B,D,E,GF3,IFV,IFUNC3,DN,DX
312 ENDIF
313 ENDIF
314 ENDIF
315
316!-----------------
317 ! Cisaillement
318!-----------------
319
320
321
322 CALL HM_GET_INTV('fun_a2',IFUNC,IS_AVAILABLE,LSUBMODEL)
323 CALL HM_GET_INTV('hflag2',IECROU,IS_AVAILABLE,LSUBMODEL)
324 CALL HM_GET_INTV('fun_b2',IFV,IS_AVAILABLE,LSUBMODEL)
325 CALL HM_GET_INTV('fun_c2',IFUNC2,IS_AVAILABLE,LSUBMODEL)
326 CALL HM_GET_INTV('fun_d2',IFUNC3,IS_AVAILABLE,LSUBMODEL)
327
328
329
330 CALL HM_GET_FLOATV('stiff2',XK,IS_AVAILABLE,LSUBMODEL,UNITAB)
331 CALL HM_GET_FLOATV('damp2',XC,IS_AVAILABLE,LSUBMODEL,UNITAB)
332 CALL HM_GET_FLOATV('acoeft2',A,IS_AVAILABLE,LSUBMODEL,UNITAB)
333 CALL HM_GET_FLOATV('bcoeft2',B,IS_AVAILABLE,LSUBMODEL,UNITAB)
334 CALL HM_GET_FLOATV('dcoeft2',D,IS_AVAILABLE,LSUBMODEL,UNITAB)
335 CALL HM_GET_FLOATV('min_rup2',DN,IS_AVAILABLE,LSUBMODEL,UNITAB)
336 CALL HM_GET_FLOATV('max_rup2',DX,IS_AVAILABLE,LSUBMODEL,UNITAB)
337 CALL HM_GET_FLOATV('prop_shear_f',F,IS_AVAILABLE,LSUBMODEL,UNITAB)
338 CALL HM_GET_FLOATV('prop_shear_e',E,IS_AVAILABLE,LSUBMODEL,UNITAB)
339 CALL HM_GET_FLOATV('scale2',LSCALE,IS_AVAILABLE,LSUBMODEL,UNITAB)
340 CALL HM_GET_FLOATV('f_emc_n',GF3,IS_AVAILABLE,LSUBMODEL,UNITAB)
341
342 CALL HM_GET_FLOATV_DIM('min_rup2',CRIT_SCALE(2),IS_AVAILABLE,LSUBMODEL,UNITAB)
343
344.AND..AND..AND. IF(IECROU/=0 IECROU/=1 IECROU/=5
345.AND. . IECROU/=6 IECROU/=7) THEN
346 CALL ANCMSG(MSGID=905,
347 . MSGTYPE=MSGERROR,
348 . ANMODE=ANINFO_BLIND_1,
349 . I1=IG,
350 . C1=IDTITL)
351 ENDIF
352.AND..AND.! IF(IECROU>=1 IFUNC/=0 XK == ZERO)THEN
353! CALL ANCMSG(MSGID=230,
354! . MSGTYPE=MSGERROR,
355! . ANMODE=ANINFO_BLIND_1,
356! . I1=IG,
357! . C1=IDTITL)
358! ENDIF
359.AND..OR. IF(IECROU==5(IFUNC==0IFUNC2==0))THEN
360 CALL ANCMSG(MSGID=231,
361 . MSGTYPE=MSGERROR,
362 . ANMODE=ANINFO_BLIND_1,
363 . I1=IG,
364 . C1=IDTITL)
365 ENDIF
366.AND..OR. IF(IECROU==6(IFUNC==0IFUNC2==0))THEN
367 CALL ANCMSG(MSGID=1057,
368 . MSGTYPE=MSGERROR,
369 . ANMODE=ANINFO_BLIND_1,
370 . I1=IG,
371 . C1=IDTITL)
372 ENDIF
373.AND. IF(IECROU==7IFUNC==0)THEN
374 CALL ANCMSG(MSGID=1058,
375 . MSGTYPE=MSGERROR,
376 . ANMODE=ANINFO_BLIND_1,
377 . I1=IG,
378 . C1=IDTITL)
379
380.AND. ELSEIF(IECROU==7IFUNC2==0)THEN
381 CALL ANCMSG(MSGID=1059,
382 . MSGTYPE=MSGWARNING,
383 . ANMODE=ANINFO_BLIND_1,
384 . I1=IG,
385 . C1=IDTITL,
386 . I2=IECROU)
387 IECROU = 2
388 ENDIF
389.AND..AND. IF (IFUNC == 0 A /= ZERO A /= ONE) THEN
390 CALL ANCMSG(MSGID=663,
391 . MSGTYPE=MSGWARNING,
392 . ANMODE=ANINFO_BLIND_1,
393 . I1=IG,
394 . C1=IDTITL)
395 ENDIF
396
397 IF (A == ZERO) A = ONE * A_UNIT
398 IF (D == ZERO) D = ONE * D_UNIT
399 IF (E == ZERO) E = ONE * E_UNIT
400 IF (F == ZERO) F = ONE * F_UNIT
401 IF (LSCALE == ZERO) LSCALE = ONE * LSCALE_UNIT
402 IF (GF3 == ZERO) GF3 = ONE * GF3_UNIT
403 IF (IFUNC == 0) THEN
404 A = ONE
405 B = ZERO
406 E = ZERO
407 ENDIF
408
409.OR. IF ((IFAIL2 == 0)(IFAIL2 ==1)) THEN
410 DN = DN * LSCALE / CRIT_SCALE(2)
411 DX = DX * LSCALE / CRIT_SCALE(2)
412 ENDIF
413 IF (DN == ZERO) DN=-EP30* CRIT_SCALE(2)
414 IF (DX == ZERO) DX= EP30* CRIT_SCALE(2)
415.OR. IF ((IFAIL2 == 0)(IFAIL2 ==1)) CRIT_SCALE(1) = LSCALE / CRIT_SCALE(2)
416
417 GEO(10) =XK / A
418 GEO(11) =XC
419 GEO(45) =A
420 GEO(46) =B
421 GEO(47) =D
422 GEO(180)=E
423 GEO(133)= GF3
424 GEO(48) =ONE/F
425 GEO(174)=ONE/LSCALE
426 GEO(67) =DN
427 GEO(68) =DX
428
429 IF (IECROU == 6) THEN
430 GEO(25) = 6
431 ENDIF
432
433 IGEO(105) =IECROU
434 IGEO(106) =IFUNC
435 IGEO(107) =IFUNC2
436 IGEO(108) =IFV
437 IGEO(120) = IFUNC3
438
439.NOT. IF(IS_ENCRYPTED)THEN
440 IF (IECROU/=5) THEN
441 IF (IFAIL2==3) THEN
442 WRITE(IOUT,1813)'y shear',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
443 . A,B,D,E,GF3,IFV,IFUNC3,DX
444 ELSEIF (IFAIL2==2) THEN
445 WRITE(IOUT,1812)'y shear',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
446 . A,B,D,E,GF3,IFV,IFUNC3,DN,DX
447 ELSE
448 WRITE(IOUT,1810)'y shear',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
449 . A,B,D,E,GF3,IFV,IFUNC3,DN,DX
450 ENDIF
451 ELSE
452 IF (IFAIL2==3) THEN
453 WRITE(IOUT,1823)'y shear',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
454 . A,B,D,E,GF3,IFV,IFUNC3,DX
455 ELSEIF (IFAIL2==2) THEN
456 WRITE(IOUT,1822)'y shear',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
457 . A,B,D,E,GF3,IFV,IFUNC3,DN,DX
458 ELSE
459 WRITE(IOUT,1820)'y shear',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
460 . A,B,D,E,GF3,IFV,IFUNC3,DN,DX
461 ENDIF
462 ENDIF
463 ENDIF
464
465!-------------------------------------------------------
466! Rotations
467!-------------------------------------------------------
468
469!-----------------
470 ! Torsion
471!-----------------
472
473
474
475 CALL HM_GET_INTV('fun_a3',IFUNC,IS_AVAILABLE,LSUBMODEL)
476 CALL HM_GET_INTV('hflag3',IECROU,IS_AVAILABLE,LSUBMODEL)
477 CALL HM_GET_INTV('fun_b3',IFV,IS_AVAILABLE,LSUBMODEL)
478 CALL HM_GET_INTV('fun_c3',IFUNC2,IS_AVAILABLE,LSUBMODEL)
479 CALL HM_GET_INTV('fun_d3',IFUNC3,IS_AVAILABLE,LSUBMODEL)
480
481
482
483 CALL HM_GET_FLOATV('stiff3',XK,IS_AVAILABLE,LSUBMODEL,UNITAB)
484 CALL HM_GET_FLOATV('damp3',XC,IS_AVAILABLE,LSUBMODEL,UNITAB)
485 CALL HM_GET_FLOATV('acoeft3',A,IS_AVAILABLE,LSUBMODEL,UNITAB)
486 CALL HM_GET_FLOATV('bcoeft3',B,IS_AVAILABLE,LSUBMODEL,UNITAB)
487 CALL HM_GET_FLOATV('dcoeft3',D,IS_AVAILABLE,LSUBMODEL,UNITAB)
488 CALL HM_GET_FLOATV('min_rup3',DN,IS_AVAILABLE,LSUBMODEL,UNITAB)
489 CALL HM_GET_FLOATV('max_rup3',DX,IS_AVAILABLE,LSUBMODEL,UNITAB)
490 CALL HM_GET_FLOATV('prop_tor_f',F,IS_AVAILABLE,LSUBMODEL,UNITAB)
491 CALL HM_GET_FLOATV('prop_tor_e',E,IS_AVAILABLE,LSUBMODEL,UNITAB)
492 CALL HM_GET_FLOATV('scale3',LSCALE,IS_AVAILABLE,LSUBMODEL,UNITAB)
493 CALL HM_GET_FLOATV('f_emc_b0',GF3,IS_AVAILABLE,LSUBMODEL,UNITAB)
494 !units for default values
495 CALL HM_GET_FLOATV_DIM('acoeft3',A_UNIT,IS_AVAILABLE,LSUBMODEL,UNITAB)
496 CALL HM_GET_FLOATV_DIM('dcoeft3',D_UNIT,IS_AVAILABLE,LSUBMODEL,UNITAB)
497 CALL HM_GET_FLOATV_DIM('prop_tor_f',F_UNIT,IS_AVAILABLE,LSUBMODEL,UNITAB)
498 CALL HM_GET_FLOATV_DIM('prop_tor_e',E_UNIT,IS_AVAILABLE,LSUBMODEL,UNITAB)
499 CALL HM_GET_FLOATV_DIM('scale3',LSCALE_UNIT,IS_AVAILABLE,LSUBMODEL,UNITAB)
500 CALL HM_GET_FLOATV_DIM('f_emc_b0',GF3_UNIT,IS_AVAILABLE,LSUBMODEL,UNITAB)
501 CALL HM_GET_FLOATV_DIM('min_rup3',CRIT_SCALE(3),IS_AVAILABLE,LSUBMODEL,UNITAB)
502
503
504.AND..AND.! IF(IFUNC/=0IECROU>=1XK==ZERO)THEN
505! CALL ANCMSG(MSGID=230,
506! . MSGTYPE=MSGERROR,
507! . ANMODE=ANINFO_BLIND_1,
508! . I1=IG,
509! . C1=IDTITL)
510! ENDIF
511.AND..OR. IF(IECROU==4(IFUNC==0IFUNC2==0))THEN
512 CALL ANCMSG(MSGID=231,
513 . MSGTYPE=MSGERROR,
514 . ANMODE=ANINFO_BLIND_1,
515 . I1=IG,
516 . C1=IDTITL)
517 ENDIF
518.AND. IF(IECROU==4ISK==ZERO)THEN
519 CALL ANCMSG(MSGID=230,
520 . MSGTYPE=MSGERROR,
521 . ANMODE=ANINFO_BLIND_1,
522 . I1=IG,
523 . C1=IDTITL)
524 ENDIF
525.AND..OR. IF(IECROU==5(IFUNC==0IFUNC2==0))THEN
526 CALL ANCMSG(MSGID=231,
527 . MSGTYPE=MSGERROR,
528 . ANMODE=ANINFO_BLIND_1,
529 . I1=IG,
530 . C1=IDTITL)
531 ENDIF
532.AND..OR. IF(IECROU==6(IFUNC==0IFUNC2==0))THEN
533 CALL ANCMSG(MSGID=1057,
534 . MSGTYPE=MSGERROR,
535 . ANMODE=ANINFO_BLIND_1,
536 . I1=IG,
537 . C1=IDTITL)
538 ENDIF
539.AND. IF(IECROU==7IFUNC==0)THEN
540 CALL ANCMSG(MSGID=1058,
541 . MSGTYPE=MSGERROR,
542 . ANMODE=ANINFO_BLIND_1,
543 . I1=IG,
544 . C1=IDTITL)
545
546.AND. ELSEIF(IECROU==7IFUNC2==0)THEN
547 CALL ANCMSG(MSGID=1059,
548 . MSGTYPE=MSGWARNING,
549 . ANMODE=ANINFO_BLIND_1,
550 . I1=IG,
551 . C1=IDTITL,
552 . I2=IECROU)
553 IECROU = 2
554 ENDIF
555.AND..AND. IF (IFUNC == 0 A /= ZERO A /= ONE) THEN
556 CALL ANCMSG(MSGID=663,
557 . MSGTYPE=MSGWARNING,
558 . ANMODE=ANINFO_BLIND_1,
559 . I1=IG,
560 . C1=IDTITL)
561 ENDIF
562
563 IF (A == ZERO) A = ONE * A_UNIT
564 IF (D == ZERO) D = ONE * D_UNIT
565 IF (E == ZERO) E = ONE * E_UNIT
566 IF (F == ZERO) F = ONE * F_UNIT
567 IF (LSCALE == ZERO) LSCALE = ONE * LSCALE_UNIT
568 IF (GF3 == ZERO) GF3 = ONE * GF3_UNIT
569 IF (IFUNC == 0) THEN
570 A = ONE
571 B = ZERO
572 E = ZERO
573 ENDIF
574
575.OR. IF ((IFAIL2 == 0)(IFAIL2 ==1)) THEN
576 DN = DN * LSCALE / CRIT_SCALE(3)
577 DX = DX * LSCALE / CRIT_SCALE(3)
578 ENDIF
579 IF (DN == ZERO) DN=-EP30* CRIT_SCALE(3)
580 IF (DX == ZERO) DX= EP30* CRIT_SCALE(3)
581.OR. IF ((IFAIL2 == 0)(IFAIL2 ==1)) CRIT_SCALE(3) = LSCALE / CRIT_SCALE(3)
582
583 GEO(19) =XK / A
584 GEO(20) =XC
585 GEO(53) =A
586 GEO(54) =B
587 GEO(55) =D
588 GEO(182)=E
589 GEO(135)= GF3
590 GEO(56) =ONE/F
591 GEO(176)=ONE/LSCALE
592 GEO(71) =DN
593 GEO(72) =DX
594
595 IF (IECROU == 6) THEN
596 GEO(25) = 6
597 ENDIF
598
599 IGEO(109) =IECROU
600 IGEO(110) =IFUNC
601 IGEO(111) =IFUNC2
602 IGEO(112) =IFV
603 IGEO(121) = IFUNC3
604
605.NOT. IF(IS_ENCRYPTED)THEN
606 IF (IECROU/=5) THEN
607 IF (IFAIL2==3) THEN
608 WRITE(IOUT,1833)'torsion',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
609 . A,B,D,E,GF3,IFV,IFUNC3,DX
610 ELSEIF (IFAIL2==2) THEN
611 WRITE(IOUT,1832)'torsion',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
612 . A,B,D,E,GF3,IFV,IFUNC3,DN,DX
613 ELSE
614 WRITE(IOUT,1830)'torsion',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
615 . A,B,D,E,GF3,IFV,IFUNC3,DN,DX
616 ENDIF
617 ELSE
618 IF (IFAIL2==3) THEN
619 WRITE(IOUT,1843)'torsion',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
620 . A,B,D,E,GF3,IFV,IFUNC3,DX
621 ELSEIF (IFAIL2==2) THEN
622 WRITE(IOUT,1842)'torsion',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
623 . A,B,D,E,GF3,IFV,IFUNC3,DN,DX
624 ELSE
625 WRITE(IOUT,1840)'torsion',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
626 . A,B,D,E,GF3,IFV,IFUNC3,DN,DX
627 ENDIF
628 ENDIF
629 ENDIF
630
631!-----------------
632 ! Rotation Y
633!-----------------
634
635
636
637 CALL HM_GET_INTV('fun_a4',IFUNC,IS_AVAILABLE,LSUBMODEL)
638 CALL HM_GET_INTV('hflag4',IECROU,IS_AVAILABLE,LSUBMODEL)
639 CALL HM_GET_INTV('fun_b4',IFV,IS_AVAILABLE,LSUBMODEL)
640 CALL HM_GET_INTV('fun_c4',IFUNC2,IS_AVAILABLE,LSUBMODEL)
641 CALL HM_GET_INTV('fun_d4',IFUNC3,IS_AVAILABLE,LSUBMODEL)
642
643
644
645 CALL HM_GET_FLOATV('stiff4',XK,IS_AVAILABLE,LSUBMODEL,UNITAB)
646 CALL HM_GET_FLOATV('damp4',XC,IS_AVAILABLE,LSUBMODEL,UNITAB)
647 CALL HM_GET_FLOATV('acoeft4',A,IS_AVAILABLE,LSUBMODEL,UNITAB)
648 CALL HM_GET_FLOATV('bcoeft4',B,IS_AVAILABLE,LSUBMODEL,UNITAB)
649 CALL HM_GET_FLOATV('dcoeft4',D,IS_AVAILABLE,LSUBMODEL,UNITAB)
650 CALL HM_GET_FLOATV('min_rup4',DN,IS_AVAILABLE,LSUBMODEL,UNITAB)
651 CALL HM_GET_FLOATV('max_rup4',DX,IS_AVAILABLE,LSUBMODEL,UNITAB)
652 CALL HM_GET_FLOATV('prop_bend_f',F,IS_AVAILABLE,LSUBMODEL,UNITAB)
653 CALL HM_GET_FLOATV('prop_bend_e',E,IS_AVAILABLE,LSUBMODEL,UNITAB)
654 CALL HM_GET_FLOATV('scale4',LSCALE,IS_AVAILABLE,LSUBMODEL,UNITAB)
655 CALL HM_GET_FLOATV('f_emc_c',GF3,IS_AVAILABLE,LSUBMODEL,UNITAB)
656 !units for default values
657 CALL HM_GET_FLOATV_DIM('min_rup4',CRIT_SCALE(4),IS_AVAILABLE,LSUBMODEL,UNITAB)
658
659.AND..AND. IF(IECROU/=0 IECROU/=1 IECROU/=5) THEN
660 CALL ANCMSG(MSGID=513,
661 . MSGTYPE=MSGERROR,
662 . ANMODE=ANINFO_BLIND_1,
663 . I1=IG,
664 . C1=IDTITL,I2=IECROU)
665 ENDIF
666.AND..AND.! IF(IECROU>=1 IFUNC/=0 XK == ZERO)THEN
667! CALL ANCMSG(MSGID=230,
668! . MSGTYPE=MSGERROR,
669! . ANMODE=ANINFO_BLIND_1,
670! . I1=IG,
671! . C1=IDTITL)
672! ENDIF
673.AND..OR. IF(IECROU==5(IFUNC==0IFUNC2==0))THEN
674 CALL ANCMSG(MSGID=231,
675 . MSGTYPE=MSGERROR,
676 . ANMODE=ANINFO_BLIND_1,
677 . I1=IG,
678 . C1=IDTITL)
679 ENDIF
680.AND..OR. IF(IECROU==6(IFUNC==0IFUNC2==0))THEN
681 CALL ANCMSG(MSGID=1057,
682 . MSGTYPE=MSGERROR,
683 . ANMODE=ANINFO_BLIND_1,
684 . I1=IG,
685 . C1=IDTITL)
686 ENDIF
687.AND. IF(IECROU==7IFUNC==0)THEN
688 CALL ANCMSG(MSGID=1058,
689 . MSGTYPE=MSGERROR,
690 . ANMODE=ANINFO_BLIND_1,
691 . I1=IG,
692 . C1=IDTITL)
693
694.AND. ELSEIF(IECROU==7IFUNC2==0)THEN
695 CALL ANCMSG(MSGID=1059,
696 . MSGTYPE=MSGWARNING,
697 . ANMODE=ANINFO_BLIND_1,
698 . I1=IG,
699 . C1=IDTITL,
700 . I2=IECROU)
701 IECROU = 2
702 ENDIF
703.AND..AND. IF (IFUNC == 0 A /= ZERO A /= ONE) THEN
704 CALL ANCMSG(MSGID=663,
705 . MSGTYPE=MSGWARNING,
706 . ANMODE=ANINFO_BLIND_1,
707 . I1=IG,
708 . C1=IDTITL)
709 ENDIF
710
711 IF (A == ZERO) A = ONE * A_UNIT
712 IF (D == ZERO) D = ONE * D_UNIT
713 IF (E == ZERO) E = ONE * E_UNIT
714 IF (F == ZERO) F = ONE * F_UNIT
715 IF (LSCALE == ZERO) LSCALE = ONE * LSCALE_UNIT
716 IF (GF3 == ZERO) GF3 = ONE * GF3_UNIT
717 IF (IFUNC == 0) THEN
718 A = ONE
719 B = ZERO
720 E = ZERO
721 ENDIF
722
723.OR. IF ((IFAIL2 == 0)(IFAIL2 ==1)) THEN
724 DN = DN * LSCALE / CRIT_SCALE(4)
725 DX = DX * LSCALE / CRIT_SCALE(4)
726 ENDIF
727 IF (DN == ZERO) DN=-EP30* CRIT_SCALE(4)
728 IF (DX == ZERO) DX= EP30* CRIT_SCALE(4)
729.OR. IF ((IFAIL2 == 0)(IFAIL2 ==1)) CRIT_SCALE(4) = LSCALE / CRIT_SCALE(4)
730
731 GEO(23) =XK / A
732 GEO(24) =XC
733 GEO(57) =A
734 GEO(58) =B
735 GEO(59) =D
736 GEO(183)=E
737 GEO(136)= GF3
738 GEO(60) =ONE/F
739 GEO(177)=ONE/LSCALE
740 GEO(73)=DN
741 GEO(74)=DX
742
743 IF (IECROU == 6) THEN
744 GEO(25) = 6
745 ENDIF
746
747 IGEO(113) =IECROU
748 IGEO(114) =IFUNC
749 IGEO(115) =IFUNC2
750 IGEO(116) =IFV
751 IGEO(122) =IFUNC3
752
753.NOT. IF(IS_ENCRYPTED)THEN
754 IF (IECROU/=5) THEN
755 IF (IFAIL2==3) THEN
756 WRITE(IOUT,1833)'flexion',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
757 . A,B,D,E,GF3,IFV,IFUNC3,DX
758 ELSEIF (IFAIL2==2) THEN
759 WRITE(IOUT,1832)'flexion',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
760 . A,B,D,E,GF3,IFV,IFUNC3,DN,DX
761 ELSE
762 WRITE(IOUT,1830)'flexion',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
763 . A,B,D,E,GF3,IFV,IFUNC3,DN,DX
764 ENDIF
765 ELSE
766 IF (IFAIL2==3) THEN
767 WRITE(IOUT,1843)'flexion',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
768 . A,B,D,E,GF3,IFV,IFUNC3,DX
769 ELSEIF (IFAIL2==2) THEN
770 WRITE(IOUT,1842)'flexion',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
771 . A,B,D,E,GF3,IFV,IFUNC3,DN,DX
772 ELSE
773 WRITE(IOUT,1840)'flexion',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
774 . A,B,D,E,GF3,IFV,IFUNC3,DN,DX
775 ENDIF
776 ENDIF
777 ENDIF
778
779!-------------------------------------------------------
780
781!-------------------------------------------------------
782
783 CC(1:4) = ZERO
784
785
786
787
788 CALL HM_GET_FLOATV('trans_vel0',VT0,IS_AVAILABLE,LSUBMODEL,UNITAB)
789 CALL HM_GET_FLOATV('rot_vel0',VR0,IS_AVAILABLE,LSUBMODEL,UNITAB)
790 CALL HM_GET_FLOATV('c1',CC(1),IS_AVAILABLE,LSUBMODEL,UNITAB)
791 CALL HM_GET_FLOATV('rel_vel_exp1',CN(1),IS_AVAILABLE,LSUBMODEL,UNITAB)
792 CALL HM_GET_FLOATV('alpha1',XA(1),IS_AVAILABLE,LSUBMODEL,UNITAB)
793 CALL HM_GET_FLOATV('beta1',XB(1),IS_AVAILABLE,LSUBMODEL,UNITAB)
794 CALL HM_GET_FLOATV('c2',CC(2),IS_AVAILABLE,LSUBMODEL,UNITAB)
795 CALL HM_GET_FLOATV('rel_vel_exp2',CN(2),IS_AVAILABLE,LSUBMODEL,UNITAB)
796 CALL HM_GET_FLOATV('alpha2',XA(2),IS_AVAILABLE,LSUBMODEL,UNITAB)
797 CALL HM_GET_FLOATV('beta2',XB(2),IS_AVAILABLE,LSUBMODEL,UNITAB)
798 CALL HM_GET_FLOATV('c3',CC(3),IS_AVAILABLE,LSUBMODEL,UNITAB)
799 CALL HM_GET_FLOATV('rel_vel_exp3',CN(3),IS_AVAILABLE,LSUBMODEL,UNITAB)
800 CALL HM_GET_FLOATV('alpha3',XA(3),IS_AVAILABLE,LSUBMODEL,UNITAB)
801 CALL HM_GET_FLOATV('beta3',XB(3),IS_AVAILABLE,LSUBMODEL,UNITAB)
802 CALL HM_GET_FLOATV('c4',CC(4),IS_AVAILABLE,LSUBMODEL,UNITAB)
803 CALL HM_GET_FLOATV('rel_vel_exp4',CN(4),IS_AVAILABLE,LSUBMODEL,UNITAB)
804 CALL HM_GET_FLOATV('alpha4',XA(4),IS_AVAILABLE,LSUBMODEL,UNITAB)
805 CALL HM_GET_FLOATV('beta4',XB(4),IS_AVAILABLE,LSUBMODEL,UNITAB)
806
807 !units for default values
808 CALL HM_GET_FLOATV_DIM('trans_vel0',VT0_UNIT,IS_AVAILABLE, LSUBMODEL, UNITAB)
809 CALL HM_GET_FLOATV_DIM('rot_vel0',VR0_UNIT,IS_AVAILABLE, LSUBMODEL, UNITAB)
810
811
812 IF (IFAIL2 > 0) THEN
813
814 DO J = 1,4
815 IF (CN(J) == ZERO) CN(J) = ONE
816 IF (XA(J) == ZERO) XA(J) = ONE
817 IF (XB(J) == ZERO) XB(J) = TWO
818 ENDDO
819
820.OR. IF ((IFAIL2 == 0)(IFAIL2 == 1)) THEN
821 DO J = 1,4
822 CC(J) = CC(J) * CRIT_SCALE(J)
823 ENDDO
824 ENDIF
825
826 ELSE
827
828 DO J = 1,4
829 CC(J) = ZERO
830 CN(J) = ONE
831 XA(J) = ONE
832 XB(J) = TWO
833 ENDDO
834 ENDIF
835
836 IF (VT0 == ZERO) VT0 = ONE * VT0_UNIT
837 IF (VR0 == ZERO) VR0 = ONE * VR0_UNIT
838
839.NOT. IF (IS_ENCRYPTED)THEN
840 WRITE(IOUT,1849) 'rupture',IFAIL,IFAIL2,VT0,VR0
841 IF (IFAIL == 0) THEN
842 WRITE(IOUT,1850) (CC(J),J=1,4),(CN(J),J=1,4)
843 ELSE
844 WRITE(IOUT,1851) (XA(J),J=1,4),(XB(J),J=1,4)
845 ENDIF
846 ENDIF
847
848 GEO(101) = VT0
849 GEO(102) = VR0
850 GEO(103) = CC(1)
851 GEO(104) = CC(2)
852 GEO(105) = CC(3)
853 GEO(106) = CC(4)
854 GEO(109) = CN(1)
855 GEO(110) = CN(2)
856 GEO(111) = CN(3)
857 GEO(112) = CN(4)
858 GEO(115) = XA(1)
859 GEO(116) = XA(2)
860 GEO(117) = XA(3)
861 GEO(118) = XA(4)
862 GEO(121) = XB(1)
863 GEO(122) = XB(2)
864 GEO(123) = XB(3)
865 GEO(124) = XB(4)
866
867
868
869
870
871 PROP_TAG(IGTYP)%G_FOR = 3
872 PROP_TAG(IGTYP)%G_MOM = 3
873 PROP_TAG(IGTYP)%G_LENGTH = 3
874 PROP_TAG(IGTYP)%G_TOTDEPL = 3
875 PROP_TAG(IGTYP)%G_TOTROT = 3
876 PROP_TAG(IGTYP)%G_FOREP = 3
877 PROP_TAG(IGTYP)%G_MOMEP = 3
878 PROP_TAG(IGTYP)%G_DEP_IN_TENS = 3
879 PROP_TAG(IGTYP)%G_DEP_IN_COMP = 3
880 PROP_TAG(IGTYP)%G_ROT_IN_TENS = 3
881 PROP_TAG(IGTYP)%G_ROT_IN_COMP = 3
882 PROP_TAG(IGTYP)%G_POSX = 5
883 PROP_TAG(IGTYP)%G_POSY = 5
884 PROP_TAG(IGTYP)%G_POSZ = 5
885 PROP_TAG(IGTYP)%G_POSXX = 5
886 PROP_TAG(IGTYP)%G_POSYY = 5
887 PROP_TAG(IGTYP)%G_POSZZ = 5
888 PROP_TAG(IGTYP)%G_YIELD = 4
889 PROP_TAG(IGTYP)%G_LENGTH_ERR = 3
890 PROP_TAG(IGTYP)%G_SKEW = 3
891 PROP_TAG(IGTYP)%G_SKEW_ERR = 3
892 PROP_TAG(IGTYP)%G_E6 = 6
893 PROP_TAG(IGTYP)%G_NUVAR = MAX(PROP_TAG(IGTYP)%G_NUVAR,NINT(GEO(25))) ! additional internal variables for h=6
894 PROP_TAG(IGTYP)%G_DEFINI = 6
895 PROP_TAG(IGTYP)%G_FORINI = 6
896 PROP_TAG(IGTYP)%G_RUPTCRIT = 1
897
898 RETURN
899
900 1801 FORMAT(
901 & 5X,'spring property set(beam type)'/,
902 & 5X,'property set number . . . . . . . . . .=',I10/,
903 & 5X,'spring mass . . . . . . . . . . . . . .=',1PG20.13/,
904 & 5X,'spring inertia. . . . . . . . . . . . .=',1PG20.13/,
905 & 5X,'skew frame number(0:global). . . . . .=',I10/,
906 & 5X,'sensor number(0:not used). . . . . . .=',I10/,
907 & 5X,'sensor flag(0:activ 1:deact 2:both). .=',I10/,
908 & 5X,'unit length flag. . . . . . . . . . . .=',I10/,
909 & 5X,'if=1 unit length mass,stiffness and input
',/,
910 & 5X,' curve are strain depending',/)
911
912 1810 FORMAT(
913 & 5X,A,/,
914 & 5X,'spring stiffness. . . . . . . . . . . .=',1PG20.13/,
915 & 5X,'spring
damping. . . . . . . . . . . . .=
',1PG20.13/,
916 & 5X,'FUNCTION identifier
for loading
',/,
917 & 5X,'force-displacement curve. . . . . . . .=',I10/,
918 & 5X,'abscissa scale factor on curve . . . . =',1PG20.13/,
919 & 5X,'function identifier
for unloading
',/,
920 & 5X,'force-displacement curve (H=4,5,7). . .=',I10/,
921 & 5X,'abscissa scale factor on curve . . . . =',1PG20.13/,
922 & 5X,'hardening flag h. . . . . . . . . . . .=',I10/,
923 & 5X,'0:elastic 1:isotropic 2:uncoupled',/,
924 & 5X,'4:kinematic 5:uncoupled
nl (UN/RE)loading
',/,
925 & 5X,'6:elasto plastic with hardening 7: elastic hysteresis',/,
926 & 5X,'dynamic amplification factor a. . . . .=',1PG20.13/,
927 & 5X,'dynamic amplification factor b. . . . .=',1PG20.13/,
928 & 5X,'dynamic amplification factor d. . . . .=',1PG20.13/,
929 & 5X,'dynamic amplification factor e. . . . .=',1PG20.13/,
930 & 5X,'dynamic amplification factor gf3 . . .=',1PG20.13/,
931 & 5X,'function identifier
for ',/,
932 & 5X,'force-velocity curve. . . .
933'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
934 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
935 & 5x,'NEGATIVE FAILURE DISPLACEMENT . . . . .=',1pg20.13/,
936 & 5x,'POSITIVE FAILURE DISPLACEMENT . . . . .='
937 1812 FORMAT(
938 & 5x,a,/,
939 & 5x,'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
940 & 5x,'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
941 & 5x,'FUNCTION IDENTIFIER FOR LOADING '
942 & 5x,'FORCE-DISPLACEMENT CURVE. . . . . . . .=',i10/,
943 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
944 & 5x,'FUNCTION IDENTIFIER FOR UNLOADING ',/,
945 & 5x,'FORCE-DISPLACEMENT CURVE (H=4,5,7). . .=',i10/,
946 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
947 & 5x,'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
948 & 5x,'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
949 & 5x,'4:kinematic 5:uncoupled
nl(un/re)loading
',/,
950 & 5X,'6:elasto plastic with hardening 7: elastic hysteresis',/,
951 & 5X,'dynamic amplification factor a. . . . .=',1PG20.13/,
952 & 5X,'dynamic amplification factor b. . . . .=',1PG20.13/,
953 & 5X,'dynamic amplification factor d. . . . .=',1PG20.13/,
954 & 5X,'dynamic amplification factor e. . . . .=',1PG20.13/,
955 & 5X,'dynamic amplification factor gf3 . . .=',1PG20.13/,
956 & 5X,'FUNCTION identifier
for ',/,
957 & 5X,'force-velocity curve. . . . . . . . . .=',I10/,
958 & 5X,'function identifier
for the additional
',/,
959 & 5X,'force-velocity curve. . . . . . . . . .=',I10/,
960 & 5X,'negative failure force. . . . . . . . .=',1PG20.13/,
961 & 5X,'positive failure force. . . . . . . . .=',1PG20.13/)
962 1813 FORMAT(
963 & 5X,A,/,
964 & 5X,'spring stiffness. . . . . . . . . . . .=',1PG20.13/,
965 & 5X,'spring
damping. . . . . . . . . . . . .=
',1PG20.13/,
966 & 5X,'function identifier
for loading
',/,
967 & 5X,'force-displacement curve. . . . . . . .=',I10/,
968 & 5X,'abscissa scale factor on curve . . . . =',1PG20.13/,
969 & 5X,'function identifier
for unloading
',/,
970 & 5X,'force-displacement curve (H=4,5,7). . .=',I10/,
971 & 5X,'abscissa scale factor on curve . . . . =',1PG20.13/,
972 & 5X,'hardening flag h. . . . . . . . . . . .=',I10/,
973 & 5X,'0:elastic 1:isotropic 2:uncoupled',/,
974 & 5X,'4:kinematic 5:uncoupled
nl (UN/RE)loading
',/,
975 & 5X,'6:elasto plastic with hardening 7: elastic hysteresis',/,
976 & 5X,'dynamic amplification factor a. . . . .=',1PG20.13/,
977 & 5X,'dynamic amplification factor b. . . . .=',1PG20.13/,
978 & 5X,'dynamic amplification factor d. . . . .=',1PG20.13/,
979 & 5X,'dynamic amplification factor e. . . . .=',1PG20.13/,
980 & 5X,'dynamic amplification factor gf3 . . .=',1PG20.13/,
981 & 5X,'function identifier
for ',/,
982 & 5X,'force-velocity curve. . . . . . . . . .=',I10/,
983 & 5X,'function identifier
for the additional
',/,
984 & 5X,'force-velocity curve. . . . . . . . . .=',I10/,
985 & 5X,'failure energy. . . . . . . . . . . . .=',1PG20.13/)
986 1820 FORMAT(
987 & 5X,A,/,
988 & 5X,'spring stiffness. . . . . . . . . . . .=',1PG20.13/,
989 & 5X,'spring
damping. . . . . . . . . . . . .=
',1PG20.13/,
990 & 5X,'function identifier
for loading
',/,
991 & 5X,'force-displacement curve. . . . . . . .=',I10/,
992 & 5X,'abscissa scale factor on curve . . . . =',1PG20.13/,
993 & 5X,'permanent displ./
max. displ. curve(H=5)=
',I10/,
994 & 5X,'abscissa scale factor on curve . . . . =',1PG20.13/,
995 & 5X,'hardening flag h. . . . . . . . . . . .=',I10/,
996 & 5X,'0:elastic 1:isotropic 2:uncoupled',/,
997 & 5X,'4:kinematic 5:uncoupled
nl (UN/RE)loading
',/,
998 & 5X,'6:elasto plastic with hardening 7: elastic hysteresis',/,
999 & 5X,'dynamic amplification factor a. . . . .=',1PG20.13/,
1000 & 5X,'dynamic amplification factor b. . . . .=',1PG20.13/,
1001 & 5X,'dynamic amplification factor d. . . . .=',1PG20.13/,
1002 & 5X,'dynamic amplification factor e. . . . .=',1PG20.13/,
1003 & 5X,'dynamic amplification factor gf3 . . .=',1PG20.13/,
1004 & 5X,'function identifier
for ',/,
1005 & 5X,'force-velocity curve. . . . . . . . . .=',I10/,
1006 & 5X,'function identifier
for the additional ',/,
1007 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1008 & 5x,'NEGATIVE FAILURE DISPLACEMENT . . . . .=',1pg20.13/,
1009 & 5x,'POSITIVE FAILURE DISPLACEMENT . . . . .=',1pg20.13/)
1010 1822 FORMAT(
1011 & 5x,a,/,
1012 & 5x,'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
1013 & 5x,'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
1014 & 5x,'FUNCTION IDENTIFIER FOR LOADING ',/,
1015 & 5x,'FORCE-DISPLACEMENT CURVE. . . . . . . .=',i10/,
1016 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1017 & 5x,'PERMANENT DISPL./MAX. DISPL. CURVE(H=5)=',i10/,
1018 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1019 & 5x,'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1020 & 5x,'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
1021 & 5x,'4:KINEMATIC 5:UNCOUPLED NL (UN/RE)LOADING',/,
1022 & 5x,'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1023 & 5x,'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1024 & 5x,'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1025 & 5x,'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1026 & 5x,'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1027 & 5x,'DYNAMIC AMPLIFICATION FACTOR GF3 . . .=',1pg20.13/,
1028 & 5x,'FUNCTION IDENTIFIER FOR ',/,
1029 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1030 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1031 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1032 & 5x,'NEGATIVE FAILURE FORCE. . . . . . . . .=',1pg20.13/,
1033 & 5x,'POSITIVE FAILURE FORCE. . . . . . . . .=',1pg20.13/)
1034 1823 FORMAT(
1035 & 5x,a,/,
1036 & 5x,'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
1037 & 5x,'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
1038 & 5x,'FUNCTION IDENTIFIER FOR LOADING ',/,
1039 & 5x,'FORCE-DISPLACEMENT CURVE. . . . . . . .=',i10/,
1040 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1041 & 5x,'PERMANENT DISPL./MAX. DISPL. CURVE(H=5)=',i10/,
1042 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1043 & 5x,'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1044 & 5x,'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
1045 & 5x,'4:KINEMATIC 5:UNCOUPLED NL (UN/RE)LOADING',/,
1046 & 5x,'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1047 & 5x,'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1048 & 5x,'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1049 & 5x,'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1050 & 5x,'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1051 & 5x,'DYNAMIC AMPLIFICATION FACTOR GF3 . . .=',1pg20.13/,
1052 & 5x,'FUNCTION IDENTIFIER FOR ',/,
1053 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1054 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1055 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1056 & 5x,'FAILURE ENERGY. . . . . . . . . . . . .=',1pg20.13/)
1057
1058 1830 FORMAT(
1059 & 5x,a,/,
1060 & 5x,'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
1061 & 5x,'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
1062 & 5x,'FUNCTION IDENTIFIER FOR LOADING ',/,
1063 & 5x,'FORCE-DISPLACEMENT CURVE. . . . . . . .=',i10/,
1064 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1065 & 5x,'FUNCTION IDENTIFIER FOR UNLOADING ',/,
1066 & 5x,'FORCE-DISPLACEMENT CURVE (H=4,5,7). . .=',i10/,
1067 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1068 & 5x,'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1069 & 5x,'0:ELASTIC 1:ISOTROPIC',/,
1070 & 5x,'5:UNCOUPLED NL (UN/RE)LOADING',/,
1071 & 5x,'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1072 & 5x,'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1073 & 5x,'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1074 & 5x,'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1075 & 5x,'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1076 & 5x,'DYNAMIC AMPLIFICATION FACTOR GF3 . . .=',1pg20.13/,
1077 & 5x,'FUNCTION IDENTIFIER FOR ',/,
1078 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1079 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1080 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1081 & 5x,'NEGATIVE FAILURE ROTATION . . . . . . .=',1pg20.13/,
1082 & 5x,'POSITIVE FAILURE ROTATION . . . . . . .=',1pg20.13/)
1083 1832 FORMAT(
1084 & 5x,a,/,
1085 & 5x,'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
1086 & 5x,'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
1087 & 5x,'FUNCTION IDENTIFIER FOR LOADING ',/,
1088 & 5x,'FORCE-DISPLACEMENT CURVE. . . . . . . .=',i10/,
1089 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1090 & 5x,'FUNCTION IDENTIFIER FOR UNLOADING ',/,
1091 & 5x,'FORCE-DISPLACEMENT CURVE (H=4,5,7). . .=',i10/,
1092 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1093 & 5x,'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1094 & 5x,'0:ELASTIC 1:ISOTROPIC',/,
1095 & 5x,'5:UNCOUPLED NL (UN/RE)LOADING',/,
1096 & 5x,'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1097 & 5x,'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1098 & 5x,'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1099 & 5x,'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1100 & 5x,'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1101 & 5x,'DYNAMIC AMPLIFICATION FACTOR GF3 . . .=',1pg20.13/,
1102 & 5x,'FUNCTION IDENTIFIER FOR ',/,
1103 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1104 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1105 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1106 & 5x,'NEGATIVE FAILURE MOMENT . . . . . . . .=',1pg20.13/,
1107 & 5x,'POSITIVE FAILURE MOMENT . . . . . . . .=',1pg20.13/)
1108 1833 FORMAT(
1109 & 5x,a,/,
1110 & 5x,'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
1111 & 5x,'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
1112 & 5x,'FUNCTION IDENTIFIER FOR LOADING ',/,
1113 & 5x,'FORCE-DISPLACEMENT CURVE. . . . . . . .=',i10/,
1114 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1115 & 5x,'FUNCTION IDENTIFIER FOR UNLOADING ',/,
1116 & 5x,'FORCE-DISPLACEMENT CURVE (H=4,5,7). . .='
1117 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1118 & 5x,'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1119 & 5x,'0:ELASTIC 1:ISOTROPIC',/,
1120 & 5x,'5:UNCOUPLED NL (UN/RE)LOADING',/,
1121 & 5x,'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1122 & 5x,'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1123 & 5x,'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1124 & 5x,'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1125 & 5x,'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1126 & 5x,'dynamic amplification factor gf3 . . .=',1PG20.13/,
1127 & 5X,'FUNCTION identifier
for ',/,
1128 & 5X,'force-velocity curve. . . . . . . . . .=',I10/,
1129 & 5X,'function identifier
for the additional
',/,
1130 & 5X,'force-velocity curve. . . . . . . . . .=',I10/,
1131 & 5X,'failure energy. . . . . . . . . . . . .=',1PG20.13/)
1132 1840 FORMAT(
1133 & 5X,A,/,
1134 & 5X,'spring stiffness. . . . . . . . . . . .=',1PG20.13/,
1135 & 5X,'spring
damping. . . . . . . . . . . . .=
',1PG20.13/,
1136 & 5X,'function identifier
for loading
',/,
1137 & 5X,'force-displacement curve. . . . . . . .=',I10/,
1138 & 5X,'abscissa scale factor on curve . . . . =',1PG20.13/,
1139 & 5X,'permanent rot./
max. rot. curve (H=5). .=
',I10/,
1140 & 5X,'abscissa scale factor on curve . . . . =',1PG20.13/,
1141 & 5X,'hardening flag h. . . . . . . . . . . .=',I10/,
1142 & 5X,'0:elastic 1:isotropic',/,
1143 & 5X,'5:uncoupled
nl (UN/RE)loading',/,
1144 & 5x,'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1145 & 5x,'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1146 & 5x,'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1147 & 5x,'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1148 & 5x,'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1149 & 5x,'DYNAMIC AMPLIFICATION FACTOR GF3 . . .=',1pg20.13/,
1150 & 5x,'FUNCTION IDENTIFIER FOR ',/,
1151 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1152 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1153 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1154 & 5x,'NEGATIVE FAILURE ROTATION . . . . . . .=',1pg20.13/,
1155 & 5x,'POSITIVE FAILURE ROTATION . . . . . . .=',1pg20.13/)
1156 1842 FORMAT(
1157 & 5x,a,/,
1158 & 5x,'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
1159 & 5x,'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
1160 & 5x,'FUNCTION IDENTIFIER FOR LOADING ',/,
1161 & 5x,'FORCE-DISPLACEMENT CURVE. . . . . . . .=',i10/,
1162 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1163 & 5x,'PERMANENT ROT./MAX. ROT. CURVE (H=5). .=',i10/,
1164 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1165 & 5x,'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1166 & 5x,'0:ELASTIC 1:ISOTROPIC',/,
1167 & 5x,'5:UNCOUPLED NL (UN/RE)LOADING',/,
1168 & 5x,'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1169 & 5x,'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1170 & 5x,'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1171 & 5x,'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1172 & 5x,'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1173 & 5x,'DYNAMIC AMPLIFICATION FACTOR GF3 . . .=',1pg20.13/,
1174 & 5x,'FUNCTION IDENTIFIER FOR ',/,
1175 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1176 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1177 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1178 & 5x,'NEGATIVE FAILURE MOMENT . . . . . . . .=',1pg20.13/,
1179 & 5x,'POSITIVE FAILURE MOMENT . . . . . . . .=',1pg20.13/)
1180 1843 FORMAT(
1181 & 5x,a,/,
1182 & 5x,'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
1183 & 5x,'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
1184 & 5x,'FUNCTION IDENTIFIER FOR LOADING ',/,
1185 & 5x,'FORCE-DISPLACEMENT CURVE. . . . . . . .=',i10/,
1186 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1187 & 5x,'PERMANENT ROT./MAX. ROT. CURVE (H=5). .=',i10/,
1188 & 5x,'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1189 & 5x,'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1190 & 5x,'0:ELASTIC 1:ISOTROPIC',/,
1191 & 5x,'5:UNCOUPLED NL (UN/RE)LOADING',/,
1192 & 5x,'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1193 & 5x,'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1194 & 5x,'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1195 & 5x,'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1196 & 5x,'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1197 & 5x,'DYNAMIC AMPLIFICATION FACTOR GF3 . . .=',1pg20.13/,
1198 & 5x,'FUNCTION IDENTIFIER FOR ',/,
1199 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1200 & 5x,'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1201 & 5x,'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1202 & 5x,'FAILURE ENERGY. . . . . . . . . . . . .=',1pg20.13/)
1203
1204 1849 FORMAT(
1205 & 5x,a,/,
1206 & 5x,'FAILURE FLAG (0:UNCOUPLED 1:COUPLED). .=',i10/,
1207 & 5x,'FAILURE CRITERION (DISPL/FORCE/ENERGY).=',i10/,
1208 & 5x,' 1:DISPLACEMENT 2:FORCE 3:ENERGY ' ,/,
1209 & 5x,'TRANSL. REF. DEFORMATION VELOCITY . . .=',1pg20.13/,
1210 & 5x,'ROT. REF. DEFORMATION VELOCITY. . . . .=',1pg20.13)
1211 1850 FORMAT(
1212 & 5x,'C1 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/,
1213 & 5x,'C2 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/,
1214 & 5x,'C3 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/,
1215 & 5x,'C4 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/,
1216 & 5x,'N1 EXPONENT . . . . . . . . . . . . . .=',1pg20.13/,
1217 & 5x,'N2 EXPONENT . . . . . . . . . . . . . .=',1pg20.13/,
1218 & 5x,'N3 EXPONENT . . . . . . . . . . . . . .=',1pg20.13/,
1219 & 5x,'N4 EXPONENT . . . . . . . . . . . . . .=',1pg20.13/)
1220 1851 FORMAT(
1221 & 5x,'A1 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/,
1222 & 5x,'A2 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/,
1223 & 5x,'A3 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/,
1224 & 5x,'A4 COEFFICIENT. . . . . . . . . . . . .=',1pg20.13/,
1225 & 5x,'B1 EXPONENT . . . . . . . . . . . . . .=',1pg20.13/,
1226 & 5x,'B2 EXPONENT . . . . . . . . . . . . . .=',1pg20.13/,
1227 & 5x,'B3 EXPONENT . . . . . . . . . . . . . .=',1pg20.13/,
1228 & 5x,'B4 EXPONENT . . . . . . . . . . . . . .=',1pg20.13/)
1229 RETURN
subroutine damping(nodft, nodlt, v, vr, a, ar, damp, ms, in, igrnod, dim, itask, weight, tagslv_rby, wfext)
if(complex_arithmetic) id
end diagonal values have been computed in the(sparse) matrix id.SOL
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)
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)
character *2 function nl()