Simply supported beam—finite element method

The biggest problem I face when writing posts in this series is deciding how much background explanation to put in. If I included only the stuff I do to get the answer, the posts would be very terse: one sketch and a dozen or fewer lines of math. A full explanation, though, could easily turn into several semesters’ worth of structural analysis theory. I’m trying to get close to the former while adding just enough background so readers with engineering experience can follow along. Even if you haven’t used the method of a particular post, you should be able to take what’s in the post and find the whatever further information you need to fill in the inevitable gaps.

This problem is most acute in describing today’s analysis. The finite element method—more precisely called matrix structural analysis or the direct stiffness method when applied to structures made of beam, truss, or frame elements—has many analytical parents: the Rayleigh-Ritz method, the slope-deflection equation, and matrix math. Presenting it without at least some of its antecedents would be a crime. But I will try to keep the introductory material to a minimum.

The fundamental piece of this analysis is the beam bending element. This is a length of beam with no interior loading, and its behavior can be described completely by four parameters, called its degrees of freedom. The DOF are the the displacements and rotations at the two ends (or nodes) of the element, usually numbered and directed as follows:

Beam element with DOF

The DOF are often called generalized displacements, and we’ll refer to them as u1, u2, u3, and u4. The deflected shape of this beam is completely determined by the sum of the products of these generalized displacements and a set of shape functions that look like this:

Finite element beam shape functions

Each shape function is a cubic curve that has a unit displacement corresponding to one of the DOFs and zero displacement corresponding to the other three DOFs. Apart from the sign convention, these are the same shapes we saw in our discussion of the slope-deflection equation.

There is a generalized force associated with each DOF; these are the forces and moments at the two ends of the beam, and we’ll call them f1, f2, f3, and f4. Note that when we multiply a u term by an f term, we get an energy expression. For DOF 1 and 3, that’s a displacement multiplied by a force; for DOF 2 and 4, that’s a rotation multiplied by a moment.

For this element, we can write a matrix equation for the relationship between the generalized displacements and generalized forces,

𝒌𝒖=𝒇

where

𝒖={u1u2u3u4},𝒇={f1f2f3f4}

and

𝒌=EIL3[ 12 6L 12 6L 6L 4L2 6L 2L2 12 6L 12 6L 6L 2L2 6L 4L2 ]

Each column is the set of generalized forces that correspond to that shape function.

You may notice that the terms in the second row of 𝒌 match the coefficients in the slope-deflection equation before the yA and yB terms were combined into the ψ span rotation term.

What should we do when, as in our case of a beam with a distributed load, there is interior loading? We convert that internal loading into what are called consistent loads at the ends. These are equal in magnitude and opposite in direction to the reaction forces and moments that would occur if the interior loads were applied to a beam with both ends fixed: wL/2 for DOF 1 and 3 and wL2/12 for DOF 2 and 4.

To solve a problem by the finite element method, we assemble the structural stiffness matrix, 𝑲, and the structural force vector, 𝑭 from all the individual elements and then solve the structural equation,

𝑲𝑼=𝑭

for the vector of structural displacements, 𝑼. As you can see, I tend to use lower-case letters for the element terms and upper-case for the structural terms. That’s a reasonably common, but by no means universal, notation.

In general, this assembly and solution of a matrix equation can be quite complex, which is why the finite element method is typically thought of as a process that requires a computer. But our problem is simple enough to do by hand.

Simply supported beam with uniform load

Recall that in both the slope-defection and Myosotis solutions, we took advantage of symmetry and considered just half the beam. We’ll do that again here.

Half beam for finite element analysis

This half-beam has just two DOF, the rotation at the left end and the deflection at the right end. In the assembly process, element DOF 2 matches structural DOF 1 and element DOF 3 matches structural DOF 2. The other element DOF don’t appear in the structural matrix equation because their U terms are zero. Here’s an illustration of the assembly process for the stiffness matrix, accounting for the fact that the beam element has a length of L/2:

Assembly of stiffness matrix

I took a class in matrix structural analysis (CE 361) from Prof. Jamshid Ghaboussi in the fall of 1981. He used the phrase destination array for the list of structural DOF that the element DOF go to. I’ve always thought that was a particularly good description and have used it ever since, even though I don’t think I’ve ever seen it in any finite element textbook. Note again that DOF 1 and 4 in the element have no destination because those displacements are zero in the structure.

When the assembly of both the stiffness matrix and force vector (which is done in a similar way) are complete, we get this equation:

8EIL3[ L2 3L 3L 12 ] { U1 U2 } = { wL248 wL4 }

There are different ways to solve this, but because a 2×2 matrix is easy to invert, that’s how I did it. Premultiplying each side by the inverse of 𝑲 gives us

{ U1 U2 } = L24EI [ 12 3L 3L L2 ] { wL248 wL4 }

Matrix multiplication gives us

{ U1 U2 } = { wL324EI 5wL4384EI }

The signs are the opposite of what we’ve seen before because of the directions we used in defining the degrees of freedom. Physically, though, these are the same answers we’ve seen several times.


Simply supported beam—Castigliano's method

Continuing our series on the many ways to get the center deflection of a uniformly loaded beam, we come to another energy-based technique: Castigliano’s method.

Castigliano’s second theorem provides a relationship between displacements, forces, and the strain energy in a linearly elastic system. The strain energy, U, is the potential energy of the system due to its deformation. For a generic elastic body, like this,

Elastic potato

Castigliano’s second theorem can be as:

If an elastic system is mounted so that rigid-body displacements of the entire system are impossible and certain external point forces P1, P2, … act on the system, in addition to distributed loads and thermal strains, the displacement component δi of the point of application of force Pi in the direction of force Pi is determined by the equation

δi=UPi

I took this from Henry Langhaar’s Energy Methods in Applied Mechanics, a favorite text of mine. I’ve altered the variable names to avoid conflicting with some variable names we’ve used in previous posts in this series.

Looking this over and thinking about it in terms of our problem,

Simply supported beam with uniform load

two concerns come to mind:

  1. Our problem doesn’t have a point force at the center of the beam, where we want to determine the deflection.
  2. Even if we did have a point force at the center of the beam, how do we write an expression for the strain energy in terms of that force?

Let’s tackle the second concern first. Recall from our two Rayleigh-Ritz posts (Fourier and polynomial) that the potential energy associated with beam bending is

0L12EI(y)2dx

This is the strain energy, U. Unfortunately, it’s written in terms of deflection, not force, but we can fix that. We saw early on that the curvature, y, and the bending moment, M, are proportional:

M=EIyory=MEI

We substitute the second of these into the expression for U to get

U=0LM22EIdx

Because the bending moment can be written in terms of the applied loads, we’ve solved the second concern.

We solve the first concern with a trick. We can pretend there’s a load, P, at the center of the beam, and write out an expression for the bending moment, M, that includes P.

Simply supported beam with uniform and concentrated load

We then do the integration to get U, take its derivative with respect to P, and—here’s the trick—evaluate the derivative for P=0. This may seem like cheating, but it’s perfectly legitimate. Imagine P is very very small—it won’t contribute much to the deflection. So why not just make it zero?

Let’s go ahead and see what happens. The upward support reaction force at end of the beam above is (wL+P)/2, so we can draw a free-body diagram for the left portion of the beam like this:

Free-body diagram for Castigliano

where x<L/2. The bending moment in the left half of the beam is therefore

M=12[(wL+P)xwx2]

and its square is

M2=14[(wL+P)2x22w(wL+P)x3+w2x4]

This formula applies only in the left half of the beam, but because of symmetry we know that

U=0LM22EIdx=20L/2M22EIdx=0L/2M2EIdx

So

U=14EI0L/2[(wL+P)2x22w(wL+P)x3+w2x4]dx=14EI[13(wL+P)2x312w(wL+P)x4+15w2x5]0L/2=14EI[L324(wL+P)2L432w(wL+P)+L5160w2]

Taking the derivative with respect to P gives us

UP=14EI[L312(wL+P)L432w]

Therefore the downward deflection at the center of the beam is

δ=UP|P=0=wL448EIwL4128EI=5wL4384EI

as we’ve now seen many times.

Since this is based on Castigliano’s second theorem, you may be wondering what kinds of problems we use his first theorem to solve. It’s a good question, but one I can’t answer. In the 45 years since I first learned of Castigliano’s theorems, I’ve never used his first one.


Simply supported beam—energy minimization with a polynomial

Today we’ll use the Rayleigh-Ritz method again, but this time we’ll avoid dealing with an infinite sum. In case you’ve forgotten, this is our problem:

Simply supported beam with uniform load

We’ll express the shape as a polynomial. The form of the governing differential equation,

EIyiv=w

tells us that our solution won’t have any terms of higher power than x4. That gets rid of the infinity problem, but a generic fourth-order polynomial still has five parameters,

y=a0+a1x+a2x2+a3x3+a4x4

which is more than we want to deal with. Let’s cut down further on the number of parameters by taking advantage of some other things we know. First, the solution will have to be symmetric, so we can express it with symmetric terms right from the start. Second, we know the solution will have to meet these boundary conditions:

y(0)=y(L)=y(0)=y(L)=0

Here’s the form we’ll start with:

y=ax(Lx)+bx2(Lx)2

This is a fourth-order polynomial. We know it’s symmetric about the center of the beam because switching the x and Lx terms (which is like flipping the beam around) yields the same equation. And it’s clear that y(0)=y(L)=0, so we meet two of the four boundary conditions. Now we’ll take on the other two boundary conditions.

We’ll use the product rule and a little algebraic rearranging to give us the first derivative with respect to x:

y=a(L2x)+2b[x(Lx)2x2(Lx)]

The second derivative is

y=2a+2b[(Lx)24x(Lx)+x2]

Since y(0)=0,

2a+2bL2=0

which means

b=aL2

and therefore, after some more algebraic cancellation and rearranging,

y=a[x(Lx)+1L2x2(Lx)2]

and

y=12aL2x(Lx)

Because we started with a symmetric function, its second derivative is also symmetric and y(L)=0.

Now it’s time for Rayleigh-Ritz. Recall that the potential energy, Π, is

Π=0L12EI(y)2dx0Lwydx

Plugging in our expressions for y and y gives us

Π=72EIa2L40Lx2(Lx)2dxwa0Lx(Lx)dxwaL20Lx2(Lx)2dx

where the first term is the potential energy of the bent beam and the second two terms are the potential energy of the load as it moves down with the beam.

The integrals are fairly easy to work out. Just expand the polynomials and integrate term-by-term. Here are the results:

0Lx2(Lx)2dx=L530

and

0Lx(Lx)dx=L36

Therefore,

Π=72EIa2L4(L530)wa(L36)waL2(L530)=12EIL5a2wL35a

We minimize this by taking the derivative with respect to a, setting it to zero, and solving for a. That gives us

a=wL224EI

which we’ve seen as an intermediate solution before.

Finally, after plugging in this expression for a, we get

y(L2)=wL224EI(L2L2+1L2L24L24)=wL424EI(14+116)=5wL4384EI

Our old friend comes to visit again.


Let me take you down

I just learned that people are listening to music pitched slightly down because it makes them feel better. Instead of the A above middle C being set at 440 Hz, they have it tuned down to 432 Hz.

This strikes me as odd, but how you feel is how you feel. Do whatever you want, as long as it doesn’t hurt anyone. I was interested, though, in the math behind this pitch change.

In the equal-tempered scale, the frequency ratio of a semitone, which I’ll call rs is the twelfth root of two:

rs=212=21121.059463

This is the ratio of frequencies of adjacent piano keys.

The ratio of 440 Hz to 432 Hz is

440432=55541.0185185

so the pitch difference you get from moving down to 432 Hz is distinctly less than a semitone. How can we characterize that difference?

Small differences in pitch are measured in cents. There are 100 cents in a semitone, so the frequency ratio of one cent, rc, is

rc=rs100=2112001.00057779

To get the number of cents we move down in going from 440 Hz to 432 Hz, we solve this equation for n:

(211200)n=2n1200=5554

Taking the base-2 logarithm of both sides yields

n1200=log2(5554)

and therefore

n=1200log2(5554)31.767

So going from A440 tuning to A432 tuning means going down about 32 cents or about a third of a semitone. Not a lot, but you (probably) can hear it.

Here’s two seconds of A440:

And here’s two seconds of A432:

It’s easier to hear the difference when they’re played simultaneously because the beat frequency is distinct:


Given the name of this blog, I would be remiss if I didn’t mention the famous splice in “Strawberry Fields Forever.” There were two takes that John Lennon liked: a slower version in a lower key and a faster version in a higher key. He wanted the final song to have part of one and part of the other. Right. As luck would have it, though, producer George Martin and engineer Geoff Emerick learned that adjusting the tape speeds to bring the two tempos together also put them in the same key.