CLS PRINT "FIXED END FORCES AND STIFFNESS " PRINT "COEFFICIENTS FOR STRAIGHT ELASTIC BEAMS" DIM F1(20):DIM F2(20):DIM F3(20):DIM Z(20) GOSUB [EIZE] REM ==INPUT SEGMENT DATA== GOSUB [THSIZE] REM ==COMPUTE FIXED END FORCES== GOSUB [ONTHFOZE] REM ==COMPUTE STIFFNESS COEFFICIENTS== GOSUB [ONFIFOZE] GOTO [ONNIFIZE] [EIZE] PRINT PRINT PRINT PRINT "ENTER GENERAL DATA" PRINT INPUT "ELASTIC MODULUS = ";E PRINT INPUT "TOTAL LENGTH = ";L9 PRINT INPUT "NUMBER OF SEGMENTS = ";N1 PRINT PRINT "CROSS SECTI0N GE0METRY" PRINT "SPECIFICATI0N TYPES =" PRINT PRINT "TYPE 1 = MOMENT OF INERTIA" PRINT "TYPE 2 = DEPTH" PRINT INPUT "TYPE =";T0 PRINT PRINT "ENTER SEGMENT DATA" PRINT RETURN [THSIZE] N = N1 + 1 G1 = 0 G2 = 0 G3 = 0 D1 = 0 D2 = 0 X1 = 0 X2 = 0 Z0 = 0 J = 0 [FOSIZE] J = J + 1 J1 = J -1 IF J >=N THEN [ONTHTHZE] REM ==INPUT SEGMENT DATA== [FONIZE] PRINT PRINT"SEGMENT ";J PRINT INPUT "LENGTH = ";L PRINT IF T0 > 1 THEN [FINIZE] PRINT "END SECTI0NS MOMENTS OF INERTIA" INPUT "I0 =";I0 INPUT "I1 = ";I1 GOTO [SIFOZE] [FINIZE] PRINT "END SECTI0NS DEPTHS" INPUT "D0 = ";E0 INPUT "D1= ";E1 I0=E0* E0 * E0 / 12 I1 = E1 * E1 * E1 / 12 [SIFOZE] PRINT PRINT "DISTRIBUTED LOAD" INPUT "W0 = ";W0 INPUT "W1 = ";W1 PRINT PRINT "NODAL LOADS" INPUT"FORCE =";P0 INPUT "MOMENT = ";M0 PRINT REM ==CHECK FOR INPUT ERROR== Z0 = Z0 + L IF Z0 < 1.001*L9 THEN [SESEZE] PRINT "***WARNING***" PRINT "TOTAL LENGTH EXCEEDED" [SESEZE] PRINT GOTO [EITWZE] GOTO [FONIZE] REM ==COMPUTE FLEXIBILITIES== [EITWZE] GOSUB [ONSIFIZE] F1(J) = H2 F2(J) = H0 F3(J) = H1 Z(J) = Z0 G9 = L9 -Z(J) G1 = G1 + H2 + 2 * G9 * H1+ G9 * G9 * H0 G2 = G2 + H0 G3 = G3 + H1 + G9 * H0 REM ==CHECK FOR DISTR. LOAD== IF W0 <> 0 THEN [NIFOZE] IF W1 <> 0 THEN [NIFOZE] GOTO [ONZEFOZE] REM EFFECT OF DISTRIBUTED LOAD [NIFOZE] A1 = (W1 -W0) / L A2 = W1 / 2 A6 = A1 / 6 REM COMPUTE INTEGRALS GOSUB [ONEIFOZE] REM COMPUTE AND ADD DEFLECTI0NS AT TIP V1 = A2 * H3 -A6 *H4 V2 = A2* H2 -A6 * H3 D1 = D1+V1+ G9* V2 D2 = D2 + V2 REM MODIFY NODAL LOADS P0 = P0 +(W0 + W1)* L / 2 M0 = M0 +(W0 + 2 * W1)* L* L / 6 REM CHECK FOR NODAL LOADS [ONZEFOZE] IF P0 <> 0 THEN [ONZESEZE] IF M0 <> 0 THEN [ONZESEZE] GOTO [FOSIZE] REM LEFT SUPPORT REACTI0NS [ONZESEZE] IF J > 1 THEN [ONONONZE] X1 = X1 + P0 X2 = X2 + M0 GOTO [FOSIZE] [ONONONZE] X1 = X1+P0 X2 = X2 + M0 + P0 * Z(J1) C1 = 0 C2= 0 K = 0 [ONONSIZE] K= K + 1 IF K >= J THEN [ONTHZEZE] S1= P0 L2 = Z(J1) -Z(K) S2 = L2 * P0+M0 G8 = L9 -Z(K) B1 = F1(K) B2 = F2(K) B3 = F3(K) A1 = B1+G8* B3 A2 = B3+G8* B2 C1 = C1+A1* S1+A2 *S2 C2 = C2 + B3 * S1 + B2 * S2 GOTO [ONONSIZE] REM ==ACCUMULATE DEFLECTI0N DUE TO NODAL LOADS== [ONTHZEZE] D1 = D1 + C1 D2= D2 + C2 GOTO [FOSIZE] [ONTHTHZE] RETURN REM ==COMPUTE FIXED END LOADS STIFFNESS MATRIX== [ONTHFOZE] D9 = G1 * G2 -G3 * G3 S1 = G2 / D9 S2 = G1 / D9 S3= -1*G3 / D9 X3= -1*(S1* D1+ S3 * D2) X4= -1*(S3* D1+S2* D2) X1 = X1 + X3 X2 = -1*(X2 + X4 + X3 * L9) REM ==OUTPUT== PRINT PRINT "SOLUTI0N" PRINT "********" PRINT PRINT "FIXED END FORCES" PRINT PRINT "VA = ";X1 PRINT "MA = ";X2 PRINT PRINT "VB = ";X3 PRINT "MB = ";X4 RETURN REM ==COMPUTATI0N OF STIFFNESS COEFGFICIENTS COORDINATE TRANS [ONFIFOZE] L2 = L9 * L9 K1 = S1 * L2 + 2 * S3 * L9 + S2 K2 = S2 K3 = -1*(S3 * L9+S2) REM ==OUTPUT== PRINT PRINT "STIFFNESS COEFFICIENTS" PRINT PRINT "KAA = ";K1 PRINT "KBB = ";K2 PRINT "KAB = ";K3 RETURN REM ==INTEGRALS FOR FLEXIBILITY COMPUTATI0N== REM FLEXIBILITY COMPUTATI0N [ONSIFIZE] IF I0 = I1 THEN [ONSESIZE] B = (I1 -I0) / L REM ==VARIABLE INERTIA== B0= 1 /(B * E) B1= I1 / I0 B2 = I1 / B B3 = B0 * L H0 = B0 *LOG(B1) H1 = B2 * H0 -B3 B3 = B3 * L H2 = B2 * H1 -B3 / 2 RETURN REM ==UNIFORM CROSS-SECTI0N== [ONSESIZE] E0 = 1 / (E * I0) B4 = L H0 = E0 * B4 B4 = B4 * L H1 = E0 * B4 / 2 B4 = B4 * L H2 = E0 * B4 / 3 RETURN REM ==INTEGRALS FOR DISTRIBUTED LOAD EFFECTYS== [ONEIFOZE] IF I1 = I0 THEN [ONNIZEZE] REM ==VARIABLE INERTIA== B3 = B3 * L H3 = B2 * H2 -B3 / 3 B3 = B3 * L H4 = B2 * H3 -B3 / 4 RETURN REM ==UNIFORM CROSS-SECTI0N== [ONNIZEZE] B4 = B4 * L H3 = E0 * B4 / 4 B4 = B4 * L H4 = E0 * B4 / 5 RETURN [ONNIFIZE] END