Reinforced Concrete Column Design to ACI 318-14 with Python and concreteproperties
![[object Object]](/_next/image?url=%2Fimages%2Fauthors%2Fdan_ki.png&w=256&q=75)
In this tutorial, Dan Ki guides us through the design of non-sway short columns using ACI 318-14. Although manually calculating column capacities is not difficult, it can be time-consuming. Dan does a fantastic job here of demonstrating how we can use Python and the concreteproperties
package to do the heavy lifting. This tutorial is ideal if you're looking to automate your column design process and save time. This is an-depth tutorial...stick with it! Once you've completed it, you'll be itching to start using concreteproperties
in your own projects.
Tutorial breakdown
The tutorial is divided into the following sections:
1. What is a column?
Sounds basic...but it's always worth establishing a foundation for the discussion!
2. Key Analysis Assumptions
As with any engineering analysis, assumptions are everything. Dan lays out the key assumptions we'll be working with.
3. Turning to ACI 318-14
In section 3, we take a look at the specific requirements and guidance in ACI 318-14 relating to column design.
4. Moment Interaction Diagrams with concreteproperties
In section 4, we get into the detail of how to use concreteproperties
to calculate the moment interaction diagrams for our columns.
5. Factored Moment Interaction Diagram
Initially, we can only calculate the nominal capacities of our columns. In this section, we'll look at how to factor these capacities to get the final design interaction diagram. We'll also validate our analysis results against commercial software.
6. Transverse Reinforcement
Although the hard work of column design is done when we complete our section analysis, the job isn't quite finished. In this section, we'll look at transverse reinforcement requirements.
7. Design rules of thumb
In section 7, we'll look at some design rules of thumb that can help us to quickly generate some initial specifications as a starting point fr our analysis.
8. Conclusion and final thoughts
Finally, Dan wraps up with some observations on ow you can apply everything that've learned about short column design to slender columns using the Moment Magnification Method.
This is an in-depth tutorial...stick with it! Once you've completed it, you'll be itching to start using concreteproperties
in your own projects.
Enjoy the tutorial, and don't forget to download the Jupyter Notebook file with all of the code ready to run (linked above 👆)!
Seán
In this tutorial, we will cover the basics as well as explain some of the nuances of column design per ACI 318-14. This discussion focuses on non-sway, short columns. Extending the principles to sway or slender columns is, in my opinion, not difficult once the foundational concepts are understood, which this discussion includes in detail.
Although calculating column capacities is not difficult, it can be time-consuming to do by hand due to the number of intermediate calculations required.
concreteproperties
by Robbie van Leeuwen
Thus, we will lean on programming to do the heavy lifting. This tutorial will feature concreteproperties
, an open source Python package by Robbie van Leeuwen, which enables section property calculations, facilitating the analysis of reinforced concrete sections under combined axial and flexural loading.

Figure 1. concreteproperties
is a python
package that can be
used to calculate the section properties of arbitrary reinforced concrete
sections.
Though not intended as a full substitute to commercial software, I find publicly available packages and libraries to be convenient and fast, particularly for quick design inspections and sanity checks.
It would be helpful to have a basic understanding of Python to follow along, but it's not absolutely critical as Python is fairly legible even to those unfamiliar. I will also do my best to explain the code as we go along.
If you're looking to take your first steps in Python, check out this tutorial, it's got plenty of guidance on getting up and running.
1.0 What is a column?
A column is an axial-flexural member, similar to a beam, but primarily subjected to axial compression. Unlike beams, which experience mostly bending due to transverse loads, columns carry axial forces that can induce second-order moments due to effects.
Generically speaking, in a gravity system, beams and slabs carry transverse (gravity) loads, which get transferred to the columns. The columns then transfer their loads down to the building's foundation, completing the load path.
In a lateral system, beams and columns work together as a moment frame to resist lateral forces. Typically, diaphragms (e.g. slabs) receive externally applied lateral loads. The diaphragm forces are distributed to the beams, causing bending in both the beam and column (with moments distributed based on their relative stiffnesses). These bending moments and axial forces propagate down to the foundation, completing the load path.
In an academic setting, columns are often introduced first as pinned-pinned, i.e. it is assumed that the column is a pure axial member, resisting no bending moments. While columns certainly are primarily axially loaded members, there are often non-negligible moments that must be accounted for in concrete column design. This is simply due to the nature of concrete as a material and reinforcement layouts that make it difficult to justify a truly pinned member. Let's take a closer look at the effects of gravity and lateral loads on a building.

Figure 2: Typical moments induced by gravity loading.

Figure 3: Typical moments induced by gravity loading.
As you can see, columns typically (though not always) bend in double curvature in addition to carrying axial loads. When viewed in this light, columns can, in the general case, be thought of as primarily axial load-carrying members and secondarily as flexural load-carrying members.
Having said all this, I should mention that it might be helpful to have read the previous tutorial on Concrete Beam Design using ACI 318-14 as there will be some overlap and continuation of concepts covered from there.
So, if a column resists both bending and axial loads, how do we analyse its capacity? Recall that failure can be said to have occurred in a concrete section when it reaches its ultimate crushing strain, (ACI 318-14 22.2.2.1).
Since both bending and axial loads contribute to compressive strains in the concrete, there must be some combination of each that will fail a column. Stated differently, on one extreme, a column could fail purely in bending (i.e. the classical beam).
On the other extreme, a column could fail purely axially (i.e. the classical column). Hence, one can infer that there should exist a possible permutation of both bending and axial loads that can cause a column to fail. In fact, there are an infinite! If there are an infinite ways that a column can fail, where do we begin to calculate our capacities?
2.0 Key analysis assumptions
Now that we've sufficiently motivated our discussion, let's start organising our thoughts and assumptions.
-
There exists some combination of moment and axial load that will cause our column to fail, i.e. moments and axial loads interact to bring the compressive concrete strain to at failure (ACI 318-14 22.2.2.1).
-
From mechanics of materials, we know the following to be true for any elastic beam element:
-
Concrete is weak in tension. In fact, per ACI 318-14 22.2.2.2, tensile capacity of concrete cannot be taken into account in axial or flexural strength calculations. Thus, we will take the tensile capacity of concrete to be zero.
-
Reinforced concrete does not behave linearly. (Recall the concrete stress-strain curve!)
-
Strain-compatibility and equilibrium in the section must be met (ACI 318-14 22.2.1). Stated simply, this means that we assume the rebar and the concrete deform together and compression forces exactly equals tension forces under a given loading. For a vast majority of columns, this is a valid assumption. We shall assume a linear strain distribution in our concrete section - plane sections remain plane (ACI 318-14 22.2.1.2). This key assumption will form the basis of our calculations.
Note that we are assuming strains are linearly distributed; this does not imply that stresses are linearly distributed!
From our strain compatibility assumption, we are able to determine all the forces in our section by setting at one end and assuming a certain, arbitrary tensile strain at the other end. The below is a generic model:

Figure 4: Typical column cross section.

Figure 5: Linear strain distribution and equivalend rectangular stress block and force resultants.
Without doing any math, if we were to plot axial capacities on the y-axis (compression positive) and moment capacities on the x-axis, we can, from our above assumptions, infer that it might qualitatively look something like this:

Figure 6: Qualitative plot of axial compression force capacity against moment capacity.
We are now able to find every point in our interaction diagram, but before we do so, let's dive into ACI 318-14 to help us understand which specific points may be of special interest to us.
3.0 Turning to ACI 318-14
Recall that for flexural and axial loads, ACI 318 specifies the strength reduction factor, , based on the strain in the tension steel.
All Access Annual Membership
Learn, revise or refresh your knowledge and master engineering analysis and design
Access Every Course and Tool
- Over 963 lectures & over 198 hours of HD video content
- Access Member's Only 'deep dive' tutorials
- Access all downloads, pdf guides & Python codes
- Access to the StructureWorks Blender Addon
- Packed development roadmap of courses & tools 🏗️
- Price Guarantee – avoid future price rises as we grow
- Priority Q&A support
- Course completion certificates
- Early access to new courses
All Access Lifetime Membership
Unlimited access to all current and future EngineeringSkills.com courses and content, forever.
Access Every Course and Tool
- Over 963 lectures & over 198 hours of HD video content
- Access Member's Only 'deep dive' tutorials
- Access all downloads, pdf guides & Python codes
- Access to the StructureWorks Blender Addon
- Packed development roadmap of courses & tools 🏗️
- Price Guarantee – avoid future price rises as we grow
- Priority Q&A support
- Course completion certificates
- Early access to new courses
Featured Tutorials and Guides
If you found this tutorial helpful, you might enjoy some of these other tutorials.
Plastic Analysis and Plastic Collapse – A Complete Guide – Part 1
Use plastic analysis to determine the collapse load factors for determinate and indeterminate structures.

Callum Wilson
Using VIKTOR to Build a Shareable Truss Calculator App - Project Overview
Build a user-friendly analysis web app powered by OpenSeesPy and VIKTOR

Dr Seán Carroll
A practical guide to floor vibration serviceability assessment
Part 1: Understanding human-induced floor vibration and assessing acceptability

Dr Seán Carroll