38 . UNITAB,IUNIT,ID,TITR,LSUBMODEL)
46#include "implicit_f.inc"
62 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
63 INTEGER IOUT,ITYP,IUNIT
66 CHARACTER(LEN=NCHARTITLE) :: TITR
72 INTEGER IERROR,IDSK1,IDSK2,IFUN_RY,IFUN_RZ,IFUN_CRY,,
75 . xk,xtyp,xflg,xsk1,xsk2,knn,kry,krz,cr,cry,crz,mass,iner,
76 . fac_m,fac_l,fac_t,fac_ct,fac_cr,fac_kt,fac_kr,fac_ctx
79 INTEGER SET_U_PNU,SET_U_GEO,KFUNC
80 EXTERNAL set_u_pnu,set_u_geo
87 fac_m = unitab%FAC_M(iunit)
88 fac_l = unitab%FAC_L(iunit)
89 fac_t = unitab%FAC_T(iunit)
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
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(
'Yr_fun',ifun_ry,is_available,lsubmodel)
105 CALL hm_get_intv(
'Zr_fun',ifun_rz,is_available,lsubmodel)
112 CALL HM_GET_FLOATV('kry
',KRY,IS_AVAILABLE,LSUBMODEL,UNITAB)
113 CALL HM_GET_FLOATV('krz
',KRZ,IS_AVAILABLE,LSUBMODEL,UNITAB)
118 CALL HM_GET_INTV('cry_fun
',IFUN_CRY,IS_AVAILABLE,LSUBMODEL)
119.NOT.
IF(IS_AVAILABLE) OFLAG = OFLAG + 1
120 CALL HM_GET_INTV('crz_fun
',IFUN_CRZ,IS_AVAILABLE,LSUBMODEL)
121.NOT.
IF(IS_AVAILABLE) OFLAG = OFLAG + 1
125 CALL HM_GET_FLOATV('cry
',CRY,IS_AVAILABLE,LSUBMODEL,UNITAB)
126.NOT.
IF(IS_AVAILABLE) OFLAG = OFLAG + 1
127 CALL HM_GET_FLOATV('crz
',CRZ,IS_AVAILABLE,LSUBMODEL,UNITAB)
128.NOT.
IF(IS_AVAILABLE) OFLAG = OFLAG + 1
130.OR.
IF (IDSK1<=0IDSK2<=0.) THEN
131 CALL ANCMSG(MSGID=386,
133 . ANMODE=ANINFO_BLIND_1,
138 CALL ANCMSG(MSGID=387,
140 . ANMODE=ANINFO_BLIND_1,
144.OR.
IF (CR<ZEROCR>1.) THEN
145 CALL ANCMSG(MSGID=388,
147 . ANMODE=ANINFO_BLIND_1,
151 IF (CR==ZERO) CR = FIVEEM2
160.AND.
IF(CRY==ZEROIFUN_CRY/=0)CRY = ONE
161.AND.
IF(CRZ==ZEROIFUN_CRZ/=0)CRZ = ONE
162.AND.
IF(KRY==ZEROIFUN_RY/=0) KRY = ONE
163.AND.
IF(KRZ==ZEROIFUN_RZ/=0) KRZ = ONE
165 IF (IFUN_RY /= 0) KRY = KRY * FAC_MM
166 IF (IFUN_RZ /= 0) KRZ = KRZ * FAC_MM
167 IF (IFUN_CRY /= 0) CRY = CRY * FAC_MM
168 IF (IFUN_CRZ /= 0) CRZ = CRZ * FAC_MM
174 IERROR = SET_U_GEO(1,XTYP)
175 IERROR = SET_U_GEO(2,XSK1)
176 IERROR = SET_U_GEO(3,XSK2)
177 IERROR = SET_U_GEO(4,KNN)
178 IERROR = SET_U_GEO(5,KNN)
179 IERROR = SET_U_GEO(6,KNN)
180 IERROR = SET_U_GEO(7,KNN)
181 IERROR = SET_U_GEO(8,KRY)
182 IERROR = SET_U_GEO(9,KRZ)
183 IERROR = SET_U_GEO(10,KNN)
184 IERROR = SET_U_GEO(11,ZERO)
185 IERROR = SET_U_GEO(12,MASS)
186 IERROR = SET_U_GEO(13,INER)
187 IERROR = SET_U_GEO(14,XFLG)
188 IERROR = SET_U_GEO(15,CR)
189 IERROR = SET_U_GEO(16,CR)
190 IERROR = SET_U_GEO(17,CR)
191 IERROR = SET_U_GEO(18,CR)
192 IERROR = SET_U_GEO(19,ZERO)
193 IERROR = SET_U_GEO(20,ZERO)
194 IERROR = SET_U_GEO(21,ZERO)
195 IERROR = SET_U_GEO(22,ZERO)
196 IERROR = SET_U_GEO(23,ZERO)
197 IERROR = SET_U_GEO(24,ZERO)
198 IERROR = SET_U_GEO(25,CRY)
199 IERROR = SET_U_GEO(26,CRZ)
200 IERROR = SET_U_GEO(27,FAC_CTX)
201 IERROR = SET_U_GEO(28,FAC_CRX)
202 IERROR = SET_U_PNU(1,ZEROI,KFUNC)
203 IERROR = SET_U_PNU(2,ZEROI,KFUNC)
204 IERROR = SET_U_PNU(3,ZEROI,KFUNC)
205 IERROR = SET_U_PNU(4,ZEROI,KFUNC)
206 IERROR = SET_U_PNU(5,IFUN_RY,KFUNC)
207 IERROR = SET_U_PNU(6,IFUN_RZ,KFUNC)
208 IERROR = SET_U_PNU(7,ZEROI,KFUNC)
209 IERROR = SET_U_PNU(8,ZEROI,KFUNC)
210 IERROR = SET_U_PNU(9,ZEROI,KFUNC)
211 IERROR = SET_U_PNU(10,ZEROI,KFUNC)
212 IERROR = SET_U_PNU(11,IFUN_CRY,KFUNC)
213 IERROR = SET_U_PNU(12,IFUN_CRZ,KFUNC)
217 WRITE(IOUT,'(5x,a,//)
')'confidential data
'
220 WRITE(IOUT,1001) IDSK1,IDSK2,XK,CR,KNN,KRY,KRZ,
223 WRITE(IOUT,1000) IDSK1,IDSK2,XK,CR,KNN,KRY,KRZ,
224 . IFUN_RY,IFUN_RZ,CRY,CRZ,IFUN_CRY,IFUN_CRZ
231 & 5X,'joint
TYPE . . . . . . . . universal joint
'//)
233 & 5X,'skew 1 frame id. . . . . . . . . . . . =
',I10/,
234 & 5X,'skew 2 frame id. . . . . . . . . . . . =
',I10/,
235 & 5X,'stiffness
for INTERFACE k=e*a/l. . . . =
',1PG20.13/,
236 & 5X,'critical
damping coefficient . . . . . =
',1PG20.13/,
237 & 5X,'blocking stiffness knn . . . . . . . . =
',1PG20.13/,
238 & 5X,'linear rotational stiffness kyy. . . . =
',1PG20.13/,
239 & 5X,'linear rotational stiffness kzz. . . . =
',1PG20.13/,
240 & 5X,'user ry torsion
FUNCTION id. . . . . . =
',I10/,
241 & 5X,'user rz torsion function id. . . . . . =
',I10/,
242 & 5X,'linear
damping cry . . . . . . . . . . =
',1PG20.13/,
243 & 5X,'linear
damping crz . . . . . . . . . . =',1pg20.13/,
244 & 5x,
'USER RY DAMPING FUNCTION . . . . . . . =',i10/,
245 & 5x,
'USER RZ DAMPING FUNCTION . . . . . . . =',i10//)
247 & 5x,
'SKEW 1 FRAME ID. . . . . . . . . . . . =',i10/,
248 & 5x,
'SKEW 2 FRAME ID. . . . . . . . . . . . =',i10/,
249 & 5x,
'STIFFNESS FOR INTERFACE K=E*A/L. . . . =',1pg20.13/,
250 & 5x,
'CRITICAL DAMPING COEFFICIENT . . . . . =',1pg20.13/,
251 & 5x,
'BLOCKING STIFFNESS KNN . . . . . . . . =',1pg20.13/,
252 & 5x,
'LINEAR ROTATIONAL STIFFNESS KYY. . . . =',1pg20.13/,
253 & 5x,
'LINEAR ROTATIONAL STIFFNESS KZZ. . . . =',1pg20.13/,
254 & 5x,
'USER RY TORSION FUNCTION ID. . . . . . =',i10/,
255 & 5x,
'USER RZ TORSION FUNCTION ID. . . . . . =',i10//)
subroutine damping(nodft, nodlt, v, vr, a, ar, damp, ms, in, igrnod, dim, itask, weight, tagslv_rby, wfext)