Thermal Loads on an Elastic Beam

Long before structural fire analysis became an OpenSees side hustle, the elasticBeamColumn element was able to handle thermal loads. The -alpha and -depth options are not really Easter eggs so much as undocumented features. Back in 2002, when OpenSees source control used CVS, Scott Hamilton modified the elasticBeamColumn element with two optional parameters for the coefficient of thermal expansion and beam depth. He also defined Beam2dTempLoad to apply temperatures … Continue reading Thermal Loads on an Elastic Beam

Best Solver for an SDF Analysis

Because sparse solvers like UmfPack and SparseGeneral are the fastest for analyzing large models in OpenSees, it is reasonable to assume that these solvers must also be the best for small models, even the smallest possible model–an SDF system. But what if you’re doing millions of SDF analyses, e.g., generating nonlinear response spectra over a database of ground motions, … Continue reading Best Solver for an SDF Analysis

All Possible Sets of Possible Redundants

Although the force method has some severe limitations, it still has many elegant mathematical aspects. One of those aspects is the selection of redundants, for which there are a few approaches that are not ad hoc. The approach I teach in Eastchester is to form the equilibrium matrix for a frame or truss model, then reduce that … Continue reading All Possible Sets of Possible Redundants

More Than One Way to Heat Up a Truss

OpenSees can solve every reasonable problem from any structural analysis textbook. But I nearly had a meltdown over a simple truss problem because truss elements in OpenSees do not directly support thermal loading. Consider Example 6.17, shown below, from J.C. Smith’s Structural Analysis. All members of the truss have E=29000 ksi, A=10 inch2, and α=6.5e-6 (coefficient of thermal expansion, … Continue reading More Than One Way to Heat Up a Truss

Stop Cargo Culting BandGeneral and Plain Numberer

In the early days of OpenSees, perhaps in its G3 infancy, an example Tcl script used BandGeneral for the system and Plain for the numberer. numberer Plain system BandGeneral Who created the script, or why they chose those analysis options, is unimportant now–it could have been me for all I know. But this pair of … Continue reading Stop Cargo Culting BandGeneral and Plain Numberer

Reverse Engineering the Equation Numberer

In OpenSees (and any other finite element software), equation numbering is a quiet, behind the scenes analysis option that users do not have to pay any mind. No matter how a user numbers the nodes in their model, e.g., for bookkeeping or from a mesh generator, the equation numberer will clean up any messes. But … Continue reading Reverse Engineering the Equation Numberer