From time to time, I dabble with the OpenSees warping elements developed at the University of Sydney in 2011 for doubly symmetric sections, then in 2016 for open sections. Since my last foray into warping, I've taken the nonlinear displacement-based formulation from "it compiles" to "it works". Some other ancillary changes to the warping fiber … Continue reading Torsional Buckling
A Post from ChatGPT
In the last month or so, the blog has received about a dozen referrals from ChatGPT. Responses to user prompts--probably about modal damping--must contain a link to the blog, a link the user clicks. I tried a few prompts to see if I could generate a link to the blog, but no luck. Even "What … Continue reading A Post from ChatGPT
Set and Get Concrete23 Response
When I wrote Concrete23, I copied Concrete01 then tweaked the unloading and reloading rules. I also added a couple of bells and whistles and it was music to my ears. But I wanted to record those sounds during an analysis. Recorders in OpenSees use the setResponse and getResponse methods to identify and obtain element, section, … Continue reading Set and Get Concrete23 Response
All About Making that ZPA
On a recent project, I encountered a new term: the zero period acceleration, or ZPA. Of course it's a common term, just new to me. The ZPA is the peak pseudo-acceleration for modes of vibration whose frequency is very high relative to the input excitation. These modes respond in-phase, or quasi-statically, with the input excitation, … Continue reading All About Making that ZPA
Valid Range of OpenSees Tags
A few draft blog posts are swirling around the abyss of approximately 80% complete. In need of a diversion, I found a question about tags, posted on the OpenSees Facebook group, to be perfectly timed. The question was about strange behavior when using large integers for node and element tags. Not many other details were … Continue reading Valid Range of OpenSees Tags
Multi-Linear Parallel
If you have used the ElasticPP uniaxial material in OpenSees, you may have wondered why the input for the yield point is the yield strain instead of the yield stress. There's actually a good reason the input is yield strain as opposed to yield stress. But first, a short back story is necessary in order … Continue reading Multi-Linear Parallel
Murum, cura te ipsum
OpenSees has its fair share of element implementations that are computationally inefficient. Fortunately, most of those elements are never used. But among elements that are used, SFI-MVLEM is the undisputed champion. Whereas the standard MVLEM element uses a uniaxial material in each fiber, the SFI-MVLEM element accounts for the interaction of axial and shear stress ($latex \sigma_{11}$ … Continue reading Murum, cura te ipsum
Secant Accelerated Newton Algorithm
I do not consider myself an expert with numerical methods. I know just enough to be dangerous, and root-finding algorithms is one of the subjects where I pose a threat. OpenSees uses root-finding algorithms like Newton-Raphson and Modified Newton to find the nodal response for which equilibrium is satisfied at every analysis time step. No … Continue reading Secant Accelerated Newton Algorithm
Just Fillin’ Up the Tank
You're not going to conquer incremental dynamic analysis of 3D reinforced concrete frame models the first day you use OpenSees. Some try, but they all fail. Those who start with simple test cases and level up in complexity will succeed. The same goes for fluid-structure interaction. You will not conquer tsunami loading on structures the … Continue reading Just Fillin’ Up the Tank
Static Analysis with Uniform Excitation
The UniformExcitation defines reference nodal loads in proportion to the mass (nodal plus element contributions), multiplied by negative acceleration, which is specified in a time series. There's nothing inherent in its implementation that ties the UniformExcitation to only dynamic analysis and earthquake excitations. So, if I had known sooner that the UniformExcitation load pattern works … Continue reading Static Analysis with Uniform Excitation
