Fig. 12. Deflected shape for the beam. Note that in the calculation, the flexural rigidity EI is assumed to be 1 for convenience.

We also must assume that at any point along our beam, the rotation of the beam, θ\thetaθ is small enough that we can say θ≈tan⁡θ\theta \approx \tan\thetaθ≈tanθ, i.e. the angle of rotation at a point is approximately equal to the slope of the deflection curve. For most practical cases, deflection is a serviceability issue and we expect it to be relatively small and largely imperceptible to the naked eye. As such, this small deflection assumption is satisfied in most cases, but you need to be aware of its existence.

Here we note that our integration has generated three unknown constants of integration, C1C_1C1​, C2C_2C2​ and C3C_3C3​. We also note that we now have the term dvdx\frac{\mathrm{d}v}{\mathrm{d}x}dxdv​ in our equations which corresponds to the slope of the deflection curve. We need to perform one further integration to reduce this back to the displacement itself, vvv. This integration yields,

If you want to get Python set up on your machine, you can follow this lecture. This will get you set up with a handy Python coding environment. Assuming you’ve done that, or have your own way of inverting matrices, the constants evaluate to,

Fig. 10: Sub-structure with all example loading shown. Note that the forces in green are the resultants of the UDL loads.

Now that we have established how the bending moment varies, we can substitute our relevant expressions for M(x)M(x)M(x) into the differential equation and perform our integrations. After substituting our expressions for M(x)M(x)M(x) into equation 1 we have,

where xxx is measured from left to right with the origin at position AAA. The equations for M(x)M(x)M(x) are obtained by making cuts in the structure to reveal the internal bending moment and then evaluating the internal bending moment as a function of xxx by considering moment equilibrium of the sub-structure. If you’re unsure about any of that, take a detour over to this article on shear and moment diagrams for a refresher.

After stepping through all of our test conditions and building up our deflection for the current location, we save that value on line 39 and move onto the next x-location with the next iteration of our for loop and repeat the process all over again.

The first four conditions are referred to as continuity conditions and result directly from the fact that the beam and therefore deflections and slopes are continuous. The final two are classic boundary conditions. We can now use these statements to build six equations from which the constants of integration can be identified.

In this tutorial, you’ll learn how to calculate beam deflection from first principles using the differential equation of the deflection curve. We’ll cover several calculation techniques, including one called Macauley’s Method which greatly speeds up the calculation process. We’ll work our way through a couple of numerical examples before discussing how we can use the principle of superposition and tabulated formulae to speed up the process even further.

To evaluate the internal bending moment in region 1, we cut the structure in this region to reveal the bending moment M(x)M(x)M(x). Our cut is made at a distance xxx to the right of support AAA, Fig. 2.

Before we work our way through the example below we need to state the assumptions on which our analysis is based. The first is the so-called ‘small deflection’ assumption. In order to obtain equation 1, we made the assumption that the deflection of our beam (or any deflecting structure we apply this equation to) is small. In other words, if we consider a short curved length of our beam undergoing deflection, the curved length, dsdsds, should be approximately equal to its length projection onto a horizontal plane, dxdxdx.

In order to find the constants of integration, we need some conditions or constraints that we can represent in equation form. As we have six unknowns to solve for, we’re going to need 6 constraint equations. These are as follows:

Fig. 18. Total deflected shape obtained as the superposition of individual deflections from each load considered separately.

This is where Macauley’s method comes in. I’ll outline the headlines here – but this is only really going to make sense when we work through an example in the next section – so don’t worry if the following leaves you scratching your head! Macauley’s method is really just an alternative method or process we can use to evaluate the differential equation of the deflection curve. The method works by introducing a singularity function (hence the alternative name), which allows us to discount or ignore certain terms in the bending moment function M(x)M(x)M(x).

Values that fall outside the boundaries of the relevant region can be immediately discarded. This leaves only x=3.976x=3.976x=3.976 in region 2. As we suspected, this is very close to the mid-span location. We could now substitute this value back into equation 12 to confirm the value of max deflection but since we’ve already worked out the deflection at x=4x=4x=4, we won’t bother doing this.

Our objective is to use this equation to calculate beam deflection, vvv, so we need to integrate the equation twice to get an expression for vvv. The best way to get to grips with this is to work through an example.

Sure enough, this is the same value we obtained above. By plotting these equations, we can further visualise the contribution of each load towards the overall deflected shape, Fig. 18.

However, to illustrate the problem and solution for future reference, let’s imagine the same beam with a moment, MoM_oMo​ applied at say x=5mx=5mx=5m, Fig. 11 below. In this case the internal moment expression would be,

Once we have our equation for the deflection, an excellent next step would be plotting the equation and visualising the deflected shape of the beam. We can write a simple algorithm to achieve this. I’ll use Python inside a Jupyter notebook, but you can use any language you’re comfortable with. If you’re new to Python, take a look at this project that will help you get up and running with little or no experience.

Fig. 17. Simply supported beam subject to a point load P=50 kNP=50\:kNP=50kN at a distance a=6 ma=6\:ma=6m from the left support and b=2 mb=2\:mb=2m from the right support.

Fig 3. Sub-structure created by the imaginary cut made in region 2. The cut reveals the internal bending moment in this region, M(x)M(x)M(x).

Now, we know the sub-structure is in equilibrium under the action of the internal shear (not shown) and the internal bending moment. So we can evaluate moment equilibrium in order to determine an expression for M(x)M(x)M(x).

Let’s simplify things for demonstration purposes and imagine our beam only had a distributed load acting on it. We can set up the sub-structure to the left of the cut as shown below in Fig. 9.

At x=0x=0x=0 the deflection v=0v=0v=0. Note that when x=0x=0x=0, all of our singularity functions either become zero or negative which according to Macauley’s method we treat as zero,

We’ve seen above how to determine beam deflection from first principles. It has given us a complete picture of the deflection, but even after employing Macauley’s Method, it’s still been a relatively lengthy process to calculate a deflected shape.

Taking moments about the cut and recalling the vertical reaction at A was previously determined to be VA=139.375 kNV_A=139.375\:kNVA​=139.375kN, yields the following expression for M(x)M(x)M(x),

The final condition relates to the other boundary; at x=8x=8x=8 the deflection vvv is also zero. So applying this to equation 13 with x=8x=8x=8 gives,

If you’ve landed on this post and are just after a table of beam deflection formulae, check out the table at the bottom of the page.

Offered here is a BEAUTIFUL VINTAGE MITCHELL BNC Camera. This is a rare find and believed to be one of the few Mitchell BNC cameras that was fitted with this type of blimp. This is a fully working camera that could be used to shoot a film tomorrow. However, it’s best use may be as a beautiful display piece.

We know by inspection that the max deflection occurs in region 2. But let’s assume we didn’t know this. We can let each equation for the slope of the deflection curve, dvdx\frac{\mathrm{d}v}{\mathrm{d}x}dxdv​, equations 8, 9 and 10, equal to zero and solve for the roots of each equation, i.e. the values of x at which the slope is zero. I’m going to let Python do the manual labour here…

You’ll probably agree that the calculation process up to this point has been quite laborious. We can speed the whole process up considerably using a technique called Macauley’s method. It’s also known as the singularity function method and we’ll cover this next.

So that about wraps up our discussion of beam deflection. In the end, it’s up to you what approach you decide to take to calculate deflections. There are of course other methods that you may use to evaluate deflection, but in any event it’s good to have an understanding of how we can go about it from first principles. Remember, just like any derivation, this one has its limiting assumptions, discussed above. Everything we’ve discussed above is only valid provided we satisfy these limiting assumptions.

If you found this post helpful, you might like this project where we build a beam deflection calculator in Python – if you think Macauley’s Method is fast, building your own calculator makes calculating beam deflections lightning fast.

The table of contents below will give you an idea of what we’ll cover, but this tutorial is basically split into 3 chunks:

We have the complete sub-structure with all loading and lever arms shown in Fig. 10 above. Taking moments about the cut we can build our expression for M(x)M(x)M(x) as follows,

There is a lot in this tutorial, so give yourself plenty of time to work your way through it. Once complete, you’ll know pretty much all you need to calculate beam deflection and deflected shapes.

Solving the simultaneous boundary condition equations we obtain C1=−765C_1 = -765C1​=−765 and C2=2565C_2=2565C2​=2565. Therefore our final expression for the displacement of the beam is obtained as,

Again we can see that this integration has given us a further 3 constants of integration, C4C_4C4​, C5C_5C5​ and C6C_6C6​. In total we have six unknown constants that we need to identify. The good news is that we now finally have an equation for the deflection vvv in each region.

Learn how to combine parametric modelling, exploratory form-finding and iterative analysis techniques to simulate 3D tensile structures.

Now we can substitute our expression for the internal bending moment, complete with singularity functions (which are really just the lever arm expressions) into the differential equation of the deflection curve and integrate the equation.

We’ve divided the expression for deflection into different parts which allows us to use if conditions to test if the current value of xxx renders the singularity function zero or not. This way we’re implementing Macauley’s method and only taking into account the relevant parts of the deflection equation for each position on the beam.

In order to derive equation 1 it was also assumed that the material the beam was made of was linearly elastic and therefore followed Hooke’s law. This must be the case because we are relying on the fact that the curvature of the beam, is proportional to the associated bending moment. This is important to remember, because our deflection equations will become inaccurate for plastic deformations, which would likely also invalidate our small deflection assumption. Now that we know the boundaries we’re working within, we can crack on with the example.

Now, since our bending moment diagram was not a continuous function of xxx, we needed to break up our bending moment diagram into segments where a single continuous function defined each segment. The double integration required for each segment yielded two unknown constants of integration. This was all perfectly solvable, but the process is generally very tedious for anything other than very simple loading.

Now that we’ve calculated an array of deflection values for each position along the beam, we can use Plotly to visualise them. The code below is pretty standard plotting code for Plotly. You can use whatever programme or library you like to visualise the deflection; all you’re doing is plotting a range of x versus y values. I include the code below more for completeness than anything else.

Fig 2. Sub-structure created by the imaginary cut made in region 1. The cut reveals the internal bending moment in this region, M(x)M(x)M(x).

**Pay special attention to the terms in square brackets, these are our singularity functions. Macauley’s method says that when the terms in brackets evaluate to a negative number, we treat the term in brackets as a zero.**Think about this for a minute – what is this actually saying? Imagine we make a cut in the structure at x=5 mx=5\:mx=5m to determine the internal bending moment at this location by considering equilibrium of the sub-structure to the left of the cut. Naturally the 50 kN50\:kN50kN force at C would not feature in this equation. The ‘rule’ we just implemented caters for this since the singularity function for the 50 kN50\:kN50kN force would evaluate to 5−6=−15-6=-15−6=−1 and according to Macauley’s method, this would be eliminated from the equation! Therefore after applying Macauley’s method to the moment expression we would have,

Looking again at the differential equation of the deflection curve, we see that we need expressions that describe the bending moment as a function of xxx. Looking at the loading here, we note that the bending moment diagram will not be described by one continuous function. The presence of two point loads means we’ll actually need three equations to fully describe how the bending moment varies along the beam; so, we’ll consider the beam as three different regions:

That wraps up our Macauley’s Method analysis. In the days of computerised structural analysis, we rarely need to process a deflection like this – but it’s still nice to keep in touch with the fundamental principles. Next, we’ll look at some even quicker ways of determining beam deflection that avoid calculus completely.

At x=3x=3x=3, the deflections vvv, in regions 1 and 2 are the same. So, equating equations 11 and 12 with x=3x=3x=3 gives us,

Currently we have no way of eliminating the moment when x<5x < 5x<5. However if we introduce a ‘sudo’ lever arm, [x−5]0[x-5]^0[x−5]0, we give ourselves a singularity function that enables us to apply Macauley’s method to this moment and eliminate it. Note that [x−5]0=1[x-5]^0 = 1[x−5]0=1, so we never actually alter the magnitude of the moment when it should feature in our equation. So, the complete expression for the internal moment, that we can apply Macauley’s method to is,

Although I’ve used two different plotting libraries to plot the deflection from each analysis, we can still compare figures 5 and 7 to confirm that we’ve achieved the same result.

Now that we have a complete definition of the deflection in the beam, we can plot it to get a better sense of the deflected shape. Fig. 5 below shows a plot of the internal bending moment and the deflected shape. Note the y-axis gives the deflection is a function of EIEIEI.

So, instead of building three different functions for the bending moment in the question above, we would build a single equation for M(x)M(x)M(x) by cutting the beam between C and D, thereby capturing the moment influence of all loads on the structure. The ‘trick’ that Macauley’s method introduces is that we multiply each term in the bending moment equation by a singularity function (will make more sense below) that we let equal to zero when it has a value less than one. The way we implement this allows us to cleverly eliminate terms from the moment equation when we’re evaluating sections of the beam, where those terms are not relevant.

We can make use of the principle of superposition to arrive at an answer for the mid-span deflection much faster by making use of tabulated formulae for beam deflection. These formulae have already been determined and tabulated for common load cases using the technique we’ve just demonstrated. Some of the more common deflection equations are summaries in the table below.

The last thing we want to tackle is identifying the location and magnitude of the maximum span deflection between A and B. This is relatively easy to obtain as the maximum deflection occurs where the slope of the deflected shape is zero. Fortunately, we have an equation for the slope already – so we just need to let it equal to zero and solve for x…easier said than done! Take a look at the equation again (repeated from above),

To demonstrate the benefits of Macauley’s method, let’s start by re-analysing the beam. We’ll break the process up into discrete repeatable steps that you can replicate on other beams.

We will employ the exact same technique as before to plot the deflected shape. The code below is structured the same as the code we’ve seen above, but the contents are obviously altered to represent our new deflection equation. The code to produce the plot is the same and is not repeated below.

The first thing I do inside a blank Jupyter notebook is import some packages to give me additional functionality. On line 2 below, I import Numpy to help me work with arrays of numbers, and on lines 3-5, I’m importing Plotly, a graphing library that helps me produce nice graphs.

When implementing Macauley’s method, we make sure we cut the structure at a location that allows us to consider all of the actions (applied forces and moments) to the left of the cut. This typically means making a cut some infinitesimally small distance to the left of the right tip of the beam. When taking moments about the cut, notice that all of our lever arm terms contain xxx. This is critical as these lever arm terms will be treated as our singularity functions.

We’ve seen that the basic process of calculating beam deflection involves evaluating an expression for the bending moment as a function of xxx, the coordinate along the beam. We can substitute this expression into the differential equation of the deflection curve and perform a double integration to produce a closed-form solution (an equation) for the deflection as a function of xxx.

The differential equation of the deflection curve is used to describe bending behaviour so it crops up when examining beam bending and column buckling behaviour. The equation simply describes the shape of the deflection curve of a structural member undergoing bending. So, if xxx measures the distance along a beam and vvv represents the deflection of the beam, the equation says,

We need to generate an equation that describes the internal bending moment as a function of xxx. To do this, we make a cut in the structure at some distance xxx to the right of the left support. We’ll treat the left-most tip of the beam as the origin of our x-axis.

The fifth condition is a standard boundary condition; at x=0x=0x=0 the deflection vvv is zero. So we can let equation 11 equal zero with x=0x=0x=0,

Our approach will be to use a for loop to cycle along each position on the beam and calculate the slope in much the same way that we calculated the deflection. At the end of each loop iteration, we’ll test if the sign of the slope has changed from negative to positive. When it has, it means that the point of zero slope was crossed between the previous and current iteration. We’ll take the x-position on the current iteration as the point at which the slope was zero and, therefore, the location of the maximum deflection.

At x=6x=6x=6, the slopes dvdx\frac{\mathrm{d}v}{\mathrm{d}x}dxdv​, in regions 2 and 3 are the same, so using equations 9 and 10 with x=6x=6x=6,

We said above that the existence of point moments caused a problem because a moment doesn’t get multiplied by a lever arm in our moment equation and therefore there is no singularity function to eliminate the moment when it doesn’t contribute to M(x)M(x)M(x). Now in our example question this problem never actually arises because the moment at C will always feature in the equation for M(x)M(x)M(x), i.e. we never evaluate the internal bending moment to the left of the 60 kNm60\:kNm60kNm, because it’s applied at the end of the beam.

The previous example demonstrated the advantages of Macauley’s method over our previous approach to calculating the deflection. However, before we wrap up our discussion, we should probably work through a slightly more challenging example question. This will give us the chance to address partial uniformly distributed loads (patch loads) and point moments.

where, EIEIEI is the flexural rigidity of the beam and M(x)M(x)M(x) describes the bending moment in the beam as a function of xxx. We won’t go into the derivation of the equation in this tutorial, rather we’ll focus on its application.

Consider the simply supported beam in Fig. 1 below. The beam is subject to two point loads and a uniformly distributed load. Our task is to determine the mid-span deflection and the maximum deflection. Note that because the beam isn’t symmetrically loaded, the maximum deflection need not occur at the mid-span location. Static analysis of the beam reveals the support reactions at AAA and DDD,

We can see from Fig. 5 above that despite the unsymmetrical loading, the maximum deflection occurs very close to the mid-span location. We can confirm the exact location of the maximum deflection by recognising that at this location, the slope of the deflection curve is zero. In other words, a tangent to the deflection curve at the point of max deflection would be horizontal and therefore have a slope of zero.

You can think of what we’ve done so far as building the most complete expression for the internal bending moment and then implementing a rule that allows us to eliminate terms from the expression as required.

Fig. 16. Simply supported beam subject to a point load P=75 kNP=75\:kNP=75kN at a distance a=3 ma=3\:ma=3m from the left support and b=5 mb=5\:mb=5m from the right support.

With these preliminaries out of the way, we can get on to the core of the code. In lines 3-6 below we set up a range of x-coordinates along the length of the beam. On line 10 we initialise a container to hold the value of deflection at each x-coordinate and on line 11 we establish a for loop to cycle through each x-coordinate and calculate the value of deflection at each point.

Now that we have our six equations, we need to use them to solve for the unknown constants. By far the easiest way to do this is to arrange them in matrix form and solve the system by inverting the matrix of coefficients. The matrix representation of the system is,

But as we said, we don’t need to implement this ‘fix’ in our example because the moment will always feature in our equation because it’s positioned on the extreme left end of the beam. So, with these two details covered, we can get back to solving our question.

Notice that our expression has the full UDL, 4W4W4W ‘baked’ into it. This means that this equation can only be valid for values of 9≤x≤169\leq x\leq169≤x≤16. This typically wouldn’t be a problem because our singularity functions usually eliminate the influence of a load when the cut is to the left of the load. However, notice that the singularity function only eliminates the influence of the UDL when x<7x<7x<7. So there is a window when $7 To overcome this we need our UDL to always run to the end of the beam, in other words our vertical cut must always cut through whatever UDLs are applied to the beam. An easy way to satisfy this requirement is to extend our UDL to the end of the beam and then apply a UDL in the opposite direction to cancel the influence of the extra UDL we’ve added – this makes more sense when you see it in action, Fig. 10 below.

The arrangement of loads on our structure causes us two problems that we’ll need to consider if we’re to use Macauley’s method,

Solving this equation algebraically for xxx is too difficult. A much more practical approach is to identify the region of interest visually, say between 7<107< x< 107<10 meters and use trial and error, i.e. plug values of xxx into the equation and see which one makes the equation equal to zero. In the dark ages, one might have done this by hand – but lucky for us we can put a robot on the job instead – via a Python script!

At this point we need a way to invert a matrix, and as it’s a 6×66\times 66×6 matrix, we won’t be doing this by hand! I’ll use the following Python code to perform the operation in equation 21.

It might seem odd that the 75 kN75\:kN75kN point load at G is never directly featured in our internal bending moment equation, M(x)M(x)M(x). However, its influence is taken into account indirectly through the reactions at A and B. You can confirm this by simply increasing the point load to say 100 kN100\:kN100kN and repeating the calculation. This will require you to calculate new reactions, re-evaluate the constants of integration and slightly amend the code block above to capture the changes – but it’s not as laborious as it sounds. I’ve plotted a comparison of the two deflections in Fig. 13 below.

We can confirm that this is the same value we derived in our first analysis. However, we only needed to integrate a single equation and evaluate two unknown constants of integration. The process was a lot quicker this time around. In a nutshell, this is Macauley’s method – fundamentally we’re still integrating the differential equation of the deflection curve, we’re just being a little smarter about it.

At x=3x=3x=3, the slopes dvdx\frac{\mathrm{d}v}{\mathrm{d}x}dxdv​, in regions 1 and 2 are the same. Therefore we can equate equations 8 and 9 and substitute in x=3x=3x=3.

To use Macauley’s method to deal with these actions, we need to implement specific strategies. So with this in mind, consider the structure below. Our task is to plot the deflected shape for the structure as we did for the previous example. We’ll also determine the magnitude and location of the maximum deflection between A and B.

We can repeat the process now to determine the relevant equation for region 2. Fig. 3. shows the sub-structure created by the cut to reveal the internal bending moment.

For example, if we cut the beam above between B and C and consider equilibrium of the sub-structure to the left of the cut, the 75 kN75\:kN75kN point load would feature in the moment equation but the 50 kN50\:kN50kN would not. Macauley’s method simply allows us to construct a single moment equation and eliminate any non-relevant terms. This method results in us performing double integration on one equation (not three) yielding only two unknown constants of integration – greatly reducing our workload. In the next section we’ll flesh out this idea with an example.

The formula for the deflection of a beam subject to a single point load, Fig. 16, where the distance aaa is less than the distance to the position at which the deflection is being evaluated, xxx is,

Fig 4. Sub-structure created by the imaginary cut made in region 3. The cut reveals the internal bending moment in this region, M(x)M(x)M(x).

Relying on the principle of superposition, we can evaluate the mid-span deflection for each load individually and then simply add or superimpose the deflections together. Doing so will yield the same result identified above.

Before integrating, note that we are keeping the singularity functions intact and not expanding them or multiplying through the terms to the left of the brackets. After integrating twice we end up with,

There is a lot in this tutorial, so give yourself plenty of time to work your way through it. Once complete, you’ll know pretty much all you need to calculate beam deflection and deflected shapes.

This essentially marks the end of the process and we can now use our equation to evaluate the deflection as required. So for example, let’s consider the deflection at the mid-span location, at x=4x=4x=4. Substituting x=4x=4x=4 into our equation and observing Macauley’s method of eliminating terms where the singularity function evaluates to a negative would yield,