Periodicity of a Block on a Ramp

Consider a point mass (shown in red) which is constrained to move along a smooth inclined plane which is fixed in space. The dotted line intersects the inclined plane at the point ( 4 , 4 ) (4,4) . The mass ( m = 8 k g m=8 \ kg ) is attached to a spring (orange coloured), the other end of which is fixed at the point ( 3 , 5 ) (3,5) . The stiffness of the spring is 20 N / m 20 \ N/m and its natural length is L o = 1 m L_o = 1 \ m . The mass is released from rest from the point ( 2 , 2 ) (2,2) on the incline, at time t = 0 t=0 . Consider the following two cases:

  1. Compute the time period of motion when gravity g = 0 m / s 2 g =0 \ m/s^2 . Round your answer to the nearest integer. Let this result be a a .

  2. Compute the time period of motion when gravity g = 10 m / s 2 g = 10 \ m/s^2 . Round your answer to the nearest integer. Let this result be b b .

Enter your answer as a + b a+b .

Note:

  • The spring force is calculated according to Hooke's law.

  • The bottom point of the incline (point of intersection of the hypotenuse and base) is taken as the origin, as indicated in the diagram.

  • An interested solver may attempt this without using numerical techniques.

Bonus:

Qualitatively, how is the motion of the system in case 1 different from that in case 2?

Inspiration


The answer is 9.

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.

3 solutions

Mark Hennings
Jun 15, 2020

Conservation of energy tells us that, when the particle is at the point ( x , x ) (x,x) , the particle has kinetic energy 8 x ˙ 2 8\dot{x}^2 , and hence it follows that 8 x ˙ 2 + V ( x ) = V ( 2 ) 8\dot{x}^2 + V(x) \; = \; V(2) where V ( x ) = 4 g 2 x + 10 [ ( x 3 ) 2 + ( x 5 ) 2 1 ] 2 V(x) \; = \; 4g\sqrt{2}x + 10\big[\sqrt{(x - 3)^2 + (x - 5)^2} - 1\big]^2 is the total potential energy of the system.

When g = 0 g=0 we find that x ˙ = 0 \dot{x}=0 when V ( x ) = V ( 2 ) V(x) = V(2) , which occurs when x = 2 , 6 x = 2,6 . Thus the particle oscillates between x = 2 x=2 and x = 6 x=6 with period T 1 = 2 2 6 d x x ˙ = 4 2 2 6 d x V ( 2 ) V ( x ) = 4.99869593... T_1 \; = \; 2\int_2^6 \frac{dx}{\dot{x}} \; = \; 4\sqrt{2}\int_2^6 \frac{dx}{\sqrt{V(2) - V(x)}} \; = \; 4.99869593... making a = 5 a=5 .

On the other hand, when g = 10 g=10 we find that x ˙ = 0 \dot{x}=0 when x = 2 x = 2 and x = X = 1.90061716 x= X = 1.90061716 , so the particle oscillates between x = 2 x=2 and x = X x=X with period T 2 = 2 X 2 d x x ˙ = 4 2 X 2 d x V ( 2 ) V ( x ) = 4.09792111... T_2 \; =\; 2\int_X^2 \frac{dx}{\dot{x}} \; = \; 4\sqrt{2}\int_X^2 \frac{dx}{\sqrt{V(2) - V(x)}} \; = \; 4.09792111... (not 4.060 4.060 ) which makes b = 4 b=4 . Thus the desired answer is 5 + 4 = 9 5 + 4 = \boxed{9} .

When g = 0 g=0 , the starting point is the low point of the oscillation. When g = 10 g=10 the starting point is the high point of the oscillation.

@Steven Chase , @Krishna Karthik

Thank you. I love to look at your analytic solutions :)

Krishna Karthik - 12 months ago
Steven Chase
Jun 14, 2020

Without gravity, the block initially slides up the ramp. With gravity, the block initially slides down the ramp. So I had to use different loop termination conditions in each case. I resolved the spring force into a component parallel to the ramp, and a component normal to the ramp. Without gravity, the period is 4.999 \approx 4.999 and with gravity, the period is 4.060 \approx 4.060 .

 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
import math
import numpy as np

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

# Constants

xh = 3.0   # hinge coordinates
yh = 5.0

x0 = 2.0   # coordinates of start point
y0 = 2.0

theta = math.pi/4.0  # ramp angle

g = 10.0  # gravity

m = 8.0   # mass

k = 20.0  # spring constant
L0 = 1.0  # spring natural length

dt = 10.0**(-5.0)  # time step

u1x = -1.0/math.sqrt(2.0)  # unit vector down ramp
u1y = -1.0/math.sqrt(2.0)

u2x = -1.0/math.sqrt(2.0)  # unit vector normal to ramp
u2y = 1.0/math.sqrt(2.0)

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

# Initialize simulation

t = 0.0
count = 0

D = 0.0  # distance from start point along ramp
Dd = 0.0
Ddd = 0.0

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

while Ddd >= 0.0:     # loop condition with gravity (sliding down ramp initially)
#while Ddd <= 0.0:    # loop condition without gravity (sliding up ramp initially)

    D = D + Dd*dt     # numerical integration
    Dd = Dd + Ddd*dt

    x = x0 + D*u1x   # xy coordinates
    y = y0 + D*u1y

    Sx = xh - x     # vector from block to hinge
    Sy = yh - y

    S = math.hypot(Sx,Sy)   # spring length

    sx = Sx/S   # unit vector from block to hinge
    sy = Sy/S

    Fs = k*(S-L0) # spring force magnitude

    Fsx = Fs * sx  # spring force vector
    Fsy = Fs * sy

    # Resolve spring force into components down ramp and perpendicular to ramp

    # Fsx = F1*u1x + F2*u2x   
    # Fsy = F1*u1y + F2*u2y

    M11 = u1x
    M12 = u2x

    M21 = u1y
    M22 = u2y

    M =  np.array([[M11,M12],[M21,M22]])
    vec = np.array([Fsx,Fsy])

    Sol = np.linalg.solve(M, vec)

    F1 = Sol[0]
    F2 = Sol[1]

    Ddd = (m*g*math.sin(theta) + F1)/m  # acceleration of block along ramp

    t = t + dt
    count = count + 1

    #if count % 1000 == 0:
        #print t,D,Dd

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

print ""
print ""  
print dt
print (4.0*t)

I noticed your notificaton shortly after I deleted my report, so I could not see it. I feel silly to have made that kind of a mistake while solving. Nevertheless, thanks for posting that problem.

Karan Chatrath - 9 months, 1 week ago

Log in to reply

I can post your solution and credit it to you if you would like

Steven Chase - 9 months, 1 week ago

Log in to reply

No, no, I made a boo-boo. I got that problem wrong, in all fairness. I'll post solutions in your upcoming problems as I usually try to.

Karan Chatrath - 9 months, 1 week ago
Krishna Karthik
Jun 14, 2020

Goteeem.

I did a similar method to Steven. I wonder what @Mark Hennings would like to offer to this problem. He mostly attempts physics problems using pure mathematics.

Of course, to find the time period one would have to compute an integral.

Here are two graphs showing the motion in the two cases:

g = 10

g = 0

Without gravity, it is expected that the period is longer. This is due to less forces constantly opposing each other, because gravity is always opposing the spring force and slowing the oscillation. The block always stays below ( 4 , 4 ) (4, 4) with gravity, and without gravity it oscillates evenly between ( 4 , 4 ) (4, 4) in the positive and negative displacement from ( 4 , 4 ) (4, 4) .

One can imagine the "zero- g g " scenario to be just like a block oscillating on a horizontal surface in space. It simplifies things. Fun problem.

Thanks for the solution. This problem can be solved using a semi-analytical approach.

Karan Chatrath - 12 months ago

Log in to reply

Yes, I think with the forces one can formulate an EOM using Newton's Laws.

Krishna Karthik - 12 months ago

Log in to reply

Yes, that is possible. However, computing the laws of motion would result in a few extra steps. The way to approach this analytically is by using the energy conservation principle.

Karan Chatrath - 12 months ago

Log in to reply

@Karan Chatrath Yes, by integrating the inverse of the velocity over distance. Yes, that is the best way.

Krishna Karthik - 12 months ago

I'll try that soon.

Krishna Karthik - 12 months ago

@Krishna Karthik Which python version you use?

A Former Brilliant Member - 11 months, 4 weeks ago

Log in to reply

I use Python 3.0. It's the best and latest.

Krishna Karthik - 11 months, 4 weeks ago

It's more close to JavaScript than Python 2.0. Python 2.0 is uncomfortable for me to use because the syntax really sucks.

Krishna Karthik - 11 months, 4 weeks ago

Log in to reply

@Krishna Karthik did you use MATLAB also?

A Former Brilliant Member - 11 months, 4 weeks ago

Log in to reply

@A Former Brilliant Member I don't use MATLAB. I mainly just use C++, Python, and JavaScript.

Krishna Karthik - 11 months, 4 weeks ago

Log in to reply

@Krishna Karthik @Krishna Karthik The above two graph are from which program?

A Former Brilliant Member - 11 months, 4 weeks ago

Log in to reply

@A Former Brilliant Member Excel. I just copy-paste the data which is produced from the Python code.

Krishna Karthik - 11 months, 4 weeks ago

0 pending reports

×

Problem Loading...

Note Loading...

Set Loading...