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, SKFLAG,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_XX,IFUN_CXX,ZEROI,OFLAG
75 . xk,xtyp,xflg,xsk1,xsk2,knn,kxx,cr,cxx,mass,iner,
76 . fac_m,fac_l,fac_t,fac_ct,fac_cr,fac_kt,fac_kr,fac_ctx,fac_crx,
77 . fac_ff,fac_mm
78
79 INTEGER SET_U_PNU,SET_U_GEO,
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
94 fac_kr = fac_cr / fac_t
95 fac_ctx = fac_t / fac_l
96 fac_crx = fac_t
97 fac_ff = fac_m / fac_t
98 oflag = 0
99
100
101
102
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(
'Xt_fun',ifun_xx,is_available,lsubmodel)
106
107
108
113
114
115
116
117 CALL hm_get_intv(
'Ctx_Fun',ifun_cxx,is_available,lsubmodel)
118 IF(.NOT.is_available) oflag = oflag + 1
119
120
121
123 IF(.NOT.is_available) oflag = oflag + 1
124
125 IF (idsk1<=0.0.OR.idsk1<=0) THEN
127 . msgtype=msgerror,
128 . anmode=aninfo_blind_1,
130 . c1=titr)
131 ENDIF
132 IF (knn==0.) THEN
134 . msgtype=msgerror,
135 . anmode=aninfo_blind_1,
137 . c1=titr)
138 ENDIF
139 IF (cr<zero.OR.cr>1.) THEN
141 . msgtype=msgerror,
142 . anmode=aninfo_blind_1,
144 . c1=titr)
145 ENDIF
146 IF (cr==zero) cr = fiveem2
147
148 xtyp = ityp
149 xflg = skflag
150 xsk1 = idsk1
151 xsk2 = idsk2
152 mass = zero
153 iner = zero
154
155 IF(cxx==zero.AND.ifun_cxx/=0)cxx = one
156 IF(kxx==zero.AND.ifun_xx/=0) kxx = one
157
158 IF (ifun_xx /= 0) kxx = kxx * fac_ff
159 IF (ifun_cxx /= 0) cxx = cxx * fac_ff
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,kxx,ifun_xx
212 ELSE
213 WRITE(iout,1000)idsk1,idsk2,xk,cr,knn,kxx,ifun_xx,cxx,ifun_cxx
214 ENDIF
215 ENDIF
216
217 RETURN
218
219 500 FORMAT(
220 & 5x,'JOINT TYPE . . . . . . TRANSLATIONAL JOINT'//)
221 1000 FORMAT(
222 & 5x,'SKEW 1 FRAME ID. . . . . . . . . . . . =',i10/,
223 & 5x,'SKEW 2 FRAME ID. . . . . . . . . . . . =',i10/,
224 & 5x,'STIFFNESS FOR INTERFACE K=E*A/L. . . . =',1pg20.13/,
225 & 5x,'CRITICAL DAMPING COEFFICIENT . . . . . =',1pg20.13/,
226 & 5x,'BLOCKING STIFFNESS KNN . . . . . . . . =',1pg20.13/,
227 & 5x,'TRANSLATIONAL LINEAR STIFFNESS KXX . . =',1pg20.13/,
228 & 5x,'TRANSLATIONAL FUNCTION ID. . . . . . . =',i10/,
229 & 5x,'LINEAR DAMPING CXX . . . . . . . . . . =',1pg20.13/,
230 & 5x,'USER XX DAMPING FUNCTION . . . . . . . =',i10//)
231 1001 FORMAT(
232 & 5x,'SKEW 1 FRAME ID. . . . . . . . . . . . =',i10/,
233 & 5x,'SKEW 2 FRAME ID. . . . . . . . . . . . =',i10/,
234 & 5x,'STIFFNESS FOR INTERFACE K=E*A/L. . . . =',1pg20.13/,
235 & 5x,'CRITICAL DAMPING COEFFICIENT . . . . . =',1pg20.13/,
236 & 5x,'BLOCKING STIFFNESS KNN . . . . . . . . =',1pg20.13/,
237 & 5x,'TRANSLATIONAL LINEAR STIFFNESS KXX . . =',1pg20.13/,
238 & 5x,'TRANSLATIONAL FUNCTION ID. . . . . . . =',i10//)
239 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)