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

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

Slender Things

Using fiber sections and the corotational geometric transformation is an easy way to simulate combined material and geometric nonlinearity in column members. A previous post examined this approach for steel columns where residual stresses play an important role in the axial load capacity. In this post, I will show the corotational mesh approach for non-sway … Continue reading Slender Things

How to Record Fiber Response

Recording the response of a single fiber in a fiber section is a common ask. You will need to use an Element recorder, but what you can record in each fiber is defined in the UniaxialMaterial::setResponse() method. The most common option is 'stressStrain', which gives the fiber stress-strain response history. After setResponse() drills down to … Continue reading How to Record Fiber Response

You Gotta Keep ’em Aggregated

The SectionAggregator was one of my few useful OpenSees ideas. This class gives a flexible way to combine, or aggregate, modes of force-deformation in a single section model. The idea for SectionAggregator came from the Decorator software design pattern, the same pattern from which so many UniaxialMaterial wrappers were spawned (here and here). In fact, … Continue reading You Gotta Keep ’em Aggregated

Fibers of Higher Dimensions

When we talk about fiber sections in OpenSees, we often refer to Bernoulli sections where each fiber is in a state of uniaxial stress. This approach captures axial-moment interaction, which is important for reinforced concrete columns, whose cross-sections are defined using patch and layer commands. Those same patch and layer commands can be used for … Continue reading Fibers of Higher Dimensions