OpenSees Cloud
OpenSees AMI
Could Not Invert Element Flexibility
Original Post - 20 Nov 2023 - Michael H. Scott
Visit Structural Analysis Is Simple on Substack.
Due to inversion of section stiffness to flexibility, then inversion of element flexibility to stiffness, the force-based frame element implementation in OpenSees is finicky, to say the least.
A common error message spawned from the force-based element is “could not invert flexibility…”
You will see the same message many times, but, ultimately, you will get to the “failed to get compatible…” error message and the analysis will stop.
Interestingly, when the “could not invert flexibility…” condition is met, the element stiffness becomes the identity matrix (take a look at Matrix::Solve()), and the state determination continues on through subdivisions and different internal Newton algorithms.
Anyway, the error tells you which element is having issues, e.g., element with tag 1 in the screenshot above. This information should help you track down the issue. Usually, the “could not invert flexibility…” error appears when using fiber sections and all sections along the element have become plastic, i.e., the material tangent of every fiber in every section is exactly 0. In other words, the element has gone fully plastic and all sections return exactly zero stiffness.
If you get this error on the first load step, you probably have an error in your fiber section or material definitions, or you’re applying way more load to your model than you think. If the error happens at later load steps, assess why the element has gone fully plastic and look at the structural response up to this point.
Considering how difficult it would be to fully plasticize an element in flexure, especially when the point of inflection is on the element, “could not invert flexibility” typically indicates the element is undergoing extremely high axial loads.
The simple fix is to define your fiber materials with a small amount of strain-hardening; however, this approach won’t always solve underlying modeling issues, may lead to other analysis oddities, and could just kick the can further down the analysis road.