Many structural analysis software programs will automatically define mass based on the input gravity loads. OpenSees is not one of those programs. You have to define mass and weight separately. Fortunately, using variables for units makes the mass and weight definitions easy. Plus, if using customary units, you won't have to waste time Googling the … Continue reading Mass and Weight
Month: November 2020
Rigid Joint Offsets
The geometric coordinate transformation objects handle rigid joint offsets for frame elements in OpenSees. This is nice because the code for the transformations of displacements and forces is not duplicated in the element state determinations. There are three things to keep in mind when using rigid joint offsets. First, the offsets are global with respect … Continue reading Rigid Joint Offsets
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
You Know You’ll Have to Write About It
The odds are, if you're running OpenSees analyses, you're going to write about it, whether it's a thesis/dissertation, technical report, funding proposal, conference paper, or journal article. Several writing books are available and some are very good. One book that I've found useful is Becoming an Academic Writer by Patricia Goodson. The title may sound … Continue reading You Know You’ll Have to Write About It
Brace Your Tcl Code
I show Python code for most examples here on the blog, but I am frequently reminded that a majority of OpenSees users write their scripts in Tcl. Because everything's a string, there's a lot of cool stuff you can do with Tcl expressions. However, simple math expressions can take a relatively long time to execute. … Continue reading Brace Your Tcl Code
OpenSees Documentation
The documentation for OpenSees is moving to a GitHub repository and will be in RST format, a markup style language that is easy to learn. Being on GitHub, anyone can contribute to the documentation. But, I was recently reminded by the author of the OpenSees manual that "easy to learn" and "anyone can contribute" were … Continue reading OpenSees Documentation
Last Committed Stiffness
With the rayleigh command, OpenSees allows you to input three stiffness proportional damping factors: 1) the current tangent stiffness, 2) the initial stiffness, and 3) the last committed stiffness. Each option has drawbacks. The current tangent stiffness is problematic because the tangent stiffness can change significantly at each iteration of the equilibrium solution algorithm. The … Continue reading Last Committed Stiffness
Ordinary Eigenvalues
There are three applications of eigenvalue analysis in structural engineering. Vibration analysis and buckling analysis involve generalized eigenvalue analysis. OpenSees does vibration eigenvalue analysis pretty well, but does not perform buckling eigenvalue analysis--although you might be able to fake the geometric stiffness matrix for simple frame models. The third application of eigenvalue analysis is ordinary … Continue reading Ordinary Eigenvalues
The Prevalence of OpenSees in JSE
In Write It Up, Paul J. Silvia describes three journal tiers that apply to any field: Journals that everyone in your field sees as among the best (smallest tier)Important journals that contain most of the field's work (largest tier)"The seamy underbelly of scholarly publishing" In my opinion, the ASCE Journal of Structural Engineering (JSE) is … Continue reading The Prevalence of OpenSees in JSE
PSA: OpenSees Commands Are Case Sensitive
I recently had a conversation with an experienced OpenSees user who asked why distributed loads were not working on their elastic beam-column model. I initially thought something must have changed in GitHub, but was relieved when I looked at their input file and saw the following: pattern Plain 2 Linear { eleLoad -ele 10020001 -type … Continue reading PSA: OpenSees Commands Are Case Sensitive
