I wrote this limerick in 2000 after coding the four node quad element in OpenSees. I once programmed a quad out West, Displacement-based, so not the best. Debugged emphatically, Converges quadratically. It even passes the patch test. I'm no Chris Jones. This and the algorithmic limerick are the extent of my limerick library.
Month: November 2020
Don’t Forget to Take a Selfie
If you've programmed your own UniaxialMaterial in OpenSees, you were likely hyper-focused on correct implementation of the constructor and the methods for state determination, getStress and commitState. Rightfully so. But there are a couple UniaxialMaterial methods, and a code addition elsewhere, that are critically important when using the database command to save/restore your model or … Continue reading Don’t Forget to Take a Selfie
Rayleigh Damping Coefficients
One of the best examples of "offline" calculations you can easily avoid in OpenSees is Rayleigh damping coefficients. I've seen people hard code the mass and stiffness proportional damping coefficients in their OpenSees scripts, after computing said coefficients in another software, e.g., MATLAB, or on paper. Inevitably, it becomes difficult to keep your OpenSees model … Continue reading Rayleigh Damping Coefficients
Early Landscape of OpenSees
In 2016, a photographer recreated historic photos of Chinese cities to highlight the changes the cities have undergone. For example, here is a spot in Chengdu in 1994 and 2016. (I agree, 1994 is not that historic). Photo from dheera.net licensed under CC BY-SA 4.0 In 1999, when I started working on OpenSees (G3 at … Continue reading Early Landscape of OpenSees
Variations on Modified Newton
Solving residual equilibrium equations at every time step in a response history analysis can make the definition of "Modified Newton" ambiguous. Is it (a) the tangent stiffness at the start of the analysis (the initial stiffness) or (b) the tangent stiffness at the start of each time step? In OpenSees, the Modified Newton algorithm implements … Continue reading Variations on Modified Newton
Pushover with Constant Ground Jerk
A graduate student and I are developing an OpenSees model of the water tower described in this paper. Thankfully, the model is pretty straightforward, i.e., reproducible from what's written in the paper. The authors of the paper did a pushover analysis of the water tower using dynamic response to a "slow, ramped, horizontal ground acceleration … Continue reading Pushover with Constant Ground Jerk
OpenSeesPy Is Not Terrible for the Environment
This tweet made the rounds in late September, early October. Those new to OpenSeesPy, or unaware of how it works, might have been alarmed. I'm here to reassure you that OpenSeesPy is not a huge CO2 producer like native Python code. https://twitter.com/R_Trotta/status/1309457430267523072 OpenSeesPy is C++ code that calls the Python C/C++ API so that you … Continue reading OpenSeesPy Is Not Terrible for the Environment
How to Bend Beams
How to Boil Water was one of the first cooking shows on the Food Network. Emeril Lagasse was the original host and the show was geared toward people with little to no cooking experience. Everyone starts as a beginner. I was no exception when learning OpenSees. But when I'm asked where's the best place to … Continue reading How to Bend Beams
Force-Based Beam-Column Integration Options
I like numerical integration because it allows you to do a lot of interesting things with force-based frame elements--so much more than simulating the response of reinforced concrete moment frames. Numerous numerical integration options are available in OpenSees, so in 2011 I wrote and uploaded to the OpenSees wiki a PDF summarizing those options. According … Continue reading Force-Based Beam-Column Integration Options
Modal Participation Factors
Computing modal participation factors (yes, I know it's a misnomer) from an OpenSees model is straightforward if you define only nodal mass with no element mass. Examples are available online showing how to compute the factors in OpenSees using Tcl, but let's go over how to do it with OpenSeesPy. After you define your model … Continue reading Modal Participation Factors
