Because I don't perform very large or time-consuming OpenSees analyses, I use recorders rather infrequently, instead preferring commands like nodeDisp and eleResponse. An issue with node and element recorders is they can segmentation fault after the node or element to which they point is removed from a model--a common scenario for progressive collapse simulations. A … Continue reading Dangling Recorders
Tag: Recorders
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
Beware the Em Dash
Out of a rational fear of making a transcription error, no one re-types what they read in a web browser. Instead, they highlight a line or two to initiate the copy-paste-modify sequence. And somewhere in the annals of OpenSees history, an em dash appeared in the recorder commands of a Tcl example or documentation. After … Continue reading Beware the Em Dash
Silence Is Golden
Perhaps the #1 OpenSees complaint of all time is that recorder files have incomplete data--in some cases terminating midline, several time steps before the end of an otherwise successful analysis. For example, the last three lines of a recorder file from a 30 second transient analysis may look something like below. 28.94 1.2433 -0.016987 28.96 … Continue reading Silence Is Golden
Trying to Get a Reaction
OpenSees does not compute reactions automatically because this can be a time consuming process--OpenSees assembles reactions over all nodes in a model, not just over the nodes that are constrained. When performing response history analysis, assembling reactions is likely not something you want or need to do at every time step. You probably just want … Continue reading Trying to Get a Reaction
Section X
You can record section response in a frame element if you know the section number, or integration point, of the section whose response you would like to record. This is straightforward for distributed plasticity integration such as Lobatto or Legendre where section number 1 is at end I of the element and section number N … Continue reading Section X
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
Recorders Not Recording?
Update September 13, 2021: The issue described in this post has been resolved as of OpenSeesPy version 3.3.0.1. Python is one of the best things to happen with OpenSees. Unfortunately, the break from Tcl has not been squeaky clean. A very sticky transition point has been element recorders. When we wrote the internal setResponse functions … Continue reading Recorders Not Recording?
