Fluids (part 4)
Using our understanding of fluid pressure to figure out the height of a column of mercury.
<?xml version="1.0" encoding="UTF-8"?>
<!--Wed Jan 18 2012 07:26:23 GMT-0500 (EST)-->
<XholonWorkbook>
<Notes>
Khan Academy
------------
Title: Fluids (part 4)
Description: Using our understanding of fluid pressure to figure out the height of a column of mercury.
Url: http://www.khanacademy.org/video/fluids--part-4?playlist=Physics
InternalName: fluids--part-4
YoutubeId: i6gz9VFyYks
Keywords: physics, chemistry, atmosphere, pascal, specific, gravity, mercury
My Notes
--------
review
pressure at some depth in a fluid = density * height * g
a problem
---------
a bowl with some mercury, and an inverted test tube
no air in test tube, but there is air outside it
atmospheric pressure is 1 atmosphere (atm)
weight of all the air above at sea level
the mercury will rise from the bowl into the test tube
this is how a barometer works
there is a vaccuum at the top of the tube
How high is the column of mercury?
this is a static state
terminology
-----------
specific gravity of mercury = 13.6
ratio of how dense that type of object is compared with water
so mercury is 13.6 times more dense than water
density of water = 1000 kg/m^3
so density (rho) of mercury = 13.6 * 1000 kg/m^3
back to the problem
-------------------
the base of the column of mercury
pressure down = pressure up
1 atm pushing down, so there is also 1 atm pushing up
the pressure down is from the column of mercury in the tube
density of mercury * height of column of mercury * g = 1 atm
= 13600 * height * g = 1 atm = 103000 N/m^2
1 atm = 103,000 Pa = 103,000 N/m^2
height = 103000 N/m^2 / (13600 kg/m^3 * 9.8 m/s^2)
= 0.77 m
You can make a barometer out of this.
correction from Khan Academy page:
----------
"Lucie and syed both are right 1atm =101325pa.By taking this the height of column is 0.7602m"
</Notes>
<script implName="lang:python:inline:"><![CDATA[
print "height = 12.34 m"
]]></script>
<script implName="lang:javascript:inline:"><![CDATA[
print("height = 56.78 meters\n");
]]></script>
<_-.XholonClass>
<!-- domain objects -->
<PhysicalSystem/>
<Bowl/>
<Mercury/>
<TestTube/>
<Air/>
<Vaccuum/>
<Water/>
<!-- quantities -->
<Height superClass="Length"/> <!-- height of column of mercury in the tube -->
<Atm superClass="Pressure"/> <!-- standard atmospheric pressure -->
<Density superClass="VolumetricDensity"/>
<SpecificGravity superClass="Dimensionless"/>
</_-.XholonClass>
<xholonClassDetails>
<Mercury>
<!-- externally-defined quantities -->
<port name="atm" connector="#xpointer(../../Atm)"/>
<port name="densityOfWater" connector="#xpointer(../../Water/Density)"/>
<port name="g" connector="#xpointer(../../AccelerationDueToGravity)"/>
<!-- quantities that are inherent to mercury -->
<port name="specificGravity" connector="#xpointer(SpecificGravity)"/>
<port name="density" connector="#xpointer(Density)"/>
<!-- -->
<port name="height" connector="#xpointer(Height)"/>
</Mercury>
</xholonClassDetails>
<PhysicalSystem>
<TestTube>
<Mercury>
<SpecificGravity>13.6</SpecificGravity>
<Density>0.0 kg/m^3</Density> <!-- to be calculated -->
<Height>0.0 m</Height> <!-- to be calculated -->
</Mercury>
</TestTube>
<Atm>101325.0 Pa</Atm> <!-- 1 atm = 101325 Pa -->
<Water>
<Density>1000.0 kg/m^3</Density>
</Water>
<AccelerationDueToGravity/>
</PhysicalSystem>
<Mercurybehavior implName="lang:python:inline:"><![CDATA[
# TODO
]]></Mercurybehavior>
<Mercurybehavior implName="lang:javascript:inline:"><![CDATA[
density.setVal(densityOfWater.val * specificGravity.val);
height.setVal(atm.val / (density.val * g.val));
println("Density of mercury = " + density.val + " " + density.unit);
println("Height of the column of mercury = " + height.val + " " + height.unit);
//result:
// Density of mercury = 13599.999999999996 kg/m³
// Height of the column of mercury = 0.7597260682352105 m
]]></Mercurybehavior>
<Blockbehavior implName="lang:bsh:inline:"><![CDATA[
// This works if pasted in as a last child of Block.
//height.incVal(0.02);
//System.out.print("Java/Beanshell wants something to do. Height:" + height + "\n");
]]></Blockbehavior>
<Blockbehavior implName="lang:jruby:inline:"><![CDATA[
#require 'java'
# This works if pasted in as a last child of Block.
#$height.incVal(0.02)
#puts "Ruby wants something to do. Height: #{$height}"
]]></Blockbehavior>
<Blockbehavior implName="lang:groovy:inline:"><![CDATA[
// This works if pasted in as a last child of Block.
//height.incVal(0.02);
//System.out.print("Groovy wants something to do. Height:" + height + "\n");
]]></Blockbehavior>
</XholonWorkbook>