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
Month: March 2023
How to Bend Beams in 3D
Most structural frame models are analyzed in two dimensions (2D), for a variety of legitimate reasons. But sometimes, you have to go to three dimensions (3D). And the most confusing thing about making that jump in OpenSees is the geometric transformation and its "vector in the x-z plane". Instead of going into the details of … Continue reading How to Bend Beams in 3D
Pity the Reader
Kurt Vonnegut was a 20th century American author, best known for Slaughterhouse-Five. Although Vonnegut passed away in 2007, one of his former writing students, Suzanne McConnell, published in 2019 Pity the Reader: On Writing with Style, a collection of Vonnegut's writing advice. You will find the ground work for a chapter or two of Pity … Continue reading Pity the Reader
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
