0% found this document useful (0 votes)
11 views

Bpho Compphys 01b Models of Motion

Uploaded by

kiykodanil12
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Bpho Compphys 01b Models of Motion

Uploaded by

kiykodanil12
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

Models of motion

Dr Andrew French.
December 2023.
#1: The Kinematics of Usain Bolt
Two of Bolt’s record-breaking 100m races. Time elapsed /s every 10m*

Olympic final, Beijing


World Champs, Berlin

Photo credit

*http://rcuksportscience.wikispaces.com/file/view/
Analysing+men+100m+Nspire.pdf
To find the time, velocity graph we could calculate the
gradient of the (t,x) graph, at different times

At

the local gradient


is
x
x
v=
t
= 11.2ms-1
t

THIS IS DONE BY FIRSTLY FITTING CUBIC SPLINES BETWEEN THE DATA POINTS
The graph below has been constructed from the local gradients
calculated every second along a smooth curve drawn between the
elapsed time data recorded at 10m intervals.

He is slowing down
in the final stages!
(In 2008, quite
dramatically)

100m, 200m,
4x100m Beijing
He is speeding up Olympics 2008
i.e. accelerating
in the ‘drive’
phase out of the
blocks
We can go one step further and find the graph of acceleration vs time
by working out the local gradients of the (t,v) graph.

v
a=
t
For a complete view we can compare (t,x), (t,v) and (t,a) traces.
Note the time axis must be the same scale for each graph.
‘Free fall’ at -9.81m/s2

#2: Kinematics of Blue Origin’s New Shepherd


launch on 20-July-2021
v ( ti ) − v ( ti −1 )
Acceleration estimated a ( i)
t 
from velocity
ti − ti −1
v ( ti ) − v ( ti −1 )
a ( ti ) 
ti − ti −1
In summary: Kinematics provides a really good
reason to wish to know velocity or acceleration from
displacement measurements. i.e. the gradient of the
‘underlying curve.’ We may not know the functional
form of the curve however – we may have to estimate
it from the data.

#2: Bezos example: Assume a straight line between


velocity measurements.

#1: Bolt example: Fit a cubic spline


between a rolling set of four data points.
We can then differentiate the cubic
(yielding a quadratic).
#3: Bouncing ball sim
Coefficient of restitution
n = 1; x = 1; v = 0; t = 0; g = 9.81; dt = 0.001; C = 0.8; = speed of separation /
max_bounce = 50; bounce = 0; speed of approach

while bounce < max_bounce


% Use constant acceleration motion between
% time steps dt
x(n+1) = x(n) - v(n)*dt - 0.5*g*dt^2;
v(n+1) = v(n) + g*dt;
t(n+1) = t(n) + dt;
if ( x(n+1) < 0 ) && ( v(n+1) > 0 ) % Bounce check
bounce = bounce + 1;
v(n+1) = -C*v(n);
end
n = n + 1;
end

%Time to stop bouncing


T = 2*sqrt( 2*x(1)/g )*( 1/(1-C) - 0.5 );

subplot(2,1,1); plot(t,x); xlabel('t /s'); ylabel('x (m)'); grid on;


title(['Ball Bounce. C=',num2str(C),', g=',num2str(g),' ms^{-2}, T=',num2str(T),' s.']);
subplot(2,1,2); plot(t,v); xlabel('t /s'); ylabel('v (m/s)'); grid on;
print(gcf,'bounce.png','-dpng','-r300’); close(gcf);
The distance travelled after n bounces is
1
mv 2 = mgH
D = h + 2C 2 h + 2C 4 h + .... + 2 ( C )
2 n −1 2
h
 H  v2
+ 2 = 1 + C + ( C ) + ... + ( C )
D 1 2 2 2 2 n −1 Geometric

2h progression
v 2 = 2 gH
D 1 1 − C 2n
(C )
2
+2= 2 gh
2h 1− C2 = C 2h
2g
 1 − C 2n 1   1 1
D = 2h  − 2  D  = 2 h −
 1− C2 2 
 1 − C 2
  
The time travelled after n bounces is

2h 2h 2h 2h
1
2 mv 2 = mgH
T= + 2C + 2C 2
+ .... + 2C n −1

g g g g  H  v2
T g 1
+ 2 = 1 + C + C 2 + ... + C n −1 Geometric
progression v 2 = 2 gH
2 2h
(C )
2
T g 1 1− C n
2 gh
+2= = C 2h
2 2h 1− C 2g
2h  1 − C n 1  2h  1 1
T =2  − 2  T = 2 −
1− C 2 
g  1− C  g  
#4: Double ball bounce

All elastic C1 = C2 = 1 
collisions
You have a model … now make a calculator using a spreadsheet

https://www.youtube.com/watch?v=Vk8YluFTQ3g
m1u − m2u = m1 ( v2 − 2uC ) + m2 v2
m1u − m2u = m1v1 + m2 v2 Momentum
conservation m1u − m2u + 2Cm1u = v2 ( m1 + m2 )
v2 − v1
C=
2u
 v1 = v2 − 2uC
v2 =
( 2C + 1) m1 − m2
u
Restitution m1 + m2
R
( 2C + 1) − mm 2
v22  v2 
2

v2 = 1
uH = 2 g =  u  h
m1 m2 1+ m2
m1
All collisions v2 = 3u  ( 2C + 1) − m2

2
elastic
H =   h
m1

H = 9h 
 1 + m
m
2
1 
#5: Collisions
and the ZMF

Ball bounce simulation


#6: MASS x ACCELERATION = VECTOR SUM OF FORCES
Newton’s second law

Isaac Newton
(1643-1727)
m_r = 57.5/1000; %Dry mass of rocket /kg
m_w = 0.3; %Initial water mass /kg
dv
r = 0.05;
cD = 0.4;
rho_air = 1.225;
%Radius of bottle end /m
%Drag coefficient
%Air density /kgm^-3
m = T − mg − 12 cD Av v Newton II
g = 9.81;
T = 9/30;
%Strength of gravity (N/kg)
%Water ejection time /s
dt Thrust Weight Drag
C = 60; %Water ejection speed relative to rocket (m/s)

  C 0  t   
mw
mu = m_w/T; %Average mass ejection rate (kg/s)
m = m_r + m_w; %Initial mass of rocket plus water /kg

T =
A = pi*(r^2); %Cross sectional area of nosecone (m^2)


dt = 0.0001; %Timestep /s

  t  timpact 
%Initialize height x (m), time t (s), velocity v (m/s) and acceleration mw
Thrust  0
 
%(m/s^2) vectors.
x = 0; t = 0; v = 0; a = 0; hits_ground = 0; thrust_phase = 1; n=1;

%Determine trajectory
while hits_ground == 0

%Determine acceleration by Newton's Second Law weight(n) = m(n)*g;


drag(n) = 0.5*cD*rho_air * A * v(n) * abs( v(n) ); mw + mr −  t 0  t  mw 
m= 
if thrust_phase == 1;
thrust(n) = mu*C;

  t  timpact 
m(n+1) = m(n) - mu*dt; %Reduce mass of rocket
mw
Mass  mr
else

end
thrust(n) = 0; %No more thrust - all water ejected
m(n+1) = m(n); %Mass of rocket remains the same

a(n) = ( thrust(n) - weight(n) - drag(n) )/m(n);


 
%Determine new speeds and distance via 'constant acceleration within a
%time step' (Verlet method)
v(n+1) = v(n) + a(n)*dt; x(n+1) = x(n) + v(n)*dt + 0.5*a(n)*dt^2;
t(n+1) = t(n) + dt;

%Check if thrust phase is over


if mu*t(n) > m_w; thrust_phase = 0; end
#7: WATER ROCKET
%Check if rocket has landed
if ( v(n+1) < 0 ) && ( x(n+1) < 0 ); hits_ground = 1; end

%Increment step counter


n = n + 1;
end
t(end) = []; x(end) = []; v(end) = []; m(end) = []; %Remove last values to make variable arrays the same length

%Plot x vs t, v vs t and a vs t
subplot(2,2,1); plot(t,x); xlabel('t/s'); ylabel('altitude x (m)');
title(['ROCKET MODEL: ToF=',num2str(t(end)),'s, xmax=',num2str( max(x) ),'m']); axis tight; grid on;
subplot(2,2,2); plot(t,v); xlabel('t/s'); ylabel('velocity v (m/s)');
title(['vmax=',num2str( max(v) ),'m/s']); axis tight; grid on;
subplot(2,2,3); plot(t,a); xlabel('t/s'); ylabel('acceleration a (m/s^2)');
title(['amax=',num2str( max(a) ),'m/s^2']); axis tight; grid on; axis tight; grid on;
subplot(2,2,4); plot(t,thrust,t,weight,t,drag); xlabel('t/s'); ylabel('Forces /N');
title(['max thrust=',num2str( max(thrust) ),'N']); axis tight; grid on; axis tight; grid on; axis tight; grid on;
legend({'thrust','weight','drag'}); print(gcf,'rocket model.png','-dpng','-r300');
Huge!

-9.81m/s2
#8: ROLL THE LOOP k

h  12 (5 +  )(r − k ) All the way round


without falling off

 = 1 rolling  = 1/2 cylinder


 = 0 sliding  = 2/5 sphere

h r
To fall off and land at (0,0)

h  14 (7 +  )(r − k )

You might also like