The py_RC Design spreadsheet provides Python versions of the reinforced concrete design functions in the RC Design Functions spreadsheet. The current version can be downloaded from:
See also: SLS Concrete design with Python for additional SLS design related functions.
For details of the pyxll app required to connect the Python code to Excel see Python and pyxll.
The focus of this post will be the new py_UmomBiax function that provides similar functionality to the equivalent VBA function, see Biaxial bending update 2.
The function allows for irregular cross-sections, defined by coordinates, with any number of reinforcement layers:


The neutral axis can be adjusted by the spreadsheet so that the angle of the reaction bending moment is equal to the direction of the input loads. The output format is similar to the VBA version:

The py_UmomBiaxA function allows the generation of interaction diagrams. The first example plots bending moments about the X axis against axial load for 4 different code options:
- Eurocode 2 with parabolic-rectangular stress block.
- Eurocode 2 with linear-rectangular stress block.
- Eurocode 2 with rectangular stress block.
- AS 3600 with rectangular stress block.

For rectangular stress block calculations the moment capacity is calculated for all axial loads where the neutral axis is inside the section, then linear interpolation is used for results with higher axial load. For parabolic-rectangular and linear-rectangular stress blocks the strain-based calculation is used for all axial loads, using the Eurocode 2 procedure where the maximum compressive strain is reduced as axial loads increase:

The next example shows moment capacity about the Y axis for different angles of the neutral axis. For each angle results are shown with a parabolic-rectangular and rectangular stress blocks:

Similar results are plotted below for the resultant bending moment capacity, using the same stress blocks:

Finally results are plotted for constant axial load with the neutral axis angle between 0 and 90 degrees:

Pingback: py_RC Design 2 | Newton Excel Bach, not (just) an Excel Blog