mklotz
Well-Known Member
I have a program on my webpage (DIPSTICK) which can be used to calculate the amount of fluid in tanks of various shapes from a dipstick reading. One of our British cousins posed the problem of a cylindrical tank tilted slightly from horizontal (to allow sediment to collect in the lowest area) and wished to have a dipstick program for such a tank.
To write this program, it was necessary to generate a formula for the volume of an ungula.
If you put a small amount of water in a cylindrical water glass and then tilt the glass so the water no longer completely cover the bottom of the glass, the shape assumed by the water is termed an ungula. Ungula is the Latin term for a cow's hoof (you may recognize Ungulata as the class term for cattle) and the shape looks something like a hoof, hence the strange name.
I did the calculus to derive the formula and came up with an expression* that's a bit on the complex side. The trick now is to verify if this formula is indeed correct.
I took a cylindrical piece of aluminum and bandsawed an ungula from it. You can see it on the left in the photo below. I also cut a cylinder from the same rod.
Using a jeweler's scale (handy shop item), I could determine the weight of the cylinder and, by measuring it, calculate it's volume. Given the weight and volume, it's simple to find the density of the aluminum (density = weight/volume).
I can then weigh the ungula and use the calculated density to calculate its volume (volume = weight/density). It came out to 0.0916 in^3.
Now, I could measure the ungula, plug these measurements into my formula, and see what the calculated volume was. The formula yielded a volume of 0.0910 in^3.
With an error of less than 0.1%, I called it good and pronounced my formula verified. The program was written and dispatched to the requestor, who, being an ungracious berk, never confirmed receipt or use of it.
--------------------------
* if
b = width of ungula base at widest point
h = height of ungula
r = ungula radius
V = ungula volume
then:
a = sqrt(2*b*r - b^2)
phi = pi/2 + arctan[(b-r)/a]
V = h*r^2*[3*sin(phi) - 3*phi*cos(phi) - sin^3(phi)]/[3*(1-cos(phi)]
To write this program, it was necessary to generate a formula for the volume of an ungula.
If you put a small amount of water in a cylindrical water glass and then tilt the glass so the water no longer completely cover the bottom of the glass, the shape assumed by the water is termed an ungula. Ungula is the Latin term for a cow's hoof (you may recognize Ungulata as the class term for cattle) and the shape looks something like a hoof, hence the strange name.
I did the calculus to derive the formula and came up with an expression* that's a bit on the complex side. The trick now is to verify if this formula is indeed correct.
I took a cylindrical piece of aluminum and bandsawed an ungula from it. You can see it on the left in the photo below. I also cut a cylinder from the same rod.
Using a jeweler's scale (handy shop item), I could determine the weight of the cylinder and, by measuring it, calculate it's volume. Given the weight and volume, it's simple to find the density of the aluminum (density = weight/volume).
I can then weigh the ungula and use the calculated density to calculate its volume (volume = weight/density). It came out to 0.0916 in^3.
Now, I could measure the ungula, plug these measurements into my formula, and see what the calculated volume was. The formula yielded a volume of 0.0910 in^3.
With an error of less than 0.1%, I called it good and pronounced my formula verified. The program was written and dispatched to the requestor, who, being an ungracious berk, never confirmed receipt or use of it.
--------------------------
* if
b = width of ungula base at widest point
h = height of ungula
r = ungula radius
V = ungula volume
then:
a = sqrt(2*b*r - b^2)
phi = pi/2 + arctan[(b-r)/a]
V = h*r^2*[3*sin(phi) - 3*phi*cos(phi) - sin^3(phi)]/[3*(1-cos(phi)]