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

Quick (and Dirty) Modal Damping

Frank recently told me about "quick" modal damping and explained it as "adding the modal damping forces to the right-hand side but not adding the modal damping terms to the dynamic tangent". The rationale for "quick" modal damping is to reduce computational expense due to: Assembly of modal damping terms into the dynamic tangent must … Continue reading Quick (and Dirty) Modal Damping