# Built-up steel section properties using some good old Python (Part 1)

Over on Eng-Tips forum, the question seems to come up quite regularly regarding the calculation of certain steel member section properties when you’re in the situation of having to strengthen a member with added reinforcement. Usually, the question is related to calculating the torsion or warping constants when some additional strengthening member is welded somewhere on the section, because that’s where simplified rules seem to run out of steam.

It’s been a while since I did anything python related on the blog, so in this series of posts we’re going to present a few basic python scripts to get you started with evaluating the section properties of some commonly specified strengthening methods. If you don’t know any python, you can grab the scripts, modify the inputs, and get an answer… easy! No more using approximations, fudging formulas or using really conservative properties.

Some simplified formulas exist for torsion and warping properties, for example the torsion constant for an open section can be estimated by the following relationship: –

Where and are the plate width and thicknesses of each individual plate making up your open section.

For the warping constant you can estimate the value via the following formula for a doubly symmetric member (sometimes referred to as : –

Where is the distance between flange centroids.

This of course does not consider beneficial presence of the root radii, root radii are your friends for torsion ok (they generally increase the torsion constant). An empirical formulation exists for including the root radii for determining the torsion constant for I-Sections as follows: –

Where and

Simple right…..

This allows for the calculation of a reasonably accurate estimation of the torsion constant for an I-Section with constant thickness flanges inclusive of the root radii. But it also comes with some limitations in the range of applicable values where it can be used (these often don’t seem to be outlined in some publications that have since reproduced the formulation), so make sure you go back to the original paper in which this was described (Torsion of structural shapes by ElDarwish & Johnson, 1964).

As an aside the paper also has solutions for tapered flange beams, channels, tees, angles. So head on over to Google and track yourself down a copy.

So, if it gets this complicated when you just have a simple member…. when adding reinforcement to a section, you’re still left with the question of how do you account for the bit you added?

For the most part my standard reply to these types of questions is to ask how accurate they want to be in the first instance?…and then direct them towards using some finite element-based solution for maximum accuracy if the situation dictates such accuracy is required. But I was just after a simple formula, surely one must exist…. good luck on that!

To get an accurate answer for the torsion and warping constants your only practical recourse is to resort to FEM to save your bacon. It’s the old case of ‘you don’t know how inaccurate you are, until you work it out correctly’, at which point who cares about doing it using some simplified method as you just worked it out correctly. Often doing something incorrectly takes just the same amount of time as doing it correctly, provided of course you have the right tools at your disposal

But I will say for the most part, some simplified solutions get you most of the way there and are potentially conservative if you’re going on to use these section properties to work out member capacities. By how much I have no idea, the subject of another post perhaps….

One look at the fundamental integrals for these torsion and warping section parameters will most likely make your head hurt, but luckily someone’s already done all the hard work. The excellent section-properties python package is all you really need.

It’s free, and free is better than spending your hard-earned dollars on a commercial package that essentially does the same thing (but with a nice GUI) but also makes your wallet considerably lighter. I’m not saying the commercial packages are bad, they do the same thing, but free is free. Of course, there is potentially a little more effort in setting up the code, but for a given scenario once you’ve done it once you can reuse. Which is the whole point of this series of posts to give you (and me) a good starting point for the following common typical configurations: –

1. Welding a plate flat on one or both flanges
2. Welding plates between flanges each face
3. Welding a structural tee to one flange
4. Welding another I-Section to one flange
5. Welding a channel or I-Section on the flat to one flange
6. Welding nested angles within flanges
7. etc…..

Until part 2, keep cool.