A Solution, Just Not The Solution

Force-based elements satisfy equilibrium in strong form, even with member loads. However, this does not mean force-based elements always get the exact solution. Consider a simple prismatic, linear-elastic beam with a point load at mid-span. Using a single force-based element with a single point load applied to the element using the eleLoad command. E = … Continue reading A Solution, Just Not The Solution

Plane Sections Do Remain Plane

Here's another conversation I've had with a concerned user (CU) of OpenSees, not necessarily the same CU that was worried about OpenSees crashing due to non-convergence: CU: "Do plane sections remain plane in the material nonlinear range of response?"PD: "Yes."CU: "What about with force-based frame elements?"PD: "Yes."CU: "How is that possible?"PD: "Because there's no other … Continue reading Plane Sections Do Remain Plane

Switching Sides

Used for flexible supports and flexible connections, among other things, zero length elements are perhaps the most versatile modeling tools available in OpenSees. One of the confusing things about zero length elements is how to properly define asymmetric response. For example, with a bridge abutment, you want to ensure the zero length element correctly interprets … Continue reading Switching Sides

A Complicated Equivalent

Whether you use closed-form or numerical integration, the deflection at the free end of a laterally loaded linear-elastic, prismatic column is known to be $latex PL^3/(3EI)$. This result is easily verified in OpenSees with either an elasticBeamColumn element or a material nonlinear element with elastic sections. Now suppose we philosophized a bit then posited the … Continue reading A Complicated Equivalent

Fuzzy Zero Length Logic

There's a few interpretations floating around regarding the length--real or implied--of zero length elements in OpenSees. So, I made a Twitter poll to assess popular opinion. https://twitter.com/mikusscott/status/1516085441895624705 Despite being an "easy" question, only 50% of respondents chose the correct answer. Like "When was the War of 1812?", the question gives it away--zero length elements have … Continue reading Fuzzy Zero Length Logic

Hysteretic Damage Parameters

Because the C++ implementation is a straight translation of his FEDEAS subroutine written in FORTRAN, Prof. Filippou receives numerous inquires on the formulation of HystereticMaterial in OpenSees. According to the comments in the FORTRAN files, the bilinear backbone implementation (Hyster1.f) was finalized on November 24, 1994 followed by a trilinear backbone implementation (Hyster2.f) finalized on … Continue reading Hysteretic Damage Parameters

How to Record Section Curvature

I've seen recently a few people compute curvature for an OpenSees fiber section by dividing the difference between top and bottom uniaxial fiber strains by the distance between the fibers. While there's nothing technically wrong with this approach, it's a lot of work and it's error prone. In addition, this approach implies that using a … Continue reading How to Record Section Curvature

Gimme All Your Modal Damping

The GimmeMCK integrator is one of my more useful contributions to OpenSees. This integrator overcomes the limitations of the printA command and allows you to extract the individual mass, damping, and stiffness matrices, or some linear combination therein, in order to see what's assembled in an OpenSees model or to bootstrap new functionality. While getting … Continue reading Gimme All Your Modal Damping

Non-Convergence Is Not Structural Collapse

Legend has it that some published research results based on nonlinear dynamic analysis--incremental dynamic analyses, seismic fragility curves, Monte Carlo simulations, etc.--considered a non-convergent OpenSees model to indicate structural collapse or failure. Let's think about this for a minute. Here is the displacement response in two orthogonal directions at the top of a nearly 50 … Continue reading Non-Convergence Is Not Structural Collapse