My Favorite Ternary Operation

Most native C++ operations are binary, taking two arguments, e.g., a + b, or unary, taking one argument, e.g., a++. But C++ (and many other languages) has a native "conditional operator", which is ternary, taking three arguments. Known simply as ?:, the conditional operator has the following syntax (condition) ? true_outcome : false_outcome; The conditional … Continue reading My Favorite Ternary Operation

Shutting Off the Containment Unit

If you've used OpenSees--even if you're a geotech--you've used the force-based element. When Remo implemented the force-based element, it was the only material nonlinear frame element available in OpenSees (G3 at the time); thus, the original name nonlinearBeamColumn. Only after a standard displacement-based frame element (dispBeamColumn) was added did we change the name from nonlinearBeamColumn … Continue reading Shutting Off the Containment Unit

Not Everything Should Be a Direct Translation

Like learning another language, not everything in OpenSees, and programming in general, is a direct translation from textbooks. Your mother tongue could be $latex {\bf x} = {\bf A}^{-1}{\bf b}$, but you should never invert the matrix then multiply. Instead, call an equation solver. For small matrices in OpenSees, use A.Solve(b, x) from the Matrix … Continue reading Not Everything Should Be a Direct Translation

Modal and Stiffness Proportional Damping

OpenSees allows you to use both modal damping and stiffness proportional damping in a dynamic analysis. This combination of damping models is useful when you want to control damping in the low frequency modes and not let undamped high frequency response tarnish the analysis. Consider a simplified model of a 40 story building. The story … Continue reading Modal and Stiffness Proportional Damping

Eigenvalues of the Stiffness Matrix

Students are exposed to eigenvalues and eigenvectors a few times through their structural engineering education. After the math department's obligatory treatment to sophomores with definitions, characteristic polynomials, and toy matrices, two to three years pass before students see eigenanalysis again as first year graduate students: Structural dynamics - find natural modes of vibration of a … Continue reading Eigenvalues of the Stiffness Matrix

Two Thousand Concrete23!

Happy new year! Although the long-awaited Concrete23 will not be released this year, I look forward to what lies ahead with OpenSees. Being the first full week of January, it's blog delurking time. Long time listeners, first time callers, say hello in the comments section and let everyone know what you're OpenSeesing in 2023.