A few years after G3 became OpenSees, UCFyber became XTRACT. In those intervening years, to accommodate section data exported from UCFyber, we added the fiber command to OpenSees, allowing you to add a single fiber to a section based on the fiber's (y,z) coordinates, area, and material tag. Several section analysis software packages have sprung … Continue reading One Fiber at a Time
Author: Michael H. Scott
Minimal Damper Example
One of the axioms of earthquake engineering simulation is that any shear frame model can be analyzed using simple springs and masses. Even a 40-story shear frame can be economically modeled with 40 zero length elements in series. But what happens when you add dampers to the shear frame? Do you have to start modeling … Continue reading Minimal Damper Example
J2 Plasticity Parameters
Ed "C++" Love wrote the J2Plasticity model in the early days of OpenSees because he needed a nonlinear constitutive model for testing his ShellMITC4 implementation. As far as I know, J2Plasticity was the first multi-axial plasticity model added to OpenSees--or at least the first among models that are relevant today. As shown in the documentation, … Continue reading J2 Plasticity Parameters
2024 In Review
2024 is coming to an end, so it's time for the obligatory review of blog stats and traffic for the year. The summary below is based on how WordPress keeps statistics. Word Count Published in 2024: 59 posts 30,991 words 525 words per post Assuming a journal article is 10,000 words, this year's word count … Continue reading 2024 In Review
How to Profile an OpenSeesPy Analysis
Python has a couple of profiling libraries--pyinstrument and cProfile--for finding out where all the time goes when you run a script. But, as far as I can tell, these libraries only tell you that the ops.analyze() command is called, not what happens therein. What you really want is to drill down into the state determinations … Continue reading How to Profile an OpenSeesPy Analysis
Invertible Does Not Mean Stable
That you can invert a stiffness matrix does not tell you everything about the numerical stability of a structural model built in OpenSees or any other finite element software. In fact, no finite element software actually forms the inverse of the stiffness matrix, but let's go with the misleading terminology anyway. Consider the beam shown … Continue reading Invertible Does Not Mean Stable
See You in December
This is my last post for November 2024. I will fail the NaBloPoMo one-post-a-day challenge. Or perhaps I will pass with 90%, or an A-, for 27 posts (including today) out of 30 days. Either way, there's nothing to prove. Time to focus on quality, not quantity. Thanksgiving is tomorrow in the United States. Or … Continue reading See You in December
A Simple Base-Isolated Model
Although there are several base isolator elements available in OpenSees, I don't know much about base isolation. And when I don't know much about a topic, I look for a simple example to play with--usually something elastic that can be expanded later and that I can return to when I run into issues with nonlinear … Continue reading A Simple Base-Isolated Model
Getting the Number of Nodal DOFs
Do you ever get tired of typing a lot of zeros, e.g., to apply a 20 kip load in the X-direction at node 18 on a 3D frame model? ops.timeSeries('Linear',1) ops.pattern('Plain',1,1) ops.load(18,20,0,0,0,0,0) I know what you're thinking. Did I put five zeros after the 20 kip load or only four? Well, to tell you the … Continue reading Getting the Number of Nodal DOFs
Long Term Column Loading
Practically all analyses of reinforced concrete columns in OpenSees assume the loading is short term--concrete as strong as it was at 28 days out of the hopper. Depending on what you're doing, not accounting for long term load effects, i.e., concrete creep and shrinkage, may not be a big deal. But the effects of creep … Continue reading Long Term Column Loading
