43
44
45
46#include "implicit_f.inc"
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
63 INTEGER IOUT, ITYP, ,IUNIT
65
66 INTEGER ID
67 CHARACTER(LEN=NCHARTITLE) :: TITR
68 LOGICAL IS_ENCRYPTED
69 TYPE(SUBMODEL_DATA),INTENT(IN)::LSUBMODEL(*)
70
71
72
73 INTEGER IERROR,IDSK1,IDSK2,IFUN_RX,IFUN_CRX,ZEROI,OFLAG
75 . xk,xtyp,xflg,xsk1,xsk2,knn,krx,cr,crx,mass,iner,
76 . fac_m,fac_l,fac_t,fac_ct,fac_cr,fac_kt,fac_kr,fac_ctx,fac_crx
77 . fac_mm
78
79 INTEGER SET_U_PNU,SET_U_GEO,KFUNC
81 parameter(kfunc=29)
82 DATA zeroi/0/
83 LOGICAL IS_AVAILABLE
84
85
86
87 fac_m = unitab%FAC_M(iunit)
88 fac_l = unitab%FAC_L(iunit)
89 fac_t = unitab%FAC_T(iunit)
90 fac_mm = one / fac_t
91 fac_ct = fac_m / fac_t
92 fac_cr = fac_m * fac_l**2 / fac_t
93 fac_kt = fac_ct / fac_t
94 fac_kr = fac_cr / fac_t
95 fac_ctx = fac_t / fac_l
96 fac_crx = fac_t
97 oflag = 0
98
99
100
101
102 CALL hm_get_intv(
'Idsk1',idsk1,is_available,lsubmodel
103 CALL hm_get_intv(
'Idsk2',idsk2,is_available,lsubmodel)
104 CALL hm_get_intv(
'Xr_fun',ifun_rx,is_available,lsubmodel)
105
106
107
112
113
114
115
116 CALL hm_get_intv(
'Crx_Fun',ifun_crx,is_available,lsubmodel)
117 IF(.NOT.is_available) oflag = oflag + 1
118
119
120
122 IF(.NOT.is_available) oflag = oflag + 1
123
124 IF (idsk1<=0.OR.idsk1<=0) THEN
126 . msgtype=msgerror,
127 . anmode=aninfo_blind_1,
129 . c1=titr)
130 ENDIF
131 IF (knn==0.) THEN
133 . msgtype=msgerror,
134 . anmode=aninfo_blind_1,
136 . c1=titr)
137 ENDIF
138 IF (cr<zero.OR.cr>1.) THEN
140 . msgtype=msgerror,
141 . anmode=aninfo_blind_1,
143 . c1=titr)
144 ENDIF
145 IF (cr==zero) cr = fiveem2
146
147 xtyp = ityp
148 xflg = skflag
149 xsk1 = idsk1
150 xsk2 = idsk2
151 mass = zero
152 iner = zero
153
154 IF(crx==zero.AND.ifun_crx/=0)crx = one
155 IF(krx==zero.AND.ifun_rx/=0) krx = one
156
157
158 IF (ifun_rx /= 0) krx = krx * fac_mm
159 IF (ifun_crx /= 0) crx = crx * fac_mm
160
161 pargeo(1) = 0
162 pargeo(2) = xk
163 pargeo(3) = 0
164
205
206 WRITE(iout,500)
207 IF(is_encrypted)THEN
208 WRITE(iout,'(5X,A,//)')'CONFIDENTIAL DATA'
209 ELSE
210 IF (oflag==2) THEN
211 WRITE(iout,1001)idsk1,idsk2,xk,cr,knn,krx,ifun_rx
212 ELSE
213 WRITE(iout,1000)idsk1,idsk2,xk,cr,knn,krx,ifun_rx,crx,ifun_crx
214 ENDIF
215 ENDIF
216
217 RETURN
218 500 FORMAT(
219 & 5x,'JOINT TYPE . . . . . . . . REVOLUTE JOINT'//)
220 1000 FORMAT(
221 & 5x,'SKEW 1 FRAME ID. . . . . . . . . . . . =',i10/,
222 & 5x,'SKEW 2 FRAME ID. . . . . . . . . . . . =',i10/,
223 & 5x,'STIFFNESS FOR INTERFACE K=E*A/L. . . . =',1pg20.13/,
224 & 5x,'CRITICAL DAMPING COEFFICIENT . . . . . =',1pg20.13/,
225 & 5x,'BLOCKING STIFFNESS KNN . . . . . . . . =',1pg20.13/,
226 & 5x,'LINEAR ROTATIONAL STIFFNESS KRX. . . . =',1pg20.13/,
227 & 5x,'ROTATIONAL FUNCTION ID. . . . . . . . .=',i10/,
228 & 5x,'LINEAR DAMPING CRX . . . . . . . . . . =',1pg20.13/,
229 & 5x,'USER RX DAMPING FUNCTION . . . . . . . =',i10//)
230 1001 FORMAT(
231 & 5x,'SKEW 1 FRAME ID. . . . . . . . . . . . =',i10/,
232 & 5x,'SKEW 2 FRAME ID. . . . . . . . . . . . =',i10/,
233 & 5x,'STIFFNESS FOR INTERFACE K=E*A/L. . . . =',1pg20.13/,
234 & 5x,'CRITICAL DAMPING COEFFICIENT . . . . . =',1pg20.13/,
235 & 5x,'BLOCKING STIFFNESS KNN . . . . . . . . =',1pg20.13/,
236 & 5x,'LINEAR ROTATIONAL STIFFNESS KRX. . . . =',1pg20.13/,
237 & 5x,'ROTATIONAL FUNCTION ID. . . . . . . . .=',i10//)
238 RETURN
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
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)
integer function set_u_pnu(ivar, ip, k)
integer function set_u_geo(ivar, a)