OpenSees Cloud

OpenSees AMI

How to Apply a Pulse Ground Motion

Original Post - 01 Nov 2023 - Michael H. Scott

Support the blog at Buy Me a Coffee.


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.

The easiest route to a sine pulse is to define a Sine or Trig time series, then use that time series in a uniform excitation load pattern. The documentation describes the input parameters: start time, end time, pulse period, and scale factor.

#
# Define your model, define g, don't forget mass
#

T = 0.75 # Pulse period
N = 1.0 # Number of cycles (0.5=half, 1.0=full)
amax = 0.8*g # Peak ground acceleration

ops.timeSeries('Sine',8, 0,N*T,T, '-factor',amax)
ops.pattern('UniformExcitation',15,1,'-accel',8) # direction = 1 (X), 2 (Y), 3 (Z)

#
# Perform your analysis
#

Applying a pulse ground motion has nothing to do with the structural response. Pulse up a linear model, nonlinear model, whatever you want.