Modeling Reinforced Concrete Stiffness
Part 2: Section Stiffness

By Adam Stordahl, PE • Published August 5, 2025

In Part 1, we looked at stiffness from the material level. We saw that stiffness is the derivative (slope) of the stress-strain curve, and that for both concrete and steel it is not constant. We saw that both materials soften as they reach their ultimate capacity.

In this post we’ll put the concrete and steel together and look at section stiffness. If Part 1 was about E, this post is about EI—the section’s resistance to bending.

We’ll consider the column section shown below and calculate bending stiffness four different ways. The section is 12” x 16” (f’c = 4 ksi) with (6) #7 bars (Grade 60).

Reinforced Concrete Column Section
Figure 1: Reinforced Concrete Column Section (click to expand)
  1. Gross Concrete Elastic Stiffness
    \( I = \frac{1}{12} \cdot b \cdot h^3 = \frac{1}{12} \cdot 12 \cdot 16^3 = 4096\ \text{in}^4 \)
    \( E = 57 \cdot \sqrt{4000} = 3605\ \text{ksi} \quad \text{(ACI approach)} \)
    \( EI = 14,766,000\ \text{k-in}^2 \)

    First off, this is the stiffness you would get if you modeled the section in VisualAnalysis by defining a parametric rectangle and then picking a concrete material from the database. As the calculation shows, this approach neglects the contribution of the reinforcing steel entirely. From the first post in this series, we know that the ACI calculation of E is only valid for low stress levels (less than half of f’c). The calculation of I uses the full depth of the section, so we also know that concrete’s inability to resist tension has not been considered.

  2. Transformed Section Elastic Stiffness

    We can refine the first calculation by including the rebar via the modular ratio. You can do the I calculation by hand or have ShapeBuilder or ConcreteSection to do it for you. ShapeBuilder was used for the numbers below. You can download the project file here if you would like to look at it.

    \( n = \frac{E_s}{E_c} = \frac{29,000}{3600} = 8.06 \)
    \( I = 4656\ \text{in}^4\ \text{(from ShapeBuilder)} \)
    \( E_c = 3605\ \text{ksi}\ \text{(ACI approach)} \)
    \( EI = 16,785,000\ \text{k-in}^2 \)

    As expected, including the rebar increases the flexural stiffness compared to method 1. Using Ec from the ACI approximation again implies that we are assuming low stress levels in the concrete. The calculation also assumes that the steel has not yielded, since Es was taken as 29,000 ksi.

  3. Cracked and Transformed Stiffness

    Methods 1 and 2 neglected the fact that concrete has very little ability to carry tension. They used the full height and width of the cross-section and assumed Ec was valid in both tension and compression. That may be valid at very low load levels, but eventually the concrete will crack and not provide any stiffness. This method accounts for that by considering only the concrete in compression and the steel (again scaled by the modular ratio).

    However, if we want to include only the concrete in compression, we need to know where the neutral axis is. For linear materials, we can find the neutral axis from geometry (that assumption is baked into methods 1 and 2). We are still ignoring most of the non-linear behavior in this method, but accounting for concrete’s inability to resist tension introduces a nonlinearity.

    ConcreteSection solves this problem by assuming that concrete has no stiffness in tension and constant stiffness in compression. It then uses an iterative solver to find a neutral axis location that, while not directly available from the geometry, is independent of applied load. ConcreteSection refers to the moments of inertia calculated this way as “initial stiffnesses” since, while the values consider concrete cracking, they still assume the steel has not yielded and the concrete is at low strains (0.25 e0 to be specific). Using ConcreteSection to analyze our example (you can download the project file here) gives:

    \( EI = 4,866,000\ \text{k-in}^2 \)

    By including concrete cracking, the stiffness of the section is reduced by a factor of approximately 3.5.

    Do not be fooled into thinking a cracked moment of inertia is more sophisticated than it really is. It does soften the section by eliminating concrete in tension, but it still relies on the modular ratio, which means it assumes that the concrete and steel are behaving linearly.

  4. Tangent Stiffness

    To this point, each stiffness calculation has captured a little more complexity. However, there is still a significant limitation common to all three methods. All three are only valid for low load levels since they assume the concrete stiffness can be approximated by a secant and they assume the steel has not yielded. If we want to consider concrete stresses near f’c and steel that has yielded, we will need to leave the linear assumptions of the first three methods behind. In Part 1 I noted that the robust way to find the stiffness of the concrete was to take the derivative of the constitutive model, i.e. the derivative of stress with respect to strain. That approach allowed us to find E at every point along the curve. Similarly, in this post we are looking for EI, which is a measure of the section’s ability to resist bending deformations, or curvature. So, to find EI at every load level we’ll need to take the derivative of moment-curvature function.

    \( EI_{\text{Tangent}} = \frac{dM}{d\kappa} \)

    ConcreteSection can again help us with this, as it will calculate the curvature and tangent stiffness for applied loads (if you want to follow along the project file is available here). Plots of both are shown below (download Excel file here).

    Moment-Curvature Plot
    Figure 2: Moment-Curvature Plot (click to expand)
    Tangent Stiffness Plot
    Figure 3: Tangent Stiffness Plot (click to expand)

    The tangent stiffness approach removes many of the limitations of the earlier methods. It captures the full non-linear behavior of the concrete and it allows the reinforcing to yield. However, instead of giving us one value of EI to use (very convenient) it gives a curve, which is not very convenient since most structural elements are not subjected to a single, constant demand along their length (not to mention across load combinations).


Conclusion

We can add the stiffness calculations from the first three methods to the tangent stiffness plot and see how they compare.

Stiffness Comparison Plot
Figure 4: Stiffness Comparison Plot (click to expand)

By including stiffness from concrete in tension, Method 1 and 2, give significantly higher estimates of the section's stiffness. These higher estimates may be more correct until the concrete reaches its cracking moment (around 250 K-in for our example section). For the example section, Methods 1 and 2 overestimate stiffness by a factor of approximately 16 when the bottom bars have yielded.

The cracked-transformed method does a good job of approximating the tangent stiffness until the bars start to yield (exactly as expected).

The tangent method could be improved at very low loads by including some tension capacity in the concrete constitutive model. A feature likely coming to ConcreteSection soon.

In Part 1 we saw how the load level affected stiffness at the material level. To no surprise, we see much the same behavior at the section level. Stiffness depends on the load level.


Next Time

In the final post of this series, we’ll take these different section properties and use them to model columns in VisualAnalysis. To do that, we’ll need to figure out how to use the continuously changing tangent stiffness in a finite element context.