Trusses – Example 1

Given the following picture of three beams… with a given force applied at the apex… let’s see if we can work out the internal forces in the beams, and the reaction forces at the two bottom points.

This is an example of a “statically determinate” problem. We will be able to solve this assuming that the three beams do not bend or compress or stretch.

I think we can be more precise, a little later.

Our first assumption, then, is that each beam is perfectly straight… and our second is that the coordinates of the joints are set by the lengths of the beams.

Then we will assume that all forces are applied to joints. So, we have point loads at joints… no distributed loads.

Oh, let me throw in our zeroth assumption: the structure is in equilibrium. Or, if you will, we are asking what forces must be applied by the beams in order that the structure be stationary.

The whole process is simplified by one crucial fact: conservation of angular momentum tells us two things:

  1. that the forces at the ends of a beam are equal and opposite;
  2. that the forces act along the beams. (That is, the directions of the beams determine the directions of the forces.)

Let me return to being more precise. Suppose we have j joints, and m beams, and c unknown external forces. Then we will have m + c unknowns… because there’s one force for each of m beams. And at each joint, we will have two relations – x- and y-components – for a plane truss; or three relations – x-, y-, and z-components – for a space truss. That is, we will have either 2j or 3j equations.

A truss is said to be statically determinate if the number of equations matches the number of unknowns; for a plane truss, that’s

m + c = 2j.

This is a necessary condition for solving the system: if we have m + c = 2j, then we have as many equations as unknowns – but, in principle, the equations might not all be independent, and we could be unable to solve the system.

If, instead, m + c < 2j, I have read that there are two few beams m, and the structure will collapse. If, on the other hand, m + c > 2j, then the truss is said to be statically indeterminate, and we would have to decide what bending, stretching, or compressing – i.e. what deformations – the beams undergo. We would not be able to assume that all of them were still straight and at their design lengths.

The following problem comes from Pilkey & Pilkey, “Mechanics of Solids”, Quantum Publishers, Inc., 1974; example 1.10, pp. 23-25. (They, of course, did not use Mathematica®.)

One last thing before we start. The standard symbol at the bottom left says that that joint is fixed, and therefore can have a ground-reaction force with both x- and y-components. The symbol on the bottom right – with two wheels – says that the lower right joint is free to move sideways – so there can be no sideways reaction force on it!

(BTW, m = 3, j = 3, and because there is only a y-component reaction force on the right support, c = 3… so we have m + c = 2j = 6.)

The drawing lets us assign coordinates to the three joints. I chose to run the y-axis thru the apex of the structure, and the bottom two joints are on the x-axis, so my coordinates are:

Let’s draw it again, with point labels:

Now, let’s get the vectors v joining each pair of points. As much as possible, I want Mathematica to compute the vectors for this problem.

There are nine of them. Three are zero vectors, joining each point to itself. The other six are two sets of three… in which, for example, we have v_12 = -v_21, because the vector from 1 to 2 (v_12) is the opposite of the vector from 2 to 1 (v_21).

(I could remark that v is actually a function of two arguments rather than an array: single-bracket v[i,j] instead of double-bracket v[[i,j]]. The same will be true of u, f, and F.)

Next, let’s make unit vectors u out of the nonzero ones.

What I’m heading for is to write each vector as a magnitude times a unit vector. In the beam 12, for example, I will need a force vector F_12 at point 1, with magnitude f_12 and direction u_12. I will also need a force vector F_21 at 2 with direction u_21 but the same magnitude f_12. (Or, if you will, magnitude f_21 = f_12).

Let me emphasize that by construction, every unit vector points into a beam.

Let me zero-out the Fs and f:

The following line almost says that

F_{ij} = f_{ij}\  u_{ij}\ ,

as it should. But I made one addition: I’m sorting the indices inside f… I end up with, for example, F_12 = f_12 u_12 but F_21 = f_12 u_21. Instead of having to set f_21 = f_12, I use f_12 instead of f_21 right from the beginning. In other words, the result has no f_21 or f_31 or f_32 in it.

The (1,2) entry…

is F_12. It has unknown magnitude f[1,2], but direction – unit vector – u_12 = {4/5, 3/5).

I think I got the following by just playing around. It works out right.

The left column is the x-component forces for each of the three joints; the right column is the y-component forces for each of the three joints.

Right? The (1,1) entry…


(1) the x-component of F_12

(2) the x-component of F_13, namely f_13 – because F_13 has ony an x-component.

Let’s look at that in gory detail. The unit vector from point 1 to point 2 is

is its y-component.

Similarly, the other force at point 1 is

which has only an x-component.

Now it’s time to add in the external forces applied to our structure. At point 2, we have (100,-200)… at point 1 we could have both horizontal and vertical components (call them R1 and R2)… at point 3 – which is free to roll under a sideways force, but it isn’t rolling so there can’t be a sideways force! – we can only have a vertical reaction force (call it R3) from the ground:

We add the external forces to the internal ones:

And now, each of those x- or y-components must be zero.

(Actually, I just made a command decision. By saying that the sums of the forces are zero, I have just declared that the F forces are internal beam forces… equivalently, they are forces exerted by the beams on the joints – rather than the forces exerted by the joints on the beams. Stay with me here. I think it will be clearer after we look at the solutions.)

We have 6 equations, and 6 unknowns (R1, R2, R3, and f[1,2], f[1,3], f[2,3]). Can we solve the system?


(Those are the answers in the book.)

To be specific, their answers are:
R2… 24; R1… -100; R3… 176. Good.
f[1,2]…-40; f[2,3]… -220; f[1,3]… 132. Excellent.

Let’s check these, at least a little. A global balance says that the reaction forces R1, R2, R3 from the ground must balance the external applied forces… so add up the vectors, add the reaction forces to the applied forces:


Now, let’s draw a picture for one beam, 1-2. (You might note that I am combining a new graphic with the original drawing, rather than re-creating the original. Takes less space… and gives me more freedom with larger trusses.)

Those outward pointing arrows emphasize that f12 is negative:

Fine… but is the beam in tension or compression?

These are the forces exerted by the beam on the joints… so the joints are pushing inward on the beam. Therefore, the beam is in compression.

Note that it takes two decisions to make this happen. First, by definition my unit vectors point inward… Second, I declared that the sum of the forces F and the external forces was zero. That the sum was zero says I am computing internal beam forces… then the inward-pointing unit vectors says that a positive magnitude is tension, a negative magnitude – as we have here – is compression.

Finally, if we think about it, we have an upward-pointing reaction force at 1, and a downward external force at 2… physically, the beam should be in compression, as we said mathematically.

If you want the arrows to point the other way on the picture, you have two choices. One, you could just draw -F instead of F. Two, instead of writing the force balance as \sum F + X = 0\ , you could have written \sum F = X\ . I’ll even show that to you, shortly.

You might have noted that what I drew was scaled, F/10 instead of F. Without scaling, we get

What about beam 2-3?

It’s in compression, too: the beam is pushing back against the joints at 2 and 3.

I could draw beam 1-3 alone… but let me show you all three at once:

In contrast to the other two beams, 1-3 is in tension; i.e. f[1,3] is positive.

Let me show you the other way to reverse the arrows. I return to a point just before I set up the equations we solved. Instead of \sum F + X = 0\ , the following table says that \sum F = X\ :

We still have 6 equations, and the same 6 unknowns (R1, R2, R3, and f[1,2], f[1,3], f[2,3]).

Recall the book answers: R2… 24; R1… -100; R3… 176. Excellent.
f[1,2]…-40; f[2,3]… -220; f[1,3]… 132. Reversed! Also excellent.

I happen to have changed the scaling on these forces. Don’t let that distract you from the important change, namely the reversed arrows.

which agrees with the altered signs: 1-2 and 2-3 are positive, hence in compression, 1-3 is negative, hence in tension.

Right? By setting the sum of the forces \sum F \ equal to the external applied and reaction forces, we are computing the forces of the joints on the beams. Now the arrows represent forces applied to the beams, and go in the direction I would expect. Take your choice.

I suppose I should be explicit. We have left one of our two choices intact: f > 0 means that the corresponding F points into the beam; but now each F is the force applied by a joint to the beam. The effect of these two choices is that f > 0 is compression instead of tension.

Next time, I think, a slightly more complicated example.

BTW, the first time I worked this example, it was nowhere near as organized (with arrays for vectors v, unit vectors u, magnitudes f, and forces F. The organization was the result of working more complicated problems.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: