ACCESS THE COMPLETE LIBRARY OF COURSES & TUTORIALS 
Updated 8 February 2026
Reading time: 24 mins

OpenSeesPy Quick Start - Build a Parametric Continuous Beam Calculator (with hinges)

Indeterminate continuous beams are everywhere, so having a fast means of analysing them is a must.
[object Object]
by Dr Seán Carroll
Download the complete Jupyter Notebook for this tutorial.

Download the complete Jupyter Notebook for this tutorial.

1.0 Introduction

In this tutorial, we’ll build a continuous beam analysis script using OpenSeesPy. We'll also build in the ability to specify rotational hinges within our continuous beam.

Multi-span continuous beams are so common that it makes sense to have a script in our toolbox to very quickly generate the shear force diagram, bending moment diagram, reactions and deflected shape.

Analysing them by hand takes forever, and even setting them up for analysis in commercial software packages can feel needlessly laborious. This is where having a simple analysis script comes in handy - quickly plug in the beam geometry and loading information, hit Run, and you’re done!

Once you complete this tutorial, you’ll have built this script. Work through it with me now, step by step, or download the completed code from the resource panel above.

If you prefer a video run-through to reading, I have a full tutorial video that walks through each code block 👇

This is one of a number of tutorials on EngineeringSkills exploring the OpenSeesPy library. If you’re completely new to OpenSeesPy, go back to the first tutorial here, where I introduce the library.

This continuous beam project follows on very closely from this tutorial where we analysed a simple 2D moment frame. Make sure to check that out before you work through this. In fact, the OpenSeesPy portion of the build will be very similar - what’s new in this tutorial is:

  1. how we handle some of the structure parameterisation,
  2. the inclusion of rotation hinges.

Our plan will be to define the structural parameters (material, geometry and loading) first. Then we’ll dive into building the OpenSeesPy model, tackling the parameterisation as we define various parts of the model.

Ok, let’s get into the build!

Engineering Essentials Membership

Engineering tutorials,
written by an engineer — not a model.

Read the rest, download the resources and unlock the full archive. This is independent, human-crafted engineering content. An Essentials Membership gets you access to all member-only tutorials and helps keep the lights on for a learning platform built by engineers, for engineers.

  • The complete archiveAll member-only tutorials in the archive with new expertly researched deep dives added regularly.
  • Full, runnable Python sourceThe complete source for every project, not trimmed snippets. Run it, break it, learn from it.
  • Video walkthroughsWatch video walkthroughs, with the reasoning behind how and why each step was implemented.
  • Made by an engineer, not a modelEvery line is written, tested and debugged by a human. Your membership is what keeps it that way.
Support the work

Essentials Membership

Annual Subscription$7/mobilled $84/year
  • Instant access to the full archive
  • 28-day refund, no questions
  • Cancel anytime
  • Your card and subscription are handled by Stripe

Already a member? Log in

Want all video courses too?
Upgrade to All Access Membership for the complete library of in-depth video courses on top of everything in Essentials.Explore All Access Membership