A Tank with a Conical End

(An archive question of the week)

Last time I surveyed what we have said about the volume of liquid in various kinds of tanks. One more special case I ran across deserved more detailed attention, because it demonstrates in detail how to do the calculations without much knowledge of calculus.

The problem

Here is the question, from Matty in 2003:

Tipped and Partially Filled Frustum

I work in a processing plant and I need to find the volume of a vessel.  One section of the vessel is the frustum of a cone on its side.  A liquid is contained in this section and pours out the end of the cone section, therefore the liquid only takes up a certain portion of the cone's volume.  The level of the liquid remains constant within the cone.  Both base and top radius are known, as is the height of the cone section and the height of the liquid above the edge of both base and top circles.

I have found the formula for the frustum of a cone and also for a section of a circle.  But I'm not sure how to combine the two.

Knowing the volume of the entire frustum contributes to the full volume, and the volume of a segment of a circle is part of the work for finding the partial volume; what links the two is calculus. Presumably Matty already has the formula for the amount of liquid in the part of the tank that he hasn’t told us about (a cylinder?), so we just look at the frustum (cone with its tip cut off). Doctor Jeremiah replied, assuming minimal knowledge of calculus.

Let's assume that the liquid level is constant at something over half full and not quite as high as the top of the smaller circle.  Then from the side the tank, it would look like this:
               __
              +  \
           +      \
      _ +    air   \
     / \            \
    |---|-----------|    ---
    |   |           |     d
  ----+ |           |--- --- --- ---
    |   |   liquid  |         |   |
    |   |           |         m   |
     \_/            /         |   |
        +          /         ---  n
           +      /               |
              +__/                |
                                 ---
      |----h----|

There is a lot of mathematics in this answer.  If you get lost you can always just go straight to the answer at the bottom.  But if you get confused about anything and want to understand it better, then please write me back and ask.

I think the ASCII-graphics picture is clear enough that I don’t need to improve on it.

First, we get a thorough derivation of the formula for area of a circular segment, which is central to all the formulas from last time as well as here.

Area of a slice: circular segment

Many answers that calculate volume do so by adding up thin slices. This approach is calculus.  Calculus works well for this question because each thin vertical slice is actually a section of a circle.

An arbitrary vertical slice would look like this:

           +---------------+      ---
         +                   +     |
        +                     +    d
       +                       +   |
       +           +           +  ---
       +                      +
        +                    +
          +                +
              +         +
                  +++

If we label it slightly differently we get:

           +-------+-------+
         +   +     |     +   +
        +      R   d   R      +
       +         +a|a+         +
       +           +           +  ---
       +                       +   |
        +                     +    |
          +                 +      R
              +         +          |
                  +++             ---

where R is the radius of the circle and a is the angle of the triangle made by the lines I drew.

The area of this shape is the sum of the area of the partial circular part plus the area of the two triangles.

The partial circular part is the whole circle minus the fraction that includes the triangles. If we knew what angle the two triangles took then that fraction would be that value divided by 360 degrees.

We can find what angle the triangles take up with trigonometry:

         +------L----+
           +         |
             +       d
               R     |
                 +  a|
                   + |
                     +

In particular, we can use the definition of the cosine function:

   cos(a) = d/R

If we solve that for the angle we get:

   a = arccos(d/R)

The arc cosine is the inverse of the cosine.  To calculate the cosine and the arc cosine you need a calculator with trigonometric functions.

The angle of the two triangles together is 2a so the fraction of the circle taken up by the part that includes the two triangles is:

   2a/360 = arccos(d/R)/180
   
And this works perfectly when a is in degrees and arccos(d/R) returns an answer in degrees.  But the integral I do later relies on arccos (d/R) returning a value in radians from 0 to 2Pi.  So we need to change this to assume that a is in radians and arccos(d/R) will be returning a value in radians:

   2a/(2Pi) = a/Pi = arccos(d/R)/Pi   

And the area of the partial circular part is the area of the whole circle minus the area of that fraction:

   Pi R^2 - Pi R^2 * arccos(d/R)/Pi
   
Which is:

   Pi R^2 - R^2 * arccos(d/R)   

Now we need the area of the triangles:

         +------L----+
           +         |
             +       d
               R     |
                 +  a|
                   + |
                     +

The area of each triangle is:

   Ld/2

Where L can be determined using the Pythagorean Theorem:

   R squared = d squared + L squared

If we arrange this to find L we get:

   L = square_root( R squared - d squared )

If I can use ^ to mean "with an exponent of" then ^2 means "with an exponent of 2" or "squared" and if I use sqrt as a short form of square_root then we can shorten that to look like this:

   L = sqrt( R^2 - d^2 )

So the area of each triangle is:

   d * sqrt( R^2 - d^2 ) / 2

And the area of both triangles is:

   d * sqrt( R^2 - d^2 )

So the area of the whole shape is the sum of the area of the partial circular part plus the area of the two triangles:

   A = Pi R^2 - R^2 * arccos(d/R) + d * sqrt( R^2 - d^2 )

This formula is different from what we have seen before, because it uses d, the height above center, rather than the depth of the liquid.

Finding the volume: calculus

Now we start the calculus, with a gentle introduction:

That is the equation for a area of a circle with a chord sliced off (where arccos(d/R) returns an angle in radians).  Now that we have the area of a thin slice we can find the volume of the whole thing by adding up the volume of a whole bunch of thin slices.  That's the way calculus works.  But we need the volume of a really thin slice.  If we say the thickness of this really thin slice is dx then the volume of the slice is:

   dV = A * dx

And the total volume is the sum of all the slices from the point where R equals m to the point where R equals n.  That is called an integral and is drawn like this:

      R=n
       /
   V = | dV
       /
      R=m

We can write that like this:

      R=n
       /
   V = | A dx
       /
      R=m

And if we stick in the value of A we get:

      R=n
       /
   V = | [Pi R^2 - R^2 arccos(d/R) + d sqrt(R^2-d^2)] dx
       /
      R=m

We can apply the integral to smaller pieces of the equation using the distributive property:

        R=n
         /
   V =   | Pi R^2 dx
         /
        R=m

        R=n
         /
      -  | R^2 arccos(d/R) dx 
         /
        R=m

        R=n
         /
      +  | d sqrt(R^2-d^2) dx
         /
        R=m

The line that defines the outside of the cone is:

      |                               + R = slope x
      |                           +
      |                       +
      |                   +            
      | - - - - - - - + - - - +---h---+ - - - - -
      |           +           |       |
      |       +               d       d
      |   +   b               |       |
   ---+----------------------------------
      |   +                   |       |
      |       +               |       |
      |           +           m       n
      |               +       |       |
      |                   +   |       |
      |                       +       |
      |                           +   |
      |                               +

Where:

   slope = tan(b) = (n-m)/h

The slope is (n-m)/h, but the slope is also a really small increase in R (which we will call dR) divided by a really small increase in x (which we will call dx) so:

   dR/dx = (n-m)/h

And:

   dx = dR h/(n-m)

So we can stick that into our integral to make:

        R=n
         /
   V =   | Pi R^2 dR h/(n-m)
         /
        R=m

        R=n
         /
      -  | R^2 arccos(d/R) dR h/(n-m)
         /
        R=m

        R=n
         /
      +  | d sqrt(R^2-d^2) dR h/(n-m)
         /
        R=m

Which can be simplified to:

                     R=n
                      /
   V =   Pi * h/(n-m) | R^2 dR
                      /
                     R=m

                R=n
                 /
       - h/(n-m) | R^2 arccos(d/R) dR
                 /
                R=m

                    R=n
                     /
       + d * h/(n-m) | sqrt(R^2-d^2) dR
                     /
                    R=m

Readers who are familiar with calculus may have been surprised by the use of values of R in the limits of integration while the integral was taken with respect to x; but that was all made consistent in the end. The hard part here is to keep track of all the different relationships in the problem, and this idea of holding off on one relationship while focusing on another can be very useful. If you like, you may try putting the whole integral in terms of x rather than R, and see how it works out.

The formula

Now we have three integrals to work out; methods for doing this might be a major part of a Calculus II course. But in the age of technology (even more today than in 2003), we don’t need to do it by hand (today, try Wolfram|Alpha, a descendant of the site recommended below; in pre-computer times, we might have looked up the harder integrals in a book of tables):

Now, we could solve this integral ourselves (which is too much work) or we could let computers do it for us.  We can use a program at

  http://integrals.wolfram.com/

to solve these integrals.  The only thing is that the program wants the equation in terms of x so when typing equations into that site replace each R with x and each dR with dx.  And then change the x in the answer back to R.

This is the answer that site gives:

   V(R) =   Pi * h/(n-m) * R^3/3

          + h/(n-m) * Rd/6 * sqrt(R^2 - d^2)
          - h/(n-m) * R^3/3 * arccos(d/R)
          + h/(n-m) * d^3/6 * log(R + sqrt(R^2 - d^2))

          + d * h/(n-m) * R/2 * sqrt(R^2 - d^2)
          - d * h/(n-m) * d^2/2 * log(R + sqrt(R^2 - d^2))

where R varies from m to n.  If we stick in those boundaries we get the actual volume:

   Volume = V(n) - V(m)

Which is:

   V(n) =   Pi * h/(n-m) * n^3/3

          + h/(n-m) * nd/6 * sqrt(n^2 - d^2)
          - h/(n-m) * n^3/3 * arccos(d/n)
          + h/(n-m) * d^3/6 * log(n + sqrt(n^2 - d^2))

          + d * h/(n-m) * n/2 * sqrt(n^2 - d^2)
          - d * h/(n-m) * d^2/2 * log(n + sqrt(n^2 - d^2))

   V(m) =   Pi * h/(n-m) * m^3/3

          + h/(n-m) * md/6 * sqrt(m^2 - d^2)
          - h/(n-m) * m^3/3 * arccos(d/m)
          + h/(n-m) * d^3/6 * log(m + sqrt(m^2 - d^2))

          + d * h/(n-m) * m/2 * sqrt(m^2 - d^2)
          - d * h/(n-m) * d^2/2 * log(m + sqrt(m^2 - d^2))

So the volume of the liquid in your tank is:

   Volume =   Pi * h/(n-m) * n^3/3
            - Pi * h/(n-m) * m^3/3

            + h/(n-m) * nd/6 * sqrt(n^2 - d^2)
            - h/(n-m) * md/6 * sqrt(m^2 - d^2)

            - h/(n-m) * n^3/3 * arccos(d/n)
            + h/(n-m) * m^3/3 * arccos(d/m)

            + h/(n-m) * d^3/6 * log(n + sqrt(n^2 - d^2))
            - h/(n-m) * d^3/6 * log(m + sqrt(m^2 - d^2))

            + d * h/(n-m) * n/2 * sqrt(n^2 - d^2)
            - d * h/(n-m) * m/2 * sqrt(m^2 - d^2)

            - d * h/(n-m) * d^2/2 * log(n + sqrt(n^2 - d^2))
            + d * h/(n-m) * d^2/2 * log(m + sqrt(m^2 - d^2))

You probably didn't expect it to be that complicated!

The value d is the distance from the center to the surface of the liquid.  We can't really use the total depth of the liquid because the bottom of the tank isn't flat.

This equation only really works when d is between the center and the top of the smaller circle.  If you need to figure it out for other values of d then please let me know.

To see the result of the integral in Wolfram|Alpha, take this link.

He finally demonstrates the whole process of integration to find the volume of a frustum of a cone, that is, the volume when this conical tank is full to the top, in order to show a more familiar formula:

Just in case you want to see this work with something you would recognize the answer to, then consider just the first term of the area:

   A = Pi R^2

      R=n      R=n   
       /        /
   V = | A dx = | Pi R^2 dx
       /        /
      R=m      R=m

   dx = dR h/(n-m)

       R=n
       /
   V = | Pi R^2 dR h/(n-m)
       /
      R=m

Then solving the integral we get:

   V(R) = Pi * R^3/3 * h/(n-m)   where    R goes from m to n

   Volume = V(n) - V(m)
   Volume = Pi * n^3/3 * h/(n-m) - Pi * m^3/3 * h/(n-m)
   Volume = Pi * h/3 * (n^3 - m^3)/(n-m)
   Volume = Pi * h/3 * (n^2 + nm + m^2)

Which _is_ the volume of a full frustum of a cone.

Anyway, even though it shows that the method works, it isn't the answer to your question.

(You can see this formula in our FAQ, and the start of a geometrical derivation here.)

Summing up,

So the volume of the liquid in your tank is:

               __
              +  \
           +      \
      _ +    air   \
     / \            \
    |---|-----------|    ---
    |   |           |     d
  ----+ |           |--- --- --- ---
    |   |   liquid  |         |   |
    |   |           |         m   |
     \_/            /         |   |
        +          /         ---  n
           +      /               |
              +__/                |
                                 ---
      |----h----|


   Volume =   Pi * h/(n-m) * (n^3 - m^3)/3

            + h/(n-m) * nd/6 * sqrt(n^2 - d^2)
            - h/(n-m) * md/6 * sqrt(m^2 - d^2)

            - h/(n-m) * n^3/3 * arccos(d/n)
            + h/(n-m) * m^3/3 * arccos(d/m)

            + h/(n-m) * d^3/6 * log(n + sqrt(n^2 - d^2))
            - h/(n-m) * d^3/6 * log(m + sqrt(m^2 - d^2))

            + d * h/(n-m) * n/2 * sqrt(n^2 - d^2)
            - d * h/(n-m) * m/2 * sqrt(m^2 - d^2)

            - d * h/(n-m) * d^2/2 * log(n + sqrt(n^2 - d^2))
            + d * h/(n-m) * d^2/2 * log(m + sqrt(m^2 - d^2))

This is considerably more complicated than the formulas we looked at last time; and it doesn’t even cover the case where the liquid doesn’t reach the edge of the small circle, or goes above it. We can factor out common parts and combine some terms to obtain this formula:

\(\displaystyle \frac{h}{n-m}\left[\frac{\pi(n^3-m^3)}{3} + \frac{2d}{3}\left(n\sqrt{n^2-d^2}-m\sqrt{m^2-d^2}\right) + \frac{1}{3}\left(m^3\cos^{-1}\frac{d}{m} – n^3\cos^{-1}\frac{d}{n}\right) + \frac{d^3}{3}\log\frac{n+\sqrt{n^2-d^2}}{m+\sqrt{m^2-d^2}}\right] \)

We can also check whether the formula for liquid volume makes sense (though this is not a full check, as it ignores whole sections of the formula). When d = 0, we should get half the volume of the frustum; and in fact, we get

\(\displaystyle \frac{h}{n-m}\left[\frac{\pi(n^3-m^3)}{3} + \frac{1}{3}\left(m^3\cos^{-1}0 – n^3\cos^{-1}0\right)\right] = \)
\(\displaystyle  \frac{h}{n-m}\left[\frac{\pi(n^3-m^3)}{3} – \frac{\pi(n^3-m^3)}{2}\right] = \frac{\pi h}{6}\frac{n^3-m^3}{n-m} =
\frac{\pi h}{6}\left(n^2 + mn + m^3\right) \)

This is just what we expected.

2 thoughts on “A Tank with a Conical End”

    1. Hi, Mahmoud.

      As it says, “This equation only really works when d is between the center and the top of the smaller circle. If you need to figure it out for other values of d then please let me know.” That’s why the formula requires d < m; when m=0, you are talking about a full cone, not a frustum. You can use the same method shown to derive a formula for the case d > m, or for the special case m=0.

Leave a Reply to Dave Peterson Cancel Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.