Volumes That You Can Use

Introduction

OBJECTIVE: Use the concept of volume to solve practical problems involving rain catchers and satellite dishes.

How can you measure precipitation if you collect rain in a container that is narrower at the bottom than at the top? At what angle must a satellite dish be tilted for rain not to collect in it?

Technology Guidelines

NOTE:  If you have just finished a module, restart Mathematica or Quit Kernel under the Evaluation pull-down menu before executing a new module.
TO OPEN CELLS, click on the arrow to the left of the cell or put your cursor on the right cell bracket and double click. To open all cells, highlight the bracket on the far right and select Grouping under the Cell pull-down menu and select Open All Subgroups.
TO STOP AN EXECUTION
Select the Evaluation pull-down menu and click on Abort Evaluation.
ORDER OF EXECUTION
Execute cells in the order given. Do not skip any Input cells within a given notebook.
SAVING NOTEBOOKS
You can save anytime to any directory you choose, and it is wise to save often. However, before you do your final save to reduce the size of your file, it is a good idea to delete all your output by selecting the Delete All Output selection under the Cell pull-down menu.
EXPERIENCING MAJOR PROBLEMS
Save if appropriate, then shut down Mathematica and start it up again.

Part I: A Hemispherical Rain Gauge

Measuring Rainfall with a Hemisphere

Suppose you are trying to determine how to use the height of water in a hemispherical bowl of radius and depth 10 inches to measure the amount of rain that has fallen. Why do we use the volume of a cylinder of radius 10 inches filled to a particular height (k)? What does that have to do with the volume of water that will collect in the bowl? The key idea is that the volume in each is the same; the only difference is in the height of the water in the two different containers.

We will write our formulas using a general radius (rad), so that we can go back and change it out for hemispherical bowls with different radii. Since the bowl is considered to be sitting on top of the xy-plane with the axis of symmetry through the z axis, it is easiest to use cylindrical coordinates. The equation of the sphere is  (r^2)+ (((z -rad))^2)= (rad^2).

Clear[r,θ,z,h,rad,k]
Print["volume in cylinder filled to height k is ",volcylinderht[k_]=π  (rad^2) k]
Print["volume in bowl filled to height h is ",volbowlht[h_]=Integrate[r,{θ,0,2π},{r,0,Sqrt[2h rad -(h^2)]},{z,rad-Sqrt[(rad^2)-(r^2)],h}]//Simplify]

If there is 1 inch of rain in the 10-inch radius cylinder, we will determine the height of water in the bowl. To do this, we equate the volume in the cylinder to the volume in the bowl and solve for h. Why?

rad=10;
one=NSolve[volbowlht[h]==volcylinderht[1],h]

The answer of 3.3555 is the only reasonable one and we extract that as follows.

Print["If there is 1 inch of rain in the 10-inch radius cylinder, the hemisphere will be filled to the ",one[[2,1,2]]," inch level."]

What if there are 3 inches of water in the bowl? How many inches of water would this produce in the cylinder?

rad=10;
three=NSolve[volbowlht[3]==volcylinderht[k],k];
Print["If there are 3 inches of water in the bowl, the actual precipitation level is ",three[[1,1,2]]," inches."]

Because of multiple roots, it is somewhat difficult to solve explicitly for the height in the bowl as a function of the actual amount of rain (height of water in the cylinder). However, it is easy to determine the relationship the other way around; that is, if we know the height of water in the bowl, we can easily find the amount of precipitation by dividing the volume of water in the bowl by π (rad^2), which is the cross-sectional area of the cylinder with the same size top. This procedure is employed below to compute the actual precipitation amount.

We look at some tables of values associating the actual precipitation and the height of the water in the bowl corresponding to different values of the radius.

Clear[rad,precip,preciplist]
precip[h_,rad_]=volbowlht[h]/((rad^2) π)//Simplify;
preciplist[rad_]=Table[{h,precip[h,rad]//N},{h,.5,9.5}];

We can apply these formulas to create some tables of values that associate the height of water in the bowl with the actual precipitation.

TableForm[preciplist[10],TableHeadings->{None,{"height in bowl with radius 10 inches","actual precipitation"}}]
TableForm[preciplist[15],TableHeadings->{None,{"height in bowl with radius 15 inches","actual precipitation"}}]
TableForm[preciplist[20],TableHeadings->{None,{"height in bowl with radius 20 inches","actual precipitation"}}]

To get a visual perspective of this data, plot the sets using ListPlot.

ListPlot[{preciplist[10],preciplist[15],preciplist[20]},AxesLabel->{height,precipitation},Joined->True,PlotStyle->{RGBColor[1,0,0],RGBColor[0,1,0],RGBColor[0,0,1]}]

Which plot goes with which radius?

You Try It: Part I

Now, select a different shaped rain-collector, and determine the relationship between the height of water in your collector and the actual precipitation. 
Suppose that the bowl is parabolic, say with the equation: z=1/2 (r^2), with maximum radius 10 inches.

Clear[h,r,z]
volofbowlht[h_]=Integrate[r,{θ,0,2Pi},{r,0,Sqrt[2h]},{z,1/2(r^2),h}]//Simplify

For a bowl of radius 10, the volofbowlht[h] can be divided by 100π to give the precipitation level for height h in your bowl as follows.

rad=10;
newprecip[h_]=volofbowlht[h]/(rad^2) π//Simplify

Find the precipiation level if the height in the bowl is 2.5 inches.

newprecip[2.5]

Repeat these steps for containers having different shapes.

Part II: Water in a Satellite Dish

The Tilt of a Satellite Dish

In this exercise, you are asked to determine the smallest tilt of a satellite dish so that it holds no water. In selecting a convenient coordinate system to solve this problem, instead of tilting the bowl, let us picture the bowl upright in a rectangular coordinate system and think of the water level as tilted.
We will let the bowl be centered on the z axis and rest on top of the xy-plane. The equation of the plane that represents the water level can be written as z=m y+b. In each case, since the water level plane must pass through the top edge of the bowl with coordinate points z=0.5 when y=1, the intercept b can be written as  0.5 - m.

xyzbowl[x_,y_]:=0.5` ((x^2)+(y^2))
xyzplane[y_,m_]:=m y+(0.5`-m)
plotbowl=Plot[{xyzbowl[0,y],xyzplane[y,0]},{y,-1,1},PlotStyle->{RGBColor[1,0,0],RGBColor[0,1,0]}];
plot1=Plot[xyzplane[y,0.25`],{y,-0.5`,1},PlotStyle->RGBColor[0,1,1]];
plot2=Plot[xyzplane[y,0.5`],{y,0,1},PlotStyle->RGBColor[0,0,1]];
Show[plotbowl,plot1,plot2,AspectRatio->0.5,AxesLabel->{"x","y"}]

Let us begin by drawing some scenarios as the slope of the plane (value of m) goes from 0 to .75. We can integrate to find the volume in each case first by finding the boundary curve for x and y along which the plane and the paraboloid intersect and then by leaving our integral written as a function of the slope of the water level plane.

Clear[x,y,z,m,volume]
sol[m_]=Solve[xyzplane[y,m]==xyzbowl[x,y],{y}]//Simplify

Note that the equation of intersection of the plane and the paraboloid is a circle, centered at x = 0 and y = m and with radius 1-m, so we will let z go from the paraboloid to the plane and integrate x and y over the appropriate circle.

volume[m_]:=NIntegrate[1,{x,m-1,1-m},{y,sol[m][[1,1,2]],sol[m][[2,1,2]]},{z,xyzbowl[x,y],xyzplane[y,m]}]

Now, let's visualize the results for a few values of m. We first read in a package to help us plot the region filled with water. Then we let the slope take on the values of .25, 1, and .75, each time evaluating the volume of water in the satellite.

p0=Plot[{xyzplane[y,0],xyzbowl[0,y]},{y,-1,1},AxesLabel->{y,z},AxesOrigin->{0,0},PlotLabel->"Slope of Water Is 0",Filling->{1->{2}}];
Print["When the slope is 0, the volume of the water is ",volume[0]," cubic meters"]
p1=Plot[{xyzplane[y,0.25`],xyzbowl[0,y]},{y,-0.5`,1},AxesLabel->{y,z},PlotLabel->"Slope of Water Is .25",Filling->{1->{2}}];
Print["When the slope is .25, the volume of the water is ",volume[0.25`]," cubic meters"]
p2=Plot[{xyzplane[y,0.5`],xyzbowl[0,y]},{y,0,1},AxesLabel->{y,z},AxesOrigin->{0,0},PlotLabel->"Slope of Water Is .5",Filling->{1->{2}}];
Print["When the slope is 0.5, the volume of the water is ",volume[0.5`]," cubic meters"]
p3=Plot[{xyzplane[y,0.75`],xyzbowl[0,y]},{y,0.5`,1},AxesLabel->{y,z},AxesOrigin->{0,0},PlotLabel->"Slope of Water Is .75",Filling->{1->{2}}];
p4=Plot[xyzbowl[0,y],{y,0,0.5`},AxesLabel->{y,z},AxesOrigin->{0,0}];
Show[p3,p4]
Print["When the slope is .75, the volume of the water is ",volume[0.75`]," cubic meters"]

As you recognize that the slope of the water level represents the tangent of the angle through which the bowl is tilted, you will also notice that the volume is approaching 0 as m is approaching 1, and, hence, as the angle of tilt is approaching 45°.

volume[1]

You Try It: Part II

Check out satellite dishes that are installed at residences or at communication facilities. See if their shape is parabolic, and find out what their tilt is. Does it match up to what you expected?