# Absolutely, It’s Relative

One of the most frequently asked OpenSees questions is whether node recorders record absolute or relative displacement (relative to the ground) when a model is subjected to a uniform excitation. There's several approaches to find the answer to this question. One solution is to apply a simple uniform excitation--like a constant ground acceleration--to an SDF … Continue reading Absolutely, It’s Relative

# 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

# Minimal Working Example

When people post online or e-mail me about what could be a bug in OpenSees, I'll ask for a minimal working example (MWE), i.e., a simple script the demonstrates the problem. I don't want to deal with elaborate scripts--yours or mine. So, what does an MWE look like for OpenSees? Here's a non-exhaustive list of … Continue reading Minimal Working Example

# Tcl as a Front End for Python

I know I'm not the only one who enjoys converting between scripting languages or between structural analysis programs. I've had fun writing bespoke Tcl middleware between OpenSees and MATLAB, but now OpenSeesPy makes all of that obsolete. But, let's say you have an OpenSees Tcl script that you'd like to run in OpenSeesPy. There's a … Continue reading Tcl as a Front End for Python

# There’s Three, Actually

The displacement-based and force-based formulations garner a lot of comparisons for simulating nonlinear frame response. My Google Scholar alerts tell me so. And I even wrote a post comparing the two formulations. Doc Ock from Spider-Man: Into the Spider-Verse There is a third formulation--the mixed formulation. Alemdar and White compared three frame element formulations (displacement-based, … Continue reading There’s Three, Actually

# The Rayleigh Quotient

Eigenvalue analysis wasn't giving me what I wanted the other day. So, to make a long story short, I decided to try Rayleigh's method. I won't go through all the details of Rayleigh's method, but the basic idea is you can obtain a very good approximation of the fundamental frequency of a structural model by … Continue reading The Rayleigh Quotient

# Discretized Members Only

I wrote a DiscretizeMember procedure in Tcl many years ago--I don't know exactly when, definitely after the 1980s and definitely before moving to Eastchester. "Members Only." by The Semi-Frozen Trombone is licensed under CC BY 2.0 After carrying the function around for years, and probably spawning more variations than uniaxial Concrete models, the procedure went … Continue reading Discretized Members Only

# Right Under Your Nose

I long ago accepted that buckling analysis would never be implemented in OpenSees. Although there is a getGeometricTangentStiff() method in the Element interface, only PFEM fluid elements use it. Implementing this method for frame elements, assembling the geometric stiffness, and solving the generalized eigenvalue problem would require several updates to the innards of OpenSees. Then … Continue reading Right Under Your Nose

# Going Through Stages

Most structural earthquake engineering deals with staged analyses of built infrastructure in one way or another. In the most common scenario, we apply gravity loads to a structural model, get the model in equilibrium, then simulate the model response to earthquake loading. Analysis of structural systems and components during construction is also important. Temporary construction … Continue reading Going Through Stages