How to Apply Ground Motions in Multiple Directions

A common question is can I apply ground motions in more than one direction to a model in OpenSees? The answer is Yes. Let's say you have files for three ground motion recordings: gm000.txt, gm090.txt, and gmUP.txt. Define a time series for each ground motion, then associate each time series with a uniform excitation load … Continue reading How to Apply Ground Motions in Multiple Directions

Distributed Mass Beam Vibration

Most beam-column elements in OpenSees take mass density, $latex \rho$ (mass per unit length), as an input. The elements then return lumped mass $latex \rho L/2$ for the translational DOFs at the element ends. The elasticBeamColumn element can also return a consistent mass matrix with the -cMass input option. ops.element('elasticBeamColumn',tag,...,'-mass',rho,'-cMass') The dispBeamColumn and forceBeamColumn elements … Continue reading Distributed Mass Beam Vibration

How to Apply a Pulse Ground Motion

In an OpenSees analysis, not all earthquake excitations have to come from recorded ground motions. In some cases, you just want to apply a full or half sine pulse. Sure, you can use Matlab or Python to create a ground motion file with discrete values that match your desired sine pulse. But that's kinda cumbersome. … Continue reading How to Apply a Pulse Ground Motion

Modal and Stiffness Proportional Damping

OpenSees allows you to use both modal damping and stiffness proportional damping in a dynamic analysis. This combination of damping models is useful when you want to control damping in the low frequency modes and not let undamped high frequency response tarnish the analysis. Consider a simplified model of a 40 story building. The story … Continue reading Modal and Stiffness Proportional Damping

Multi-Threaded SDF Analysis

A previous post showed that, when compared to a couple of brute force approaches, using the sdfResponse command is the most computationally efficient approach to generating an earthquake response spectrum. During an OpenSees Cafe, Dr. Silvia Mazzoni suggested taking a more intelligent approach by "batching" the brute force SDF analyses. Instead of analyzing one oscillator … Continue reading Multi-Threaded SDF Analysis

Another Way to Get Bad Eigenvalues

With daily posts during NaBloPoMo, LBUs are highly coveted. And I'm not afraid to partake in incremental blogging. Heck, LPUs and incremental publishing seem to be de rigueur. Anyway, with zero shame, here's an insidious variation of a recent post on how to get bad eigenvalues from your OpenSees model. If negative mass can lead … Continue reading Another Way to Get Bad Eigenvalues