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

Daisy Chains and Gaffes

When analyzing rigid bodies with multi-point constraints, one potential problem with the Transformation constraint handler is the sequencing of primary and secondary, or retained and constrained, nodes across multiple constraints. Using OpenSees to solve Problem 9.39 from J.C. Smith’s Structural Analysis is a perfect opportunity to show how defining constraints in series, i.e., daisy chaining the constraints, can knock … Continue reading Daisy Chains and Gaffes

Bring Your Own Matrix

Getting a stiffness matrix out of OpenSees is straightforward using printA(). But what about getting a stiffness matrix into OpenSees? This is the situation I faced recently testing BennySparse with linear systems from the SuiteSparse Matrix Collection. I had no way of building an OpenSees model that could recreate those matrices. After some trial and error, I found that … Continue reading Bring Your Own Matrix

Choose Your Own Topology

I've been working on a sparse linear equation solver. Not anything new, just implementing the methods presented by Timothy Davis in Direct Methods for Sparse Linear Systems. Why? Because I want to learn how sparse matrix solvers work. So for the sake of discussion, let's call my solver BennySparse. Aside from implementing a standalone sparse … Continue reading Choose Your Own Topology

Statically Equivalent Loads

When it comes to numerical integration, OpenSees users either pay too much, or too little, attention. Me? I pay way too much attention to the topic. How else did OpenSees end up with so many integration methods for frame elements? But numerical integration is one of the concepts that users of OpenSees, or any other finite element analysis software, must understand. … Continue reading Statically Equivalent Loads

OpenSees Coming and Going

Years ago, one of those shows like Diners, Drive-Ins, and Dives featured a greasy spoon somewhere in middle America famous for its eggs and fried chicken meal known as the “Coming and Going”–the boundary conditions of a chicken’s life on a single plate. This quarter in Eastchester, I am teaching the introductory undergraduate course in structural analysis and the … Continue reading OpenSees Coming and Going