CivilKit Calcs

Bending moment and shear force diagrams

A bending moment diagram and a shear force diagram show how the internal forces vary along a beam. In a calculation sheet you write the moment and the shear as functions of the position x, and the page tabulates them and draws them. This page does it for a simply supported beam under a uniform load in two ways: a loop that works out values at sixths of the span with their units, and a plot line that draws the curve.

Open this sheet in Calcs Open a blank sheet

The functions

For a simply supported span L under a uniform load w:

The shear is the slope of the moment, so it passes through zero exactly where the moment peaks.

Video: Plots in the sheet format (about 80 seconds). Read the chapter Plots.

Try it

Open the sheet in Calcs or embed it.

Values along the span

With L = 6 m and w = 12 kN/m, the engine gives these values for the first half of the span. The second half mirrors it: the moment is symmetric and the shear changes sign.

xBending moment MShear force V
0 m (support)0 kN·m36 kN
1 m30 kN·m24 kN
2 m48 kN·m12 kN
3 m (midspan)54 kN·m0 kN

The sample sheet writes the two functions once and works through the span in a loop, printing the moment and the shear at each sixth with units, then draws the moments as an XY chart and plots the moment curve from the function:

# Moment and shear along a beam

A simply supported beam under a uniform load. The loop works out the moment and the shear at
seven points, and the moments are typed into the XY chart, as bars and as a line through them.
A plot of the moment drawn by the sheet follows for comparison.

## Inputs
L: 6 m | span
w: 12 kN/m | uniform load

## At sixths of the span
M(x): w * x * (L - x) / 2
V(x): w * (L / 2 - x)
for i in 0..6:
    x: i * L / 6
    M_x: M(x) -> kN*m
    V_x: V(x) -> kN

```mermaid
xychart-beta
  title "Bending moment at sixths of the span"
  x-axis "x, m" [0, 1, 2, 3, 4, 5, 6]
  y-axis "M, kN.m" 0 --> 60
  bar [0, 30, 48, 54, 48, 30, 0]
  line [0, 30, 48, 54, 48, 30, 0]
```

plot M(x * 1 m) for x in 0..6

The bars and the line of the XY chart are typed into the diagram text, so they do not follow a change of span or load. The loop values and the plot do, because they are calculated from the functions.

A plot from one line

The shortest form is a plot line. This sheet uses plain numbers rather than units, defines the moment and plots it over the span:

# Bending moment diagram

A simply supported beam of span $L$ under a uniform load $w$.

L: 6; w: 12
M(x): w * x * (L - x) / 2
Mmax: M(L / 2)

plot M(x) for x in 0..L

It reports a peak moment of 54 (in kN·m, because the numbers are in kN and m) and draws the parabola. Plots are drawn in the page, so changing L or w redraws the curve at once.

Other beams and loads

Change the functions to change the beam. A cantilever with a point load P at its free end has M(x) = P (L - x), measured from the fixed end; the cantilever calculator plots exactly that. Several loads on one span add up: write the moment of each and plot their sum. A point load part way along the span needs a moment function that changes at the load, which a sheet can write with a condition.

These sheets draw the diagrams of the functions you write; they do not analyse a structure. For a continuous beam or a frame, find the moments with an analysis first. The samples include a three-span beam solved by the stiffness method in a Python block, with its diagrams drawn by an interactive chart.

Questions

What is the maximum bending moment of a simply supported beam with a uniform load?

w L^2 / 8 at midspan. For a 6 m span under 12 kN/m that is 54 kN·m.

Where is the shear force zero?

At midspan for a symmetric load, which is where the moment is largest. In general the moment peaks where the shear changes sign.

Can I plot the shear as well as the moment?

Yes. Add a second plot line for V(x) under the first.

Do the diagrams follow a change of span or load?

The loop values and the plot do, because they are calculated from the functions. The bars of the XY chart in the sample are typed in, so update them by hand or leave the chart out.

Open this sheet in Calcs Open a blank sheet