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

Parametric Oscillator

I sometimes ask collaborators for post ideas. At the end of our meeting this week, Prof. Mark Denavit suggested modeling a parametric oscillator in OpenSees and referred me to the following video. https://youtu.be/MUJmKl7QfDU OK, if you didn't watch the video, the response of a parametric oscillator is modified by some frequency-dependent parameter of the system. … Continue reading Parametric Oscillator

Get the Accel Out

In OpenSees, a UniformExcitation pattern is functionally equivalent to a regular load pattern, fitting into the framework of a time-varying scalar load factor and constant reference load vector. The scalar load factor is the input ground acceleration, $latex \ddot{u}_g(t)$, while the reference load vector is $latex {\bf P}_{ref}=-{\bf m}{\boldsymbol \iota}$ where $latex {\bf m}$ is … Continue reading Get the Accel Out

Gimme All Your Modal Damping

The GimmeMCK integrator is one of my more useful contributions to OpenSees. This integrator overcomes the limitations of the printA command and allows you to extract the individual mass, damping, and stiffness matrices, or some linear combination therein, in order to see what's assembled in an OpenSees model or to bootstrap new functionality. While getting … Continue reading Gimme All Your Modal Damping

More Than You or Eigen Chew

Software does exactly what you tell it to do. But problems arise when you don't know--or assume you know--what instructions you're giving. For example, many people like to use the 'fullGenLapack' eigenvalue solver in OpenSees because it will compute all N eigenpairs (eigenvalue with corresponding eigenvector) for a model whereas the default eigenvalue solver will … Continue reading More Than You or Eigen Chew