Minimal Random Process Example

I know just enough about random vibrations and ground motions to be dangerous. I would like to become less of a liability on these topics, so bear with me on this post. OpenSees has two time series for random processes, both implemented by Terje Haukaas. A DiscretizedRandomProcess uses random variables to construct a time series from filtered unit … Continue reading Minimal Random Process Example

Effective Earthquake Forces

There's nothing special about the UniformExcitation load pattern in OpenSees. The pattern is a convenience for defining effective earthquake forces due to uniform ground acceleration as plain 'ol mechanical loads on your model. Consider the equation of motion for uniform ground acceleration, with linear inertia and damping forces, and influence vector $latex {\boldsymbol\iota}$ for the … Continue reading Effective Earthquake Forces

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

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

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

Interpolation of Ground Acceleration

There was a question on GitHub a few months ago about whether or not OpenSees uses linear interpolation when the analysis time step is smaller than the time step (digitization) of an input ground acceleration. This is a good question as I've used other software that does not interpolate and instead uses the acceleration of … Continue reading Interpolation of Ground Acceleration

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