OpenSees Cloud

OpenSees AMI

How to Apply a Pulse Ground Motion

Original Post - 01 Nov 2023 - Michael H. Scott

Visit Structural Analysis Is Simple on Substack.


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.