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
Category: Linear Analysis
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
Invertible Does Not Mean Stable
That you can invert a stiffness matrix does not tell you everything about the numerical stability of a structural model built in OpenSees or any other finite element software. In fact, no finite element software actually forms the inverse of the stiffness matrix, but let's go with the misleading terminology anyway. Consider the beam shown … Continue reading Invertible Does Not Mean Stable
No Reaction
As the old mantra goes, "you can displace without deforming, but you can't deform without displacing". Other than a post here and there on particle dynamics, the examples on this site deal with element deformation (or strain), which requires nodal displacement. But what about examples with elements that undergo only rigid body displacement with no … Continue reading No Reaction
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
A Load at a Fixed DOF
If you apply a nodal load in the direction of a fixed DOF, will you get a reaction? The answer depends on which structural analysis software you use. Let's see what happens in OpenSees with a minimal working example. All we need is one fixed node and an applied load, P. This is one of … Continue reading A Load at a Fixed DOF
Minimal Thermal Example
For verification purposes, I needed to come up with the fixed-end axial force for a beam subjected to uniform thermal expansion. It's not rocket science, nowhere near an LPU, but a little pencil and paper and the free end axial deflection is $latex \alpha (\Delta T) L$. The fixed-end axial force, to push the free … Continue reading Minimal Thermal Example
What Is a Good Penalty Number?
I often see the penalty constraint handler used with seemingly high penalty numbers like the following: ops.constraints('Penalty',1e18,1e18) I'm not sure why these specific numbers are used so often in scripts, but I suspect these values were used in an old example and have been passed down. And while the 1e18 values might have worked for … Continue reading What Is a Good Penalty Number?
