CAAM 5 Matrix Analysis Planar Trusses September 1, 010 1 The Equations for the Truss We consider trusses with m bars and n nodes. Each node can be displaced in horizontal and vertical direction. If the node number is j, then its horizontal displacement is denoted by x j 1 and its vertical displacement is denoted by x j. x j x j!1! x i x i!1 Figure 1: Elongation of a generic bar. Now consider the generic bar in Figure 1. The angle θ [0,π) is taken at the lower left node i of the bar. Initially, we make the following assumptions: x j 1 > 0 means that node j is displaced to the right, x j > 0 means that node j is displaced upward. 1
If l is the length of the undeformed bar and l + e is the length of the deformed bar, then, by Pythagoras theorem, (l + e) = (lcos(θ) + x j 1 x i 1 ) + (lsin(θ) + x j x i ) = l + l(cos(θ)x j 1 cos(θ)x i 1 + sin(θ)x j sin(θ)x i ) +(x j 1 x i 1 ) + (x j x i ) = l ( 1 + (cos(θ)x j 1 cos(θ)x i 1 + sin(θ)x j sin(θ)x i )/l +[(x j 1 x i 1 ) + (x j x i ) ]/l ). Now we take square roots, use the Taylor expansion 1 +t = 1 + t/ + O(t ), and neglect the terms x µ x ν /l for indices µ,ν {i 1,i, j 1, j}, to obtain l + e l + cos(θ)x j 1 cos(θ)x i 1 + sin(θ)x j sin(θ)x i. If the displacements are small relative to the length of the undeformed bar, then the elongation of bar j is (approximately) given by e = cos(θ)x j 1 cos(θ)x i 1 + sin(θ)x j sin(θ)x i. (1) The relation () between elongation and displacement is used for all bars. This gives the linear system Ax = e. () Instead of the sign convention on the displacements stated above, we want the following sign convention: x j 1 > 0 means that node j is displaced to the right, x j > 0 means that node j is displaced downward. In this case the elongation is given by e = cos( θ)x j 1 cos( θ)x i 1 + sin( θ)x j sin( θ)x i. () Note that since cos( θ) = cos(θ) here is no change in the contributions of the horizontal displacements x j 1,x i 1 in the formulas (1) and (). Since sin( θ) = sin(θ), the change in signs for the contributions of the vertical displacements x j,x i is compensated for by the change in sign in sin( θ). In the following we will always use the latter sign convention for the displacements. That is we assume x j 1 > 0 means that node j is displaced to the right, x j > 0 means that node j is displaced downward!
For example, consider the truss in Figure. The matrix A for this example is 1 1 5 Figure : Truss with N = nodes and m = 5 bars. cos(0) sin(0) cos(0) sin(0) 0 0 0 0 0 0 cos( π π π π ) sin( ) cos( ) sin( ) 0 0 0 0 0 0 cos(0) sin(0) cos(0) sin(0) cos( π π π π ) sin( ) 0 0 cos( ) sin( ) 0 0 0 0 cos( π π π π ) sin( ) 0 0 cos( ) sin( and equation () for the truss in Figure is given by 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 x 1 x x x x 5 x 6 x 7 x 8 = e 1 e e e e 5 ). () The displacement of the bars i = 1,...,m generate internal forces y i, i = 1,...,m, acting on the nodes. The forces can be composed into forces in horizontal and vertical direction. Our indexing of the forces acting on the nodes follows the indexing of the nodes, i.e., the horizontal component of the force acting on node j is f j 1 and the vertical component is f j. The equilibirum equations state that the internal forces acting on a node equal the external forces acting on the same node. One can show that the corresponding equation is given by A T y = f. (5) Finally, we need a constitutive law that relates elongations to the internal forces. Let a i be the cross sectional area of the undeformed bar. We define the stress σ i and the strain ε i as σ i = y i a i, ε i = e i l i.
The assumption of linear elasticity states that σ i = E i ε i, where E i is Young s modulus for the material of the i-th bar. Hence If we set then y i = a ie i e i. l }{{} i =k i K = diag (...,a i E i /l i,...), If we combine equations (), (5), and (6) we obtain the equation The matrix is called the stiffness matrix of the structure. Ke = y. (6) A T KAu = f. (7) S = A T KA
If nodes in a truss are supported, then the corresponding displacement is deleted from the system. For example, consider the truss in Figure. The nodes 1 and are supported. Equation 1 1 5 F Figure : Truss with two supported and two unsupported nodes and five bars. () for this truss is given by 1 0 0 0 0 1 0 1 0 0 1 0 0 0 and the equilibrium equation (5) is 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 x x x 5 x 6 y 1 y y y y 5 = = e 1 e e e e 5 0 0 0 F (8). (9) With our sign conventions, forces pointing left or down have positive signs. We use truss.m to specify the truss topology of the truss in Figure and stiff.m to compute the stiffness matrix S. 5
Figure shows the original truss (solid lines) and deformed truss (dashed lines) after a force F = 100 9.80665[N] has been applied. All bars are made of the same material with Young s modulus E i = 195 [GPa] and have the same cross sectional area a i = 0.005 π [m ]. In Figure the actual displacements are magnified by a factor 100 to increase visibility. 1 1 5 Figure : Original truss (solid lines) and deformed truss (dashed line) due to a load attached to node. 6
Structural Optimization In the previous section we have derived a matrix model for planar trusses and we have used the model to simulate the displacement of given trusses under certain loads. We can go a step further and ask how we should design trusses so that they behave in a desired way. This leads to topology optimization problems. We will consider a simple minimum weight problem which can be formulated as a linear program. Recall that the equations for a truss with m bars and n nodes are Ax = e, y i = a ie i e i, l }{{} i =k i A T y = f. i = 1,...,m, We want to design a truss which can support a given force f and which is a light as possible. To design such a truss, we assume that the bars and the nodes are given, but that we can select the cross sectional area a i of each bar. In particular, we can select the cross sectional area of a bar i to be zero, a i = 0, which means that this bar will be deleted from the truss. Suppose that all bars are of the same density. The ith bar has length l i and cross sectional area a i. Hence, the total weight of the truss is m i=1 a il i. The optimization problem now reads minimize a i l i, subject to Ax = e, y i = a ie i l i e i, i = 1,...,m, A T y = f. This is a minimization problem in the cross sectional areas a i, i = 1,...,m. This minimization problem is difficult to solve and we will make a few assumptions to derive a simpler version. We assume that the cross sectional area of a bar must be proportional (say with constant one) to the absolute value of the tension/compression of a bar. This assumption means that then y i = a i for all bars i. The weight of the bar can now be expressed as m i=1 y i l i. The force balance is A T y = f, as usual. To obtain a minimum weight truss we must solve min m i=1 y i l i s.t. A T y = f. (11) To remove the absolute value, we set y i = y + i y i, y± i 0. This leads to the linear program min l T y + + l T y s.t. A T y + A T y x = f, y +,y 0, (1) 7
where l = (l 1,...,l m ) T and y ± = (y ± 1,...,y± m) T. For given l, A and f, the linear program (11) can be solved using Matlab s linprog. (Note: linprog is part of the Matlab Optimization toolbox!) The minimum weight truss depends on the so-called ground structure. In our case we construct the ground structure as follows. It is obtained using 11 7 nodes, three of which are anchored to the wall and one supports a load. See Figure 5. The force balance equations for the anchored nodes are dropped. Hence, the matrix A in (11) has 77 6 = 71 rows. Each node is connected to neighboring nodes as shown in Figure 6. (For nodes which are not interior, the connection to outside nodes are dropped.) The resulting ground structure is shown in Figure 7. If we solve the minim weight problem (11) with a force (0, 10) T are applied at the node indicated by the black dot in Figure 7, then we obtain the truss shown in Figure 8. The LP os solved using the MATLAB function linprog, which is part of the MATLAB Optimization Toolbox. The MATLAB script that sets up and solves the problem is driver bracket truss optim lp.m. Figure 5: The 11 7nodes in the truss. The black dot indicates the node that supports the weight. The black triangles indicate the three nodes which are anchored to the wall. Figure 6: The nodes connected to an interior node. 8
Figure 7: The set of all possible bars in a bracket with 11 7nodes. The black dot indicates the node that supports the weight. The black triangles indicate the three nodes which are anchored to the wall. Figure 8: The minimum weight bracket. The green bars are under compression, the red bars are under tension. 9
Of course, the optimal structure depends on the force f applied. We will explore this in the next example. In this example, we want to construct a tower. The ground structure for the tower is shown in Figure 9. It is constructed using the same way as in the previous example. The tower supports two loads at the nodes indicated by the black dots in Figure 9. Now we select three different force configurations. In each configuration we apply the same force to both nodes indicated by the black dots in Figure 9. In the first case we apply the force (0, 10) T to both nodes, in the second case we apply the force (, 10) T to both nodes, and in the third case we apply the force (, 10) T to both nodes. The resulting three optimal trusses are shown in Figure 10. The MATLAB script that sets up and solves the problem is driver tower truss optim lp.m Figure 9: The ground structure for the tower. The black dot indicates the node that supports the weight. The black triangles indicate the three nodes which are anchored to the ground. Can you design an optimal bridge? 10
Figure 10: Optimal designs of the tower for different forces applied at the two nodes. Left plot: At both nodes forces (0, 10) T are applied. Middle plot: At both nodes forces (, 10) T are applied. Right plot: At both nodes forces (, 10) T are applied. 11