OpenSees Cloud

OpenSees AMI

Load Patterns and Time Series

Original Post - 10 Jan 2021 - Michael H. Scott

Visit Structural Analysis Is Simple on Substack.


In nonlinear structural analysis, loads add together, just not the load effects. So, the total mechanical load applied to a structural model can be expressed as the sum of time-varying load vectors.

\[{\bf P}(t)={\displaystyle \sum_{i=1}^N} \lambda_i(t){\bf P}_{ref,i}\]

Each load vector is the product of a time-varying scalar function, \(\lambda(t)\), and a non-time-varying reference load vector, \({\bf P}_{ref}\).

The reference load vector is a pattern object in OpenSees. A Plain load pattern forms \({\bf P}_{ref}\) from nodal loads, member loads, and single point (sp) constraints (if you want to impose a nodal displacement history). A UniformExcitation pattern forms the reference load vector from nodal masses based on the direction of ground acceleration, i.e., \({\bf P}_{ref}=-{\bf m}{\boldsymbol \iota}\). You can also define a MultipleSupport load pattern which imposes ground motions at specified nodes.

The scalar function \(\lambda(t)\) is a TimeSeries object in OpenSees. Several time series are available including Path, Sine, Linear, and Constant. You can assign gravity loads to a constant time series, or you can ramp the gravity loads up in a linear time series then set the loads to constant.

Ground accelerations, \(\lambda(t)=\ddot{u}_g(t)\), for a UniformExcitation are typically defined with a Path time series. Most ground acceleration records are in units of g, so you have to scale the time series by g to get length and time units that are consistent with your model.

Note that, like a Reese’s peanut butter cup, there is no wrong way to define each load vector. You can embed the load magnitude in either \(\lambda(t)\) or \({\bf P}_{ref}\). To reach a peak base shear of 150 in a pushover analysis, both scenarios A and B below will give the same load history. Scenario A places the load magnitude in \(\lambda\) while scenario B puts the load magnitude in \({\bf P}_{ref}\).

Lateral loads define in two ways

I prefer scenario A where the reference lateral load sums to 1.0 so that the load factor, \(\lambda\), is equal to the base shear. But you can define your loads however best suits your model.