CLS PRINT "JOINT ROTATIONS AND END MOMENTS FOR ACONTINUOUS BEAM" GOSUB [NIZE] GOSUB [FISIZE] REM ==TRIANGULARIZE STIFFNESS MATRIX== GOSUB [ONFOEIZE] REM ==PERFORM ANALYSIS== GOSUB [ONFIFOZE] PRINT PRINT PRINT "***ANALYSIS COMPLETE***" GOTO [TWEIEIZE] REM ==INITIALIZE== [NIZE] DIM L(10):DIM K1(10):DIM K2(10):DIM K3(10) DIMQ1(10):DIM Q2(10) DIM A(10):DIM B(10):DIM C(10):DIM D(10) GOSUB [FOSEZE] REM ==INPUT DATA== PRINT PRINT PRINT "***STRUCTURE DEFINITION***" PRINT INPUT "NUMBER OF SPANS = "';N1 N = N1 + 1 PRINT PRINT "TYPE OF STRUCTURE" PRINT PRINT "1: NO COLUMNS" PRINT PRINT "2: EQUAL HEIGTH COLS." PRINT PRINT "3: DIFF'T HEIGTH CALS." PRINT INPUT "TYPE = ";T9 PRINT PRINT "MEMBER TYPE" PRINT PRINT "1: CONSTANT CROSS SECT." PRINT PRINT "2: VARIABLE CROSS SECT." PRINT INPUT "TYPE = ";T8 PRINT INPUT "ELASTIC MODULUS =";E PRINT RETURN [FOSEZE] FOR I = 1 TO N A(I) = 0 B(I) = 0 C(I) = 0 D(I) = 0 Q1(I) = 0 Q2(I) = 0 NEXT I RETURN REM ==STIFFNESS MATRIX AND ASSEMBLY ROUTINE== [FISIZE] PRINT PRINT "***BEAM GEOMETRY***" I = 0 [FINIZE] I = I + 1 IF I > N1 THEN [EIONZE] PRINT PRINT "> SPAN ";1 PRINT INPUT "LENGTH = ";L(I) IF T8 =1 THEN [SISIZE] IF T8=2 THEN [SETWZE] [SISIZE] PRINT INPUT "MOMENT OF INERTIA = ";J PRINT GOSUB [ONTHONZE] GOSUB [ONTHSIZE] GOTO [FINIZE] [SETWZE] PRINT PRINT "STIFFNESS COEFFICIENTS" PRINT INPUT "KAA = ";K11 K1(I)=K11 INPUT "KBB = ";K22 K2(I)=K22 INPUT "KAB = ";K33 K3(I)=K33 PRINT GOSUB [ONTHSIZE] GOTO [FINIZE] [EIONZE] IF T9 = 1 THEN [ONTHZEZE] PRINT PRINT PRINT "***COLUMNS GEOMETRY***" IF T9 = 3 THEN [NIONZE] PRINT INPUT "UPPER COLS.HEIGHT = ";L1 PRINT INPUT "L0WER COLS. HEIGHT = ";L2 PRINT [NIONZE] I= 0 [NITWZE] I = 1+1 IF I > N THEN [ONTHZEZE] PRINT PRINT PRINT "> COLS.AT JOINT ";I IF T9 > 2 THEN [ONZESIZE] IF T8=1 THEN [NINIZE] IF T8=2 THEN [ONTWTWZE] [NINIZE] PRINT INPUT "UPPER COL.1=";J1 PRINT INPUT "L0WER COL.I=";J2 GOSUB [ONFOTWZE] GOSUB [ONFOSIZE] GOTO [NITWZE] [ONZESIZE] IF T8=1 THEN [ONZESEZE] IF T8=2 THEN [ONTWTWZE] [ONZESEZE] PRINT PRINT "UPPER COLUMN" PRINT INPUT "HEIGHT = ";L1 PRINT INPUT "M. OFINERTIA = ";J1 PRINT PRINT "L0WER COLUMN" PRINT INPUT "HEIGHT = ";L2 PRINT INPUT "M. OF INERTIA = ";J2 REM ==STIFFNESS== GOSUB [ONFOTWZE] GOSUB [ONFOSIZE] REM ==NEXT NODE== GOTO [NITWZE] [ONTWTWZE] PRINT PRINT "STIFFNESS COEFFICIENTS" PRINT INPUT "UPPER COL.KAA=";C1 PRINT INPUT "L0WER COL. KAA = ";C2 GOSUB [ONFOSIZE] REM ==NEXT NODE== GOTO [NITWZE] [ONTHZEZE] RETURN REM ==BEAM ELEMENT STIFFNESS== [ONTHONZE] S = 2 * E * J / L(I) K1(I) = 2 * S K2(I)=2 *S K3(I) = S RETURN [ONTHSIZE] I1 = I + 1 D(I) = D(I) + K1(I) D(I1) = D(I1) + K2(I) C(I) = K3(I) A(I1)=K3(I) RETURN REM ==COLUMN STIFFNESS COEFFICIENTS== [ONFOTWZE] E4 = 4 * E C1 = E4 * J1 / L1 C2 = E4 * J2 / L2 RETURN [ONFOSIZE] D(I) = D(I) + C1 + C2 RETURN REM ==FACTORIZATION OF STIFFNESSMATRIX== [ONFOEIZE] FOR I = 2 TO N I1 = I -1 A(I) = A(I) / D(I1) D(I) = D(I) -A(I) * C(I1) NEXT I RETURN [ONFIFOZE] K = 0 [ONFIFIZE] K = K + 1 PRINT PRINT PRINT"***L0AD SPECIFICATION***" PRINT PRINT "L0ADCASE ";K PRINT PRINT PRINT "ANY JOINT L0ADS (Y/N) "; INPUT C$ IF C$= "N" THEN [ONSEFIZE] PRINT PRINT "***JOINT L0ADS***" PRINT FOR I = 1 TO N PRINT "> JOINT ";I PRINT INPUT "MOMENT = ";B(I) PRINT NEXT I [ONSEFIZE] PRINT PRINT "ANY SPAN L0ADS (Y/N) "; INPUT C$ IF C$="N" THEN [TWZENIZE] PRINT PRINT "***SPAN L0ADS***" I = 0 [ONEITWZE] I = I + 1 IF I > N1 THEN [TWZENIZE] PRINT PRINT"> SPAN ";I PRINT INPUT "DISTRIBUTED L0AD = ";W PRINT GOSUB [TWTWTWZE] Q1(I) = Q1(I) + M1 Q2(I) = Q2(I) + M2 GOSUB [TWTHTWZE] INPUT "NUMBER OF POINT L0ADS = ";K2 IF K2 =0 THEN [TWZEEIZE] K0 = 0 [ONNISIZE] K0 = K0 + 1 IF K0 > K2 THEN [TWZEEIZE] PRINT PRINT "L0AD ";K0 PRINT INPUT "MAGNITUDE = ";P INPUT "DISTANCE = ";X GOSUB [TWTWSIZE] Q1(I) = Q1(I) + M1 Q2(I) = Q2(I) + M2 GOSUB [TWTHTWZE] REM ==NEXT POINT L0AD== GOTO [ONNISIZE] REM ==NEXT SPAN L0AD== [TWZEEIZE] GOTO [ONEITWZE] [TWZENIZE] GOSUB [TWTHSIZE] GOSUB [TWFOSIZE] PRINT PRINT INPUT "MORE L0AD CASES? (Y/N) ";C$ IF C$ = "N" THEN [TWTWONZE] FOR I = 1 TO N B(I) = 0 Q1(I) = 0 Q2(I) = 0 NEXT I REM ==INPUT L0AD DATA== GOTO [ONFIFIZE] [TWTWONZE] RETURN [TWTWTWZE] L0 = L(I) M2 = W * L0 * L0 / 12 M1 = -1*M2 RETURN [TWTWSIZE] L0 = L(I) Y = L0 -X P1 = P * X * Y / (L0 * L0) M1 = -P1 * Y M2 = P1 * Y RETURN REM ==FORM L0AD VECTOR== [TWTHTWZE] 11 = 1+1 B(I) = B(I) -M1 B(I1) = B(I1) -M2 RETURN [TWTHSIZE] FOR 1=2 TO N I1 = I -1 B(I) = B(I) -A(I) * B(I1) NEXT I B(N) = B(N) / D(N) FOR I = N1 TO 1 STEP -1 I1 = I + 1 B(I) = (B(I) -C(I) * B(I1)) / D(I) NEXT I RETURN [TWFOSIZE] PRINT PRINT PRINT "SOLUTION FOR L0AD CASE ";K PRINT "**************************" PRINT REM ==OUTPUTJOINT ROTATIONS== GOSUB [TWFISEZE] PRINT "CONTINUE(Y/N)"; INPUT C$ IF C$<>"Y" THEN [TWFISIZE] GOSUB [TWSISIZE] [TWFISIZE] RETURN [TWFISEZE] PRINT PRINT "***JOINT ROTATIONS***" PRINT FOR I = 1 TO N PRINT "JOINT ";I;" ROT= ";B(I) PRINT NEXT I PRINT RETURN [TWSISIZE] PRINT PRINT PRINT "***MEMBER FORCES-**" FOR I = 1 TO N1 I1 = I+ 1 R1 = B(I) R2 = B(I1) S1 = K1(I) S2 = K2(I) S3 = K3(I) P1 = S1* R1 + S3* R2 P2 = S3* R1 +S2 *R2 P1 = P1 + Q1(I) P2 = P2 + Q2(I) PRINT PRINT "> SPAN ";I PRINT PRINT "LEFT MOMENT= ";P1 PRINT PRINT "RIGHT MOMENT= ";P2 NEXT I RETURN [TWEIEIZE] END