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

More Than You or Eigen Chew

Software does exactly what you tell it to do. But problems arise when you don't know--or assume you know--what instructions you're giving. For example, many people like to use the 'fullGenLapack' eigenvalue solver in OpenSees because it will compute all N eigenpairs (eigenvalue with corresponding eigenvector) for a model whereas the default eigenvalue solver will … Continue reading More Than You or Eigen Chew

Something, Something, Something Fiber

Two recent inquires asked why model response using frame elements with elastic fiber sections, i.e., sections with fibers whose stress-strain response is $latex \sigma=E\varepsilon$, differs from the response with elastic elements, i.e., defined by E, A, Iz, and Iy either with elasticBeamColumn elements or nonlinear elements with elastic sections. I've touched on this subject a … Continue reading Something, Something, Something Fiber

OpenSees Scattergories

This is the blog's 200th post, which I will celebrate by not writing something technical. Instead, I will let you know that I organized the other 199 posts into the following Categories: Community - how to be a good OpenSees citizen; modeling challengesConstitutive Models - material, fiber, and section modelsElement Formulations - frame and solid … Continue reading OpenSees Scattergories