AEE 464

FALL 2011

HOMEWORK #2 (30 points)

(due November 14, Monday)

Part A- (24 points)Consider the truss structure shown above.Each node has two degrees of freedom, translational displacements in the x and y directions respectively. Obtain the structural stiffness matrix [K], and the load vector {R}for the given structure utilizing the code segmentdistributed in class which is essentially same as that given in Figure 2.7-4 on page 44 of the book.

Given information:

A: 0.5 cm2 for each member

E: 70 GPa for each member

α: 23x10-6(1/oC)for each member

Density of truss material: 2700 kg/m^3

F4y:200 N

F3x: 100 N

F2y: 300 N

g: 9.81 m/s2

T: 100oC for each element (temperature increase)

Notes:The following algorithm is just a guide. You don’t have to strictly follow these steps.

  • Initially, read in the total number of elements : NUMEL from a data file
  • Next, read in the following values from a data file in a loop (1 to total number of elements) in the following format for each of the element of the truss structure

- Structural node numbers: elements of the array NOD(I,N); NOD(1,N), NOD(2,N),

- X and Y coordinates of the nodes of each element: X(1), Y(1), X(2) and Y(2),

-Cross sectional area of the element (A(N)),

- Young’s modulus of the element (E(N)),

- Coefficient of thermal expansion of the element(α(N)),

- Temperature change of the element (T(N)),

- Density of each truss element (RHO(N))

  • In this loop , at each step calculate:

-Length of the elements (L(N))

-Angular orientation ( or cosine and sine of angular orientation) of each element (β(N))

  • Then, calculate the element stiffness matrices [k], and element load vectors {re} within the subroutine ELEMNT. Subroutine ELEMNT is assumed to return element matrices [k] and {re}in arrays SE(I,J) and RE(I).

Note that you should transfer the information such as angles, lengthes, areas etc. to the subroutine via COMMON blocks or arguments of the CALL statement.

  • Output of the program should give the assembled structural stiffness matrix [K] in array S(K,L) in matrix form and the assembled structural load vector {R} in array R(K) in vector form.
  • The external load vector {P} should be added to the load vector outside the main loop.Your code should be general. The external load should be read from a file and it should be added on the assembled element load vector.

Your code should not include statements like:

R(4)=...+P(4) where P refers to external load. This is not a general statement. Your

array numbers should be variables not numbers like 4 in this example.

  • The program should be complete in itself utilizing the algorithm given in Figure 2.7-4 on page 44.Use appropriate comment statements within the code to explain what is done at each step. If you do not explain your steps with comment statements you will lose points.
  • Do not forget to write the units of the stiffness matrix and the load vector.

Part B - (6 points)Extract the stiffness matrix and the load vector from Nastran and compare with the result you obtained with your code. This way you can verify the results of your code.

Generate the stiffness matrix and the load vector by Nastran to check your results that you obtained from your code. Copy and paste only those lines from the .pch file which gives the elements of the stiffness matrix and load vector.

  • Mesh the structure in Patran
  • Apply gravity load and temperature load
  • Define material and create rod property and assign to rod elements
  • DO NOT APPLY DISPLACEMENT BOUNDARY CONDITIONS
  • Under the analysis menu create .bdf file : Analyze ---- Entire model ---- Analysis deck
  • Edit the bdf file by adding : “param,extout,dmigpch” after the line

“PARAM POST 0”

  • Run the .bdf file by Nastran (double click Nastran and select the .bdf file)
  • After the run is completed open the file with .pch extension and extract stiffness matrix from the rows starting with DMIG* KAAX and load vector from the rows starting with DMIG* PAX. (Follow what we did in class !)