Centripetal Acceleration

How can you induce element forces without defining loads or straining effects due to thermal expansion, residual stress, initial strain, or differential support motion?

Centripetal acceleration! Get a mass revolving in a plane about a fixed point and a force directed radially (toward the center of revolution) is required to keep the mass from flying off tangentially. Surely, you’ve spun a tethered object overhead like a lasso. Or you’ve seen a centrifuge, either in person or in Spies Like Us.

But how do you pull off centripetal acceleration in OpenSees?

For the tether, you can use a corotational truss element, whose geometry is exact for large displacements.

Then, set the mass in motion with an initial velocity.

import openseespy.opensees as ops

r = 100
E = 29000
A = 0.1

g = 386.4
W = 0.1
m = W/g

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

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

ops.uniaxialMaterial('Elastic',1,E)
ops.element('CorotTruss',1,1,2,A,1)

a = 2*g
v = (a*r)**0.5

ops.setNodeVel(2,2,v,'-commit')

ops.analysis('Transient','-noWarnings')

Nrev = 2 # Number of revolutions
Tmax = Nrev*(2*3.14159*r)/v
dt = 0.001
Nsteps = int(Tmax/dt)

ops.analyze(Nsteps,dt)

The radial acceleration of the mass is a=v2/r. In the script above, the initial velocity is back calculated for the mass to pull 2g acceleration. No matter what initial velocity you use, the axial force in the corotational truss element should be mv2/r.

The axial force response history for the corotational truss element is shown below.

A few things to note:

  • The axial force is positive, which makes physical sense. When you spin a tethered object overhead, the tether is definitely in tension.
  • The velocity is applied suddenly with no rise time, so the axial force oscillates about the expected mv2/r solution, just like SDF response to a step function. You can ramp up the velocity, but I chose not to do so for this analysis.
  • The frequency of axial force oscillation is a function of the object mass and the axial stiffness of the element.
  • The vibration is undamped, but you can add damping, preferably to the material or element, within the corotating frame of reference. Modal and Rayleigh damping may not work as expected for this type of analysis.

I used the OpenSees Cloud model viewer to animate the analysis results, and so can you! Copy and paste the above script into an OpenSees Cloud project, then set the following viewer controls:

  1. Set Axis up to z
    Pan, rotate, and zoom to get a good viewpoint
  2. Set edge size to 1
    The element is very thin and the default edge size will cover the velocity contours
  3. Check the Show analysis box
  4. Select mag (magnitude) in the velocity pull down menu
  5. Click start on the animation
  6. Notice that the velocity scale ranges from zero to the initial velocity, v, calculated in the script
  7. The velocity contour along the element length remains unchanged in time, with zero at the fixed point and highest velocity at the free end. You can re-run the analysis with a larger truss area in order to see the contour more clearly.

Leave a comment

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