38 . UNITAB,IUNIT,ID,TITR,LSUBMODEL)
46#include "implicit_f.inc"
62 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
63 INTEGER IOUT, ITYP, SKFLAG,IUNIT
67 CHARACTER(LEN=NCHARTITLE) :: TITR
73 INTEGER IERROR,IDSK1,IDSK2,IFUN_RX,IFUN_RY,IFUN_RZ,
74 . ifun_crx,ifun_cry,ifun_crz, zeroi,oflag
76 . xk,xtyp,xflg,xsk1,xsk2,knn,krx,kry,krz,cr,crx,cry,crz,
77 . mass,iner,fac_m,fac_l,fac_t,fac_ct,fac_cr,fac_kt,fac_kr,
78 . fac_ctx,fac_crx,fac_mm
80 INTEGER SET_U_PNU,SET_U_GEO,KFUNC
81 EXTERNAL set_u_pnu,set_u_geo
88 fac_m = unitab%FAC_M(iunit)
89 fac_l = unitab%FAC_L(iunit)
90 fac_t = unitab%FAC_T(iunit)
92 fac_ct = fac_m / fac_t
93 fac_cr = fac_m * fac_l**2 / fac_t
94 fac_kt = fac_ct / fac_t
95 fac_kr = fac_cr / fac_t
96 fac_ctx = fac_t / fac_l
103 CALL hm_get_intv(
'Idsk1',idsk1,is_available,lsubmodel)
104 CALL hm_get_intv(
'Idsk2',idsk2,is_available,lsubmodel)
105 CALL hm_get_intv(
'Xr_fun',ifun_rx,is_available,lsubmodel)
106 CALL hm_get_intv(
'Yr_fun',ifun_ry,is_available,lsubmodel)
107 CALL hm_get_intv(
'Zr_fun',ifun_rz,is_available,lsubmodel)
121 CALL hm_get_intv(
'Crx_Fun',ifun_crx,is_available,lsubmodel)
122 IF(.NOT.is_available) oflag = oflag + 1
123 CALL hm_get_intv(
'Cry_Fun',ifun_cry,is_available,lsubmodel)
124 IF(.NOT.is_available) oflag = oflag + 1
125 CALL hm_get_intv(
'Crz_Fun',ifun_crz,is_available,lsubmodel)
126 IF(.NOT.is_available) oflag = oflag + 1
131 IF(.NOT.is_available) oflag = oflag + 1
133 IF(.NOT.is_available) oflag = oflag + 1
137 IF (idsk1<=0.OR.idsk1<=0)
THEN
140 . anmode=aninfo_blind_1,
147 . anmode=aninfo_blind_1,
151 IF (cr<zero.OR.cr>1.)
THEN
154 . anmode=aninfo_blind_1,
158 IF (cr==zero) cr = fiveem2
167 IF(crx==zero.AND.ifun_crx/=0)crx = one
168 IF(cry==zero.AND.ifun_cry/=0)cry = one
169 IF(crz==zero.AND.ifun_crz/=0)crz = one
170 IF(krx==zero.AND.ifun_rx/=0) krx = one
171 IF(kry==zero.AND.ifun_ry/=0) kry = one
172 IF(krz==zero.AND.ifun_rz/=0) krz = one
174 IF (ifun_rx /= 0) krx = krx * fac_mm
175 IF (ifun_ry /= 0) kry = kry * fac_mm
176 IF (ifun_rz /= 0) krz = krz * fac_mm
177 IF (ifun_crx /= 0) crx = crx * fac_mm
178 IF (ifun_cry /= 0) cry = cry * fac_mm
179 IF (ifun_crz /= 0) crz = crz * fac_mm
185 ierror = set_u_geo(1,xtyp)
186 ierror = set_u_geo(2,xsk1)
187 ierror = set_u_geo(3,xsk2)
188 ierror = set_u_geo(4,knn)
189 ierror = set_u_geo(5,knn)
190 ierror = set_u_geo(6,knn)
191 ierror = set_u_geo(7,krx)
192 ierror = set_u_geo(8,kry)
193 ierror = set_u_geo(9,krz)
194 ierror = set_u_geo(10,knn)
195 ierror = set_u_geo(11,zero)
196 ierror = set_u_geo(12,mass)
197 ierror = set_u_geo(13,iner)
198 ierror = set_u_geo(14,xflg)
199 ierror = set_u_geo(15,cr)
200 ierror = set_u_geo(16,cr)
201 ierror = set_u_geo(17,cr)
202 ierror = set_u_geo(18,zero)
203 ierror = set_u_geo(19,zero)
204 ierror = set_u_geo(20,zero)
205 ierror = set_u_geo(21,zero)
206 ierror = set_u_geo(22,zero)
207 ierror = set_u_geo(23,zero)
208 ierror = set_u_geo(24,crx)
209 ierror = set_u_geo(25,cry)
210 ierror = set_u_geo(26,crz)
211 ierror = set_u_geo(27,fac_ctx)
212 ierror = set_u_geo(28,fac_crx)
213 ierror = set_u_pnu(1,zeroi,kfunc)
214 ierror = set_u_pnu(2,zeroi,kfunc)
215 ierror = set_u_pnu(3,zeroi,kfunc)
216 ierror = set_u_pnu(4,ifun_rx,kfunc)
217 ierror = set_u_pnu(5,ifun_ry,kfunc)
218 ierror = set_u_pnu(6,ifun_rz,kfunc)
219 ierror = set_u_pnu(7,zeroi,kfunc)
220 ierror = set_u_pnu(8,zeroi,kfunc)
221 ierror = set_u_pnu(9,zeroi,kfunc)
222 ierror = set_u_pnu(10,ifun_crx,kfunc)
223 ierror = set_u_pnu(11,ifun_cry,kfunc)
224 ierror = set_u_pnu(12,ifun_crz,kfunc)
228 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
231 WRITE(iout,1001) idsk1,idsk2,xk,cr,knn,krx,kry,krz,
232 . ifun_rx,ifun_ry,ifun_rz
234 WRITE(iout,1000) idsk1,idsk2,xk,cr,knn,krx,kry,krz,
235 . ifun_rx,ifun_ry,ifun_rz,crx,cry,crz,
236 . ifun_crx,ifun_cry,ifun_crz
242 & 5x,
'JOINT TYPE . . . . . . . . . SPHERICAL JOINT'//)
244 & 5x,
'SKEW 1 FRAME ID. . . . . . . . . . . . =',i10/,
245 & 5x,
'SKEW 2 FRAME ID. . . . . . . . . . . . =',i10/,
246 & 5x,
'STIFFNESS FOR INTERFACE K=E*A/L. . . . =',1pg20.13/,
247 & 5x,
'CRITICAL DAMPING COEFFICIENT . . . . . =',1pg20.13/,
248 & 5x,
'BLOCKING STIFFNESS KNN . . . . . . . . =',1pg20.13/,
249 & 5x,
'LINEAR ROTATIONAL STIFFNESS KRX. . . . =',1pg20.13/,
250 & 5x,
'LINEAR ROTATIONAL STIFFNESS KRY. . . . =',1pg20.13/,
251 & 5x,
'LINEAR ROTATIONAL STIFFNESS KRZ. . . . =',1pg20.13/,
252 & 5x,
'USER X ROT FUNCTION. . . . . . . . . . =',i10/,
253 & 5x,
'USER Y ROT FUNCTION. . . . . . . . . . =',i10/,
254 & 5x,
'USER Z ROT FUNCTION. . . . . . . . . . =',i10/,
255 & 5x,
'LINEAR DAMPING CRX . . . . . . . . . . =',1pg20.13/,
256 & 5x,
'LINEAR DAMPING CRY . . . . . . . . . . =',1pg20.13/,
257 & 5x,
'LINEAR DAMPING CRZ . . . . . . . . . . =',1pg20.13/,
258 & 5x,'user rx
damping FUNCTION . . . . . . . =
',I10/,
259 & 5X,'user ry
damping function . . . . . . . =
',I10/,
260 & 5X,'user rz
damping function .
',I10//)
262 & 5X,'skew 1 frame id. . . . . . . . . . . . =
',I10/,
263 & 5X,'skew 2 frame id. . . . . . . . . . . . =
',I10/,
264 & 5X,'stiffness
for interface k=e*a/l. . . . =
',1PG20.13/,
265 & 5X,'critical
damping coefficient . . . . . =
',1PG20.13/,
266 & 5X,'blocking stiffness knn . . . . . . . . =
',1PG20.13/,
267 & 5X,'linear rotational stiffness krx. . . . =
',1PG20.13/,
268 & 5X,'linear rotational stiffness kry. . . . =
',1PG20.13/,
269 & 5X,'linear rotational stiffness krz. . . . =
',1PG20.13/,
270 & 5X,'user x rot function. . . . . . . . . . =
',I10/,
271 & 5X,'user y rot function. . . . . . . . . . =
',I10/,
272 & 5X,'user z rot function. . . . . . . . . . =
',I10//)
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)