In nonlinear structural analysis, loads add together, just not their effects. So, the total mechanical load applied to a structural model can be expressed as the sum of time-varying load vectors.
Each load vector is the product of a time-varying scalar function, , and a non-time-varying reference load vector, .
The reference load vector is a
pattern object in OpenSees. A
Plain load pattern forms 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., . You can also define a
MultipleSupport load pattern which imposes ground motions at specified nodes.
The scalar function is a
timeSeries object in OpenSees. Several time series are available including
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, , 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 so that you 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 or . 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 while scenario B puts the load magnitude in .
I prefer scenario A where the reference lateral load sums to 1.0 so that the load factor, , is equal to the base shear. But you can define your loads however best suits your model.