The parallel computing capabilities of OpenSeesSP and OpenSeesMP are easily confused. OpenSeesSP runs your script on a single processor with the other processors awaiting instructions on what to do. OpenSeesSP is ideal for assigning subdomains of a large model to each processor. The main processor, processor 0, directs traffic and solves the governing equations of … Continue reading Monte Carlo Simulation with OpenSeesMP
Minimal MVLEM Example
Due to its simplicity and efficiency in modeling shear walls, the MVLEM (Multiple Vertical Line Element Model) is among the more frequently asked about elements in OpenSees. The MVLEM is also one of the better documented elements in OpenSees with documentation for both its 2D and 3D versions. Personally, I haven't used the MVLEM for … Continue reading Minimal MVLEM Example
The OpenSees WCEE Bump
The 18th World Conference on Earthquake Engineering (18WCEE) takes place in Milan next week. With a couple thousand attendees, the conference will publish a lot of papers, some of which refer to OpenSees. Depending on how WCEE authors cite their use of OpenSees, there's usually a bump in OpenSees citations after the proceedings are posted … Continue reading The OpenSees WCEE Bump
The Toy Reliability Problem
In Fundamentals of Structural Mechanics, Hjelmstad uses the "little BVP" to introduce boundary value problems. Chopra uses a two-story rigid shear frame throughout Dynamics of Structures. And in Structural and System Reliability, Der Kiureghian uses a "toy problem" for various types of reliability analyses. The toy reliability problem is defined by two random variables with … Continue reading The Toy Reliability Problem
Earthquake Engineering Experts Hate Me for This One Weird Trick
I was a structural engineer who dabbled in earthquake engineering simulation. Then one day I stumbled upon a weird trick to get ground displacement history from a ground acceleration record. The trick was simple. It worked right away. I couldn't believe it. The trick did not require additional libraries or writing a loop. Just a … Continue reading Earthquake Engineering Experts Hate Me for This One Weird Trick
Effective Earthquake Forces
There's nothing special about the UniformExcitation load pattern in OpenSees. The pattern is a convenience for defining effective earthquake forces due to uniform ground acceleration as plain 'ol mechanical loads on your model. Consider the equation of motion for uniform ground acceleration, with linear inertia and damping forces, and influence vector $latex {\boldsymbol\iota}$ for the … Continue reading Effective Earthquake Forces
OpenSees Bean Counting
Based on review invitations, new paper announcements on social media, and Google Scholar citation alerts, I've seen a lot of OpenSees-based journal articles. I'm sure you have as well. With a few exceptions, the journals that house OpenSees-based articles have been the usual suspects in earthquake engineering. But recently, it's felt like the distribution of … Continue reading OpenSees Bean Counting
Wrapper’s Delight
What is the output produced by this analysis? Sure, you can copy and paste the script to get the answer. But that's no fun. Think about the model and analysis. Can you explain what's going on before getting the answer? import openseespy.opensees as ops ops.wipe() ops.model('basic','-ndm',1,'-ndf',1) N = 365 ops.uniaxialMaterial('Elastic',0,1.0) for i in range(N): ops.uniaxialMaterial('Multiplier',i+1,i,1.01) … Continue reading Wrapper’s Delight
Is OpenSees Pythonic?
OpenSeesPy is sometimes criticized for not being "Pythonic". But what does "Pythonic" even mean? And does achieving "Pythonic" status matter? From what I gathered in this blog post, Pythonic code uses the idioms, i.e., the specific syntax and constructs, of Python. That definition is circular--an example from the post better demonstrates the meaning. If you … Continue reading Is OpenSees Pythonic?
Material Testing with White Noise
Pushes, pulls, and cyclic strain histories of increasing magnitude are solid approaches to testing the stress-strain response of material models. But I'm not convinced these tests will hit every code block of a material model implementation. I mean, have you seen all the nested if-statements and uninitialized local variables that went into Concrete23? Although I … Continue reading Material Testing with White Noise
