CoCalc Public FilesRelease / Buoyancy.ipynbOpen with one click!
Author: Ingo Dahn
License: Other -- explicitly state in your code
Description: Learning Materials released by the MathTrek Team
Compute Environment: Ubuntu 20.04 (Default)

May the Force be With You - Discovering Science

By Ingo Dahn, (Koblenz, Germany [email protected]) and Ambjörn Naeve (Stockholm, Sweden [email protected])

Part I: Buoyancy

This notebook is part of an endeavour, to let the learner discover scientific concepts. Our tools shall be observations, models describing these operations and the critical inspection of these models in the light of new observations.

We take the historic emergence of these concepts in history as guidance, but may deviate from that route, follow dead ends or allow us be carried away by curiosity. We emphasize, that this is not a well-planned travel and by no means we claim that this is the only way to go. Quite the opposite - we are looking for travel mates, opening up alternative views, bridging gaps and pointing us, and the learner, to discoveries in the gardens and open landscapes aside of the road. We hope, that the interested reader/actor may take this as a travel guide, but more importantly we encourage walking ones' own roads.

We try to be highly interactive, supporting experiments, discovery and critical inspection, enjoying many flowers from the garden of open educational resources, into which we plant this notebook as well.

The first target of our travel is the concept of force as it emerged in science in ancient Greece in the form of buoyancy.

Technical Notice

This notebook is made of a sequence of cells:

  • Text cells, explaining what we do. The text cells analyze a specific default balloon flight. They do not change and, depending on your working environment, you may not be able to change the content of text cells.

  • Code cells with Sage code. You must _execute_ these cells to actually run the code. Depending on your environment, you execute cells by pressing the Execute button, by clicking into the cell and pressing Shift+Return or by selecting a Run item from the Cell menu. You can modify the content of code cells and you should do this in the places indicated in order to perform your own live experiments with real weather data! Note: Code cell calculations mostly use the results of calculations of previous cells. Therefore it is important that they are executed in the given order.

    Hovering the mouse over the SageMath icon will reveal some additional explanations on the code - try it

  • Interactive questions from Wamap. Many of these questions come with written examples, explaining the underlying Math.

Don't worry, if you don't understand the content of the code cells! We start simple and so you don't need to know a lot of Math, Physics or Programming - just go and experiment! Whenever you run into trouble - have a look at our .

License: This document is made available under a Creative Commons Attribution Share Alike License 4.0.

Aristotle's Natural and Unnatural Forces

Observations:

  1. You need to apply force to lift a stone but not to let it fall.
  2. The bigger the stone, the more force you need.

Hypothesis (Aristotle, 384 BC - 322 BC): The natural place of a stone is the earth. Therefore no force is needed to let a stone fall. Moving a stone upwards is unnatural, force is only needed for unnatural motions.

Criticism: An arrow is flying through the air though apparently no force is acting on the arrow.

Improved Hypothesis: The air displaced through the arrow is providing the force that prevents the arrow from falling

Archimedes' Analysis of Buoyancy - Math enters the Scene

Archimedes (287 BC - 212 BC):

Observation: Buoyancy lifts objects immersed in a fluid upward https://en.wikipedia.org/wiki/Buoyancy

Hypothesis (Archimedean Principle): A body immersed in a fluid experiences a buoyant force equal to the weight of the fluid it displaces.

Note: Unlike Aristotle, Archimedes doesn't just talk about the nature of Buoyancy, he gives a way to calculate it - Math enters Physics!

Example: A stone with a weight of 20g displaces a water volume of wight 5g and loses a weight of 5g.

Stone and water are connected by the volume: The volume of the stone equals the volume of the displaced water.

Volume and weight are connected by the concept of density. This concept is based on the observation, that the weight of a compact object is proportional to it's volume - if you double (triple) it's volume, the weight is doubled (tripled) as well. The proportionality factor of this relation is nothing else but the density ρ:weight=ρvolume\rho: weight = \rho\cdot volume resp. Density ρ\rho is the quotient of weight and volume and is measured in gcm3\frac{g}{cm^3} or kgm3\frac{kg}{m^3}. Can you translate between these units?

Note: You may learn later, that Archimedes should perhaps have used mass instead of weight but he had no reason to and therefore we shall also not distinguish between mass and weight in this notebook. This distinction must be discussed elsewhere.

If we assume that water has a density of 1gcm31 \frac{g}{cm^3}, the water displaced and the stone must have a volume of 5cm35 cm^3. The density of the stone will be 205gcm3=4gcm3\frac{20}{5} \frac{g}{cm^3} = 4 \frac{g}{cm^3}.

If we denote the weight of the object (stone) and of the displaced fluid (water) by mo,mfm_o, m_f respectively and the density of the object respectively fluid by ρo,ρf\rho_o, \rho_f, then moρo=mfρf.\frac{m_o}{\rho_o} = \frac{m_f}{\rho_f}. According to the definition of density, this equation just states that the volume of the stone equals the volume of the water displaced.

Now Archimedes' principle says that the difference in the measurement of weight of the object outside and inside the fluid is equal to the weight of the fluid displaced-

Application: Hiero's Crown

Question (King Hiero II): King Hiero II from Syracuse provided a certain amount of gold to a goldsmith for the delivery of a votive pure crown. The king asks you (Archimedes) to determine whether some silver had been substituted by the dishonest goldsmith and, if so, how much gold has been displaced with silver.

Data: Density of water: ρf=0.997gcm3\rho_f = 0.997 \frac{g}{cm^3}, Density of pure gold: ρg=19.3gcm3\rho_g = 19.3 \frac{g}{cm^3}. mass of the crown: mo=400gm_o = 400 g, volume of the water displaced by the crown: vf=22.3cm3v_f = 22.3 cm^3.

In [1]:
m_o=400 v_f=22.3 rho_g=19.3 rho_o=m_o/v_f print("The density of the crown is",rho_o,"g/ccm which is less than the density of gold of",rho_g,"g/ccm.")
The density of the crown is 17.9372197309417 g/ccm which is less than the density of gold of 19.3000000000000 g/ccm.

But how much of the gold has the goldsmith taken?

Suppose the crown with a weight of 400g contains ss gram of silver. The density of silver is ρs=10.49gcm3\rho_s = 10.49 \frac{g}{cm^3}. Then the crown must have a volume of 22.3=400sρg+sρs22.3=\frac{400-s}{\rho_g}+\frac{s}{\rho_s}. Solving this equation for ss tells us, how much the goldsmith has taken.

In [2]:
rho_s=10.49 var('s') eq=22.3 == (400-s)/rho_g +s/rho_s sol=solve(eq,s) show("Solution:",sol) r=sol[0].rhs().n() print("The goldsmith has replaced",r,"g of gold by silver.")
Solution:[s=(318791188100)]\verb|Solution:| \left[s = \left(\frac{3187911}{88100}\right)\right]
The goldsmith has replaced 36.1851418842225 g of gold by silver.

Fooling Archimedes

Had the goldsmith a better knowledge of physics, he might have fooled archimedes by adding a 3rd substance which is more dense than gold. A compilation of the density of various materials is available at Wikipedia. Unfirtunately, such materials tend to have unwanted properties like a high price or being radioactive. Anyhow, as a thought experiment, let's find out how much of the densest, Osmium, the goldsmith would have to add to compensate for the loss of that amount of gold.

The density of Osmium is ρos=22.57 gcm3\rho_{os}=22.57\ \frac{g}{cm^3}. A crown consisting of 400r g400 - r\ g gold, s gs\ g silver and o go\ g Osmium would have a weight of 400r+g+o g400-r+g+o\ g and a volume of 400rρg+sρs+oρos\frac{400-r}{\rho_g}+\frac{s}{\rho_s}+\frac{o}{\rho_{os}}, while a pure gold crown of 400 g would have a volume of 400ρg\frac{400}{\rho_g}. Thus we need to solve the equation 400rρg+sρs+oρos = 400ρg\frac{400-r}{\rho_g}+\frac{s}{\rho_s}+\frac{o}{\rho_{os}}\ =\ \frac{400}{\rho_g} which is equivalent with sρs+oρos = rρg\frac{s}{\rho_s}+\frac{o}{\rho_{os}}\ =\ \frac{r}{\rho_g} We also know that (400r)+s+o = 400,(400-r)+s+o\ =\ 400, hence o+s = r.o+s\ =\ r. We must solve a linear equation system.

In [3]:
var('o') rho_os=22.57 eqs=[s/rho_s + o/rho_os == r/rho_g, o+s == r] sol2=solve(eqs,(s,o)) show('Solution:',sol2) ss=sol2[0][0].rhs().n() oo=sol2[0][1].rhs().n() print("To fool Archimedes, replacing",r,"g of gold by silver and osmium, the goldsmith would need",ss,"gram of silver and",oo,"g of osmium.")
Solution:[[s=(1093526794953205399864000),o=(7195115127233144000)]]\verb|Solution:| \left[\left[s = \left(\frac{1093526794953}{205399864000}\right), o = \left(\frac{7195115127}{233144000}\right)\right]\right]
To fool Archimedes, replacing 36.1851418842225 g of gold by silver and osmium, the goldsmith would need 5.32389249757731 gram of silver and 30.8612493866452 g of osmium.

Density

According to Archimedes' principle, the weight of the object in the fluid is reduced by the weight of the displaced fluid. This reduction is called buoyancy.

The buoyancy can be calculated as the weight of the fluid displaced by the volume of the object, i.e. b=voρf=moρoρf=moρoρfb=v_o\cdot \rho_f = \frac{m_o}{\rho_o}\cdot \rho_f = m_o\frac{\rho_o}{\rho_f}. It is worth noting that the buoyancy does not depend on the form of the object

Experience buoyancy in the following virtual lab from Dimitris Mirogiannis.

Note: This lab measures the buoyant force in Newton (N). We have not discussed the reasons for using the Newton unit. For now you may assume that 1 N = 102 g and 1 kg = 9.81 N.

Question: Can you calculate the buoyancy of objects made from various materials?

When the object has the same density as the fluid (ρo=ρf\rho_o = \rho_f), the buoyancy compensates the mass of the object - the object floats in the fluid. If the object's density is less than that of the fluid, buoyancy is greater than the mass of the object, buoyancy provides an upthrust and the object drifts upwards until it reaches the surface of the fluid and swims.

In the latter case, the calculation of the weight of the object immersed into the fluid yields a negative result, which means that the buoyancy acts as an upward directed force on the object.

Objects that are hollow (like ships) have a lower density than the materials they consist of. In the following Question you can explore the effect. If d) yields a negative value, the ball will float to the surface and swim.

We have seen that an object will float in a fluid if it's density equals the density of the fluid.

Question: Can you calculate, how large a ball must be inorder to float or swim?

If a hollow ball has a radius of r cmr\ cm and a hull thickness of h cmh\ cm, it's volume is vouter=43πr3 cm3v_{outer} = \frac{4}{3}\pi\cdot r^3 \ cm^3 The volume of the empty space inside is vinner=43π(rh)3 cm3v_{inner} = \frac{4}{3}\pi\cdot (r-h)^3\ cm^3. The volume of the hull alone is voutervinnerv_{outer}-v_{inner} and the mass of the hollow ball is (voutervinner)ρm(v_{outer}-v_{inner})\rho_m, where ρm\rho_m is the density of the material of the hull. Hence, the density of the hollow ball is ρo=(voutervinner)ρmvouter\rho_o=\frac{(v_{outer}-v_{inner})\rho_m}{v_{outer}} (we ignore the weight of air inside).

The question is, how big rr must be such that the ball begins to float in the water, i.e. such that ρo=ρw\rho_o = \rho_w.

We calculate this for a ball of glass (ρm=2.5\rho_m = 2.5) with a hull thickness of 2 mm, but feel free to change these values.

In [4]:
h=0.2 rho_w=0.997 rho_m=2.5 var('r') v_outer(r) = (4/3)*pi*r^3 v_inner(r) = (4/3)*pi*(r-h)^3 rho_o(r) = (v_outer(r)-v_inner(r))*rho_m/v_outer(r) rr=solve(rho_o(r) == rho_w,r) rrr=rr[2].rhs().n() print("The ball will swim in water if it's radius is greater than",rrr,"cm.") p1=plot(rho_o,(1,5),legend_label="Density of object") p2=plot(rho_w,(1,5),color='red',legend_label="Density of water") show(p1+p2,axes_labels=["Radius","Density"])
The ball will swim in water if it's radius is greater than 1.28200673480136 cm.

The following diagram shows a section of a hollow glass ball, immersed in water, and the buoyancy. You can vary the radius and the thickness of the hull of the ball with the sliders, either with your mouse or with your arrow keys. The cell reuses values from previous cells. Since the thickness hh of the hull now varies, the volume vinnerv_{inner} of the inner ball and the density of the ball ρo\rho_o now depend also on hh. w(r,h)=vouter(r)ρo(r,h)vouterρww(r,h)=\frac{v_{outer}(r)}{\rho_o(r,h)}-\frac{v_{outer}}{\rho_w} is the loss of weight by immersion into water.

Questions: Try to find values for the radius and the thickness of the hull such that the ball floats in the water. Set, at the start of the cell, new values for the densities rho_m and rho_w of glass and water to experiment with other materials.

In [5]:
var('r,h') v_inner(r,h) = (4/3)*pi*(r-h)^3 rho_o(r,h) = (v_outer(r)-v_inner(r,h))*rho_m/v_outer(r) w(r,h)=v_outer(r)/rho_o(r,h)-v_outer(r)/rho_w @interact def _(r=slider(1,5,step_size=0.05),h=slider(0.2,1,step_size=0.05)): Outer=circle((0,0),r,fill=True,zorder=1) Inner=circle((0,0),r-h,fill=True,color='white',zorder= 2) B=arrow((0,0),(0,w(r,h)),color='black',zorder=3) show(Outer+Inner+B,xmin=-5,xmax=5,ymin=-5,ymax=5)

The following image shows the density of the hollow ball, depending on the radius as well as on the thickness of the hull, where the thickness h of the hull varies between 0.2 and 1. You can drag the diagram around with the mouse. Where the blue surface is below the red plane, the ball swims. You should recognize the curve above in the foreground when the label Radius=3.00 is shown at the lower axis in the background.

Note that the thickness of the hull, stretching from the foreground to the background in the view described above, has a bigger effect than the radius!

In [6]:
Plot_o=plot3d(rho_o,(r,1,5),(h,0.2,1),opacity=0.7) Plot_w=plot3d(rho_w,(r,1,5),(h,0.2,1),color='red',opacity=0.3) show(Plot_o+Plot_w,axes_labels=["Radius","Hull","Density"])

Question: Experiment!

  • Replace the (h,0.2,1) in lines 4 an 5 with (h,0.2,5) to inspect the whole range from a small hull to a compact ball.
  • Set the density ρw\rho_w of the liquid to another value to experiment with liquids which are either more or less dense than water.
  • Replace the density of the fluid with even smaller values, as gases have (vor example 0,0012 gcm30,0012\ \frac{g}{cm^3} for dry air) and the density of the hull with the density of soft Latex (0.060 gcm30.060\ \frac{g}{cm^3}). How dense must a gas to fill a latex balloon be to let it fly?

Think: How can the consideration in this notebook be applied to calculate the buoyancy of balloons floating in the air, when the density of the air decreases when the balloon gets higher? Experiment with our notebooks on weather balloons!

Bonus: Did you know, the the United States built swimming ships from concrete during the second world war? (Note: The density of concrete is 2.4gcm32.4 \frac{g}{cm^3}, that of iron is 7.87gcm37.87 \frac{g}{cm^3}):

You may use the following cell for your own experiments.

In [ ]: