A UniaxialMaterial tester was my first foray into Tk widgets back in the early 2000s. The tester has come along for the ride through all the OpenSees source code repositories. First cvs, then svn, and now GitHub. You could select various materials and drag the slider back and forth to see the stress-strain response history. … Continue reading A Simple Material Tester
Category: Constitutive Models
How to Find the Neutral Axis
There is no recorder option in OpenSees to get the location of the neutral axis in a fiber section. Instead, you have to post-process the section deformations. The strain at any point in a 2D fiber section is $latex \varepsilon=\varepsilon_a - y\kappa_z$ where $latex \varepsilon_a$ is the section axial deformation, $latex \kappa_z$ is the section … Continue reading How to Find the Neutral Axis
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
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
Plane Sections Do Remain Plane
Here's another conversation I've had with a concerned user (CU) of OpenSees, not necessarily the same CU that was worried about OpenSees crashing due to non-convergence: CU: "Do plane sections remain plane in the material nonlinear range of response?"PD: "Yes."CU: "What about with force-based frame elements?"PD: "Yes."CU: "How is that possible?"PD: "Because there's no other … Continue reading Plane Sections Do Remain Plane
Hysteretic Damage Parameters
Because the C++ implementation is a straight translation of his FEDEAS subroutine written in FORTRAN, Prof. Filippou receives numerous inquires on the formulation of HystereticMaterial in OpenSees. According to the comments in the FORTRAN files, the bilinear backbone implementation (Hyster1.f) was finalized on November 24, 1994 followed by a trilinear backbone implementation (Hyster2.f) finalized on … Continue reading Hysteretic Damage Parameters
How to Record Section Curvature
I've seen recently a few people compute curvature for an OpenSees fiber section by dividing the difference between top and bottom uniaxial fiber strains by the distance between the fibers. While there's nothing technically wrong with this approach, it's a lot of work and it's error prone. In addition, this approach implies that using a … Continue reading How to Record Section Curvature
Something, Something, Something Fiber
Two recent inquires asked why model response using frame elements with elastic fiber sections, i.e., sections with fibers whose stress-strain response is $latex \sigma=E\varepsilon$, differs from the response with elastic elements, i.e., defined by E, A, Iz, and Iy either with elasticBeamColumn elements or nonlinear elements with elastic sections. I've touched on this subject a … Continue reading Something, Something, Something Fiber
Two Fibers Explain So Much
In a previous post, I asked how well we can capture the moment-curvature response of a rectangular section with EPP material using different integration methods with two fibers. For flexural response, two is the minimum number of fibers necessary to satisfy section equilibrium--one fiber for tension, the other fiber for compression. The previous post showed … Continue reading Two Fibers Explain So Much