I Missed Again

When I come up with "great" exam questions, only a handful of students get the correct answer while the remaining students misunderstand the question. Same thing happens on social media. Prior to Twitter's full-on death spiral, I tweeted a quiz on the MVLEM element, a formulation available in OpenSees for modeling shear walls. Only 5 … Continue reading I Missed Again

Geometric Transformation

OpenSees offers three types of transformations between the basic system and global system for frame (beam-column) elements: Linear - small displacement assumptions for compatibility and equilibrium PDelta - small displacement assumption for compatibility with the $latex P-\Delta$ term included in equilibrium Corotational - large displacement assumption for compatibility and equilibrium Use the geomTransf command to … Continue reading Geometric Transformation

Force-Based Element Moment Release

The common approach to adding a moment release at the end of a force-based frame element is to define an extra node then use the equalDOF command to constrain all but the released rotational DOFs. Although this approach is cumbersome, it is fine as long as the element lies within a global plane (X-Y, Y-Z, … Continue reading Force-Based Element Moment Release

The Basic Natural Kernel in a Corotating Frame of Reference

Frame elements in OpenSees are formulated in a basic, or natural, system that removes rigid body displacement modes from the element displacement field, leaving only the deformational modes. The basic forces that correspond to the deformational modes depend on the element force-deformation relationship while the remaining local forces are found from rigid body equilibrium. The … Continue reading The Basic Natural Kernel in a Corotating Frame of Reference

Unrolling the Four Node Quad

The FourNodeQuad was one of the first, if not the first, solid elements in OpenSees. Despite the element's mediocre implementation, the coding style was copied by others into subsequent solid element implementations. Fortunately, before that copying happened, I revised the implementation to be more computationally efficient--and I was kind enough to leave the original author's … Continue reading Unrolling the Four Node Quad

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