Let’s try a slightly more complicated truss. You may want to read the previous post, if you have not already.
The symbol at A means that point A is fixed – so the reaction force at A can have both x- and y-components. The symbol at D, with two wheels, means that D can move horizontally; equivalently, that it cannot resist a horizontal force – therefore, in equilibrium, there can be no horizontal component of reaction force at D.
A quick count: we have 5 beams (members, m = 5) and 4 joints (j = 4), and we want
2j = 8 = 5 + c,
so we want c = 3 possible reaction forces. And that’s what we’ve got.
Since the joints are labeled by letters, I’ll index them by those letters. Since I’m interested in unit vectors along the beams, I’m going to set L = 1 for starters. That is, it doesn’t matter in the least what L is, so I’m going to choose it conveniently.
They are, in fact, unit vectors, but I’ll execute the following command anyway, just to make absolutely sure that I get unit vectors u:
(Perhaps I could also mention that I solve new truss problems by copying an existing solution. All I’ve really done is make sure that the creation of unit vectors is part of this solution so that it’s available if I copy this one as a starting point for another problem.)
Now, there are forces at each joint in the direction of each unit vector. I want scalars f for the magnitudes of the forces along the beams… and vectors F for the forces themselves. Let me zero out the f and F arrays.
That is, I let f_ij denote the common magnitude of the two forces on beam ij… let F denote the force vectors, so
.. and do it so that fij = =fji. (That’s what the Sort[f[i,j]] does in the following command.) We see, for example, f[A,C] but no f[C,A] in the following:
Now, there is no beam connecting points (joints) A and C, but I have two such unit vectors. I declare that f[A,C] = 0:
I will remark that in
I have some F_ij = 0 because u_ij = 0 (namely for i = j), and I now have two more F_ij = 0, namely for i,j = A,C and i,j = C,A.
The following somewhat mysterious command…
gives me the x- and y-components of the beam forces. The (1,1) entry, for example, says that I have x-components of forces from AB and from AD, and a y-component of force from only AB. The 1/2 is the cosine of 60° for the x-component along AB, and the is the sine of 60° for the y-component along AB. f[A,D] has a coefficient of 1 because the entire force F[A,D] is in the x-direction.
I also have external reaction forces and loads. Both x- and y-components (R1, R2) at A where the truss is fixed, and only a y-component R3 at D which cannot resist an x-component. And, of course, there is an external force at E in the x-direction. For reaction forces and external loads, then, we have
As I said in the previous post, by writing the total forces as t2 + X, I am declaring that the beam forces, t2, are internal forces – the forces by the beams on the joints – and therefore a positive value for f means that the beam is in tension.
Set the sums of the forces to zero:
Both reaction forces R1 and R2 at A are negative… that’s plausible, given that the external load is at the top and to the right… it’s trying to pull away from A. The reaction force R3 at D is positive… plausible, given that it must counter the vertical reaction force at A.
Of the beam forces, only f[B,D] is negative… only beam BD is in compression.
Oh, and there’s no force at all in beam CD.
Let’s check the global balance. It would say that the vector sum of the reaction forces and the load is zero. Yes?
Now try drawing the forces. As I did before, I scale the forces (in this case by 4000), and I overlay the new drawing on the original:
What we get, at the very least, is a demonstration that the forces we computed are, in fact, along the beams!
Of course, we also get a nice graphical display that only beam BD is in compression – the beam is pushing back on the joints – and there is no force in beam CD,