40 . ISKN,UNITAB,IUNIT,IDTITL,LSUBMODEL,SUB_ID)
51#include "implicit_f.inc"
59#include "tablen_c.inc"
63 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
64 INTEGER IGEO(NPROPGI),ISKN(LISKN,*),IGTYP,IUNIT,SUB_ID
68 TYPE(
prop_tag_) ,
DIMENSION(0:MAXPROP) :: PROP_TAG
69 CHARACTER(LEN=NCHARTITLE)::IDTITL
74 INTEGER IFUNC, IFUNC2, IFUNC3, IECROU, IFV, ISK, IG,
75 . isens,ifl,ifail,iequil,ifail2,israte,k
78 . a, b, d, e, f, xm, xin, xk, xc, dn, dx, pun,
79 . asrate, lscale, gf3, crit_scale,fac_m,fac_l,fac_t,
81 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
95 is_encrypted = .false.
96 is_available = .false.
97 fac_m = unitab%FAC_M(iunit)
98 fac_l = unitab%FAC_L(iunit)
99 fac_t = unitab%FAC_T(iunit)
108 CALL hm_get_intv(
'SKEW_CSID',isk,is_available,lsubmodel)
109 IF(isk == 0 .AND. sub_id /= 0 ) isk = lsubmodel(sub_id)%SKEW
110 CALL hm_get_intv(
'ISENSOR',isens,is_available,lsubmodel)
111 CALL hm_get_intv(
'ISFLAG',ifl,is_available,lsubmodel)
112 CALL hm_get_intv(
'Ifail',ifail,is_available,lsubmodel)
113 CALL hm_get_intv(
'Ifail2',ifail2,is_available,lsubmodel)
114 CALL hm_get_intv(
'Iequil',iequil,is_available,lsubmodel)
115 CALL hm_get_intv(
'ISRATE',israte,is_available,lsubmodel)
120 CALL hm_get_floatv(
'INERTIA',xin,is_available,lsubmodel,unitab)
121 CALL hm_get_floatv(
'Asrate',asrate,is_available,lsubmodel,unitab)
132 . msgtype=msgwarning,
133 . anmode=aninfo_blind_1,
138 IF (ifl == 1) isens=-isens
141 IF (isk == iskn(4,k+1))
THEN
146 CALL ancmsg(msgid=137,anmode=aninfo,msgtype=msgerror,
149 . I1=IGEO(1),I2=ISK,C3=IDTITL)
152.AND.
IF (IFAIL2 /= 1 IFAIL2 /= 2) IFAIL2 = 0
164.NOT.
IF( IS_ENCRYPTED)THEN
165 WRITE(IOUT,1800)IG,XM,XIN,ISKN(4,ISK),ABS(ISENS),IFL,IFAIL,IFAIL2
169 & 5X,'spring property set
'/,
170 & 5X,'-------------------
'/,
171 & 5X,'property set number
',I10/,
172 & 5X,'confidential data
'//)
174!-------------------------------------------------------
176!-------------------------------------------------------
181 CALL HM_GET_INTV('fun_a1
',IFUNC,IS_AVAILABLE,LSUBMODEL)
182 CALL HM_GET_INTV('hflag1
',IECROU,IS_AVAILABLE,LSUBMODEL)
183 CALL HM_GET_INTV('fun_b1
',IFV,IS_AVAILABLE,LSUBMODEL)
184 CALL HM_GET_INTV('fun_c1',ifunc2,is_available,lsubmodel)
185 CALL hm_get_intv(
'FUN_D1',ifunc3,is_available,lsubmodel)
187 CALL hm_get_floatv(
'STIFF1',xk,is_available,lsubmodel,unitab)
189 CALL hm_get_floatv(
'Acoeft1',a,is_available,lsubmodel,unitab)
190 CALL hm_get_floatv(
'Bcoeft1',b,is_available,lsubmodel,unitab)
191 CALL hm_get_floatv(
'Dcoeft1',d,is_available,lsubmodel,unitab)
192 CALL hm_get_floatv(
'MIN_RUP1',dn,is_available,lsubmodel,unitab)
193 CALL hm_get_floatv(
'MAX_RUP1',dx,is_available,lsubmodel,unitab)
194 CALL hm_get_floatv(
'Prop_X_F',f,is_available,lsubmodel,unitab)
195 CALL hm_get_floatv(
'Prop_X_E',e,is_available,lsubmodel,unitab)
196 CALL hm_get_floatv(
'scale1',lscale,is_available,lsubmodel,unitab)
201 IF (iecrou == 4 .AND. (ifunc == 0 .OR. ifunc2 == 0))
THEN
204 . anmode=aninfo_blind_1,
208 IF (iecrou == 4 .AND. geo(2) == zero)
THEN
211 . anmode=aninfo_blind_1,
215 IF (iecrou == 5 .AND. (ifunc ==0 .OR. ifunc2 == 0))
THEN
218 . anmode=aninfo_blind_1,
222 IF (iecrou == 6 .AND. (ifunc == 0 .OR. ifunc2 == 0))
THEN
225 . anmode=aninfo_blind_1,
229 IF (iecrou == 7 .AND. ifunc == 0)
THEN
232 . anmode=aninfo_blind_1,
235 ELSEIF (iecrou == 7 .AND. ifunc2 == 0)
THEN
237 . msgtype=msgwarning,
238 . anmode=aninfo_blind_1,
245 a_without_unit = a / (fac_m * fac_l / (fac_t **2))
246 IF (ifunc == 0 .AND. a /= zero .AND. a_without_unit /= one)
THEN
248 . msgtype=msgwarning,
249 . anmode=aninfo_blind_1,
254 IF (a == zero) a = one * (fac_m * fac_l / (fac_t **2))
255 IF (d == zero) d = one * (fac_l / fac_t)
256 IF (e == zero) e = one * (fac_m * fac_l / (fac_t **2))
257 IF (f == zero) f = one * (fac_l / fac_t)
258 IF (gf3 == zero) gf3 = one * (fac_m * fac_l / (fac_t **2))
259 IF (lscale == zero) lscale
266 IF (ifail2 == 0)
THEN
267 dn = dn * lscale / fac_l
268 dx = dx * lscale / fac_l
270 IF (dn == zero) dn=-ep30* crit_scale
271 IF (dx == zero) dx= ep30* crit_scale
279 geo(39) = one / lscale
286 IF (iecrou == 6)
THEN
295 IF(.NOT. is_encrypted)
THEN
296 IF (iecrou /= 5)
THEN
297 WRITE(iout,1810)
'X',xk,xc,ifunc,lscale,ifunc2,f,iecrou,
298 . a,b,d,e,gf3,ifv,ifunc3,dn,dx
300 WRITE(iout,1820)
'X',xk,xc,ifunc,lscale,ifunc2,f,iecrou,
301 . a,b,d,e,gf3,ifv,ifunc3,dn,dx
308 CALL hm_get_intv(
'FUN_A2',ifunc,is_available,lsubmodel)
309 CALL hm_get_intv(
'HFLAG2',iecrou,is_available,lsubmodel)
310 CALL hm_get_intv(
'FUN_B2',ifv,is_available,lsubmodel)
311 CALL hm_get_intv(
'FUN_C2',ifunc2,is_available,lsubmodel)
312 CALL hm_get_intv(
'FUN_D2',ifunc3,is_available,lsubmodel)
314 CALL hm_get_floatv(
'STIFF2',xk,is_available,lsubmodel,unitab)
316 CALL hm_get_floatv(
'Acoeft2',a,is_available,lsubmodel,unitab)
317 CALL hm_get_floatv(
'Bcoeft2',b,is_available,lsubmodel,unitab)
318 CALL hm_get_floatv(
'Dcoeft2',d,is_available,lsubmodel,unitab)
319 CALL hm_get_floatv(
'MIN_RUP2',dn,is_available,lsubmodel,unitab)
321 CALL hm_get_floatv(
'Prop_Y_F',f,is_available,lsubmodel,unitab)
322 CALL hm_get_floatv(
'Prop_Y_E',e,is_available,lsubmodel,unitab)
323 CALL hm_get_floatv(
'scale2',lscale,is_available,lsubmodel,unitab)
328 IF (iecrou == 4 .AND. (ifunc == 0 .OR. ifunc2 == 0))
THEN
331 . anmode=aninfo_blind_1,
335 IF (iecrou == 4 .AND. geo(2) == zero)
THEN
338 . anmode=aninfo_blind_1,
342 IF (iecrou == 5 .AND. (ifunc == 0 .OR. ifunc2 == 0))
THEN
345 . anmode=aninfo_blind_1,
349 IF (iecrou == 6 .AND. (ifunc
THEN
352 . anmode=aninfo_blind_1,
356 IF (iecrou == 7 .AND. ifunc == 0)
THEN
359 . anmode=aninfo_blind_1,
363 ELSEIF (iecrou == 7 .AND. ifunc2 == 0)
THEN
365 . msgtype=msgwarning,
366 . anmode=aninfo_blind_1,
373 a_without_unit = a / (fac_m * fac_l / (fac_t **2))
374 IF (ifunc == 0 .AND. a /= zero .AND. a_without_unit /= one)
THEN
376 . msgtype=msgwarning,
377 . anmode=aninfo_blind_1,
382 IF (a == zero) a = one * (fac_m * fac_l / (fac_t **2))
383 IF (d == zero) d = one * (fac_l / fac_t)
384 IF (e == zero) e = one * (fac_m * fac_l / (fac_t **2))
385 IF (f == zero) f = one * (fac_l / fac_t)
386 IF (gf3 == zero) gf3 = one * (fac_m * fac_l / (fac_t **2))
387 IF (lscale == zero) lscale = one * fac_l
394 IF (ifail2 == 0)
THEN
395 dn = dn * lscale / fac_l
396 dx = dx * lscale / fac_l
398 IF (dn == zero) dn=-ep30* crit_scale
399 IF (dx == zero) dx= ep30* crit_scale
407 geo(174)= one / lscale
414 IF (iecrou == 6)
THEN
423 IF(.NOT. is_encrypted)
THEN
424 IF (iecrou /= 5)
THEN
425 WRITE(iout,1810)
'Y',xk,xc,ifunc,lscale,ifunc2,f,iecrou,
426 . a,b,d,e,gf3,ifv,ifunc3,dn,dx
428 WRITE(iout,1820)
'Y',xk,xc,ifunc,lscale,ifunc2,f,iecrou,
429 . a,b,d,e,gf3,ifv,ifunc3,dn,dx
436 CALL hm_get_intv(
'FUN_A3',ifunc,is_available,lsubmodel)
437 CALL hm_get_intv(
'HFLAG3',iecrou,is_available,lsubmodel)
438 CALL hm_get_intv(
'FUN_B3',ifv,is_available,lsubmodel)
439 CALL hm_get_intv(
'FUN_C3',ifunc2,is_available,lsubmodel)
440 CALL hm_get_intv(
'FUN_D3',ifunc3,is_available,lsubmodel)
444 CALL hm_get_floatv(
'Acoeft3',a,is_available,lsubmodel,unitab)
445 CALL hm_get_floatv(
'Bcoeft3',b,is_available,lsubmodel,unitab)
446 CALL hm_get_floatv(
'Dcoeft3',d,is_available,lsubmodel,unitab)
447 CALL hm_get_floatv('min_rup3
',DN,IS_AVAILABLE,LSUBMODEL,UNITAB)
448 CALL HM_GET_FLOATV('max_rup3
',DX,IS_AVAILABLE,LSUBMODEL,UNITAB)
449 CALL HM_GET_FLOATV('prop_z_f
',F,IS_AVAILABLE,LSUBMODEL,UNITAB)
450 CALL HM_GET_FLOATV('prop_z_e
',E,IS_AVAILABLE,LSUBMODEL,UNITAB)
451 CALL HM_GET_FLOATV('scale3
',LSCALE,IS_AVAILABLE,LSUBMODEL,UNITAB)
452 CALL HM_GET_FLOATV('d2
',GF3,IS_AVAILABLE,LSUBMODEL,UNITAB)
454 CALL HM_GET_FLOATV_DIM('min_rup3
',CRIT_SCALE,IS_AVAILABLE,LSUBMODEL,UNITAB)
456.AND..OR.
IF (IECROU == 4 (IFUNC == 0 IFUNC2 == 0))THEN
457 CALL ANCMSG(MSGID=231,
459 . ANMODE=ANINFO_BLIND_1,
463.AND.
IF (IECROU == 4 GEO(2) == ZERO)THEN
464 CALL ANCMSG(MSGID=230,
466 . ANMODE=ANINFO_BLIND_1,
470.AND..OR.
IF (IECROU == 5 (IFUNC == 0 IFUNC2 == 0)) THEN
471 CALL ANCMSG(MSGID=231,
473 . ANMODE=ANINFO_BLIND_1,
477.AND..OR.
IF (IECROU == 6 (IFUNC == 0 IFUNC2 == 0)) THEN
478 CALL ANCMSG(MSGID=1057,
480 . ANMODE=ANINFO_BLIND_1,
484.AND.
IF (IECROU == 7 IFUNC == 0) THEN
485 CALL ANCMSG(MSGID=1058,
487 . ANMODE=ANINFO_BLIND_1,
490.AND.
ELSEIF (IECROU == 7 IFUNC2 == 0) THEN
491 CALL ANCMSG(MSGID=1059,
492 . MSGTYPE=MSGWARNING,
493 . ANMODE=ANINFO_BLIND_1,
500 A_WITHOUT_UNIT = A / (FAC_M * FAC_L / (FAC_T **2))
501.AND..AND.
IF (IFUNC == 0 A /= ZERO A_WITHOUT_UNIT /= ONE) THEN
502 CALL ANCMSG(MSGID=663,
503 . MSGTYPE=MSGWARNING,
504 . ANMODE=ANINFO_BLIND_1,
509 IF (A == ZERO) A = ONE * (FAC_M * FAC_L / (FAC_T **2))
510 IF (D == ZERO) D = ONE * (FAC_L / FAC_T)
511 IF (E == ZERO) E = ONE * (FAC_M * FAC_L / (FAC_T **2))
512 IF (F == ZERO) F = ONE * (FAC_L / FAC_T)
513 IF (GF3 == ZERO) GF3 = ONE * (FAC_M * FAC_L / (FAC_T **2))
514 IF (LSCALE == ZERO) LSCALE = ONE * FAC_L
521 IF (IFAIL2 == 0) THEN
522 DN = DN * LSCALE / FAC_L
523 DX = DX * LSCALE / FAC_L
525 IF (DN == ZERO) DN=-EP30* CRIT_SCALE
526 IF (DX == ZERO) DX= EP30* CRIT_SCALE
534 GEO(175)= ONE / LSCALE
541 IF (IECROU == 6) THEN
550.NOT.
IF( IS_ENCRYPTED)THEN
551 IF (IECROU /= 5) THEN
552 WRITE(IOUT,1810)'z
',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
553 . A,B,D,E,GF3,IFV,IFUNC3,DN,DX
555 WRITE(IOUT,1820)'z
',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
556 . A,B,D,E,GF3,IFV,IFUNC3,DN,DX
559!-------------------------------------------------------
561!-------------------------------------------------------
566 CALL HM_GET_INTV('fun_a4
',IFUNC,IS_AVAILABLE,LSUBMODEL)
567 CALL HM_GET_INTV('hflag4
',IECROU,IS_AVAILABLE,LSUBMODEL)
568 CALL HM_GET_INTV('fun_b4
',IFV,IS_AVAILABLE,LSUBMODEL)
569 CALL HM_GET_INTV('fun_c4
',IFUNC2,IS_AVAILABLE,LSUBMODEL)
570 CALL HM_GET_INTV('fun_d4
',IFUNC3,IS_AVAILABLE,LSUBMODEL)
572 CALL HM_GET_FLOATV('stiff4
',XK,IS_AVAILABLE,LSUBMODEL,UNITAB)
573 CALL HM_GET_FLOATV('damp4
',XC,IS_AVAILABLE,LSUBMODEL,UNITAB)
574 CALL HM_GET_FLOATV('acoeft4
',A,IS_AVAILABLE,LSUBMODEL,UNITAB)
575 CALL HM_GET_FLOATV('bcoeft4
',B,IS_AVAILABLE,LSUBMODEL,UNITAB)
576 CALL HM_GET_FLOATV('dcoeft4
',D,IS_AVAILABLE,LSUBMODEL,UNITAB)
577 CALL HM_GET_FLOATV('min_rup4
',DN,IS_AVAILABLE,LSUBMODEL,UNITAB)
578 CALL HM_GET_FLOATV('max_rup4
',DX,IS_AVAILABLE,LSUBMODEL,UNITAB)
579 CALL HM_GET_FLOATV('prop_tor_f
',F,IS_AVAILABLE,LSUBMODEL,UNITAB)
580 CALL HM_GET_FLOATV('prop_tor_e
',E,IS_AVAILABLE,LSUBMODEL,UNITAB)
581 CALL HM_GET_FLOATV('scale4
',LSCALE,IS_AVAILABLE,LSUBMODEL,UNITAB)
582 CALL HM_GET_FLOATV('y0
',GF3,IS_AVAILABLE,LSUBMODEL,UNITAB)
584 CALL HM_GET_FLOATV_DIM('min_rup4
',CRIT_SCALE,IS_AVAILABLE,LSUBMODEL,UNITAB)
586.AND..OR.
IF (IECROU == 4 (IFUNC == 0 IFUNC2 == 0)) THEN
587 CALL ANCMSG(MSGID=231,
589 . ANMODE=ANINFO_BLIND_1,
593.AND.
IF (IECROU == 4 GEO(2) == ZERO) THEN
594 CALL ANCMSG(MSGID=230,
596 . ANMODE=ANINFO_BLIND_1,
600.AND..OR.
IF (IECROU == 5 (IFUNC == 0 IFUNC2 == 0)) THEN
601 CALL ANCMSG(MSGID=231,
603 . ANMODE=ANINFO_BLIND_1,
607.AND..OR.
IF (IECROU == 6 (IFUNC == 0 IFUNC2 == 0)) THEN
608 CALL ANCMSG(MSGID=1057,
610 . ANMODE=ANINFO_BLIND_1,
614.AND.
IF (IECROU == 7 IFUNC == 0) THEN
615 CALL ANCMSG(MSGID=1058,
617 . ANMODE=ANINFO_BLIND_1,
620.AND.
ELSEIF (IECROU == 7 IFUNC2 == 0) THEN
621 CALL ANCMSG(MSGID=1059,
622 . MSGTYPE=MSGWARNING,
623 . ANMODE=ANINFO_BLIND_1,
630 A_WITHOUT_UNIT = A / (FAC_M * FAC_L**2 / FAC_T**2)
631.AND..AND.
IF (IFUNC == 0 A /= ZERO A_WITHOUT_UNIT /= ONE) THEN
632 CALL ANCMSG(MSGID=663,
633 . MSGTYPE=MSGWARNING,
634 . ANMODE=ANINFO_BLIND_1,
639 IF (A == ZERO) A = ONE * (FAC_M * FAC_L**2 / (FAC_T **2))
640 IF (D == ZERO) D = ONE / FAC_T
641 IF (E == ZERO) E = ONE * (FAC_M * FAC_L**2 / (FAC_T **2))
642 IF (F == ZERO) F = ONE / FAC_T
643 IF (GF3 == ZERO) GF3 = ONE * (FAC_M * FAC_L**2 / (FAC_T **2))
644 IF (LSCALE == ZERO) LSCALE = ONE
651 IF (IFAIL2 == 0) THEN
655 IF (DN == ZERO) DN=-EP30* CRIT_SCALE
656 IF (DX == ZERO) DX= EP30* CRIT_SCALE
664 GEO(176) = ONE / LSCALE
671 IF (IECROU == 6) THEN
680.NOT.
IF( IS_ENCRYPTED)THEN
681 IF (IECROU /= 5) THEN
682 WRITE(IOUT,1830)'x
',XK,XC,IFUNC,LSCALE,IFUNC2,F,IECROU,
683 . A,B,D,E,GF3,IFV,IFUNC3,DN,DX
685 WRITE(IOUT,1840)'x',xk,xc,ifunc,lscale,ifunc2,f,iecrou,
686 . a,b,d,e,gf3,ifv,ifunc3,dn,dx
693 CALL hm_get_intv(
'FUN_A5',ifunc,is_available,lsubmodel)
695 CALL hm_get_intv(
'FUN_B5',ifv,is_available,lsubmodel)
696 CALL hm_get_intv(
'FUN_C5',ifunc2,is_available,lsubmodel)
697 CALL hm_get_intv(
'FUN_D5',ifunc3,is_available,lsubmodel
699 CALL hm_get_floatv(
'STIFF5',xk,is_available,lsubmodel,unitab)
701 CALL hm_get_floatv(
'Acoeft5',a,is_available,lsubmodel,unitab)
702 CALL hm_get_floatv(
'Bcoeft5',b,is_available,lsubmodel,unitab)
703 CALL hm_get_floatv(
'Dcoeft5',d,is_available,lsubmodel,unitab)
704 CALL hm_get_floatv(
'MIN_RUP5',dn,is_available,lsubmodel,unitab)
705 CALL hm_get_floatv(
'MAX_RUP5',dx,is_available,lsubmodel,unitab)
706 CALL hm_get_floatv(
'Prop_FlxY_F',f,is_available,lsubmodel,unitab)
707 CALL hm_get_floatv(
'Prop_FlxY_E',e,is_available,lsubmodel,unitab)
708 CALL hm_get_floatv(
'scale5',lscale,is_available,lsubmodel,unitab)
713 IF (iecrou == 4 .AND. (ifunc == 0 .OR. ifunc2 == 0))
THEN
716 . anmode=aninfo_blind_1,
720 IF (iecrou == 4 .AND. geo(2) == zero)
THEN
723 . anmode=aninfo_blind_1,
727 IF (iecrou == 5 .AND. (ifunc == 0 .OR. ifunc2
THEN
730 . anmode=aninfo_blind_1,
734 IF (iecrou == 6 .AND. (ifunc == 0 .OR. ifunc2 == 0))
THEN
737 . anmode=aninfo_blind_1,
741 IF (iecrou == 7 .AND. ifunc == 0)
THEN
744 . anmode=aninfo_blind_1,
747 ELSEIF (iecrou == 7 .AND. ifunc2 == 0)
THEN
749 . msgtype=msgwarning,
750 . anmode=aninfo_blind_1,
757 a_without_unit = a / (fac_m * fac_l**2 / fac_t**2)
758 IF (ifunc == 0 .AND. a /= zero .AND. a_without_unit /= one)
THEN
760 . msgtype=msgwarning,
761 . anmode=aninfo_blind_1,
766 IF (a == zero) a = one * (fac_m * fac_l**2 / (fac_t **2))
767 IF (d == zero) d = one / fac_t
768 IF (e == zero) e = one * (fac_m * fac_l**2 / (fac_t **2))
769 IF (f == zero) f = one / fac_t
770 IF (gf3 == zero) gf3 = one * (fac_m * fac_l**2 / (fac_t **2))
771 IF (lscale == zero) lscale = one
778 IF (ifail2 == 0)
THEN
782 IF (dn == zero) dn=-ep30* crit_scale
783 IF (dx == zero) dx= ep30* crit_scale
791 geo(177) = one / lscale
798 IF (iecrou == 6)
THEN
807 IF(.NOT. is_encrypted)
THEN
808 IF (iecrou /= 5)
THEN
809 WRITE(iout,1830)
'Y',xk,xc,ifunc,lscale,ifunc2,f,iecrou,
810 . a,b,d,e,gf3,ifv,ifunc3,dn,dx
812 WRITE(iout,1840)
'Y',xk,xc,ifunc,lscale,ifunc2,f,iecrou,
813 . a,b,d,e,gf3,ifv,ifunc3,dn,dx
820 CALL hm_get_intv(
'FUN_A6',ifunc,is_available,lsubmodel)
821 CALL hm_get_intv('hflag6
',IECROU,IS_AVAILABLE,LSUBMODEL)
822 CALL HM_GET_INTV('fun_b6
',IFV,IS_AVAILABLE,LSUBMODEL)
823 CALL HM_GET_INTV('fun_c6
',IFUNC2,IS_AVAILABLE,LSUBMODEL)
824 CALL HM_GET_INTV('fun_d6
',IFUNC3,IS_AVAILABLE,LSUBMODEL)
826 CALL HM_GET_FLOATV('stiff6
',XK,IS_AVAILABLE,LSUBMODEL,UNITAB)
827 CALL HM_GET_FLOATV('damp6
',XC,IS_AVAILABLE,LSUBMODEL,UNITAB)
828 CALL HM_GET_FLOATV('acoeft6
',A,IS_AVAILABLE,LSUBMODEL,UNITAB)
829 CALL HM_GET_FLOATV('bcoeft6
',B,IS_AVAILABLE,LSUBMODEL,UNITAB)
830 CALL HM_GET_FLOATV('dcoeft6
',D,IS_AVAILABLE,LSUBMODEL,UNITAB)
831 CALL HM_GET_FLOATV('min_rup6
',DN,IS_AVAILABLE,LSUBMODEL,UNITAB)
832 CALL HM_GET_FLOATV('max_rup6
',DX,IS_AVAILABLE,LSUBMODEL,UNITAB)
833 CALL HM_GET_FLOATV('prop_flxz_f
',F,IS_AVAILABLE,LSUBMODEL,UNITAB)
834 CALL HM_GET_FLOATV('prop_flxz_e
',E,IS_AVAILABLE,LSUBMODEL,UNITAB)
835 CALL HM_GET_FLOATV('scale6
',LSCALE,IS_AVAILABLE,LSUBMODEL,UNITAB)
836 CALL HM_GET_FLOATV('hscale6',gf3,is_available,lsubmodel,unitab)
840 IF (iecrou == 4 .AND. (ifunc == 0 .OR. ifunc2 == 0))
THEN
843 . anmode=aninfo_blind_1,
847 IF (iecrou == 4 .AND. geo(2) == zero)
THEN
850 . anmode=aninfo_blind_1,
854 IF (iecrou == 5 .AND. (ifunc == 0 .OR. ifunc2 == 0))
THEN
857 . anmode=aninfo_blind_1,
861 IF (iecrou == 6 .AND. (ifunc == 0 .OR. ifunc2 == 0))
THEN
864 . anmode=aninfo_blind_1,
868 IF (iecrou == 7 .AND. ifunc == 0)
THEN
871 . anmode=aninfo_blind_1,
875 ELSEIF (iecrou == 7 .AND. ifunc2 == 0)
THEN
877 . msgtype=msgwarning,
878 . anmode=aninfo_blind_1,
885 a_without_unit = a / (fac_m * fac_l**2 / fac_t**2)
886 IF (ifunc == 0 .AND. a /= zero .AND. a_without_unit /= one)
THEN
888 . msgtype=msgwarning,
889 . anmode=aninfo_blind_1,
894 IF (a == zero) a = one * (fac_m * fac_l**2 / (fac_t **2))
895 IF (d == zero) d = one / fac_t
896 IF (e == zero) e = one * (fac_m * fac_l**2 / (fac_t **2))
897 IF (f == zero) f = one / fac_t
898 IF (gf3 == zero) gf3 = one * (fac_m * fac_l**2 / (fac_t **2))
899 IF (lscale == zero) lscale = one
906 IF (ifail2 == 0)
THEN
910 IF (dn == zero) dn=-ep30* crit_scale
911 IF (dx == zero) dx= ep30* crit_scale
919 geo(178) = one / lscale
926 IF (iecrou == 6)
THEN
935 IF(.NOT. is_encrypted)
THEN
936 IF (iecrou /= 5)
THEN
937 WRITE(iout,1830)
'Z',xk,xc,ifunc,lscale,ifunc2,f,iecrou,
938 . a,b,d,e,gf3,ifv,ifunc3,dn,dx
940 WRITE(iout,1840)
'Z',xk,xc,ifunc,lscale,ifunc2,f,iecrou,
941 . a,b,d,e,gf3,ifv,ifunc3,dn,dx
945 IF (asrate == zero) asrate=ep30 / fac_t
948 IF(.NOT. is_encrypted)
THEN
949 WRITE(iout, 1850) israte, asrate
956 IF(geo(39)/=zero.AND.igeo( 9)== 0) igeo( 9)=nint(geo(39))
962 prop_tag(igtyp)%G_FOR = 3
963 prop_tag(igtyp)%G_MOM = 3
964 prop_tag(igtyp)%G_LENGTH = 3
965 prop_tag(igtyp)%G_TOTDEPL = 3
966 prop_tag(igtyp)%G_TOTROT = 3
967 prop_tag(igtyp)%G_FOREP = 3
968 prop_tag(igtyp)%G_MOMEP = 3
969 prop_tag(igtyp)%G_DEP_IN_TENS = 3
970 prop_tag(igtyp)%G_DEP_IN_COMP = 3
971 prop_tag(igtyp)%G_ROT_IN_TENS = 3
972 prop_tag(igtyp)%G_ROT_IN_COMP = 3
973 prop_tag(igtyp)%G_POSX = 5
974 prop_tag(igtyp)%G_POSY = 5
975 prop_tag(igtyp)%G_POSZ = 5
976 prop_tag(igtyp)%G_POSXX = 5
977 prop_tag(igtyp)%G_POSYY = 5
978 prop_tag(igtyp)%G_POSZZ = 5
979 prop_tag(igtyp)%G_YIELD = 6
980 prop_tag(igtyp)%G_LENGTH_ERR = 3
981 prop_tag(igtyp)%G_E6 = 6
982 prop_tag(igtyp)%G_RUPTCRIT = 1
983 prop_tag(igtyp)%G_NUVAR =
max(prop_tag(igtyp)%G_NUVAR,nint(geo(25)))
984 prop_tag(igtyp)%G_DEFINI = 6
985 prop_tag(igtyp)%G_FORINI = 6
986 prop_tag(igtyp)%G_SKEW_ID = 1
992 & 5x,
'SPRING PROPERTY SET'/,
993 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
994 & 5x,
'SPRING MASS . . . . . . . . . . . . . .=',1pg20.13/,
995 & 5x,
'SPRING INERTIA. . . . . . . . . . . . .=',1pg20.13/,
996 & 5x,
'SKEW FRAME NUMBER (0:GLOBAL). . . . . .=',i10/,
997 & 5x,
'SENSOR NUMBER (0:NOT USED). . . . . . .=',i10/,
998 & 5x,
'SENSOR FLAG (0:ACTIV 1:DISACT 2:BOTH) .=',i10/,
999 & 5x,
'FAILURE FLAG (0:UNCOUPLED 1:COUPLED). .=',i10/,
1000 & 5x,
'FAILURE CRITERION (DISPL/FORCE/ENERGY).=',i10/,
1001 & 5x,
' 0:DISPLACEMENT 1:FORCE 2:ENERGY ' ,/)
1003 & 5x,a1,
' TRANSLATION'/,
1004 & 5x,
'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
1005 & 5x,
'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
1006 & 5x,
'FUNCTION IDENTIFIER FOR LOADING ',/,
1007 & 5x,
'FORCE-DISPLACEMENT CURVE. . . . . . . .=',i10/,
1008 & 5x,
'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1009 & 5x,
'FUNCTION IDENTIFIER FOR UNLOADING ',/,
1010 & 5x,
'FORCE-DISPLACEMENT CURVE (H=4,5,7). . .=',i10/,
1011 & 5x,
'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1012 & 5x,
'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1013 & 5x,
'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
1014 & 5x,
'4:KINEMATIC 5:UNCOUPLED NL (UN/RE)LOADING',/,
1015 & 5x,
'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1016 & 5x,
'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1017 & 5x,
'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1018 & 5x,
'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1019 & 5x,
'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1020 & 5x,
'DYNAMIC AMPLIFICATION FACTOR IGF3 . . .=',1pg20
1021 & 5x,
'FUNCTION IDENTIFIER FOR ',/,
1022 & 5x,
'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1023 & 5x,
'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1024 & 5x,
'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1025 & 5x,
'NEGATIVE FAILURE DISPLACEMENT . . . . .=',1pg20.13/,
1026 & 5x,
'POSITIVE FAILURE DISPLACEMENT . . . . .=',1pg20.13/)
1028 & 5x,a1,
' TRANSLATION'/,
1029 & 5x,
'SPRING STIFFNESS. . . . . . . . . . . .=',1pg20.13/,
1030 & 5x,
'SPRING DAMPING. . . . . . . . . . . . .=',1pg20.13/,
1031 & 5x,
'FUNCTION IDENTIFIER FOR LOADING ',/,
1032 & 5x,
'FORCE-DISPLACEMENT CURVE. . . . . . . .=',i10/,
1033 & 5x,
'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1034 & 5x,
'PERMANENT DISPL./MAX. DISPL. CURVE(H=5)=',i10/,
1035 & 5x,
'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1036 & 5x,
'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1037 & 5x,
'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
1038 & 5x,'4:kinematic 5:uncoupled
nl(un/re)loading
',/,
1039 & 5X,'6:elasto plastic with hardening 7: elastic hysteresis
',/,
1040 & 5X,'dynamic amplification factor a. . . . .=
',1PG20.13/,
1041 & 5X,'dynamic amplification factor b. . . . .=
',1PG20.13/,
1042 & 5X,'dynamic amplification factor d. . . . .=
',1PG20.13/,
1043 & 5X,'dynamic amplification factor e. . . . .=
',1PG20.13/,
1044 & 5X,'dynamic amplification
',1PG20.13/,
1045 & 5X,'FUNCTION identifier
for ',/,
1046 & 5X,'force-velocity curve. . . . . . . . . .=
',I10/,
1047 & 5X,'function identifier
for the additional
',/,
1048 & 5X,'force-velocity curve. . . . . . . . . .=
',I10/,
1049 & 5X,'negative failure displacement . . . . .=
',1PG20.13/,
1050 & 5X,'positive failure displacement . . . . .=
',1PG20.13/)
1052 & 5X,A1,' rotation
'/,
1053 & 5X,'spring stiffness. . . . . . . . . . . .=
',1PG20.13/,
1054 & 5X,'spring
damping. . . . . . . . . . . . .=
',1PG20.13/,
1055 & 5X,'function identifier
for loading
',/,
1056 & 5X,'force-displacement curve. . . . . . . .=
',I10/,
1057 & 5X,'abscissa scale factor on curve . . . . =
',1PG20.13/,
1058 & 5X,'function identifier
for unloading
',/,
1059 & 5X,'force-displacement curve (H=4,5,7). . .=
',I10/,
1060 & 5X,'abscissa scale factor on curve . . . . =
',1PG20.13/,
1061 & 5X,'hardening flag h. . . . . . . . . . . .=
',I10/,
1062 & 5X,'0:elastic 1:isotropic 2:uncoupled
',/,
1063 & 5X,'4:kinematic 5:uncoupled
nl (UN/RE)loading
',/,
1064 & 5X,'6:elasto plastic with hardening 7: elastic hysteresis
',/,
1065 & 5X,'dynamic amplification factor a. . . . .=
',1PG20.13/,
1066 & 5X,'dynamic
',1PG20.13/,
1067 & 5X,'dynamic amplification factor d. . . . .=
',1PG20.13/,
1068 & 5X,'dynamic amplification factor e. . . . .=
',1PG20.13/,
1069 & 5X,'dynamic amplification factor igf3 . . .=
',1PG20.13/,
1070 & 5X,'function identifier
for ',/,
1071 & 5X,'force-velocity curve. . . . . . . . . .=
',I10/,
1072 & 5X,'function identifier
for the additional
',/,
1073 & 5X,'force-velocity curve. . . . . . . . . .=
',I10/,
1074 & 5X,'negative failure rotation . . . . . . .=
',1PG20.13/,
1075 & 5X,'positive failure rotation . . . . . . .=
',1PG20.13/)
1077 & 5X,A1,' rotation
'/,
1078 & 5X,'spring stiffness. . . . . . . . . . . .=
',1PG20.13/,
1079 & 5X,'spring
damping. . . . . . . . . . . . .=
',1PG20.13/,
1080 & 5X,'function identifier
for loading
',/,
1081 & 5X,'force-displacement curve. . . . . . . .=
',I10/,
1082 & 5X,'abscissa scale factor on curve . . . . =',1pg20.13/,
1083 & 5x,
'PERMANENT ROT./MAX. ROT. CURVE (H=5). .=',i10/,
1084 & 5x,
'ABSCISSA SCALE FACTOR ON CURVE . . . . =',1pg20.13/,
1085 & 5x,
'HARDENING FLAG H. . . . . . . . . . . .=',i10/,
1086 & 5x,
'0:ELASTIC 1:ISOTROPIC 2:UNCOUPLED',/,
1087 & 5x,
'4:KINEMATIC 5:UNCOUPLED NL (UN/RE)LOADING',/,
1088 & 5x,
'6:ELASTO PLASTIC WITH HARDENING 7: ELASTIC HYSTERESIS',/,
1089 & 5x,
'DYNAMIC AMPLIFICATION FACTOR A. . . . .=',1pg20.13/,
1090 & 5x,
'DYNAMIC AMPLIFICATION FACTOR B. . . . .=',1pg20.13/,
1091 & 5x,
'DYNAMIC AMPLIFICATION FACTOR D. . . . .=',1pg20.13/,
1092 & 5x,
'DYNAMIC AMPLIFICATION FACTOR E. . . . .=',1pg20.13/,
1093 & 5x,
'DYNAMIC AMPLIFICATION FACTOR IGF3 . . .=',1pg20.13/,
1094 & 5x,
'FUNCTION IDENTIFIER FOR ',/,
1095 & 5x,
'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10/,
1096 & 5x,
'FUNCTION IDENTIFIER FOR THE ADDITIONAL ',/,
1097 & 5x,
'FORCE-VELOCITY CURVE. . . . . . . . . .=',i10
1098 & 5x,
'NEGATIVE FAILURE ROTATION . . . . . . .=',1pg20.13/,
1099 & 5x,
'POSITIVE FAILURE ROTATION . . . . . . .=',1pg20.13/)
1101 & 5x,
'SMOOTH STRAIN RATE OPTION . . .. . . . =',i10/,
1102 & 5x,
'STRAIN RATE CUTTING FREQUENCY .. . . . =',1pg20.13/)