Extended Essay in
Physics
Grade: A Points: 36/36
Note: This extended essay serves as an example essay that are meant for students in their work with their own extended essay. We hope that it may be used for identifying elements that are good to include in order to obtain the grade you strive for. Any plagiarism is forbidden
-0-
Extended Essay by Henrik Feldt IB-code: 000740-021 4000 words
How does spin of a ball around the axis perpendicular to the velocity-gravity plane affect the path of the ball in air when launched?
This image which I've taken myself, pretty much sums up what writing this essay has been like – throughout this term the essay has always been there with its experiments, but now in the end you're finally seeing the sun again.
Henrik Feldt
Extended Essay
Physics Higher Level
Table of Contents Abstract...................................................................................................................................3 Intro.........................................................................................................................................4 Theory..................................................................................................................................... 4 Gravity............................................................................................................................................. 4 Buoyancy.................................................................................................................................... 5 Drag force and drag coefficient....................................................................................................... 5 Magnus effect.................................................................................................................................. 6
Determining the Magnus force............................................................................................. 7 The table-tennis ball.........................................................................................................................7 Method for both fan.................................................................................................................... 7 Experiment with fan....................................................................................................................7 Data........................................................................................................................................ 8 Measuring the resulting force empirically..............................................................................9 Magnus force data processing.............................................................................................. 11 Finding the magnus coefficient............................................................................................ 12 Experiment conclusions............................................................................................................ 13
Getting real-world paths & fitting theory with experiments........................................... 14 The program...................................................................................................................................14 Limitations to the program................................................................................................... 14 The algorithm............................................................................................................................ 14 Showing different paths............................................................................................................ 16 Simulation 1......................................................................................................................... 16 Simulation 2......................................................................................................................... 17 Comparing simulation 1 and 2............................................................................................. 18 Simulation 3......................................................................................................................... 20 Simulation 4......................................................................................................................... 21 Comparing – varying angular velocity.................................................................................22 Experimental data.......................................................................................................................... 24 Data and uncertainties............................................................................................................... 25 Under-spin............................................................................................................................ 25 Top Spin............................................................................................................................... 25 Under spin............................................................................................................................ 26 Top Spin............................................................................................................................... 26 Making theory fit reality................................................................................................................ 27
Conclusion.............................................................................................................................29 Appendix............................................................................................................................... 31 Appendix 1.0 – air properties........................................................................................................ 31 Appendix 2.0 – improvements on Magnus experiment.................................................................31 Uncertainties and improvements for magnus experiment.................................................... 31 Appendix 3.0 – Program................................................................................................................33 Bibliography.................................................................................................................................. 50 References are within square brackets. Information about them found in bibliography. 2
Henrik Feldt
Extended Essay
Physics Higher Level
Abstract The research question of this essay is: “How does spin of a ball around the axis perpendicular to the velocity-gravity plane affect the path of the ball in air when launched?”. This was determined both theoretically using a program and using theory for the four major forces acting on the ball: the force of gravity, the buoyancy, the drag and the magnus force. The magnus force was the only force to be experimentally investigated. The wind speed was varied when a fan was blowing onto a ball rotating around a metal bar suspended in a hinge, causing the ball to move perpendicular to the wind. Air density, air humidity, air-friction, ball mass, gravity were assumed to be controlled constant variables that don't change. Efter the experiments a graph of magnus force versus wind speed was plotted for a table tennis ball and the magnus coefficient determined to be 0.29 (max 0.39, min 0.19) using the formula F M = C M R3 mn × v . In order to justify theory and bring it all together well, ball paths were filmed in a laboratory and numerically analysed, to be able to plot the ball path and compare this to a path with the same variables coming from the program. The program successfully plotted the paths. The greater the spin, the more extreme path – for under-spin the ball would climb longer than for a ball without any spin and the greater the spin the longer the climb and the pointier the top of the path. For top-spin the ball would drop faster.
3
Henrik Feldt
Extended Essay
Physics Higher Level
Intro Most of us have seen incredible goals made by the football super-stars from what seems to be impossible angles and over human walls. It’s all about getting the ball to spin. Hence the research question is: How does spin of a ball around the axis perpendicular to the velocity-gravity plane affect the path of the ball in air when launched? When a ball revolves around an axis a boundary layer of air is formed [J1] with air moving in a velocity gradient relative to the ball, resulting in increased pressure on one side of the ball and decreased pressure on the other side. According to elementary physics a difference in pressure on two sides of an object causes a force to be created and exerted on the object. This is also what happens when the ball spins. The force created is called the Magnus force. Furthermore, there will be a force of drag because air has a viscosity greater than zero. The drag force will be gotten from a source and the magnus force will be experimentally determined in order to provide the basis of a computer simulation of how the ball should move through the air given the circumstances. For example, if drag force is left out, the resulting simulated ball path will not be like the real world. The aim of the experimental work and later the program is to verify theory/hypothesis and finally to conclude in what way the spin affects the ball path. There are part possible to investigate, which will not be investigated and hence are limitations: ✗
Air density (ρ) [kg m-3] – because the experiments were done at the same altitude and because during the winter in Sweden, the humidity is pretty much the same. A table from “engineeringtoolbox.com” will be used to get the air density.
✗
Composition spins – such as when a ball has a angular velocity around more then one axis at the same time.
✗
Turbulent flows and when they occur (see Reynolds number below).
✗
The force of gravity will be assumed to be 9.82 N kg-1 and be counter-acted by a buoyant force.
✗
Velocities over approx. 18 ms-1 or below 5 to 6 ms-1 will not be investigated.
✗
Furthermore, in reality the spin of the ball would decrease the further along its path it goes due to air friction, but this won't be accounted for.
Hence: the aim is first to verify that the formulae work, find the experimental variables in them and then compare real-world ball paths to the theory via a computer simulation.
Theory There are forces acting on the ball as it moves through the air.
Gravity The first and most obvious is gravity. It acts with a force of 9.82 N per kg and causes acceleration towards the ground with 9.82 m s-2. The direction of gravity is always downwards towards the ground and on this small scale gravity can be considered to be a constant. The equation is as follows: (1)
F g =m g
4
Henrik Feldt
Extended Essay
Physics Higher Level
g = acceleration of gravity [ms-2] m = mass of object [kg]
Buoyancy The ball takes up space, and in doing so it pushes air away. Archimedes' principle: “principle that states that a body immersed in a fluid is buoyed up by a force equal to the weight of the displaced fluid” [J3]. The mass of the displaced fluid is Vρ where V is volume and ρ is density of the air surrounding , so the weight is Vρg. This gives (2) F g = mg−Vpg = m−Vp g
Drag force and drag coefficient The drag force is opposite and parallel to the velocity vector. According to Newton's third law, all forces occur in pairs and these two forces are of equal magnitude and opposite directions – so when the ball moves through the air, it has to apply a force to all the molecules of air it has to move – and hence this will create a reaction force; a drag force on the ball itself, since the molecules of air (be it any gas) have masses. One could assume that since the ball has to move all the air molecules out of its path when it moves (forward) the drag force is proportional to some degree on the density of the medium. Furthermore the greater the velocity of the ball, the more air molecules it has to move per unit time, so the force also ought to be proportional to some degree on velocity. Furthermore, the greater the radius or the cross sectional area of the ball, the greater volume of air has to be moved, making the drag force proportional to the cross sectional area as well. The formula for the drag force (2) (below) will be used for ball velocities above approximately 6 ms-1. (2)
FD=
1 2 C D v Av 2
CD(v) = drag coefficient (corrective constant, dependent on v at higher velocities [D1] but will be “constant” in these experiments) v = velocity (ms-1) ρ = air density A = cross sectional area (m2)
5
Henrik Feldt
Extended Essay
Physics Higher Level
Magnus effect The magnus effect is when a ball curves through the air. When the ball revolves around an axis a velocity gradient of the air is created around the ball because of friction [J1] [G1] – the velocities of the air molecules closest to the ball can be thought of as to be approaching zero [this is what friction is], because friction will inevitably make some molecules stay next to the surface. A velocity gradient means that the air molecules at different radii have different velocities. The effect (see Illustration 1)
Because of this, the molecules on the lower and upper part of the sphere will be sped up and slowed down, respectively. Because of the pressure difference (the higher the air speed the lower the pressure – air speed will be greater where the ball spins with the wind – on the bottom of the ball) [H1] [H2] [H3] or the pressure gradient now present over the cross section of the ball, a force will be created downwards, causing the ball to fall more rapidly than without a spin. (topspin) This force can be said to act orthogonal to both the axis of rotation and the velocity. It can be stated in a formula [L1]: (3)
Illustration 1: Illustration of velocity gradient & boundary layer. © Henrik.
3
F M = C M R mn × v
mn = ρ = air density [kg m-3] – because the greater the density, the more molecules will be in contact with the surface of the ball at any time. v = relative velocity of the ball with respect to the air [ms-1] – because the greater the velocity of the ball relative to the wind (or the other way around) [, the greater the friction. ω = angular velocity [rad s-1] – the faster the spin the greater the force – because a ball not spinning will experience no force, a ball spinning will.
1 0,8 0,6
Bottom spin
0,4
No spin
0,2 Top spin
0 0
0,2
0,4
0,6
0,8
1
1,2
1,4
1,6
1,8
2
2,2
-0,2 -0,4 -0,6 -0,8 -1
πR3 = specific cross sectional area for the Illustration 2: What paths with different ball spin could look ball times radius – the greater this is, the like. Simulation from program. Illustrative. greater the area in contact with air molecules. Projection angle: 51 degrees, Timespan: 720 milliseconds. Initial velocity: 5,6 m/s, Initial horizontal velocity: 3,52 m/s Initial vertical velocity: 4,35 m/s, Ball radius: 18,5 mm, Ball mass: 0,0025 kg, Drag coefficient: 0,7. Ang. = ± 300 rpm.
CM = magnus constant, determined experimentally. The relationship between the Reynolds number and this constant will not be investigated. There is also the wake deflection force [G2] when the wake is turbulent, when the ball spins. This can account for errors between the theory-experiments-comparisons in this essay at higher velocities, with high Reynolds numbers.
6
Henrik Feldt
Extended Essay
Physics Higher Level
Determining the Magnus force The ball has to spin around an axis while the air flows around the object; varying air velocities and speeds of revolution will change the magnitude of the force. The magnus force was found for a table tennis ball in order to find test the formula and to get a good coefficient for this type of ball which then will be used in the program as well to try to get the same paths. For this essay, the force's dependence on wind speed has been tested but with only one angular velocity (time-management). The relationship seems to fit the formula quite fine however. Other variables such as air density are assumed to be constant.
The table-tennis ball The experiment was to attach a transmission to the axis of a motor and then a metal rod with a small diameter (2r = 3.2 mm). The motor would be attached to a metal rod, in turn attached to a tripod. The motor, rod and ball would be allowed to hang free in a hinge. The angular velocity would then be measured with a stroboscope lamp. See image to the right.
Method for both fan To measure the magnus force you need to need to measure the horizontal displacement of the equipment to the right at different air velocities. This was done from footage from video camera and manipulated in Photoshop. Because of the extra mass the engine and axis adds – simple trigonometry cannot be used (because: where is the centre of mass?), but the displacement should instead be matched to an interpolated table (a graph) containing experimental values for displacement versus required force, created by simply measuring perpendicular force with a 1N-meter when pulling the package away from the vertical.
Experiment with fan Hold the opening of the fan close to the ball and move the fan along with the ball as the magnus force changes the position of the ball. Use same method of calculating pull as in the wind tunnel. See above for a more detailed account on method.
Illustration 3: Schematic diagram of rod attachment to motor, second version. © Henrik
Material • • • • • • • • •
Ping-pong ball, r = 0.01975 m ± 0.000025 m Transmission Hinge Bolts and nuts and wire Digital video camera Fan Motor. Max 3 V, 10 000 rpm (no load) Rod and transmission between the motor and the ball (crafted) Stroboscope lamp ± 50 Hz (uncertainty different for different frequency bands) 7
Henrik Feldt • • • • •
Extended Essay
Physics Higher Level
Variable power-source Voltmeter ± 0.005 V Variable power-source for the fan to vary wind velocity. 0-230 V. Tripod Wind-meter ± 0.05 ms-1.
Data
Illustration 4: No wind
Illustration 7: 12.3 ms-1
Illustration 5: 16.1 ms-1
Illustration 6: 13.9 ms-1
Illustration 8: 10.2 ms-1
Illustration 9: 8.0 ms-1
Illustration 10: 5.8 ms-1
Measuring the displacement from no wind gives the following values, where the wind velocity uncertainty is appreciated to be 0.1 ms-1 because the wind-meter partially obstructed the flow and because the flow wasn't all even:
8
Henrik Feldt
Extended Essay
Velocity [ms-1] Âą 0.01 ms-1
Physics Higher Level
Horiz disp [px] Âą 2 px
= Horiz disp [m]
5,8
47
0,024
8,0
96
0,050
10,2
106
0,055
12,3
203
0,106
13,9
245
0,127
16,1
284
0,148
Table 1: Magnus force acting on ball at approx 7400 rpm (as measured by the stroboscope lamp)
Measuring the resulting force empirically First we need to find the force corresponding to the horizontal displacement. This is done by measuring it with a Newton-meter as seen below:
Illustration 11: 0 N
Illustration 12: 0.04 N
Illustration 13: 0.04 N
Illustration 14: 0.06 N Illustration 15: 0.08 N
Values for 0, 0.2, 0.4, 0.6 and 0.8 N were measured. All photos were rotated by 1.7 degrees CCW to make up for the camera not being flat on the ground as can be seen in the last photo. The diameter of the ball is known to be 0.0395 m Âą 0.00005 m. The uncertainty on horizontal displacement is estimated. Processing the force versus displacement data gives
9
Henrik Feldt
Extended Essay
horiz. disp [px] Âą 2 px
Physics Higher Level
horiz disp. [m] Âą 0.001
Pull [N] Âą 0.01 N
43
0,022
0,02
117
0,061
0,04
194
0,101
0,06
272
0,141
0,08
% uncert
% uncert
4,65%
50,0%
1,71%
25,0%
1,03%
16,7%
0,74%
12,5%
Table 2: Table data and calculated data (in metres) used to calculate how big force there is depending on horizontal displacement of rod (i.e. the angle of it). Calculated via the same method in photoshop as used for drag. (see above). Uncertainty on horizontal displacement taken from uncertainty on measurements in photoshop. Pull [N] vs horizontal displacement [m] y = 0,5034x + 0,009 0,1 Max slope
0,08
0,141; 0,08 Min Slope
Pull force [N]
0,06
0,101; 0,06
0,04
0,061; 0,04 y = 0,334x + 0,0228
0,02
Min Slope
0,022; 0,02
y = 0,6573x - 0,0046
0 Max slope 0,020 0,000
0,040
0,060
0,080
0,100
0,120
0,140
0,160
-0,02 Horizontal Displacement [m]
Graph 1: Showing linear relationship between force of pull (Magnus) and horizontal displacement. Slopes suggests systematic errors in my measurements.
This is the graph that corresponds to the photos as seen above. It is used to find the force when doing the magnus experiments. The internal friction in newton meter should increase the uncertainty slightly, but since it was gently shook when doing the measurements to make it show the correct value, this uncertainty is ignored. The extra friction in the hinge could also increase uncertainty, but is ignored since it's hard to estimate a value for this and also because that friction ought to be pretty low. It could affect uncertainty because the angle produced by the magnus force would be lesser with higher friction in 10
Henrik Feldt
Extended Essay
Physics Higher Level
the hinge and hence not give an accurate reading. Uncertainty from slope
Max slope: 0.657, min slope: 0.334. Gives plus 30.6%, minus 33.4%. Total uncertainty for resulting pull force can hence be said to be 34%.
Magnus force data processing In order to find the magnus coefficient and then plot the paths in the program, the following can be plotted: Velocity [m s^-1] Âą 0.01
Hence force [N] (Magnus] Âą 0,01 N 5,8
0,02
8,0
0,03
10,2
0,04
12,3
0,06
13,9
0,07
16,1
0,08
Table 3: Plotted values for magnus force
Line of best fit y = 0,0634x - 0,1826
Magnus force versus wind (ball) velocity 0,10 0,09 0,08
Magnus force [N]
0,07 0,06 0,05 0,04 0,03 0,02 0,01 0,00 0,0
2,0
4,0
6,0
8,0
10,0
12,0
14,0
16,0
18,0
Wind velocity [ms^-1]
Graph 2: Showing Magnus force dependence on wind speed. Even though one value seems to be outside, its box touches the line of best fit.
The corresponding magnus force is done by simply using the equation for the line of best fit in 11
Henrik Feldt
Extended Essay
Physics Higher Level
graph 1: 0.5034x + 0.009.
Finding the magnus coefficient Plotting this F M = C M R3 × v gives the slope as the magnus coefficient: y = 0,2915x - 0,0183 2 R = 0,96
Magnus force versus pi*R^3*mn*w*v 0,10 0,09 0,08
Magnus force [N]
0,07 0,06 0,05 0,04
y = 0,1948x + 0,0039
0,03 0,02 0,01 0,00 0,00
y = 0,397x - 0,0428
0,05
0,10
0,15
0,20
0,25
0,30
0,35
0,40
pi * R^3 * mn * w * v [-]
Graph 3: The slope here can be used to find the magnus coefficient. The coefficient is hence 0.29 for the table-tennis ball.
The in graph above is used to find the magnus coefficient: 0.29 for the table-tennis ball. The error bars are 0.01 N on the drag force as could be found by the pull-experiment and 50/7400 + 0.1/v on the x-axis. The absolute uncertainties are found below: Abs. Uncertainties [-] 0,0092 0,0088 0,0085 0,0083 0,0082 0,0081 Table 4: Table showing the absolute uncertainties for the graph whose slope is the magnus coefficient
The total uncertainty on the magnus coefficient found from the slope (0.29) is hence minus 12
Henrik Feldt
Extended Essay
Physics Higher Level
0.29−0.19 0.397−0.2915 ≈0.33 = 33% plus ≈0.36 = 36 %. So the magnus coefficient is 0.29 0.29 max 0.39 and min 0.19. This experimental uncertainty is too big to be used in for example a PhDessay, but it given this equipment it's justifiable. (improvements found in Appendix 3.0)
Experiment conclusions This experiment went better. The magnus coefficient was determined to be approximately 0.29 for the ping pong ball by plotting graph 3 above and finding the slope.
13
Henrik Feldt
Extended Essay
Physics Higher Level
Getting real-world paths & fitting theory with experiments The value used in this essay for the drag coefficient is 0.5, which is taken from Wolfram Research. [E4]
The program The aim is to compare how the experimental results work compared to the theory. It uses the formulae discussed under the heading “Theory” and is built in C#.
Limitations to the program This program works for the limitations given in the introduction: it works best for velocities over 1.7 cm/s to approximately 80 m s-1 [E5]. Why? Because at approximately 1.7 cm/s the magnitude of the Illustration 16: Screenshot of my program drag/friction force going from adhering to the Stokes equation where no eddies are formed in the wake of the ball to adhering to (2): 1 2 F D = C D v Av [M1]. 2 F = 6 r v [M2] equal:
Making (2) and
½ C D r 2 v 2 = 6 r v v equality = C6rr = C12r 1 2
v equality =
D −5
12∗1.511∗10 0.5∗0.18∗1.205
2
D
=0.0167 m s−1
Where r is the ball radius [m] η is the fluid viscosity [N-s m2] [Appendix 1], and v is the ball's relative velocity and at 80 m s-1 the force of drag seizes to adhere to (2). The [E2] is perhaps not very reliable, but it still shows that the air velocity at which the flow turns from laminar to turbulent is greater than the velocities investigated here. Furthermore the program ignores the momentum transfer (friction) causing angular velocity to decrease.
The algorithm The program uses trigonometry. It evaluates the velocity and acceleration due to the three forces for small times spans, assuming constant velocity for these small times. First, create the loop that will simulate the path. Step is current time, jump is a double (a decimal number) which gives the size of each small step. The algorithm below is commented with double 14
Henrik Feldt
Extended Essay
Physics Higher Level
dashes in green. for (double step=0; step < end; step += jump) { //vt = d, add x-vel to x-pos b._X += b.XVelocity*jump; //find angle given velocities in horizontal and vertical directions with arctan [rad]. theta = Math.Atan(b.YVelocity/b.XVelocity); //get force of drag from ball object and take the horizontal component of this force. Write to variable xDrag. xDrag = b.GetDrag()*Math.Cos(theta); //same as for above, but the force is pi/2 radians to the velocity vector xMagnus = b.GetMagnus()*Math.Cos(Math.PI/2 + theta); //sum up the forces, calculate acceleration, multiply by time, add to velocity. b.XVelocity += ((xDrag + xMagnus)/b.Mass)*jump; //same as higher above b._Y += b.YVelocity*jump; //vertical component of drag force yDrag = b.GetDrag()*Math.Sin(theta); //vertical component of magnus force yMagnus = b.GetMagnus()*Math.Sin(theta+Math.PI/2); //sum up the forces in [N]. F/m = a. a*t = delta v. Bouyancy added up in GetGravity function b.YVelocity += ( (b.GetGravity() + yDrag + yMagnus)/b.Mass ) * jump; //write coordinates to main TextBox object writeC(Math.Round(b._X, 4).ToString() + "\t" + Math.Round(b._Y, 4).ToString() + "\t" + Math.Round(b.GetMagnus(), 5).ToString() #region Outputs not written out //+ Math.Round(b._Z, 4).ToString() + "\t" //+ Math.Round(xDrag, 4).ToString() + "\t" //+ Math.Round(yDrag, 4).ToString() + "\t" //+ Math.Round(b.XVelocity, 4).ToString() + "\t" //+ Math.Round(b.YVelocity, 4).ToString() #endregion ); //write time to the TextBox containing the times. step is the time writeT( Math.Round(step,3).ToString() ); }
Appendix 3.0 has contains all the code.
15
Henrik Feldt
Extended Essay
Physics Higher Level
Showing different paths Simulation 1 Trying 38 degrees and varying spin. Graph of no-spin plotted from same variables. Top spin
Under spin
Projection angle: 38 degrees Initial velocity: 10 m/s Ball radius: 17,5 mm Ball mass: 0,0025 kg Z-axis spin: 60 rps Drag coefficient: 0,5 Magnus coefficient: 0,29
Projection angle: 38 degrees Initial velocity: 10 m/s Ball radius: 17,5 mm Ball mass: 0,0025 kg Z-axis spin: -60 rps Drag coefficient: 0,5 Magnus coefficient: 0,29
Comparing a positive and negative spin of same magnitude Âą60 rps 2,5 2
under-spin
No spin
1,5
y-pos [m]
1 top-spin
0,5 0 0
1
2
3
4
5
6
7
8
-0,5 -1 -1,5 x-pos [m]
Graph 4: Plot from program. 60 revolutions per second
The ball with under spin travels longer and also seems to climb at the same rate for a longer period of time. The ball with top spin dives since the force in this case is directed inwards.
16
Henrik Feldt
Extended Essay
Physics Higher Level
Simulation 2 Greater angular velocity Top spin
Under spin
Projection angle: 38 degrees Initial velocity: 10 m/s Ball radius: 17,5 mm Ball mass: 0,0025 kg Z-axis spin: 100 rps Drag coefficient: 0,5 Magnus coefficient: 0,29
Projection angle: 38 degrees Initial velocity: 10 m/s Ball radius: 17,5 mm Ball mass: 0,0025 kg Z-axis spin: -100 rps Drag coefficient: 0,5 Magnus coefficient: 0,29
Comparing a positive and negative spin of same magnitude Âą100 rps 3,5 3 2,5 under-spin
y-pos [m]
2 No spin
1,5 1
top-spin
0,5 0 0
1
2
3
4
5
6
7
8
-0,5 -1 -1,5 x-pos [m]
Graph 5: Plot from program. 100 rps
With an angular velocity greater than that in graph 4 the ball with top spin goes below y-pos: 0 at approx. 3.7 metres compared to 4.2 metres when it had a slower spin. Ball with under-spin doesn't travel longer, actually, because during its longer sustained climb the drag force reduced its velocity.
17
Henrik Feldt
Extended Essay
Physics Higher Level
Comparing simulation 1 and 2 The varied parameter was angular velocity. Let's compare the under-spin and top-spin paths together with a flight path when the ball has no angular velocity. Comparing paths with varied angular velocity. Under-spin 3,5 Under-spin: -100 rps
3 2,5
Under-spin: -60 rps
y-pos [m]
2 No spin
1,5 1 0,5 0 0
1
2
3
4
5
6
7
8
-0,5 -1 -1,5 x-pos [m]
Graph 6: Paths from program. Comparing magnitudes of angular velocity. Under-spin. 38 degrees.
It can be seen that the greater the magnus force/angular velocity, the more pointier the shape of the path will be. It could also be observed that if the projection angle and the spin are large enough, the ball will make a loop/roll. (I've seen this personally on a video) Unfortunately this couldn't be shown since the program is written using trigonometry and not vectors. Also, a ball with greater angular velocity doesn't necessarily have to travel longer horizontally because of the drag force reducing the linear velocity (also because the magnus force has a component directed to the left [in the graph] that slows it down â&#x20AC;&#x201C; this component is more important in upcoming graphs). Besides that, the paths agree with the references found on the net.
18
Henrik Feldt
Extended Essay
Physics Higher Level
Doing the same for top spin renders us this: Comparing paths with varied angular velocity. Top-spin 2
No spin
1,5
Top-spin: 60 rps
y-pos [m]
1
0,5
Top-spin: 100 rps
0 0
1
2
3
4
5
6
7
-0,5
-1
-1,5 x-pos [m]
Graph 7: Comparing paths when varying angular velocity. 38 degrees.
So the greater the angular velocity the greater the force and the greater the rate of loss of height, because in this case the magnitude of the vertical component of the M. force is much greater than the magnitude of the horizontal component of the M. force. In the magnus experiment above the rotation speed is 100 rps (100*60 = 7400 rpm), so a similar ball launched with that angular velocity at 38 degrees should curve like the dark red lines.
19
Henrik Feldt
Extended Essay
Physics Higher Level
Simulation 3 To further justify the model, graphs where the initial angle is different (60 degrees) are also plotted: Top spin
Under spin
Projection angle: 60 degrees Initial velocity: 10 m/s Ball radius: 17,5 mm Ball mass: 0,0025 kg Z-axis spin: 25 rps Drag coefficient: 0,5 Magnus coefficient: 0,29
Projection angle: 60 degrees Initial velocity: 10 m/s Ball radius: 17,5 mm Ball mass: 0,0025 kg Z-axis spin: -25 rps Drag coefficient: 0,5 Magnus coefficient: 0,29
Comparing a positive and negative spin of same magnitude Âą25 rps 3,5 under-spin
3 2,5
No spin top-spin
y-pos [m]
2 1,5 1 0,5 0 0
1
2
3
4
5
6
-0,5 -1 -1,5 x-pos [m]
Graph 8: Differences in paths at lower angular velocities than in simulation 1 & 2. 60 degrees = initial angle.
It can be seen that even though the ball with top spin has the magnus force partially directed downwards (giving it a greater acceleration towards earth), it gains enough horizontal speed to be able to intersect the no-spin path again â&#x20AC;&#x201C; probably because until the max-point of the top-spin graph there has been a component of the magnus force directed in a positive horizontal direction. Following the same reasoning, it's easy to see why the ball with under-spin doesn't go as far as the other two â&#x20AC;&#x201C; the magnus force reduces its speed through the air, being perpendicular to the velocity. Insert velocity table
20
Henrik Feldt
Extended Essay
Physics Higher Level
Simulation 4 Greater angular velocity than in simulation 3. Top spin
Projection angle: 60 degrees Initial velocity: 10 m/s Ball radius: 17,5 mm Ball mass: 0,0025 kg Z-axis spin: 50 rps Drag coefficient: 0,5 Magnus coefficient: 0,29
Under spin
Projection angle: 60 degrees Initial velocity: 10 m/s Ball radius: 17,5 mm Ball mass: 0,0025 kg Z-axis spin: -50 rps Drag coefficient: 0,5 Magnus coefficient: 0,29
Comparing a positive and negative spin of same magnitude Âą50 rps 3,5 under-spin
3 2,5
top-spin
y-pos [m]
2
No spin
1,5 1 0,5 0 0
1
2
3
4
5
6
-0,5 -1 -1,5 x-pos [m]
Graph 9: Greater angular velocity than in simulation 3. 60 degrees = initial angle.
The under-spin graph peaks more and the top-spin graph dives steeper than in Simulation 3 because of the higher rotational speed. The reason that the under-spin graph intersects y=0 much closer to the launching point than in e.g. Graph 8 & 6 is that the initial angle is much greater and hence a larger portion of the M. Force is directed to the left (backwards) cause the ball's velocity to decrease. (to a larger extent than for a lower angle)
21
Henrik Feldt
Extended Essay
Physics Higher Level
Comparing – varying angular velocity Comparing paths with varied angular velocity Top spin 3 No spin
2,5
25 rps 50 rps
2
60 rps
y-pos [m]
1,5 1 0,5 0 0
1
2
3
4
5
6
-0,5 -1 -1,5 x-pos [m]
Graph 10: Graph showing correlation between quickness of dive and magnitude of top-spin
The greater the angular velocity, the quicker the dive – M. force directed downwards – magnitude of force proportional to angular velocity (see theory and previsous graphs) Next, under-spin:
22
Henrik Feldt
Extended Essay
Physics Higher Level
Comparing paths with varied angular velocity Under spin 3,5 3 2,5
y-pos [m]
2
Under spin 50 rps
1,5
Under spin 25 rps
Under spin 60 rps
1
No spin
0,5 0 0
1
2
3
4
5
6
-0,5 -1 -1,5 x-pos [m]
Graph 11: Graph showing correlation between magnitude of under-spin and shape of path of ball in air - the greater the angular velocity the more the ball will decelerate before "stalling" and starting to fall against the ground.
The greater the angular velocity the more the ball will decelerate before "stalling" and starting to fall against the ground. The conclusions that can be drawn from these graphs are that for top-spin, the greater the angular velocity the quicker the dive â&#x20AC;&#x201C; for lower angular velocities the horizontal component of the M. force can actually cause the ball to move close to the path of no spin. For under-spin at higher angles, the ball will tend to fly in a more peaked path as can be seen in graph 11, but comparing graph 6 for 60 rps and graph 11 for 60 rps it can be noted that the more flack path will let the ball travel longer because the horizontal component of the magnus force resisting the horizontal motion is smaller for more flack launches. This agrees with descriptions from baseball-pros saying that balls with spin on them are harder to nail because they don't fall like â&#x20AC;&#x153;normalâ&#x20AC;? balls. Next up, we will be fitting this theory together with filmed experimental paths to show that this program is good at what it's written for.
23
Henrik Feldt
Extended Essay
Physics Higher Level
Experimental data I filmed a person hitting a table-tennis ball with a ping-pong racket. The initial velocities could be gotten from the first few frames. These paths can be seen hereunder and will be compared to the paths for equal circumstances gotten from the program. The light collected from the camera is assumed to be snapshots and not an ongoing collection of light, because if that was the case the balls wouldn't be so distinct. The true exposure time is unknown, but it's probably around 1/60 s or lower since the balls are pretty distinct.
Illustration 17: Getting data
24
Henrik Feldt
Extended Essay
Physics Higher Level
Data and uncertainties
Frame
Under-spin
Top Spin
1 m = 183 px
1 m = 183 px
x [px]
y [px]
x [px]
Uncert abs approx. (both) [px]
y [px]
1
0
0
0
0
5
2
51
28
47
36
5
3
99
50
98
70
4
4
153
74
150
98
4
5
206
91
197
120
3
6
255
108
244
136
3
7
304
121
291
148
2
8
351
131
335
155
2
9
394
138
379
156
2
10
437
142
421
154
2
11
478
143
462
147
2
12
518
141
501
136
2
13
558
138
540
119
2
14
595
131
576
98
2
15
631
122
611
75
3
16
655
110
644
40
4
Table 5: Table showing acquired data from film. Frame number shown to the left, approximated uncertainty for both films found to the right - is applied to both data batches.
The uncertainty is approximated by looking at how blurry the ball is and how high the contrast (ball-whiteboard) is – in the first few frames, the ball was rather blurry, hence these frames are given a higher uncertainty value. The “coordinates” are then translated to metres by measuring the length in pixels of the ruler lying under the whiteboard. The result was that 1 m = 183px. (This uncertainty is not factored into the total uncertainty for ball path – limitation)
Illustration 18: Coordinate found by using the pixel where the two cyan lines intersect over the ball-"shadow", early frame = high uncertainty.
One systematic error is that the camera accidentally was rotated (because of the tripod), so the plotted points will have this systematic error on them. The problem can be seen to the left.
Illustration 19: One frame of many
25
Henrik Feldt
Extended Essay
Physics Higher Level
Transforming table 3 into metres ([px] * 1/183 = [m]):
Under spin Frame
x [m]
Top Spin y [m]
x [m]
y [m]
Uncert abs * 1/183 (both) [m]
1
0,00
0,00
0,00
0,00
0,027
2
0,28
0,15
0,26
0,20
0,027
3
0,54
0,27
0,54
0,38
0,022
4
0,84
0,40
0,82
0,54
0,022
5
1,13
0,50
1,08
0,66
0,016
6
1,39
0,59
1,33
0,74
0,016
7
1,66
0,66
1,59
0,81
0,011
8
1,92
0,72
1,83
0,85
0,011
9
2,15
0,75
2,07
0,85
0,011
10
2,39
0,78
2,30
0,84
0,011
11
2,61
0,78
2,52
0,80
0,011
12
2,83
0,77
2,74
0,74
0,011
13
3,05
0,75
2,95
0,65
0,011
14
3,25
0,72
3,15
0,54
0,011
15
3,45
0,67
3,34
0,41
0,016
16
3,58
0,60
3,52
0,22
0,022
7,9
Initial v [m/s] ± 9 % = ± 0,7 m/s
8,1
Initial v [m/s] ± 9 % = ± 0,7 m/s Initial angle [deg]
28,8
37,5
Table 6: Table showing converted coordinates (into metres), initial velocity and initial angle. It also shows the absolute uncertainties. Plotted below in “Graph 12: Plotted experimental paths“
Where the initial velocity, vi is deduced in the lower part according to this formula (on frame 2): x 2 y 2½ distance −1 vi = = =[m s ] 1 / 25 time
Uncertainties are higher for initial points because of the blurriness and lack of contrast of the ball against the board. The uncertainty for each point is approximated to be as can be seen in the following table for both data batches (similar enough):
26
Henrik Feldt
Extended Essay
Physics Higher Level
This data is plotted with error bars below: Experiments with both under and top spin on the ball 1,00 0,90 0,80 This ball has under-spin 0,70
y-pos [m]
0,60 0,50 0,40 0,30
This ball has top-spin and hence falls faster
0,20 0,10
-0,50
0,00 0,00
0,50
1,00
1,50
2,00
2,50
3,00
3,50
4,00
-0,10 x-pos [m]
Graph 12: Plotted experimental paths
The ball with top spin should be falling faster, and this experiments gives evidence for the effect – the ball with top-spin had an initial velocity of 8.1 ms-1 whilst the one with bottom-spin had its initial velocity: 8.0 ms-1. The ball with top spin was fired as a slightly greater angle – 37 degrees compared to 29 degrees. Ceteris paribus, these ball with top-spin should have gone longer, but because of the magnus effect it didn't.
Making theory fit reality It's possible to plot the paths together with similar simulations, using a drag coefficient of 0.5 and changing the initial velocity within the range of the uncertainty of 9% gotten from the measurements on the images: 0,027/(0,282 + 0,152)½ ≈ 0.09. Initial angle is also varied within this band to make the theoretical path fit the experimental.
27
Henrik Feldt
Extended Essay
Physics Higher Level
Below the two plots can be seen: Plot of simulations and experimental path when ball has top-spin 1,2
1
Simulation: no spin Same variables
0,8
y-pos [m]
0,6 Simulation: top-spin Angular velocity: 48 rps * 2 PI Projection angle: 38 degrees Initial velocity: 8,6 ms^-1 Ball mass: 0,0025 kg Timespan: 640 ms Drag coefficient: 0,5
0,4
0,2
Experimental points
0 -0,5
0
0,5
1
1,5
2
2,5
3
3,5
4
-0,2 x-pos [m] Sim no top spin
Sim top spin
Experiment top spin
Graph 13: Plot of simulation with no spin, simulation aimed to fit experimental data and finally experimental data. Program settings are shown in the white boxes.
One error here is that the angular velocity for the ball for top spin (fall less fast in the end).
28
Henrik Feldt
Extended Essay
Physics Higher Level
Plot of simulations and experimental path when ball has under-spin 0,9 0,8 0,7
y-pos [m]
Simulation: under-spin Angular 0,6 velocity: -23 rps * 2 PI Projection angle: 28 degrees Initial velocity: 8,3 ms^-1 Ball 0,5 mass: 0,0025 kg Timespan: 640 ms Drag coefficient: 0,5 0,4
Experimental points
Simulation: no spin Same variables
0,3 0,2 0,1 0 -0,5
0
0,5
1
1,5
2
2,5
3
3,5
4
-0,1 x-pos [m] Sim no spin same circum
Sim top spin
Exp. top spin. ? rps
Graph 14: Plot of simulation with no spin, simulation aimed to fit experimental data and finally experimental data. Program settings are shown in the white boxes.
One error as stated above – the rotation of the camera – in the graph of top spin: the simulation would probably look better if I had rotated all images by a couple of degrees (as seen by the black arrow in graph 13 above. Also, the decrease in rotation during the flight would cause the ball to fall faster in the end than this simulation states for under-spin – vice versa for top spin (fall less fast in the end).
Conclusion There are possible improvements to this essay. A great improvement would be to take photos of table tennis balls in the wind tunnel.1 A ball machine could also be used effectively together with a high-speed camera to measure how much the ball changes course. Lastly, a more exact Newtonmeter to measure the force needed to displace rod & engine could be used. It was found that for the magnus force, the experiments carried out were quite good at providing an accurate number for the force, but high uncertainties made it less precise. The M. coefficient was found to be 0.29 ± 0.1 which then was used in the program to be able to plot accurate paths. The program itself had a few limitations and also managed to fit the model to the experiments. You could argue that this would have been the case no matter what since the angular velocity was changed till a fitting path was found, which indeed is a drawback of the method. A high speed camera would be great to use to find the angular velocity for each ball path, but all in all the theory and the program fitted together well. 1 Furthermore, it would be very interesting to take photos of boundary layer as well as wake at different velocities using smoke in the wind tunnel to be able to see when the Reynolds number corresponds to a turbulent wake and perhaps to discuss the flow-separation point and hence the wake net force.
29
Henrik Feldt
Extended Essay
Physics Higher Level
It was shown that top-spin, i.e. a positive angular velocity will cause the ball to curve against the pressure build-up on top – i.e. downwards, as can be seen in the picture to the left, creating the magnus force. An under-spin would cause it to climb longer, causing the ball to be exposed to drag for a longer time before reaching the ground again. All-in-all the essay was successful in providing an answer to: “How does spin of a ball around the axis perpendicular to the velocitygravity plane affect the path of the ball in air when launched?”.
30
Henrik Feldt
Extended Essay
Physics Higher Level
Appendix Source of data, constants etc.
Appendix 1.0 – air properties Kinematic Specific heat Thermal viscosity Temperature Density capacity conductivity -t-ρν x 10-6 - cp -lo 3 (m2/s) ( C) (kg/m ) (kJ/kg.K) (W/m.K) -150 2,79 1,03 0,01 3,08 -100 1,98 1,01 0,02 5,95 -50 1,53 1,01 0,02 9,55 0 1,29 1,01 0,02 13,3 20 1,21 1,01 0,03 15,11 40 1,13 1,01 0,03 16,97 60 1,07 1,01 0,03 18,9 80 1 1,01 0,03 20,94 100 0,95 1,01 0,03 23,06 120 0,9 1,01 0,03 25,23 140 0,85 1,01 0,03 27,55 160 0,82 1,02 0,04 29,85 180 0,78 1,02 0,04 32,29 200 0,75 1,03 0,04 34,63 250 0,68 1,03 0,04 41,17 300 0,62 1,05 0,05 47,85 350 0,57 1,06 0,05 55,05 400 0,52 1,07 0,05 62,53 Table 7: http://www.engineeringtoolbox.com/air-properties-d_156.html
Expansion coefficient b x 10-3 (1/K) 8,21 5,82 4,51 3,67 3,43 3,2 3 2,83 2,68 2,55 2,43 2,32 2,21 2,11 1,91 1,75 1,61 1,49
Prandtl's number Pr 0,76 0,74 0,73 0,72 0,71 0,71 0,71 0,71 0,7 0,7 0,7 0,69 0,69 0,69 0,68 0,68 0,68 0,68
Appendix 2.0 – improvements on Magnus experiment. Uncertainties and improvements for magnus experiment •
Hit/touch rod or camera when measuring-> Fasten the camera
•
High drag --> displacement towards camera of rod+ball = more fric = more oscillations --> higher friction in motor caused rotational frequency to change slightly. (~50-100 rpm)
•
Newton-meter had high percentage uncertainty. A more precise newton-meter should be used.
•
Drag caused distance from fan to ball to change from measurement to measurement. Also the air in the room became turbulent. Improvement: wind tunnel.
31 Illustration 20: Pic. showing lens distortion
Henrik Feldt
Extended Essay
Physics Higher Level
•
Is fan directed orthogonal to axis of rotation? It had to be positioned manually. Fasten camera right above to position equipment better.
•
Rotating picture to make up for camera shooting parallel to floor. (this could easily be improved like in the wind tunnel where the camera was fastened)
•
Lens distortion2. Improved by using better camera.
•
Ball moving in uneven flow from fan increasing uncertainty.
2 See picture (Illustration 20)
32
Henrik Feldt
Extended Essay
Physics Higher Level
Appendix 3.0 â&#x20AC;&#x201C; Program Two classes. App.cs which also is the WinForms. BallClass.cs which is the functions for calculating magnus force, drag force, ball velocity and a container for ball and experiment properties and circumstances. They are both to be compiled into an executable. There is some redundant functions, but they do no harm. App.cs using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; namespace x_y_drag { /// <summary> /// The main winForm that shows the data. It uses BallClass.cs /// </summary> public class Drag : System.Windows.Forms.Form { #region Declarations /// <summary> /// Where all the deklarations go /// </summary> private System.Windows.Forms.Panel Variables; private System.Windows.Forms.StatusBar statusBar1; private System.Windows.Forms.MainMenu mainMenu1; private System.Windows.Forms.TextBox txtInitV; private System.Windows.Forms.TextBox txtInitAng; private System.Windows.Forms.TextBox txtOutput; private System.Windows.Forms.TextBox txtTurnsX; private System.Windows.Forms.TextBox txtTurnsZ; private System.Windows.Forms.TextBox txtTurnsY; private System.Windows.Forms.TextBox txtBallR; private System.Windows.Forms.Button btnStart; private System.Windows.Forms.Button btnReset; private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label5; private System.Windows.Forms.MenuItem mnuAirResistance; private System.Windows.Forms.MenuItem mnuMain; private System.Windows.Forms.MenuItem mnuReset; private System.Windows.Forms.MenuItem mnuQuit; private System.Windows.Forms.MenuItem mnuOptions; private System.Windows.Forms.TextBox txtC_d; private System.Windows.Forms.TextBox txtBallM; private System.Windows.Forms.TextBox txtSimTime; private System.Windows.Forms.Label lblTime; private System.Windows.Forms.TextBox txtTime; private System.Windows.Forms.TextBox txtRenolds; private System.Windows.Forms.Button btnCalculateRenolds; private System.Windows.Forms.TextBox txtCoordinates; private System.Windows.Forms.Label lblV; private System.Windows.Forms.Label lblDragCoefficient; private System.Windows.Forms.Label lblBallMass;
33
Henrik Feldt
Extended Essay
Physics Higher Level
private System.Windows.Forms.Label lblTimeSpan; private System.Windows.Forms.Label lblAngV; private System.Windows.Forms.Label lblBallR; private System.Windows.Forms.Label lblAng; private System.Windows.Forms.Label lblCalcReynolds; private System.Windows.Forms.Label label1; private System.Windows.Forms.Label lblVelocity; private System.Windows.Forms.TextBox txtC_m; private System.Windows.Forms.Label label2; private double g = -9.82; // m s^-2 #endregion /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.Container components = null; public Drag() { // // Required for Windows Form Designer support // InitializeComponent(); } /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.txtInitV = new System.Windows.Forms.TextBox(); this.txtInitAng = new System.Windows.Forms.TextBox(); this.txtBallR = new System.Windows.Forms.TextBox(); this.txtTurnsX = new System.Windows.Forms.TextBox(); this.lblV = new System.Windows.Forms.Label(); this.Variables = new System.Windows.Forms.Panel(); this.txtC_m = new System.Windows.Forms.TextBox(); this.label1 = new System.Windows.Forms.Label(); this.txtC_d = new System.Windows.Forms.TextBox(); this.lblDragCoefficient = new System.Windows.Forms.Label(); this.txtBallM = new System.Windows.Forms.TextBox();
34
Henrik Feldt
Extended Essay
Physics Higher Level
this.lblBallMass = new System.Windows.Forms.Label(); this.txtSimTime = new System.Windows.Forms.TextBox(); this.lblTimeSpan = new System.Windows.Forms.Label(); this.txtTurnsZ = new System.Windows.Forms.TextBox(); this.lblAngV = new System.Windows.Forms.Label(); this.txtTurnsY = new System.Windows.Forms.TextBox(); this.label5 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); this.lblBallR = new System.Windows.Forms.Label(); this.lblAng = new System.Windows.Forms.Label(); this.statusBar1 = new System.Windows.Forms.StatusBar(); this.mainMenu1 = new System.Windows.Forms.MainMenu(); this.mnuMain = new System.Windows.Forms.MenuItem(); this.mnuReset = new System.Windows.Forms.MenuItem(); this.mnuQuit = new System.Windows.Forms.MenuItem(); this.mnuOptions = new System.Windows.Forms.MenuItem(); this.mnuAirResistance = new System.Windows.Forms.MenuItem(); this.btnStart = new System.Windows.Forms.Button(); this.txtOutput = new System.Windows.Forms.TextBox(); this.txtCoordinates = new System.Windows.Forms.TextBox(); this.btnReset = new System.Windows.Forms.Button(); this.lblTime = new System.Windows.Forms.Label(); this.txtTime = new System.Windows.Forms.TextBox(); this.txtRenolds = new System.Windows.Forms.TextBox(); this.btnCalculateRenolds = new System.Windows.Forms.Button(); this.lblCalcReynolds = new System.Windows.Forms.Label(); this.lblVelocity = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.Variables.SuspendLayout(); this.SuspendLayout(); // // txtInitV // this.txtInitV.Location = new System.Drawing.Point(165, 7); this.txtInitV.Name = "txtInitV"; this.txtInitV.Size = new System.Drawing.Size(44, 20); this.txtInitV.TabIndex = 1; this.txtInitV.Text = "5,6"; this.txtInitV.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; // // txtInitAng // this.txtInitAng.Location = new System.Drawing.Point(165, 31); this.txtInitAng.Name = "txtInitAng"; this.txtInitAng.Size = new System.Drawing.Size(45, 20); this.txtInitAng.TabIndex = 2; this.txtInitAng.Text = "51"; this.txtInitAng.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; // // txtBallR // this.txtBallR.Location = new System.Drawing.Point(165, 55); this.txtBallR.Name = "txtBallR"; this.txtBallR.Size = new System.Drawing.Size(45, 20); this.txtBallR.TabIndex = 3; this.txtBallR.Text = "18,5"; this.txtBallR.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; // // txtTurnsX
35
Henrik Feldt
Extended Essay
Physics Higher Level
// this.txtTurnsX.Enabled = false; this.txtTurnsX.Location = new System.Drawing.Point(165, 103); this.txtTurnsX.Name = "txtTurnsX"; this.txtTurnsX.Size = new System.Drawing.Size(46, 20); this.txtTurnsX.TabIndex = 4; this.txtTurnsX.Text = "0"; this.txtTurnsX.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; // // lblV // this.lblV.Location = new System.Drawing.Point(8, 8); this.lblV.Name = "lblV"; this.lblV.Size = new System.Drawing.Size(128, 16); this.lblV.TabIndex = 5; this.lblV.Text = "Initial v[m/s]"; // // Variables // this.Variables.Controls.Add(this.txtC_m); this.Variables.Controls.Add(this.label1); this.Variables.Controls.Add(this.txtC_d); this.Variables.Controls.Add(this.lblDragCoefficient); this.Variables.Controls.Add(this.txtBallM); this.Variables.Controls.Add(this.lblBallMass); this.Variables.Controls.Add(this.txtSimTime); this.Variables.Controls.Add(this.lblTimeSpan); this.Variables.Controls.Add(this.txtTurnsZ); this.Variables.Controls.Add(this.lblAngV); this.Variables.Controls.Add(this.txtTurnsY); this.Variables.Controls.Add(this.label5); this.Variables.Controls.Add(this.label4); this.Variables.Controls.Add(this.lblBallR); this.Variables.Controls.Add(this.lblAng); this.Variables.Controls.Add(this.lblV); this.Variables.Controls.Add(this.txtInitV); this.Variables.Controls.Add(this.txtInitAng); this.Variables.Controls.Add(this.txtBallR); this.Variables.Controls.Add(this.txtTurnsX); this.Variables.Location = new System.Drawing.Point(8, 8); this.Variables.Name = "Variables"; this.Variables.Size = new System.Drawing.Size(216, 248); this.Variables.TabIndex = 6; this.Variables.Tag = ""; // // txtC_m // this.txtC_m.Location = new System.Drawing.Point(165, 223); this.txtC_m.Name = "txtC_m"; this.txtC_m.Size = new System.Drawing.Size(47, 20); this.txtC_m.TabIndex = 20; this.txtC_m.Text = "0,29"; this.txtC_m.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; // // label1 // this.label1.Location = new System.Drawing.Point(8, 224); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(100, 14);
36
Henrik Feldt
Extended Essay
Physics Higher Level
this.label1.TabIndex = 19; this.label1.Text = "Magnus coefficient"; // // txtC_d // this.txtC_d.Location = new System.Drawing.Point(165, 199); this.txtC_d.Name = "txtC_d"; this.txtC_d.Size = new System.Drawing.Size(47, 20); this.txtC_d.TabIndex = 18; this.txtC_d.Text = "0,5"; this.txtC_d.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; // // lblDragCoefficient // this.lblDragCoefficient.Location = new System.Drawing.Point(8, 200); this.lblDragCoefficient.Name = "lblDragCoefficient"; this.lblDragCoefficient.Size = new System.Drawing.Size(100, 16); this.lblDragCoefficient.TabIndex = 17; this.lblDragCoefficient.Text = "Drag coefficient"; // // txtBallM // this.txtBallM.Location = new System.Drawing.Point(165, 79); this.txtBallM.Name = "txtBallM"; this.txtBallM.Size = new System.Drawing.Size(45, 20); this.txtBallM.TabIndex = 16; this.txtBallM.Text = "0,0025"; this.txtBallM.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; // // lblBallMass // this.lblBallMass.Location = new System.Drawing.Point(8, 80); this.lblBallMass.Name = "lblBallMass"; this.lblBallMass.Size = new System.Drawing.Size(100, 16); this.lblBallMass.TabIndex = 15; this.lblBallMass.Text = "Mass of ball [kg]"; // // txtSimTime // this.txtSimTime.Location = new System.Drawing.Point(165, 175); this.txtSimTime.Name = "txtSimTime"; this.txtSimTime.Size = new System.Drawing.Size(47, 20); this.txtSimTime.TabIndex = 14; this.txtSimTime.Text = "720"; this.txtSimTime.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; // // lblTimeSpan // this.lblTimeSpan.Location = new System.Drawing.Point(8, 176); this.lblTimeSpan.Name = "lblTimeSpan"; this.lblTimeSpan.Size = new System.Drawing.Size(136, 16); this.lblTimeSpan.TabIndex = 13; this.lblTimeSpan.Text = "Sim. time span [ms]"; // // txtTurnsZ // this.txtTurnsZ.Location = new System.Drawing.Point(165, 151); this.txtTurnsZ.Name = "txtTurnsZ"; this.txtTurnsZ.Size = new System.Drawing.Size(46, 20);
37
Henrik Feldt
Extended Essay
Physics Higher Level
this.txtTurnsZ.TabIndex = 12; this.txtTurnsZ.Text = "-5"; this.txtTurnsZ.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; // // lblAngV // this.lblAngV.Location = new System.Drawing.Point(8, 152); this.lblAngV.Name = "lblAngV"; this.lblAngV.Size = new System.Drawing.Size(144, 16); this.lblAngV.TabIndex = 11; this.lblAngV.Text = "Turns/s, around z-axis [rps]"; // // txtTurnsY // this.txtTurnsY.Enabled = false; this.txtTurnsY.Location = new System.Drawing.Point(165, 127); this.txtTurnsY.Name = "txtTurnsY"; this.txtTurnsY.Size = new System.Drawing.Size(46, 20); this.txtTurnsY.TabIndex = 10; this.txtTurnsY.Text = "0"; this.txtTurnsY.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; // // label5 // this.label5.Location = new System.Drawing.Point(8, 128); this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(142, 16); this.label5.TabIndex = 9; this.label5.Text = "Turns/s, around y-axis [rps]"; // // label4 // this.label4.Location = new System.Drawing.Point(8, 104); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(144, 16); this.label4.TabIndex = 8; this.label4.Text = "Turns/s, around x-axis [rps]"; // // lblBallR // this.lblBallR.Location = new System.Drawing.Point(8, 56); this.lblBallR.Name = "lblBallR"; this.lblBallR.Size = new System.Drawing.Size(136, 16); this.lblBallR.TabIndex = 7; this.lblBallR.Text = "Radius of ball [mm]"; // // lblAng // this.lblAng.Location = new System.Drawing.Point(8, 32); this.lblAng.Name = "lblAng"; this.lblAng.Size = new System.Drawing.Size(152, 16); this.lblAng.TabIndex = 6; this.lblAng.Text = "Initial angle [degrees]"; // // statusBar1 // this.statusBar1.Location = new System.Drawing.Point(0, 538); this.statusBar1.Name = "statusBar1"; this.statusBar1.Size = new System.Drawing.Size(774, 16);
38
Henrik Feldt
Extended Essay
Physics Higher Level
this.statusBar1.TabIndex = 7; this.statusBar1.Text = "By Henrik Feldt 2005-2006"; // // mainMenu1 // this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { this.mnuMain, this.mnuOptions}); // // mnuMain // this.mnuMain.Index = 0; this.mnuMain.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { this.mnuReset, this.mnuQuit}); this.mnuMain.Text = "Main"; // // mnuReset // this.mnuReset.Index = 0; this.mnuReset.Text = "Reset"; this.mnuReset.Click += new System.EventHandler(this.menuItem2_Click); // // mnuQuit // this.mnuQuit.Index = 1; this.mnuQuit.Text = "Quit"; this.mnuQuit.Click += new System.EventHandler(this.menuItem3_Click); // // mnuOptions // this.mnuOptions.Index = 1; this.mnuOptions.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { this.mnuAirResistance}); this.mnuOptions.Text = "Options"; // // mnuAirResistance // this.mnuAirResistance.Checked = true; this.mnuAirResistance.Index = 0; this.mnuAirResistance.Text = "Air resistance"; this.mnuAirResistance.Click += new System.EventHandler(this.mnuAirResistance_Click); // // btnStart // this.btnStart.Location = new System.Drawing.Point(8, 336); this.btnStart.Name = "btnStart"; this.btnStart.Size = new System.Drawing.Size(216, 23); this.btnStart.TabIndex = 8; this.btnStart.Text = "Acquire data!"; this.btnStart.Click += new System.EventHandler(this.btnStart_Click); // // txtOutput //
39
Henrik Feldt
Extended Essay
Physics Higher Level
this.txtOutput.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); this.txtOutput.Location = new System.Drawing.Point(8, 400); this.txtOutput.Multiline = true; this.txtOutput.Name = "txtOutput"; this.txtOutput.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; this.txtOutput.Size = new System.Drawing.Size(216, 128); this.txtOutput.TabIndex = 9; this.txtOutput.Text = ""; // // txtCoordinates // this.txtCoordinates.AccessibleRole = System.Windows.Forms.AccessibleRole.Table; this.txtCoordinates.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); this.txtCoordinates.Location = new System.Drawing.Point(232, 16); this.txtCoordinates.MaxLength = 500000; this.txtCoordinates.Multiline = true; this.txtCoordinates.Name = "txtCoordinates"; this.txtCoordinates.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; this.txtCoordinates.Size = new System.Drawing.Size(464, 512); this.txtCoordinates.TabIndex = 10; this.txtCoordinates.Text = ""; this.txtCoordinates.DoubleClick += new System.EventHandler(this.txtCoordinates_DoubleClick); // // btnReset // this.btnReset.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.btnReset.Location = new System.Drawing.Point(8, 368); this.btnReset.Name = "btnReset"; this.btnReset.Size = new System.Drawing.Size(216, 23); this.btnReset.TabIndex = 14; this.btnReset.Text = "Reset all"; this.btnReset.Click += new System.EventHandler(this.btnReset_Click); // // lblTime // this.lblTime.Font = new System.Drawing.Font("Arial Narrow", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); this.lblTime.Location = new System.Drawing.Point(704, 0); this.lblTime.Name = "lblTime"; this.lblTime.Size = new System.Drawing.Size(32, 16); this.lblTime.TabIndex = 17; this.lblTime.Text = "Time"; // // txtTime // this.txtTime.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); this.txtTime.Location = new System.Drawing.Point(704, 16); this.txtTime.Multiline = true; this.txtTime.Name = "txtTime"; this.txtTime.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; this.txtTime.Size = new System.Drawing.Size(64, 512); this.txtTime.TabIndex = 18; this.txtTime.Text = ""; // // txtRenolds
40
Henrik Feldt
Extended Essay
Physics Higher Level
// this.txtRenolds.Location = new System.Drawing.Point(152, 304); this.txtRenolds.MaxLength = 10; this.txtRenolds.Name = "txtRenolds"; this.txtRenolds.Size = new System.Drawing.Size(40, 20); this.txtRenolds.TabIndex = 19; this.txtRenolds.Text = "35"; this.txtRenolds.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; // // btnCalculateRenolds // this.btnCalculateRenolds.Location = new System.Drawing.Point(200, 304); this.btnCalculateRenolds.Name = "btnCalculateRenolds"; this.btnCalculateRenolds.Size = new System.Drawing.Size(20, 20); this.btnCalculateRenolds.TabIndex = 20; this.btnCalculateRenolds.Text = ">"; this.btnCalculateRenolds.Click += new System.EventHandler(this.btnCalculateRenolds_Click); // // lblCalcReynolds // this.lblCalcReynolds.Location = new System.Drawing.Point(16, 264); this.lblCalcReynolds.Name = "lblCalcReynolds"; this.lblCalcReynolds.Size = new System.Drawing.Size(200, 27); this.lblCalcReynolds.TabIndex = 21; this.lblCalcReynolds.Text = "Calculate the Reynolds number given radius and velocity."; // // lblVelocity // this.lblVelocity.Location = new System.Drawing.Point(16, 307); this.lblVelocity.Name = "lblVelocity"; this.lblVelocity.Size = new System.Drawing.Size(104, 16); this.lblVelocity.TabIndex = 22; this.lblVelocity.Text = "Ball velocity [m/s]"; // // label2 // this.label2.Font = new System.Drawing.Font("Arial Narrow", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); this.label2.Location = new System.Drawing.Point(232, 0); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(136, 16); this.label2.TabIndex = 23; this.label2.Text = "Program output"; // // Drag // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(774, 554); this.Controls.Add(this.label2); this.Controls.Add(this.lblVelocity); this.Controls.Add(this.lblCalcReynolds); this.Controls.Add(this.btnCalculateRenolds); this.Controls.Add(this.txtRenolds); this.Controls.Add(this.txtTime); this.Controls.Add(this.lblTime); this.Controls.Add(this.btnReset); this.Controls.Add(this.txtCoordinates); this.Controls.Add(this.txtOutput);
41
Henrik Feldt
Extended Essay
Physics Higher Level
this.Controls.Add(this.btnStart); this.Controls.Add(this.statusBar1); this.Controls.Add(this.Variables); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D; this.Menu = this.mainMenu1; this.Name = "Drag"; this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Show; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "Ball path simulator"; this.Variables.ResumeLayout(false); this.ResumeLayout(false); } #endregion /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.Run(new Drag()); } private void menuItem3_Click(object sender, System.EventArgs e) { txtOutput.Text += "Exiting application..." + System.Environment.NewLine; Application.Exit(); } private void menuItem2_Click(object sender, System.EventArgs e) { txtOutput.Text += "Resetting variables..." + System.Environment.NewLine; clearAll(); } /// <summary> /// This is called when the button to start the simulation is pressed. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnStart_Click(object sender, System.EventArgs e) { startSimulation(); } /// <summary> /// This function handles the simulation of the path. It features an algorith developed by myself, ( /// but it's surely widely used). It's simply a loop that /// </summary> private void startSimulation() { btnStart.Enabled = false; wO("Starting simulation..."); Ball b = getVarsFromTextBoxes(); tellVariables(b); if (mnuAirResistance.Checked) wO("Drag is on"); else wO("Drag is off!");
42
Henrik Feldt
Extended Essay
Physics Higher Level
double end = Convert.ToDouble(txtSimTime.Text)/1000; double jump = 0.005; double xDrag, yDrag; //Forces double xMagnus, yMagnus; double theta; writeC("X-pos:\tY-pos:\tMagnus force:"); //\tZ-pos:\tDrag-x\tDrag-y:\tX-vel\tY-vel writeT("Time"); for (double step=0; step < end; step += jump) { b._X += b.XVelocity*jump; //vt = d theta = Math.Atan(b.YVelocity/b.XVelocity); xDrag = b.GetDrag()*Math.Cos(theta); xMagnus = b.GetMagnus()*Math.Cos(Math.PI/2 + theta); b.XVelocity += ((xDrag + xMagnus)/b.Mass)*jump; b._Y += b.YVelocity*jump; yDrag = b.GetDrag()*Math.Sin(theta); yMagnus = b.GetMagnus()*Math.Sin(theta+Math.PI/2); //sum up the forces in [N]. N/m = a. at = delta v. b.YVelocity += ( (b.GetGravity() + yDrag + yMagnus)/b.Mass ) * jump; //b.YVelocity += (g + (yDrag + yMagnus)/b.Mass ) * jump; writeC(Math.Round(b._X, 4).ToString() + "\t" + Math.Round(b._Y, 4).ToString() + "\t" + Math.Round(b.GetMagnus(), 5).ToString() #region Outputs not written out //+ Math.Round(b._Z, 4).ToString() + "\t" //+ Math.Round(xDrag, 4).ToString() + "\t" //+ Math.Round(yDrag, 4).ToString() + "\t" //+ Math.Round(b.XVelocity, 4).ToString() + "\t" //+ Math.Round(b.YVelocity, 4).ToString() #endregion ); writeT(Math.Round(step,3).ToString()); } wO("Simulation ended"); } /// <summary> /// This function initiates a ball object, sets its properties and the circumstances /// under which this ball is present. Then it returns the ball object. /// </summary> /// <returns>Ball</returns> private Ball getVarsFromTextBoxes() { Ball b = new Ball(Convert.ToDouble(txtInitV.Text), Convert.ToDouble(txtInitAng.Text)*(Math.PI/180)); b._X = 0; b._Y = 0; b._Z = 0; b.Mass = Convert.ToDouble(txtBallM.Text); b.Radius = Convert.ToDouble(txtBallR.Text)/1000; b.C_d = Convert.ToDouble(txtC_d.Text); b.C_m = Convert.ToDouble(txtC_m.Text); b.XAngVelocity = Convert.ToDouble(txtTurnsX.Text)*2*Math.PI; //w = 2PI * n (rpm: w = [2*PI*n]/60)
43
Henrik Feldt
Extended Essay
Physics Higher Level
b.YAngVelocity = Convert.ToDouble(txtTurnsY.Text)*2*Math.PI; b.ZAngVelocity = Convert.ToDouble(txtTurnsZ.Text)*2*Math.PI; //<-- perpendicular to normal flight path
// //
return b; } private void tellVariables(Ball b) { wO("Projection angle: " + txtInitAng.Text + " degrees"); wO("Timespan: " + txtSimTime.Text + " milliseconds"); wO("Initial velocity: " + Math.Round(b.GetVelocity(), 2).ToString() + " m/s"); wO("Initial horizontal velocity: " + Math.Round(b.XVelocity, 2).ToString() + " m/s"); wO("Initial vertical velocity: " + Math.Round(b.YVelocity, 2).ToString() + " m/s"); wO("Ball radius: " + txtBallR.Text + " mm"); //could be improved by using Ball b radius
instead wO("Ball mass: " + txtBallM.Text + " kg"); wO("Z-axis spin: " + txtTurnsZ.Text + " rps"); wO("Drag coefficient: " + b.C_d.ToString()); wO("Magnus coefficient: " + b.C_m.ToString()); } private void mnuAirResistance_Click(object sender, System.EventArgs e) { int CD = 0; if(mnuAirResistance.Checked) { mnuAirResistance.Checked = false; CD = Convert.ToInt32(txtC_d.Text); txtC_d.Text = "0"; } else { mnuAirResistance.Checked = true; txtC_d.Text = Convert.ToString(CD); } } #region Text handling functions /// <summary> /// This is needed to clear all the fields after each go /// </summary> private void btnReset_Click(object sender, System.EventArgs e) { btnStart.Enabled = true; clearAll(); } private void writeC(string m) { txtCoordinates.Text += m + System.Environment.NewLine; } private void writeT(string m) { txtTime.Text +=m+System.Environment.NewLine; } private void wO(string m) { txtOutput.Text += m + System.Environment.NewLine; }
44
Henrik Feldt
Extended Essay
Physics Higher Level
private void clearAll() { txtCoordinates.Text = ""; txtTime.Text = ""; txtOutput.Text = "Output fields reset." + System.Environment.NewLine; } #endregion private void btnCalculateRenolds_Click(object sender, System.EventArgs e) { Ball tempBall = new Ball(); //no need for initial velocities tempBall.Radius = Convert.ToDouble(txtBallR.Text)/1000; wO(Convert.ToString(Math.Round(tempBall.GetRenolds(Convert.ToDouble(txtRenolds.Text)),0))); } /// <summary> /// Press SHIFT and DOUBLE CLICK the coordinate area to select all variables /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void txtCoordinates_DoubleClick(object sender, System.EventArgs e) { if ((Control.ModifierKeys & Keys.Shift) == Keys.Shift) { txtCoordinates.SelectionStart = 0; txtCoordinates.SelectionLength = txtCoordinates.Text.Length; } } private void label2_Click(object sender, System.EventArgs e) { } } }
45
Henrik Feldt
Extended Essay
Physics Higher Level
BallClass.cs using System; using System.Data; using System.Windows.Forms; namespace x_y_drag { /// <summary> /// Ball object â&#x20AC;&#x201C; holds ball properties and calculates forces on ball /// </summary> public class Ball { static int balls = 0; private double mass, radius; private double xAngVelocity; private double yAngVelocity; private double zAngVelocity; private double xVelocity, yVelocity, zVelocity; private double _x, _y, _z; private double c_d, c_m; //drag, magnus coefficient /// <summary> /// Constants /// </summary> private double gravity = 9.82; //ms^-2 private double airDensity = 1.205; //kg/m^3 for 20 degrees C private double airViscosity = 17.4E-6; //Pa*s /// <summary> /// The different properties of the ball class /// </summary> #region Public variables public double Mass { set { mass = value; } get { return mass; } } public double Radius { set { radius = value; } get { return radius; } } public double Volume { get { return (4/3) * this.Radius * this.Radius * this.Radius * Math.PI; } } public double XAngVelocity //in rad/s { set { xAngVelocity = value; } get { return xAngVelocity; } //must be updated each loop } public double YAngVelocity //in rad/s { set { yAngVelocity = value; } get { return yAngVelocity; } //must be updated each loop } public double ZAngVelocity //in rad/s
46
Henrik Feldt
Extended Essay
Physics Higher Level
{ set { zAngVelocity = value; } get { return zAngVelocity; } //must be updated each loop } public double XVelocity { set { xVelocity = value; } get { return xVelocity; } } public double YVelocity { set { yVelocity = value; } get { return yVelocity; } } public double ZVelocity { set { zVelocity = value; } get { return zVelocity; } } public double _X { set { _x = value; } get { return _x; } } public double _Y { set { _y = value; } get { return _y; } } public double _Z { set { _z = value; } get { return _z; } } public double C_d { set { c_d = value; } get { return c_d; } } public double C_m { set { c_m = value; } get { return c_m; } } #endregion public Ball() { this.C_d = 0.5; this.C_m = 0.29; //magnus coefficient balls++; } /// <summary> /// Overloaded instantiation method /// </summary> /// <param name="initV"></param> /// <param name="initAng"></param> public Ball(double initV, double initAng)
47
Henrik Feldt
Extended Essay
Physics Higher Level
{ this.XVelocity = initV*Math.Cos(initAng); this.YVelocity = initV*Math.Sin(initAng); this.ZVelocity = 0; this.C_d = 0.5; //drag coef. C_d(R_e); this.C_m = 0.29; //magnus coefficient C_m(ball structure) this.XAngVelocity = 0; this.YAngVelocity = 0; this.ZAngVelocity = 0; balls++; } #region Ball properties public double Area() { return Math.Round(this.Radius*this.Radius*Math.PI, 4); } public double GetVelocity() { return Math.Sqrt(this.XVelocity*this.XVelocity + this.YVelocity*this.YVelocity + this.ZVelocity*this.ZVelocity); } public double GetRenolds() { return (airDensity*this.GetVelocity()*this.Radius*2)/airViscosity; } public double GetRenolds(double v) //Returns constant depending on v { return (airDensity*v*this.Radius*2)/airViscosity; } #endregion #region Forces on ball /// <summary> /// Returns the force of gravity. This function will always return the same value /// since air density is assumed to be the same throughout the path. /// </summary> /// <returns>The force of gravity [N]</returns> public double GetGravity() { return -gravity*(this.Mass - airDensity*this.Volume); } /// <summary> /// This function calculates drag force at given time. /// </summary> /// <returns>The force of drag [N]</returns> public double GetDrag() //Returns F_d { return -0.5 * this.C_d * this.airDensity * Area()* this.GetVelocity()* this.GetVelocity(); } /// <summary> /// Returns the Magnus force at this given instant /// </summary> /// <returns>The magnus force [N]</returns> public double GetMagnus() { return -(this.C_m) * Math.PI * this.Radius*this.Radius*this.Radius *
48
Henrik Feldt
Extended Essay
Physics Higher Level
this.airDensity * this.GetVelocity() * this.ZAngVelocity; } #endregion } }
49
Henrik Feldt
Extended Essay
Physics Higher Level
Bibliography A. Reynolds 1. http://en.wikipedia.org/wiki/Reynolds_number 2005-01-10 Author, date of publication unknown. Publisher: wikipedia B. Magnus 1. http://www.wooster.edu/physics/JrIS/Files/nowicki.pdf 2005-01-07 Author: Andrew W. Nowicki Date of publication: April 21, 1999 Publisher: Physics Department, The College of Wooster, Wooster, Ohio 44691 C. Viscosity 1. http://en.wikipedia.org/wiki/Viscosity#Viscosity_.28dynamic_viscosity.29 2005-01-07 Author, date of publication unknown. Publisher: wikipedia 2. http://www.engineeringtoolbox.com/air-properties-19_156.html 2005-01-07 Author: unknown Date of publication: unknown Publisher: engineeringtoolbox.com 3. http://xtronics.com/reference/viscosity.htm 2005-01-07 Author: unknown Date of publication: unknown Publisher: XTronics D. Farside's series Author: Richard Fitzpatrick Date of publication: 2003-08-25 Publisher: himself 1. http://farside.ph.utexas.edu/teaching/329/lectures/node70.html 2005-01-07 2. http://farside.ph.utexas.edu/teaching/329/lectures/node71.html 2005-01-07 3. http://farside.ph.utexas.edu/teaching/329/lectures/node72.html 2005-01-07 4. http://farside.ph.utexas.edu/teaching/329/lectures/node73.html 2005-01-07 E. Drag 1. http://en.wikipedia.org/wiki/Drag_%28force%29 2005-01-07 Author, date of publication unknown. Publisher: wikipedia 2. http://www-solar.mcs.st-and.ac.uk/~andy/LectureNotes/Fundamentals1/node67.html 2005-01-07 Author: Andrew Wright Date of publication: 2002-09-16 Publisher: unknown 3. http://www.hsci.info/hsci2004/PROCEEDINGS/FinalPapers/E00-988182336.pdf 2005-01-07 Author: Pedro Couto Date of publication: unknown 50
Henrik Feldt
Extended Essay
Physics Higher Level
Publisher: Universidade do Minho, Departamento de FĂsica 4710-057 Braga, Portugal 4. http://scienceworld.wolfram.com/physics/DragCoefficient.html 2005-01-12 Author: Eric W. Weisstein Date of publication: unknown Publisher: Wolfram research 5. http://carini.physics.indiana.edu/E105/texture.html 2005-01-12 Author: John P. Carini Date of publication: 24 Mar 1999 Publisher: unknown F. Wakes 1. http://electron9.phys.utk.edu/phys136d/modules/m1/bernoulli.htm 2005-01-07 All meta-data unknown. G. Boundary layers 1. http://en.wikipedia.org/wiki/Boundary_layer 2005-01-07 Author, date of publication unknown. Publisher: wikipedia 2. http://history.nasa.gov/SP-4103/app-f.htm 2005-01-07 Author: unknown Date of publication: unknown Publisher: NASA H. Bernoulli 1. http://en.wikipedia.org/wiki/Bernoulli's_Principle 2005-01-12 Author, date of publication unknown. Publisher: wikipedia 2. http://en.wikipedia.org/wiki/Bernoulli%27s_equation 2005-01-10 Author, date of publication unknown. Publisher: wikipedia 3. http://physics.bu.edu/~duffy/py105/Bernoulli.html 2005-01-07 Author: Unknown Date of publication: 1999-10-11 Publisher: unknown I. Mathematics 1. http://en.wikipedia.org/wiki/Cross_product 2005-01-07 Author, date of publication unknown. Publisher: wikipedia http://tutorial.math.lamar.edu/AllBrowsers/2414/Vectors.asp 2005-01-07 http://mathpages.com/home/kmath258/kmath258.htm 2005-01-07 J. Other 1. http://www.princeton.edu/~asmits/Bicycle_web/frictionflows.html#boundary%20layers 51
Henrik Feldt
Extended Essay
Physics Higher Level
2005-01-07 All meta-data unknown 2. http://www.princeton.edu/~asmits/Bicycle_web/separation.html#wake 2005-01-07 All meta-data unknown 3. http://www.infoplease.com/ce6/sci/A0804583.html 2005-01-11 â&#x20AC;&#x201C; archimedes principle Author: unknown Date of publication: unknown (2005?) Publisher: Columbia University Press K. Books 1. Milne-Thomson, Louis Melville - Theoretical aerodynamics / L.M. Milne-Thomson / 1973 / ISBN: 048661980X / http://store.yahoo.com/doverpublications/index.html L. Persons 1. Lars SĂśderholm [lars.soderholm@mech.kth.se] http://www.mech.kth.se/new/info_staff.asp?ID=89 M. Stokes 1. http://faraday.physics.utoronto.ca/IYearLab/similarity.pdf 2005-01-12 All meta-data unknown. 2. http://en.wikipedia.org/wiki/Stokes_law 2005-01-12 Author, date of publication unknown. Publisher: wikipedia
52