Although far removed from earthquake engineering and academic writing, we can learn a lot from writers of advertising and fiction. The most important lesson I've learned is that nobody wants to read your shit. Steven Pressfield wrote an entire book about it, but I'm pretty sure the phrase was around long before the book. https://www.amazon.com/Nobody-Wants-Read-Your-Sh-ebook/dp/B01GZ1TJBI … Continue reading Nobody Wants to Read Your Sh!t
That’s a Large Mass
After cutting through all the spam, you'll find some good posts on the OpenSees message board. In one such post, Ahmet Alper Parker asked about the large mass method (LMM) and if it can be implemented in OpenSees. I was not familiar with the LMM, so Ahmet pointed me to this paper. The basic idea … Continue reading That’s a Large Mass
Building Blocks
I gave a presentation last week for the 6th International Short Course on Seismic Analysis of Structures, hosted remotely and on-site at the University of Palermo, Italy, organized by Prof. Giovanni Minafo and Prof. Cristoforo Demartino. As you can see in the video, my presentation re-packaged leveraged several blog posts. https://youtu.be/p4tgafYuk74 Not every slide was … Continue reading Building Blocks
How to Record Fiber Response
Recording the response of a single fiber in a fiber section is a common ask. You will need to use an Element recorder, but what you can record in each fiber is defined in the UniaxialMaterial::setResponse() method. The most common option is 'stressStrain', which gives the fiber stress-strain response history. After setResponse() drills down to … Continue reading How to Record Fiber Response
Polymorphic Pitfall
Polymorphism is what makes OpenSees, and other object-oriented software, flexible and extensible. With polymorphism, you can program to an interface, not an implementation. You see this approach all over OpenSees--elements don't care how materials compute stress and tangent (more here); integrators don't care how the elements form resisting force and tangent stiffness (more here); and … Continue reading Polymorphic Pitfall
Off the Hooke
To grasp nonlinear structural analysis, unlearn Hooke's Law, $latex \sigma = E\varepsilon$. And all derivative outcomes of Hooke's Law. Like $latex \kappa=M/EI$ and $latex {\bf K} {\bf U} = {\bf P}$. https://www.youtube.com/watch?v=z4jeREy7Pbc When steel yields, concrete cracks, etc., Hooke's Law no longer applies and holding on to it can lead to erroneous interpretations of nonlinear … Continue reading Off the Hooke
Verifying Ain’t Easy
I've posted a few modeling challenges on frame analysis (strongback, Ziemian, and stability) and soil-structure interaction. However, I recently accepted a challenge from George Chamosfakidis to see if OpenSees can give the same periods and mode shapes reported in the ETABS verification example shown below. Published verification examples typically just show the "correct" result and … Continue reading Verifying Ain’t Easy
Absolutely, It’s Relative
One of the most frequently asked OpenSees questions is whether node recorders record absolute or relative displacement (relative to the ground) when a model is subjected to a uniform excitation. There's several approaches to find the answer to this question. One solution is to apply a simple uniform excitation--like a constant ground acceleration--to an SDF … Continue reading Absolutely, It’s Relative
You Gotta Keep ’em Aggregated
The SectionAggregator was one of my few useful OpenSees ideas. This class gives a flexible way to combine, or aggregate, modes of force-deformation in a single section model. The idea for SectionAggregator came from the Decorator software design pattern, the same pattern from which so many UniaxialMaterial wrappers were spawned (here and here). In fact, … Continue reading You Gotta Keep ’em Aggregated
Minimal Working Example
When people post online or e-mail me about what could be a bug in OpenSees, I'll ask for a minimal working example (MWE), i.e., a simple script that demonstrates the problem. I don't want to deal with elaborate scripts--yours or mine. So, what does an MWE look like for OpenSees? Here's a non-exhaustive list of … Continue reading Minimal Working Example
