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

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

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