[ Problem Description ]
[ Input File ]
[ Abbreviated Output File ]
In this example, we use ALADDIN to compute the Euler buckling loads for an elastic pin-ended column.
The left-hand side diagram in Figure 1 shows the loading and geometry of the rod. The equilibrium of the rod is approximated by a finite difference equation at 5 internal nodes. The center and right-hand diagrams in Figure 1 show the first and second modes of buckling, together with their buckling loads. Theoretical considerations indicate the the first and second mode buckling loads will be 78.95 N, and 315.82 N, respectively.
A four-part input file is needed for the definition of column geometry, material and section properties, assembly of the finite difference matrices, solution of the eigenvalue problem, and printing of the buckling loads and modal shapes.
/* [a] : Define section/material properties Buckling Problem */ E = 200 GPa; I = 1000 mm^4; L = 5 m; /* [b] : Define a (5x5) matrices for finite difference approximation */ A = [ 2, -1, 0, 0, 0; -1, 2, -1, 0, 0; 0, -1, 2, -1, 0; 0, 0, -1, 2, -1; 0, 0, 0, -1, 2 ]; B = [ 10, 1, 0, 0, 0; 1, 10, 1, 0, 0; 0, 1, 10, 1, 0; 0, 0, 1, 10, 1; 0, 0, 0, 1, 10 ]; /* [c] : Compute Eigenvalues and Eigenvectors */ no_eigen = 2; eigen = Eigen(A, B, [ no_eigen ]); eigenvalue = Eigenvalue(eigen); eigenvector = Eigenvector(eigen); /* [d] : Print Eigenvalues, Eigenvectors, and Buckling Loads */ size = Dimension(A); for(i = 1; i <= no_eigen; i = i + 1) { print "\n"; print "Mode", i ,"\n"; print "Eigenvalue = ", eigenvalue[i][1], "\n"; print "Buckling Load P = ", 12*E*I*eigenvalue[i][1]/(L/6)^2 ,"\n"; for(j = 1; j <= size[1][1]; j = j + 1) { if(j == 1) then { print "\n"; print "Mode Shape :", eigenvector[j][i], "\n"; print " ", eigenvector[j][i], "\n"; } } } print "\n";
We have used the parameter no_eigen to control the number of eigenvalues/vectors that are computed by the subspace iteration, and printed.
MATRIX : "A" row/col 1 2 3 4 5 units 1 2.00000e+00 -1.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2 -1.00000e+00 2.00000e+00 -1.00000e+00 0.00000e+00 0.00000e+00 3 0.00000e+00 -1.00000e+00 2.00000e+00 -1.00000e+00 0.00000e+00 4 0.00000e+00 0.00000e+00 -1.00000e+00 2.00000e+00 -1.00000e+00 5 0.00000e+00 0.00000e+00 0.00000e+00 -1.00000e+00 2.00000e+00 MATRIX : "B" row/col 1 2 3 4 5 units 1 1.00000e+01 1.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2 1.00000e+00 1.00000e+01 1.00000e+00 0.00000e+00 0.00000e+00 3 0.00000e+00 1.00000e+00 1.00000e+01 1.00000e+00 0.00000e+00 4 0.00000e+00 0.00000e+00 1.00000e+00 1.00000e+01 1.00000e+00 5 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+00 1.00000e+01 *** SUBSPACE ITERATION CONVERGED IN 10 ITERATIONS Mode 1 Eigenvalue = 0.02284 Buckling Load P = 78.93 N Mode Shape : 0.5 0.866 1 0.866 0.5 Mode 2 Eigenvalue = 0.09091 Buckling Load P = 314.2 N Mode Shape : 1 0.9988 -0.001186 -0.9988 -0.9976
A summary of numerical results is shown on the righ-handed side of the figure above. The results for both the buckling loads and modal shapes are in very good agreement with the equations that govern first and second mode buckling loads and modal shapes.