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

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

The Good, the Not So Bad, and the Full General

Just like shopping for a new refrigerator, picking a linear equation solver in OpenSees (via the system command) can lead to paralysis of choice. And while you can consult Consumer Reports for the pros and cons of refrigerators A, B, and C, the only way to figure out the pros and cons of OpenSees solvers … Continue reading The Good, the Not So Bad, and the Full General

Reduce Your Bandwidth

For large structural models, the solution to $latex {\bf K}_T\Delta {\bf U}={\bf R}$ can be the computational bottleneck during an analysis. Although computing speed and algorithms to solve $latex {\bf K}_T\Delta {\bf U}={\bf R}$ are very good, you still want to make sure the solution happens as quickly as possible, particularly when inside the double … Continue reading Reduce Your Bandwidth