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 IF (ifail2 /= 1 .AND. ifail2 /= 2) ifail2 = 0
164 IF(.NOT. 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'//)
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 = one * fac_l
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)
318 CALL hm_get_floatv(
'Dcoeft2',d,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 == 0 .OR. ifunc2 == 0))
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)
442 CALL hm_get_floatv(
'STIFF3',xk,is_available,lsubmodel,unitab)
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)
456 IF (iecrou == 4 .AND. (ifunc == 0 .OR. ifunc2 == 0))
THEN
459 . anmode=aninfo_blind_1,
463 IF (iecrou == 4 .AND. geo(2) == zero)
THEN
466 . anmode=aninfo_blind_1,
470 IF (iecrou == 5 .AND. (ifunc == 0 .OR. ifunc2 == 0))
THEN
473 . anmode=aninfo_blind_1,
477 IF (iecrou == 6 .AND. (ifunc == 0 .OR. ifunc2 == 0))
THEN
480 . anmode=aninfo_blind_1,
484 IF (iecrou == 7 .AND. ifunc == 0)
THEN
487 . anmode=aninfo_blind_1,
490 ELSEIF (iecrou == 7 .AND. ifunc2 == 0)
THEN
492 . msgtype=msgwarning,
493 . anmode=aninfo_blind_1,
500 a_without_unit = a / (fac_m * fac_l / (fac_t **2))
501 IF (ifunc == 0 .AND. a /= zero .AND. a_without_unit /= one)
THEN
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 IF(.NOT. 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
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)
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)
580 CALL hm_get_floatv(
'Prop_Tor_E',e,is_available,lsubmodel,unitab)
581 CALL hm_get_floatv(
'scale4',lscale,is_available,lsubmodel,unitab)
586 IF (iecrou == 4 .AND. (ifunc == 0 .OR. ifunc2 == 0))
THEN
589 . anmode=aninfo_blind_1,
593 IF (iecrou == 4 .AND. geo(2) == zero)
THEN
596 . anmode=aninfo_blind_1,
600 IF (iecrou == 5 .AND. (ifunc == 0 .OR. ifunc2 == 0))
THEN
603 . anmode=aninfo_blind_1,
607 IF (iecrou == 6 .AND. (ifunc == 0 .OR. ifunc2 == 0))
THEN
610 . anmode=aninfo_blind_1,
614 IF (iecrou == 7 .AND. ifunc == 0)
THEN
617 . anmode=aninfo_blind_1,
620 ELSEIF (iecrou == 7 .AND. ifunc2 == 0)
THEN
622 . msgtype=msgwarning,
623 . anmode=aninfo_blind_1,
630 a_without_unit = a / (fac_m * fac_l**2 / fac_t**2)
631 IF (ifunc == 0 .AND. a /= zero .AND. a_without_unit /= one)
THEN
633 . msgtype=msgwarning,
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 IF(.NOT. 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,
693 CALL hm_get_intv(
'FUN_A5',ifunc,is_available,lsubmodel)
694 CALL hm_get_intv(
'HFLAG5',iecrou,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)
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 == 0))
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)
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.13/,
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 FACTOR IGF3 . . .=',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 amplification factor b. . . . .=
',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/)