Beam geometric non-linear effects – Python version

In 2018 I posted Beam geometric non-linear effects with a VBA based spreadsheet to calculate beam actions and deflections under combined transverse and axial load, allowing for geometric non-linear effects. I have now converted the code to Python, linking to Excel with pyxll, with several added features:

  • The beam flexural stiffness may be specified with moment-curvature tables, allowing material non-linear effects to be included.
  • The deflection output now includes the section curvature, as well as transverse deflection and slope.
  • Where moment-curvature tables are specified the flexural stiffness of each beam segment may based on either the average moment along the segment (default), or the maximum absolute moment.

Typical input and results are shown in the screenshots below. See the previous post for background on the analysis method used. The spreadsheet and required Python code can be downloaded from:

py_GeomK.zip

The first examples are based on a beam with two different cross sections, fixed for rotation and transverse deflection at both ends, and with an axial load close to the buckling load. The spreadsheet results are compared with results from Strand7 and from my 3DFrame spreadsheet.

Specifying moment-curvature tables, and an increased number of iterations significantly increases the deflections:

Doubling the number of beam segments improves the match between the alternative softwares used:

The results below are for a 20 m long beam with different end conditions:

Moment and transverse deflection fixed at both ends.

Transverse deflection restraint removed at the right hand end.

Moment restraint removed at both ends

This entry was posted in Beam Bending, Excel, Finite Element Analysis, Frame Analysis, Link to Python, Newton, PyXLL, UDFs and tagged , , , , , , . Bookmark the permalink.

1 Response to Beam geometric non-linear effects – Python version

  1. Pingback: Beam geometric non-linear effects – end loads | Newton Excel Bach, not (just) an Excel Blog

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.