Main Street, OpenSees

Every C++ executable has a main() function and OpenSees.exe, the standalone Tcl executable, is no exception. You can find the main() function in SRC/tcl/tclAppInit.cpp, where nothing much happens besides calling g3TclMain(), which is defined in SRC/tcl/tclMain.cpp, home of more familiar content like the banner and copyright statement. Prior to the conveniences provided by scripting languages--running … Continue reading Main Street, OpenSees

A Nod to Backward Compatibility

I didn't want to do it, but I imagined an OpenSees user somewhere out there converting OpenSees Tcl scripts to OpenSeesPy--either manually line by line or using a converter script--and ending up with lines of code that look something like this: ops.section('Fiber',5) ops.patch(...) ops.layer(...) # tag I J secI lpI secJ lpJ E A I … Continue reading A Nod to Backward Compatibility

Nonlinear Sections, Elastic Elements

I often make seemingly minor tweaks to OpenSees--tweaks that don't usually make it into the documentation, but that in some cases could be quite useful. For example, did you know that you can create an elasticBeamColumn element by passing a section tag instead of directly specifying material and section properties--E, A, and Iz for 2D, … Continue reading Nonlinear Sections, Elastic Elements

Shear Verse, Same as the First

In the same vein as a previous post, this post will show a basic comparison of material nonlinear displacement-based and force-based formulations with axial-flexure-shear interaction in frame elements. The timoshenkoBeamColumn element interpolates constant shear deformation along its length, along with constant axial deformation and linear curvature. Two-point Gauss-Legendre integration over the element is sufficient to … Continue reading Shear Verse, Same as the First

Elastic Shear Beams in OpenSees

Shear deformations in slender beams are generally not significant compared to flexural deformations. But shear deformation are important in deep beams and short walls, and flexure-shear interaction may be important in the material nonlinear range of response, regardless of aspect ratio. Enough of the perfunctory, non-committal language--you can find that in the latest issue of … Continue reading Elastic Shear Beams in OpenSees

A Simple Solution to a Complicated Equivalent

A previous post posited on the equivalence of discrete flexural springs (moment-rotation) with integration of continuous moment-curvature response. To find the answer, we can use the principle of virtual forces (PVF) and numerical integration of the internal virtual work: $latex {\displaystyle \int_0^L \kappa(x)m(x)\: dx \approx \sum_{i=1}^N \kappa(x_i) m(x_i) w_i}$ where $latex m(x)$ is the "virtual" … Continue reading A Simple Solution to a Complicated Equivalent

P-M Interaction by the Book

Find any indeterminate beam, frame, or truss problem from a structural analysis textbook, and you can make OpenSees solve it. But sometimes, replicating the basics is not so easy. Take, for instance, an axial-moment (P-M) interaction diagram of reinforced concrete (RC) sections. The typical approach advocated with OpenSees is to use repeated moment-curvature analyses over … Continue reading P-M Interaction by the Book