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_XX,IFUN_RX,IFUN_CXX,IFUN_CRX,
76 . xk,xtyp,xflg,xsk1,xsk2,knn,kxx,krx,cr,cxx,crx,mass,iner,
77 . fac_m,fac_l,fac_t,fac_ct,fac_cr,fac_kt,fac_kr,fac_ctx,fac_crx,
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)
91 fac_ff = fac_m / fac_t
93 fac_ct = fac_m / fac_t
94 fac_cr = fac_m * fac_l**2 / fac_t
95 fac_kt = fac_ct / fac_t
96 fac_kr = fac_cr / fac_t
97 fac_ctx = fac_t / fac_l
104 CALL hm_get_intv(
'Idsk1',idsk1,is_available,lsubmodel)
105 CALL hm_get_intv(
'Idsk2',idsk2,is_available,lsubmodel)
106 CALL hm_get_intv(
'Xt_fun',ifun_xx,is_available,lsubmodel)
107 CALL hm_get_intv(
'Xr_fun',ifun_rx,is_available,lsubmodel)
120 CALL hm_get_intv(
'Ctx_Fun',ifun_cxx,is_available,lsubmodel)
121 IF(.NOT.is_available) oflag = oflag + 1
122 CALL hm_get_intv(
'Crx_Fun',ifun_crx,is_available,lsubmodel)
123 IF(.NOT.is_available) oflag = oflag + 1
128 IF(.NOT.is_available) oflag = oflag + 1
130 IF(.NOT.is_available) oflag = oflag + 1
132 IF (idsk1<=0.OR.idsk1<=0)
THEN
135 . anmode=aninfo_blind_1,
142 . anmode=aninfo_blind_1,
146 IF (cr<zero.OR.cr>1.)
THEN
149 . anmode=aninfo_blind_1,
153 IF (cr==zero) cr = fiveem2
162 IF(cxx==zero.AND.ifun_cxx/=0)cxx = one
163 IF(crx==zero.AND.ifun_crx/=0)crx = one
164 IF(kxx==zero.AND.ifun_xx/=0) kxx = one
165 IF(krx==zero.AND.ifun_rx/=0) krx = one
167 IF (ifun_xx /= 0) kxx = kxx * fac_ff
168 IF (ifun_rx /= 0) krx = krx * fac_mm
169 IF (ifun_cxx /= 0) cxx = cxx * fac_ff
170 IF (ifun_crx /= 0) crx = crx * fac_mm
176 ierror = set_u_geo(1,xtyp)
177 ierror = set_u_geo(2,xsk1)
178 ierror = set_u_geo(3,xsk2)
179 ierror = set_u_geo(4,kxx)
180 ierror = set_u_geo(5,knn)
181 ierror = set_u_geo(6,knn)
182 ierror = set_u_geo(7,krx)
183 ierror = set_u_geo(8,knn)
184 ierror = set_u_geo(9,knn)
185 ierror = set_u_geo(10,knn)
186 ierror = set_u_geo(11,zero
187 ierror = set_u_geo(12,mass)
188 ierror = set_u_geo(13,iner)
189 ierror = set_u_geo(14,xflg)
190 ierror = set_u_geo(15,zero)
191 ierror = set_u_geo(16,cr)
192 ierror = set_u_geo(17,cr)
193 ierror = set_u_geo(18,zero)
194 ierror = set_u_geo(19,cr)
195 ierror = set_u_geo(20,cr)
196 ierror = set_u_geo(21,cxx)
197 ierror = set_u_geo(22,zero)
198 ierror = set_u_geo(23,zero)
199 ierror = set_u_geo(24,crx)
200 ierror = set_u_geo(25,zero)
201 ierror = set_u_geo(26,zero)
202 ierror = set_u_geo(27,fac_ctx)
204 ierror = set_u_pnu(1,ifun_xx,kfunc)
205 ierror = set_u_pnu(2,zeroi,kfunc)
206 ierror = set_u_pnu(3,zeroi,kfunc)
207 ierror = set_u_pnu(4,ifun_rx,kfunc)
208 ierror = set_u_pnu(5,zeroi,kfunc)
209 ierror = set_u_pnu(6,zeroi,kfunc)
210 ierror = set_u_pnu(7,ifun_cxx,kfunc)
211 ierror = set_u_pnu(8,zeroi,kfunc)
213 ierror = set_u_pnu(10,ifun_crx,kfunc)
214 ierror = set_u_pnu(11,zeroi,kfunc)
215 ierror = set_u_pnu(12,zeroi,kfunc)
219 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
222 WRITE(iout,1001) idsk1,idsk2,xk,cr,knn,kxx,krx,
225 WRITE(iout,1000) idsk1,idsk2,xk,cr,knn,kxx,krx,
226 . ifun_xx,ifun_rx,cxx,crx,ifun_cxx,ifun_crx
233 & 5x,
'JOINT TYPE . . . . . . CYLINDRICAL JOINT'//)
235 & 5x,'skew 1 frame id. . . . . . . . . . . . =
',I10/,
236 & 5X,'skew 2 frame id. . . . . . . . . . . . =
',I10/,
237 & 5X,'stiffness
for INTERFACE k=e*a/l. . . . =
',1PG20.13/,
238 & 5X,'critical
damping coefficient . . . . . =
',1PG20.13/,
239 & 5X,'blocking stiffness knn . . . . . . . . =
',1PG20.13/,
240 & 5X,'linear translational stiffness kxx . . =
',1PG20.13/,
241 & 5X,'linear torsional stiffness krx . . . . =
',1PG20.13/,
242 & 5X,'user x translation function. . . . . . =
',I10/,
243 & 5X,'user rx torsion
FUNCTION id
',I10/,
244 & 5X,'linear
damping cxx . . . . . . . . . . =
',1PG20.13/,
245 & 5X,'linear
damping crx . . . . . . . . . . =
',1PG20.13/,
246 & 5X,'user xx
damping function . . . . . . . =
',I10/,
247 & 5X,'user rx
damping function . . . . . . . =
',I10//)
249 & 5X,'skew 1 frame id. . . . . . . . . . . . =
',I10/,
250 & 5X,'skew 2 frame id. . . . . . . . . . . . =
',I10/,
251 & 5X,'stiffness
for interface k=e*a/l. . . . =
',1PG20.13/,
252 & 5X,'critical
damping coefficient . . . . . =
',1PG20.13/,
253 & 5X,'blocking stiffness knn . . . . . . . . =
',1PG20.13/,
254 & 5X,'linear translational stiffness kxx . . =
',1PG20.13/,
255 & 5X,'linear torsional stiffness krx . . . . =
',1PG20.13/,
256 & 5X,'user x translation function. . . . . . =
',I10/,
257 & 5X,'user rx torsion function id. . . . . . =
',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)