Non Rigid Pendulum - Realistic Case

Consider a point mass (marked as red) attached to a spring O A OA of instantaneous length r r . The spring makes an angle θ -\theta to the horizontal.

The mass experiences a drag force and damping forces which are quantified by the following equations:

F d r a g = C d r a g v v \vec{F}_{drag} = -C_{drag}\mid\vec{v}\mid\vec{v} F d a m p = C d a m p r ˙ \mid\vec{F}_{damp}\mid = C_{damp}\dot{r}

The direction of the damping force is the same as that of the spring force. The system is released from rest from the coordinates ( 0.5 , 0 ) (0.5,0) at time t = 0 t = 0 . Enter your answer as the magnitude of the total energy of the system after a time of t = 10 s e c t = 10 \ sec . The X-axis is considered to be the level of zero gravitational potential energy.

Note:

  • g = 10 m / s 2 g = 10 \ m/s^2

  • The point O O is fixed at the origin of the coordinate system and is marked in blue.

  • The natural length of the spring is 0.3 m.

  • Spring constant = 20 N / m 20 \ N/m

  • Mass = 1 k g 1 \ kg

  • Naming the angle θ -\theta instead of θ \theta is deliberate as an anticlockwise rotation is considered to be positive.

  • C d r a g = C d a m p = 1 C_{drag} = C_{damp} = 1

  • v \vec{v} is the instantaneous velocity vector of the mass.

  • r ˙ \dot{r} is the rate of change of spring length at any instant of time.

Bonus: Plot the trajectory and any other relevant quantities and explain the results. For those who attempted the previous version of this problem, how different are the results? To make this dynamic system more realistic, what other factors can be considered apart from air drag and damping?

Hint: Use numerical integration to solve the equations of motion.


The answer is 5.4826.

This section requires Javascript.
You are seeing this because something didn't load right. We suggest you, (a) try refreshing the page, (b) enabling javascript if it is disabled on your browser and, finally, (c) loading the non-javascript version of this page . We're sorry about the hassle.

1 solution

Steven Chase
Oct 2, 2019

This was a fun one. I did everything in x y xy and numerically differentiated to get r ˙ \dot{r} . Simulation code is attached. Also attached are some plots of the x y xy trajectory, and the speed over time. At t = 10 t = 10 , the mass is nearly at rest, but it picks up speed again. Over time, the kinetic energy is sapped away by the damping forces.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
import math

# Constants

g = 10.0
L0 = 0.3
k = 20.0
m = 1.0
Cdrag = 1.0
Cdamp = 1.0

dt = 10.0**(-5.0)

########################

# Initialize simulation

t = 0.0
count = 0

x = 0.5
y = 0.0

r = math.hypot(x,y)

xd = 0.0
yd = 0.0

xdd = 0.0
ydd = 0.0

print "t x y v"

################################################

while t <= 10.0:

    r_store = r

    #######

    x = x + xd * dt      # numerical integration
    y = y + yd * dt

    r = math.hypot(x,y)

    xd = xd + xdd * dt
    yd = yd + ydd * dt

    v = math.hypot(xd,yd)

    #######

    # Gravity force

    Fgx = 0.0
    Fgy = -m*g

    #######

    # Spring force

    ux = x/r
    uy = y/r

    s = r - L0

    if s >= 0.0:
        Fsx = -k*s*ux
        Fsy = -k*s*uy
    else:
        Fsx = k*s*ux
        Fsy = k*s*uy

    #######

    # Drag force

    Fdragx = -Cdrag * v * xd
    Fdragy = -Cdrag * v * yd

    #######

    # Damping force

    rd = (r-r_store)/dt
    rdmag = math.fabs(rd)

    if rd >= 0.0:
        Fdampx = -Cdamp * rdmag * ux
        Fdampy = -Cdamp * rdmag * uy
    else:
        Fdampx = Cdamp * rdmag * ux
        Fdampy = Cdamp * rdmag * uy

    #######

    # Total force

    Fx = Fgx + Fsx + Fdragx + Fdampx
    Fy = Fgy + Fsy + Fdragy + Fdampy

    xdd = Fx/m
    ydd = Fy/m

    #######

    # Energies

    Ek = 0.5*m*(v**2.0)
    Ug = m*g*y
    Us = 0.5*k*(s**2.0)

    Etot = Ek + Ug + Us

    #######

    t = t + dt
    count = count + 1

    #if count%1000 == 0:
        #print t,x,y,v

################################################

print ""
print ""
print dt
print ""
print x
print y
print ""
print Ek
print Ug
print Us
print ""
print Etot

################################################

# Results

#1e-05

#-0.0525802752638
#-0.799114629245

#0.000145266134427
#-7.99114629245
#2.50843313755

#-5.48256788876

################################################

Thank you for the detailed solution. I observed that by just accounting for damping (and no drag), the rate of energy dissipation is very low. In fact, even after 100 seconds, the mass undergoes oscillations along X.

The next step in making the problem more realistic would be to account for the effects of hysteresis in the spring and by no longer treating the object as a point mass. The mass can also be given a more arbitrary initial condition in 3D space. I know less about hysteresis but the other considerations seem managable.

Karan Chatrath - 1 year, 8 months ago

Sounds interesting. Are you going to post another one with those modifications?

Steven Chase - 1 year, 8 months ago

Well I'm not sure. I'm in two minds. Cause this problem really helps in understanding the underlying physics when the results are analysed. Introducing further complexity would involve dealing with arbitrary positions and orientations in space which is more work, but the qualitative nature of the results remain unchanged (energy dissipation till the mass converges to its position of stable equilibrium). Working out and solving the EOMs would be a nice exercise, but results wise, there isn't much a of a value add.

I'll give this a bit more thought and will notify if or when I do upload another part.

Karan Chatrath - 1 year, 8 months ago

I have uploaded a follow-up. I have generalised it one step further but the analysis is confined to two dimensional space.

Karan Chatrath - 1 year, 8 months ago

0 pending reports

×

Problem Loading...

Note Loading...

Set Loading...