One Is All You Need

It is fairly well known that you can use a single force-based element to simulate the material nonlinear response of a frame member. Likewise, using a corotational mesh of displacement-based elements is an effective approach to simulate combined material and geometric nonlinearity. A previous post looked at geometric nonlinearity with linear-elastic response in a single … Continue reading One Is All You Need

Two Node Link’s Awakening

The twoNodeLink, implemented by Andreas Schellenberg, is one of the lesser utilized general purpose elements in OpenSees. In simple terms, the twoNodeLink element is a zeroLength element with length. And the element is not dis-similar to the link elements you will find in SAP. Like the zeroLength element, the twoNodeLink element uses uncoupled uniaxial materials to define force-deformation response between two nodes where the deformation … Continue reading Two Node Link’s Awakening

Damping Is a Sensitive Subject

Dynamic response sensitivity analysis by the direct differentiation method (DDM) works pretty well in OpenSees, minus a couple limitations. First, not all element and material models implement the methods necessary to compute response sensitivity with respect to model parameters. And second, even fewer element and material models implement the methods necessary to compute the sensitivity … Continue reading Damping Is a Sensitive Subject

One Fiber at a Time

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

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

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