Rectangular Hollow Structural Sections

A hollow structural section (HSS) is manufactured from steel and is either rectangular, square, or circular. This post will address rectangular HSS, inclusive of square HSS. Round HSS is a little easier to define and will be the subject of another post.

There are a couple options in OpenSees for defining material nonlinear rectangular HSS response via fiber sections. A rectangular HSS has four elements, so rectangular patches of fibers are the logical choice, but there’s also a canned section integration option.

Also note that rectangular HSS have fillet rounds, but don’t spend time trying to represent those rounded corners in your OpenSees model–the extra “accuracy” is not worth the effort. In writing this post, I ignored the fillet rounds.

Four Patches

The first approach to define a rectangular HSS is to use four rectangular patches of fibers–one patch for each element of the section.

With this approach, you can define as many fibers through the wall thickness as you like, e.g., two as shown above, but one fiber through the wall thickness is fine for most cases. Kitty corners I and J of the four patches are easily determined from the section depth, width, and wall thickness.

ops.uniaxialMaterial('Steel08',23,...)
ops.section('Fiber',1,'-GJ',G*J)
ops.patch('rect',23,2,8,-h/2,-b/2,-h/2+t,b/2) # 1
ops.patch('rect',23,2,8,h/2-t,-b/2,h/2,b/2) # 2
ops.patch('rect',23,7,2,-h/2+t,-b/2,h/2-t,-b/2+t) # 3
ops.patch('rect',23,7,2,-h/2+t,b/2-t,h/2-t,b/2) # 4

For two-dimensional models where flexure is only about the section z-axis, you can be more economical by combining patches 3 and 4, and discretizing patches 1 and 2 only along the y-axis.

Section Integration

The second approach to rectangular HSS is to use the HSSSectionIntegration class. The input parameters are the depth, width, and wall thickness as well as the number of fibers along the depth and width (excluding the walls).

Note that the HSSSectionIntegration class assumes one fiber through the wall thickness. In addition, each corner of the section is represented by one fiber.

ops.uniaxialMaterial('Steel08',23,...)
ops.section('HSS',1,23,h,b,t,7,5,'-GJ',G*J)

The advantages of using the HSS section integration are: 1) you don’t have to mess around with error prone patch definitions and 2) you can compute DDM response sensitivity with respect to the section dimensions, in addition to material properties.

Consider a moment-curvature analysis about the strong axis of an HSS 6x4x1/4 steel section with Fy=46 ksi. Using four patches with 12×4 fibers in each patch (fairly refined) and the HSS section integration with Nfh=7 and Nfb=5 (fairly unrefined with one fiber through the wall thickness) gives identical results.

The DDM response sensitivity of the moment-curvature response is shown below for the material parameters, E and Fy. Both the generic patches definition of the fiber section and the canned HSS section integration are able to compute sensitivity with respect to material parameters.

The sensitivity with respect to elastic modulus is initially high, then drops after first yield as the sensitivity with respect to yield strength takes over. Although the two approaches give the same moment-curvature response, there are visible differences in the post-yield response sensitivity due to differences in the fiber disretizations.

The canned HSS section integration is the only approach that can give DDM response sensitivity with respect to section dimensions, e.g., the depth and wall thickness shown below.

The influence of the section depth on the flexural strength is about twice as high as that for the material yield strength. In addition, the influence of the wall thickness is on par with that of the yield strength.

Leave a comment

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