User:Eml4500.f08.team.foskey.ckf/hw7d

Electric Pylon Modes

Mode Problem
This is a continuation of the electric pylon frame problem. For this part, the eigenvectors are calculated and analyzed. The three lowest eigenvectors are also plotted. The three lowest vibrational periods are also found.

MATLAB Mode Code (electricframemodes.m)
The following MATLAB code was used to find the eigenvectors, and vibrational periods, and plot the figures. It is based heavily off of the earlier electric pylon problem with a truss system.

Additional Function
The function TransientPlaneFrameElement is required for the mode code to function.

This function works by receiving the element properties (modulus of elasticity, cross sectional area, moment of inertia, density, and end point coordinates). The length of the element is found from the coordinates, and the director cosines are found from the length and coordinates. The local element stiffness matrix k_ is then calculated, as is the transformation matrix T. The local elemental stiffness matrix is then converted to the global elemental stiffness matrix k by using the transformation matrix. Next, the local mass matrix m_ is calculated, and the global mass matrix mis found by again using the transformation matrix

Comments On The Mode Code
The mode code (electricpylonmodes.m) begins by running the loading code (electricframe.m) to receive the already calculated values that will be needed. These values include nodal coordinates, and element properties such as cross sectional area and modulus of elasticity. The density of the elements is then given in g/cm3, and then converted to kg/m3. The length of each element is calculated, and the mass of each element is found by multiplying the element's length by the cross sectional area and by the density.

The mass of each element is then divided by two, and each half mass is added to the global node represented by each end of the element. This is done for all of the elements until the entire mass of the truss is concentrated at the nodes.

A mass matrix is then created by using the function TrainsientPlaneFrameElement.

A reduced mass matrix M_bar, and a reduced stiffness matrix K_bar is then created using MATLAB's setdiff function. This function eliminates the values of the matrices that correspond to the constrained points. This is valid due to the principle of virtual work. The eigenvalues and eigenvectors are then found using MATLAB's eig function.

The natural frequencies $$ \omega $$, vibrational frequencies f, and the vibrational periods T are then found using the following formulas: $$ \omega = \sqrt{\lambda} $$

$$f = \frac{\omega}{2\pi}$$

$$T = \frac{1}{f} $$

where $$ \lambda $$ is an eigenvalue.

The code then proceeds to find the three lowest eigenvalues. This is accomplished by setting variables for the lowest eigenvalues (low1, low2, and low3) equal to large numbers, and then looping through all of the eigenvalues, replacing low1, low2, and low3 with any eigenvalues that are encountered that are lower than the previous values. While doing this, the code keeps track of which rows the lowest eigenvalues were in.

The code then organizes the eigenvectors. The calculated eigenvectors are contained in an 88x88 matrix that is very cumbersome. Each column of the eigenvector matrix represents one eigenvector. Since the assignment required the finding of the lowest three eigenvalue-eignevector pairs, the needed eigenvectors are found in the columns that correspond to the rows in which the lowest eigenvalues were in. The code extracts the desired eigenvectors and puts them into column matrices called modes1, modes2, and modes3.

In a similar manner as the determining of the lowest eigenvalues, the lowest three vibrational periods are found.

Since there was a number of things calculated by this code, with a majority of the values being large matrices, only a selected amount of data was deemed important for output. The next section of code outputs the important data. This data consists of the eigenvalues, the three lowest eigenvalues and their corresponding eigenvectors, and the three lowest vibrational periods.

To finish the code, three plots are created. Each plot consists of an undeformed and a deformed frame. Each plot is only an "incomplete" plot, as it does not account for the bending of elements. The undeformed frame is plotted using the same lines of code from the loading code. The deformed frame is plotted using lines of code similar to the code from the loading code, but with adjustments to the coordinates of the nodes. For this situation, the "deformed" nodal positions are created by adding the values from an eigenvector to the original nodal coordinates. This is done because the eigenvectors represent the natural displacements for the truss system. By adding the natural displacements to the original nodal coordinates, the result is the naturally deformed truss. This is how the truss system will move, even under no loads, due to the natural frequencies associated with the elements. These natural displacements, however, are very small. In order for the natural displacements to be seen on the plots, a scaling factor was used for each plot. This scaling factor was 20 for figure 1, 50 for figure 2, and 10 for figure 3.

Three plots are created from the mode code. Each of these plots represents the deformations that occur as a result of one of the three lowest eigenvectors.

Output Results
Running the mode code "electricframemodes.m" creates the following output results.

Comments On The Output
The results output shows several things. The first is eigenvalues, which is a column matrix that is a diagonal matrix of the matrix of eigenvalues. The next items displayed are the three lowest eigenvalues: low1, low2,& low3 (low1 being the lowest, low3 the highest). These eigenvalues are -0.020486, -0.020234, and, -0.0086386. The output then shows three column matrices: modes1, modes2, and modes3, which are the three lowest eigenvectors (modes1 being the lowest, modes3 the highest). The last items displayed are the three lowest vibrational periods: lowT1, lowT2, & lowT3. These lowest vibrational periods are 55.474, 57.446, and 58.344. All three are in terms of seconds.

Figures
Running the mode code will create three figures. Each figure represents the displacements from one of the three lowest eigenvectors. In each figure, the red dotted lines represent the undeformed frame system, and the solid blue lines represent the deformed frame. The x and y axis for all three figures are in terms of meters. The scaling factor was 20 for figure 1, 50 for figure 2, and 10 for figure 3. A different scaling factor was used for each figure so that the vibrational modes might be better seen for each case. Again, these frame plots are incomplete plots as they do not show the bending that each element undergoes. To simplify the problem, a straight line is made from node to node for each element.

Figure 1 

Figure 2 

Figure 3 

Comparison Of Modes In Frame Systems And Truss System
Comparing the results from the frame system to the truss system, one notices that the frame system deforms more in natural vibration. A scaling factor of 100,000 was needed for the truss system, while a scaling factor of 10 to 30 worked for the frames. Also, the vibrational periods of the frame system are lower than those of the truss system. However, it is believed that there was an error in the coding of the truss problem, as all of the vibrational periods are very high, and two of the values are equal.