Home | | Android | | Share This Page |
An Android-based storage tank analyzer
Copyright © 2019, Paul Lutus — Message Page
Current Version: date
Most recent update to this page:
Click here for an anaglyphic example image.
"How big, how much, how heavy?" |
TankCalcAndroid download QR code |
The Program
TankCalcAndroid is an Android-based version of my well-known storage tank analysis program TankCalc. I created it on hearing from a number of tank farm managers who wanted a more convenient way to analyze storage tanks in the field. This version includes most of the features of the desktop version — the table generator, the 3D viewer, even the anaglyphic true-3D viewing mode. It also has the ability to email its results to a user-provided address.
Best of all, TankCalcAndroid is available at the same reasonable price as the original — it's free. There are no gimmicks or strings attached, and unlike so many Android applications, there are no ads.
For those in government and safety-critical positions, TankCalcAndroid's source code is available for inspection and validation, and its mathematical methods are fully described at the TankCalc home page.
TankCalcAndroid requires Android version 3.2, API 13, or newer.
The Programmer
Hello — I'm Paul Lutus, author of TankCalcAndroid. I've been writing software for about 35 years and have written some very well-known titles (Apple Writer, Arachnophilia). TankCalcAndroid is a fully functional Android-based version of my well-known storage tank analysis program TankCalc. I wrote it at the request of many correspondents in the storage business who have Android-based phones and tablets and who prefer not to lug a laptop around in the field.
I hope you like TankCalcAndroid. And stay tuned — I'll be writing more Android programs in the future.
TankCalcAndroid is based on TankCalc and has the same features, but it's better-looking and (in most ways) easier to use. TankCalc, in turn, began as a practical example in my Calculus tutorial, in which I used a propane tank to show how one builds up from one dimension (length) to two (area), and then three (volume), in the course of learning Calculus.
There was a time when the idea of running a numerical analysis program like TankCalc on a phone or tablet would have seemed overly optimistic, given the storage and speed requirements. But modern Android-based devices are more than fully capable of supporting programs like this — in fact, I now prefer the Android version for overall ease of use.
For comparison, here are execution times for the most challenging computational task that TankCalc needs to provide — a table that correlates volumes to heights. The volume-to-height computation task is the reverse of the efficient, default form and a task that requires a difficult, time-consuming mathematical operation called root finding — essentially, each entry in the table requires iterating over what may be scores of test values. I compare a fast desktop machine to my Android development machine, a Motorola Xoom. The tank is the default example that appears when TankCalc is first run:
- L: 96 inches
- R: 36 inches
- Left and right (r): 18 inches
- End cap type: elliptical.
- Units: Input inches and output gallons.
Here are the timing results for a volume-to-height table with one-gallon steps (that's 2,117 numerical root fining operations):
- Fast Linux-based desktop:
- 33 seconds for a fully-formatted 2,117-record HTML table.
- 18 seconds for a plain-text format.
- Android-based Motorola Zoom: 36 seconds for a fully-formatted 2,117-record HTML table.
This comparison may come as a surprise to some, but remember that all TankCalc versions run under Java, a virtual machine that isn't nearly as fast as native code on any platform. Also, it turns out that, after the mathematical result is acquired, formatting and displaying a nice-looking, very long HTML table as in this example requires a significant percentage of the total running time.
I emphasize that the above is a worst-case example — a table with 2,117 records, each requiring execution of an inefficient numerical root-finding method to create a volume-to-height table. Most uses of TankCalc produce a smaller height-to-volume table, which is much, much faster, typically measured in seconds (the same tank's height-to-volume table requires less than a second to generate on both test platforms).
Here is a typical TankCalcAndroid summary result that analyzes the properties of the above default example table — this result is displayed on the TankCalcAndroid "Summary" tab. By the way, I acquired this table by emailing it to myself from my Android device:
Name Value Unit Input units Inches Output units Gallons Tank orientation Horizontal Cylinder length (L) 96.00 Inches Cylinder radius (R) 36.00 Inches Left/bottom cap radius (r) 18.00 Inches Right/top cap radius (r) 18.00 Inches Cylinder surface area 21714.69 Inches² Left/bottom cap surface area 6107.26 Inches² Right/top cap surface area 6107.26 Inches² Total tank surface area 33929.20 Inches² Tank wall thickness 0.10 Inches Tank wall volume 3392.92 Inches³ Tank interior volume 488580.49 Inches³ Tank interior volume 2115.07 Gallons Tank wall density (water=1) 8.03 Tank content density (water=1) 0.70 Tank content weight (full tank) 12355.77 Pounds Tank empty weight 984.29 Pounds Tank gross weight (tank+contents) 13340.07 Pounds For complete use instructions and a full exploration of the mathematics behind TankCalcAndroid, visit the TankCalc home page.
TankCalcAndroid is free, it doesn't show ads, it's not crippleware or shareware, and I don't want your money. I just thought I would make that clear up front.
Years ago, in connection with my software development activities, I came up with an idea I called CareWare. But as the years went by I became somewhat disenchanted with the original idea and I now find it somewhat overheated (even though it's my idea).
So lately, moved as I am by conflicting forces — on one hand wanting to change the world, but on the other not wanting to even appear disrespectful of other people's choices — I've decided to just say pay it forward if you want. But there's no obligation to do that.
TankCalcAndroid is Copyright 2017, P. lutus and is released under the GPL.
Here is a source archive for TankCalcAndroid, organized as an Android Studio project.
Version History (reverse chronological order)
I apologize for the strict legalese below, but this program's calculations may be used to design and maintain fuel tanks and the possibilities for litigation have not escaped my attention. Sorry.
Disclaimer of WarrantyThe computations provided by TankCalcAndroid are provided on an "as-is" basis, without warranty of any kind, including without limitation the warranties of merchantability, fitness for a particular purpose and non-infringement. The entire risk as to the quality and performance of the computations is borne by you. Should the results prove to be in error, you assume the entire cost of any required service and repair, and any consequential damage.
Limitation of Liability
As customary in the computer business, you are solely responsible for any loss of profit or any other commercial damage, including but not limited to special, incidental, consequential or other damages. This disclaimer specifically disclaims all other warranties, expressed or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose, related to defects in the computed results or the documentation.
Home | | Android | | Share This Page |