In the early 2000s, when the Tcl interpreter was taking shape for OpenSees, Frank used a dummy tag 123456789 to determine if a load pattern had already been defined while parsing the load and sp commands. Here is the 2001 source code for TclModelBuilder.cpp--clearly written by Frank because he does not capitalize anything when he … Continue reading OpenSees 12345
Month: June 2022
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
Full Fiber Circle
Circular layers of fibers are required for simulating longitudinal reinforcing steel in circular RC columns. Although the layer circ command accommodates fibers along an arc, I have never seen anyone use this command for anything other than a full circle. Some years before the extent of OpenSees GitHub history, I added a default constructor to … Continue reading Full Fiber Circle
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
Get the Accel Out
In OpenSees, a UniformExcitation pattern is functionally equivalent to a regular load pattern, fitting into the framework of a time-varying scalar load factor and constant reference load vector. The scalar load factor is the input ground acceleration, $latex \ddot{u}_g(t)$, while the reference load vector is $latex {\bf P}_{ref}=-{\bf m}{\boldsymbol \iota}$ where $latex {\bf m}$ is … Continue reading Get the Accel Out
Rectangular Patches
Defining rectangular patches is one of the more tedious aspects of building a fiber section in OpenSees. Using the 'quad' patch command, you have to define the four corner points (I, J, K, and L) in counter-clockwise order from I to L around the patch. If you go clockwise, the fiber areas will be negative, … Continue reading Rectangular Patches
