{****************************************************************************** * Resonance Frequencies of a bending beam * * - Modal Mass and Stiffness * * - Deformation modes and Maximum Strain * * --------------------------------------------------------------------------- * * SAMPLE RUN: * * * * Fixed-Free Beam, M=1 * * Fixed-Supported, M=2 * * Fixed-Fixed, M=3 * * Free-Free, M=4 * * Free-Supported, M=5 * * Supported-Supported, M=6 * * * * Limit Conditions, M= 3 * * * * Young Modulus: 2E11 * * * * Volumic Mass.: 7800 * * * * Beam Width....: 0.4 * * Beam Thickness: 0.5 * * Beam Length...: 10 * * * * * * Frequency (Hz) = 26.025373 * * Frequency (Hz) = 71.739944 * * Frequency (Hz) = 140.638973 * * Frequency (Hz) = 232.483361 * * Frequency (Hz) = 347.290041 * * * * * * Do you want the modes, modal masses & Stiffnesses (y/n): y * * * * How many modes (Maximum 5): 5 * * * * How many points for deviation, slope & max. strain: 11 * * * * Do you want automatic divisions (y/n): y * * * * * * MODE #1 * * ------- * * * * OMEGA= 163.5222 FREQUENCY= 26.0254 * * * * Modal Mass= 5.40002743637149E+0006 Modal Stiffness= 1.44394161046433E+0011 * * * * X Deviation Slope Strain (x10^6) * * ------------------------------------------------ * * 0.0000 0.0000 0.0000 22771.74 * * 1.0000 0.1925 0.3498 12232.17 * * 2.0000 0.6304 0.4927 2225.41 * * 3.0000 1.1155 0.4494 -6194.01 * * 4.0000 1.4814 0.2635 -11846.94 * * 5.0000 1.6164 0.0000 -13841.17 * * 6.0000 1.4814 -0.2635 -11846.94 * * 7.0000 1.1155 -0.4494 -6194.01 * * 8.0000 0.6304 -0.4927 2225.41 * * 9.0000 0.1925 -0.3498 12232.17 * * 10.0000 -0.0000 -0.0000 22771.74 * * * * MODE #2 * * ------- * * * * OMEGA= 450.7554 FREQUENCY= 71.7399 * * * * Modal Mass= 1.64384471757779E+0009 Modal Stiffness= 3.33997017195899E+0014 * * * * X Deviation Slope Strain (x10^6) * * ------------------------------------------------ * * 0.0000 0.0000 0.0000 61624.92 * * 1.0000 0.4554 0.7516 14015.32 * * 2.0000 1.2058 0.6202 -24480.45 * * 3.0000 1.5043 -0.0778 -40796.43 * * 4.0000 1.0338 -0.8261 -29766.62 * * 5.0000 0.0000 -1.1411 -0.00 * * 6.0000 -1.0338 -0.8261 29766.62 * * 7.0000 -1.5043 -0.0778 40796.43 * * 8.0000 -1.2058 0.6202 24480.46 * * 9.0000 -0.4554 0.7516 -14015.31 * * 10.0000 -0.0000 0.0000 -61624.92 * * * * MODE #3 * * ------- * * * * OMEGA= 883.6607 FREQUENCY= 140.6390 * * * * Modal Mass= 6.30221918268558E+0011 Modal Stiffness= 4.92112747787204E+0017 * * * * X Deviation Slope Strain (x10^6) * * ------------------------------------------------ * * 0.0000 0.0000 0.0000 120907.45 * * 1.0000 0.7701 1.1128 -6282.87 * * 2.0000 1.5079 0.1215 -77726.96 * * 3.0000 0.8687 -1.2982 -47991.93 * * 4.0000 -0.6284 -1.3976 39638.73 * * 5.0000 -1.4060 -0.0000 85988.24 * * 6.0000 -0.6284 1.3976 39638.73 * * 7.0000 0.8687 1.2982 -47991.92 * * 8.0000 1.5079 -0.1215 -77726.96 * * 9.0000 0.7701 -1.1128 -6282.87 * * 10.0000 -0.0000 -0.0000 120907.44 * * * * MODE #4 * * ------- * * * * OMEGA=1460.7360 FREQUENCY= 232.4834 * * * * Modal Mass= 2.62456494665287E+0014 Modal Stiffness= 5.60016486006314E+0020 * * * * X Deviation Slope Strain (x10^6) * * ------------------------------------------------ * * 0.0000 0.0000 0.0000 199859.15 * * 1.0000 1.0745 1.2736 -58760.62 * * 2.0000 1.3192 -0.9913 -120007.61 * * 3.0000 -0.4227 -1.9219 45103.94 * * 4.0000 -1.3935 0.3075 139911.06 * * 5.0000 -0.0000 1.9969 0.02 * * 6.0000 1.3935 0.3075 -139911.05 * * 7.0000 0.4227 -1.9219 -45103.98 * * 8.0000 -1.3192 -0.9913 120007.59 * * 9.0000 -1.0745 1.2736 58760.66 * * 10.0000 -0.0000 0.0000 -199859.09 * * * * MODE #5 * * ------- * * * * OMEGA=2182.0877 FREQUENCY= 347.2900 * * * * Modal Mass= 1.14990481414791E+0017 Modal Stiffness= 5.47527941977509E+0023 * * * * X Deviation Slope Strain (x10^6) * * ------------------------------------------------ * * 0.0000 0.0000 0.0000 298555.55 * * 1.0000 1.3218 1.1293 -144271.18 * * 2.0000 0.6736 -2.2318 -91130.35 * * 3.0000 -1.3394 -0.7648 201616.08 * * 4.0000 -0.2202 2.4118 33178.41 * * 5.0000 1.4146 0.0000 -211057.80 * * 6.0000 -0.2202 -2.4118 33178.38 * * 7.0000 -1.3394 0.7648 201616.09 * * 8.0000 0.6736 2.2318 -91130.32 * * 9.0000 1.3218 -1.1293 -144271.20 * * 10.0000 -0.0000 -0.0000 298555.50 * * * * --------------------------------------------------------------------------- * * REFERENCE: "Mécanique des vibrations linéaires By M. Lalanne, * * P. Berthier, J. Der Hagopian, Masson, Paris 1980" [BIBLI 16]. * * * * Pascal Release By J-P Moreau, Paris. * * (www.jpmoreau.fr) * ******************************************************************************} {NOTE: For a bending beam of constant section S, the deviation v(x) is given by: EI d4v/dx4 + rho*S d2v/dt2 - Tex = 0 (1) where: E = Young's modulus of beam material (steel: 2E11 Pa) I = Moment of inertia of S (rectangle: B*H^3/12) rho = Volumic Mass (steel: 7800 kg/m3) Tex = External force per length unit x = beam abscissa from x=0 to x=L d4v/dx4: 4th partial derivative with respect to x, d2v/dt2: 2nd partial derivative with respect to time, t. We seek solutions of v(x,t) having the form: v(x) * f(t). This leads to solving d2f(t)/dt2 + w2 f(t) = 0 (2) and d4v(x)/dx4 - rho.S/(EI) w2 v(x) = 0 (3) with w = pulsation of force excitation The solution of (2) has the form: f(t) = A sin(wt) + B cos(wt) (4) The solution of (3) is obtained by considering v(x) = V e^rx (5) the characreristic equation of which is: r^4 - rho.S w2 /(EI) = 0 (6) The complex roots of (6) are: beta, -beta, j.beta and -j.beta, with beta = 4th Root of (rho.s w2 / (EI)) (7) From (5) and the the 4 complex roots of (6), we can write: v(x) = C sin(beta.x) + D cos(beta.x) + E sh(beta.x) + F ch(beta.x) (8) The resonance pulsations are given by: wn = Xn^2 /L^2 * sqrt(EI/(rho.S)) (9) The Xn values are presented below for various limit conditions: Limit Conditions X1^2 X2^2 X3^2 X4^2 X5^2 ----------------------------------------------------------------------- Fixed-free: 1+ch(X)*cos(X)=0 3.516 22.03 61.69 120.9 199.8 Sup.-Sup.: sin(X)=0 9.869 39.47 88.82 157.9 246.7 Fixed-Fixed or Free-Free: 1 - ch(X) cos(X) = 0 22.37 61.67 120.9 199.8 298.5 Fixed-Sup. or Free-Sup.: tan(X) = tanh(X) 15.41 49.96 104.2 178.2 272.0 ----------------------------------------------------------------------- The max. strain is given by: sigma = E * H/2 * d2vi(x) / dx2 ------------------------------------------------------------------------------} Program Beam1; Uses WinCrt; Label Fin; Const NMAX = 25; Var I,K,M,N1,N2:Integer; A1: Array[1..5] of Double; X: Array[1..NMAX] of Double; A,B1,B2,C,C1,C2,D,F,I1,I2,L,L0,J,K1,M1: Double; E,R,B,H,O1,O2,P,S,S1,S2,W,Y,Z: Double; T,T1,T2,T3,T4,T5,T6,T7,T8: Double; Ans: Char; BEGIN Writeln; Writeln(' Fixed-Free Beam, M:=1'); Writeln(' Fixed-Supported, M:=2'); Writeln(' Fixed-Fixed, M:=3'); Writeln(' Free-Free, M:=4'); Writeln(' Free-Supported, M:=5'); Writeln(' Supported-Supported, M:=6'); Writeln; Write(' Limit Conditions, M= '); Readln(M); IF M = 1 THEN begin A1[1] := 3.5160152; A1[2] := 22.034491; A1[3] := 61.697214; A1[4] := 120.90191; A1[5] := 199.85953 end ELSE IF (M = 2) OR (M = 5) THEN begin A1[1] := 15.418205; A1[2] := 49.964862; A1[3] := 104.24769; A1[4] := 178.26972; A1[5] := 272.03097 end ELSE IF (M = 3) OR (M = 4) THEN begin A1[1] := 22.373285; A1[2] := 61.672822; A1[3] := 120.90339; A1[4] := 199.85944; A1[5] := 298.55553 end ELSE IF M = 6 THEN begin A1[1] := 9.8696044; A1[2] := 39.478417; A1[3] := 88.8264390; A1[4] := 157.913670; A1[5] := 246.740110 end; Writeln; Write(' Young Modulus: '); Readln(E); Writeln; Write(' Volumic Mass.: '); Readln(R); Writeln; Write(' Beam Width....: '); Readln(B); Write(' Beam Thickness: '); Readln(H); Write(' Beam Length...: '); Readln(L); Writeln; J := B * H*H*H / 12.0; S := B * H; FOR I := 1 TO 5 DO begin B1 := SQRT(A1[I]); F := A1[I] / (2.0 * PI * L*L) * SQRT(E * J / R / S); Writeln(' Frequency (Hz) = ', F:11:6) end; Writeln; Write(' Do you want the modes, modal masses & Stiffnesses (y/n): '); Readln(Ans); IF Ans = 'n' THEN Goto Fin; Writeln; Write(' How many modes (Maximum 5): '); Readln(N1); Writeln; Write(' How many points for deviation, slope & max. strain: '); Readln(N2); Writeln; Write(' Do you want automatic divisions (y/n): '); Readln(Ans); IF Ans = 'n' THEN FOR I := 1 TO N2 DO begin Write(' X(', I, ') = '); Readln(X[I]) end ELSE begin L0 := L / (N2 - 1); X[1] := 0.0; FOR I := 2 TO N2 DO X[I] := X[I - 1] + L0 end; FOR I := 1 TO N1 DO begin B1 := SQRT(A1[I]); B2 := B1 / L; O1 := COS(B1); I1 := SIN(B1); O2 := COS(2.0 * B1); I2 := SIN(2.0 * B1); C1 := (EXP(B1) + EXP(-B1)) / 2.0; S1 := (EXP(B1) - EXP(-B1)) / 2.0; C2 := (EXP(2.0 * B1) + EXP(-2.0 * B1)) / 2.0; S2 := (EXP(2.0 * B1) - EXP(-2.0 * B1)) / 2.0; A := 1.0; IF M = 1 THEN begin B := -(I1 + S1) / (O1 + C1); C := -1.0; D := -B end ELSE IF (M = 2) OR (M = 3) THEN begin B := (-I1 + S1) / (O1 - C1); C := -1.0; D := -B end ELSE IF M = 4 THEN begin B := (I1 - S1) / (-O1 + C1); C := 1.0; D := B end ELSE IF M = 5 THEN begin B := -(I1 + S1) / (O1 + C1); C := 1.0; D := B end ELSE IF M = 6 THEN begin B := 0.0; C := 0.0; D := 0.0 end; T1 := A*A / 2.0 * (L - 1.0 / 2.0 / B2 * I2); T2 := B*B / 2.0 * (L + I2 / 2.0 / B2); T3 := C*C / 2.0 * (S2 / 2.0 / B2 - L); T4 := D*D / 2.0 * (S2 / 2.0 / B2 + L); T5 := A * B / 2.0 / 2.0 / B2 * (1.0 - O2); T6 := C * D / 2.0 / 2.0 / B2 * (C2 - 1.0); T7 := EXP(B1) / 2.0 / 2.0 / B2 * (A * C + A * D) * (I1 - O1); T7 := T7 + EXP(-B1) / 2.0 / 2.0 / B2 * (A * D - A * C) * (I1 + O1); T7 := T7 + A * C / 2.0 / B2; T8 := EXP(B1) / 2.0 / 2.0 / B2 * (B * C + B * D) * (I1 + O1); T8 := T8 + EXP(-B1) / 2.0 / 2.0 / B2 * (B * D - B * C) * (I1 - O1); T8 := T8 - B * C / 2.0 / B2; T := T1 + T2 + T3 + T4 + T5 + T6 + T7 + T8; M1 := R * S * T; K1 := M1 * B2*B2*B2*B2 * E * H*H / 12.0 / R; W := SQRT(K1 / M1); F := W / 2.0 / PI; Writeln; Writeln(' MODE #', I); Writeln(' -------'); Writeln; Writeln(' OMEGA=', W:9:4, ' FREQUENCY=', F:9:4); Writeln; Writeln(' Modal Mass=', M1, ' Modal Stiffness=', K1); Writeln; Writeln(' X Deviation Slope Strain '); Writeln(' ----------------------------------------'); FOR K := 1 TO N2 DO begin Z := X[K]; I1 := SIN(B2 * Z); O1 := COS(B2 * Z); S1 := (EXP(B2 * Z) - EXP(-B2 * Z)) / 2.0; C1 := (EXP(B2 * Z) + EXP(-B2 * Z)) / 2.0; Y := A * I1 + B * O1 + C * S1 + D * C1; P := B2 * (A * O1 - B * I1 + C * C1 + D * S1); M1 := B2*B2 * (-A * I1 - B * O1 + C * S1 + D * C1); M1 := E * H * M1 / 2.0; Writeln(' ',Z:9:4,' ',Y:9:4,' ',P:9:4,' ',M1:9:2) end; ReadKey; end; {I loop} Fin: DoneWinCrt END. {end of file beam1.pas}