OpenSeesaw

A moderately frequent OpenSees question is what happens to a structural model when you apply a rotational ground motion as a uniform excitation.

Sure, rotational masses will receive effective earthquake forces, but what about dynamic DOFs that are orthogonal to the rotational ground excitation, i.e., with a “moment arm”? And if there is a moment arm, where is the center of rotation?

Consider the two structural models shown below. The origin of the coordinate system is centered between the two models. Each model has a translational and rotational mass along with vertical and rotational stiffness.

When applying a rotational ground acceleration, will there be vertical response for the two models–like a seesaw–or will the response be only rotational, like two knobs on a stereo? A simple, constant ground acceleration will be sufficient to obtain an answer.

``````import openseespy.opensees as ops

ops.wipe()
ops.model('basic','-ndm',2,'-ndf',3)

# Distance, masses, stiffnesses
H = 10
m = 1
k = m*3.14159**2
mz = 1
kz = mz*3.14159**2

ops.node(1,H,0); ops.fix(1,1,1,1)
ops.node(2,H,0); ops.fix(2,1,0,0)
ops.mass(2,0,m,mz)

ops.node(3,-H,0); ops.fix(3,1,1,1)
ops.node(4,-H,0); ops.fix(4,1,0,0)
ops.mass(4,0,m,mz)

ops.uniaxialMaterial('Elastic',1,k)
ops.uniaxialMaterial('Elastic',2,kz)

ops.element('zeroLength',1,1,2,'-mat',1,2,'-dir',2,3)
ops.element('zeroLength',2,3,4,'-mat',1,2,'-dir',2,3)

ops.timeSeries('Constant',1)
ops.pattern('UniformExcitation',1,3,'-accel',1) # DOF 3
ops.analysis('Transient')

Tf = 10.0
dt = 0.01
Nsteps = int(Tf/dt)
for i in range(Nsteps):
ops.analyze(1,dt)``````

The rotation response history is shown below. As expected, both models have the same rotation response.

The vertical displacement response of the two models is shown next. The models have equal and opposite response, indicating the rotational ground excitation induces seesaw motion.

With the same mass and stiffness for the translational and rotational DOFs of each model, we see that the vertical displacement histories are equal to the horizontal distance from the origin (used H=10 in the analysis) times the rotation response history. This response indicates the fulcrum of the seesaw is at the origin of the coordinate system.

I did not check horizontal motion due to vertical coordinate offsets in two dimensional models, nor did I check three dimensional models. I will leave those checks to you.

I was kinda surprised OpenSees handles rotational ground excitations in this manner (as a seesaw instead of knobs), but it is what it is. To me, it seems the more physically reasonable approach is to input vertical ground motions through multiple-support excitation.

This site uses Akismet to reduce spam. Learn how your comment data is processed.