All material is copyrighted by Nathan Okun and may not be used for commercial purposes without prior written permission.
Nathan Okun has developed three different kinds of Armor Penetration Programs. To run them, first download and install the following two programs into the same directory of your choice:
Once the above programs are installed, download and install any of the Armor Penetration Programs into the directory containing the above programs.
Nathan Okun has developed the following Armor Penetration Programs. For general installation and usage notes, see Program Help and Notes.
The FACEHD (Facehard) program series are applicable to all naval face-hardened armor that is at least 3 inches (76.2 mm) thick. They are not intended for use with thinner armor plates. The programs include a projectile data menu for most nation's APC-type projectiles. Russian M1909 "tough-capped" APC shells, used during World War I, are not in the program now, but can be approximated by using the British post-Jutland 13.5-inch Greenboy APC shell entry. The Facehd program calculates the armor thickness for complete penetration and holing. The program also calculates expected projectile damage effects (very important with this kind of armor).
- Version 7.9
Two large bugs fixed.
- Adjusted HARVEY armor formulas such that armor thickness does not exceed 20 inches.
- Re-evaluated Compound armor formulas to take into account Harvey and KC armor formula changes in previous versions.
More details in the zip-file notes.
- Version 7.8
Two small bugs fixed.
- Version 7.7
Facehard 7.6 had a bug for the uncapped 155mm and 203mm Japanese Type 91 AP projectiles when hitting armor between 0.1 and 15 degrees. Version 7.7 fixes that by hand-inserting the correct zero-deflection value into the logic and bypassing the existing logic, which was never designed to handle such a combination of SHATTER plus NO DEFLECTION (it was dividing by zero in one of the formulas). The FINAL RESULTS printout at the end of each run now states this is special logic. More details in the zip-file notes.
- Version 7.6
I added some logic in Version 7.5 to handle the fact that older, weaker projectiles used the much flatter Shattered Obliquity Thickness Modifier Curve for their Holing Limit due to major breakage when they failed to penetrate, even if the damage was not actual shatter. However, this was not always true for the NBL against weaker armors, since sometimes the projectile could suffer much less damage if it hit hard enough to penetrate completely. My old logic had a major bug that gave incorrect answers sometimes for both the HL and NBL and crashed the program at 70 degrees or more.
- Version 7.5
This version fixes a number of small bugs in Version 7.4 that were found by someone who is translating it into C. It also adds a corrected method of handling the case where an uncapped high-quality projectile hits thin face-hardened armor at low obliquity (up to 15 degrees obliquity) and suffers only nose damage, rather than complete shatter. I had something that did this before, but it had little data except for one set of British post-WWI tests. I now have German WWII test data, so I was able to come up with an approximation that includes both sets of data and, hopefully, is somewhat realistic. A more detailed list of changes may be found in the FACEHARD75CHNGDOC.rtf document within the FACEHD75.zip file.
- Version 7.4
New update, fixing some typos and making some corrections/additions to 7.3. A more detailed list of changes may be found in the FACEHARD74CHNGDOC.rtf document within the FACEHD74.zip file.
- Version 7.3
This one was pretty extensive as to armor and projectile properties in those pre-WWI times, which I had had limited data on. German KC a/A armor was MUCH more complex than I knew, with FOUR significantly different types in either composition or resistance or both by the end of WWI. Who knew? This is now included in FACEHARD as far as the data I have allows, including re-calibrating the other older armors to give the same test data as before against projectiles with new, updated properties to match the new German projectiles of the period (I assume other shells were of similar capabilities and changing them to match the new German data requires armor property changes to retain the old known FACEHARD calculation results as closely as possible - mostly, I was able to do this within a couple of feet per second of the 7.1 HL, NBL, and EL results, though a couple of these have more change than that, which I hope is now more accurate, not a screw up on my part!). A more detailed list of changes may be found in the FACEHARD73CHNGDOC.rtf document within the FACEHD73.zip file.
- Version 7.1
I found a big typo in 7.0 that prevented running FRENCH PROJECTILE SELECTION #9, the US Crucible Steel 380mm Mk 1 MOD 1 AP projectile for RICHELIEU (blueprint dated May 1943). When I updated the French projectile table some versions ago, I added a new entry to the table and forgot to add one to the counter, so the last entry, this projectile, "fell off the edge".
- Version 7.0
I have made a few touchups primarily to make the Harveyized Armor scaling adjustments exactly match my graphs. They were "pretty close" but as a perfectionist I had to tweak them to within 0.1% error. A single adjustment worked for all face layer percentages and projectile sizes, so it was due to the nature of the Harveyized armor's hardened steel/cementite-only face combination (I assume it works with both nickel steel and mild steel versions of Harveyized armor), not due to my KC armor adjustments being wrong.
I also found a couple of typos and added some more information about those two captured VH experimental plates - with deeper face layers than regular VH armor - that were tested by the US and Britain after World War II that proved to be the best plates ever tested by those nations. They both had face layers more like German World War II KC n/A armor and were 1% (the US plate) and 1.5% (the British plate) better than average KC n/A, way above standard VH armor. Since they are so close to one-another in design and quality, even though one was more than twice as thick as the other one and tested with two different nation's projectiles almost over a nearly double scale of diameters, indicates again Japanese super-high quality control (British CA plates vary all over the map as to quality around their average, but not Japanese armor!!).
The only details that I still need to resolve completely are British changes to the ratio of HBL to NBL (varies a lot from plate to plate), Russian armor and projectiles (very limited test data), and the exact relationship between German and Austro-Hungarian projectiles and armor before and during World War I (have a lot of similarities, but not sure who developed what).
- Version 6.9
- Version 6.8
I have been testing the thing "to death" and am finding all sorts of small problems that only occur under certain circumstances. Some more problems with the Hooded and soft-capped shells versus various KC armors. Fixed a major bug in the logic for the Japanese uncapped 15.5 cm and 20.3 cm Type 91 AP projectiles. Fixed flaw in Harvey armor logic and a few less serious design limitations in FACEHARD. The projectile tables for all nations are now modified as to their old pre-1900 shot and shells. Russian projectiles, as far as are now known to me, are now included as a Nation Selection with a number of shells available.
- Version 5.8
Fixed problems with Gruson Chilled Cast Armor and Terni Cemented Armor. Fixed bug where not zeroing the plug weights when no hole made in the plate prior to using them. This caused a minor error where post-impact behind-the-plate damage was being worked out. Splinter damage is now possible if no backing layer is mounted behind the plate.
- Version 5.7
Fixed minor bugs.
- Version 5.6
Fixed problem where rounding error changed ballistic limits by 1 ft/sec and messed up some of the logic for projectile damage by causing the results to shift back and forth at boundaries. Changed logic so that if the actual value is only 1 ft/sec away from a "perfect" projectile boundary, then it is always set to equal that perfect projectile value.
- Version 5.5
Corrects a problem where Selection 20 was still being referred to as Selection 18 in one place, which caused an error when either Selection 18 or Selection 20 was used and that logic was applicable. Also has some wording changes to better define what is really meant by "quite possibly" and "probably" when referring to projectile wobbling/tumbling after a penetration. Noted that a weak shell that is broken above the Holing Limit but below the Navy Limit may throw pieces of itself through the plate, while a stronger shell that does not break will only punch out armor pieces. Thus, sometimes a weaker shell is more dangerous!
- Version 5.4
Fixed bug for shattered projectiles at low levels of armor penetration.
- Version 5.3
Fixed bug where remaining velocity of projectile was not being reset between run loops (without restarting) if the projectile had its nose break (but no other breakage) at under 45 degrees obliquity and only made a hole in the plate.
- Version 5.2
Various bug fixes.
- Version 5.1
Various bug fixes and rebuilt the Grüson and Terni Cemented armor logic due to both of them having plate faces that get thinner as the plates get thicker. The program now gives you the current calculated back layer percentage ("UB") used in the program and this will make it easy to override this with your own manual input values (if you did not know the old UB value, how could you determine a new one?). I also did some minor editing and clean-up of the paper printout and added TC armor to it, which I had forgotten to do in 5.0. Boy, I am sure blind sometimes!! I ran some tests and things work OK now, as far as I can tell, at least as far as THOSE bugs were concerned. Anyone finding a bug, please tell me about it!
- Version 5.0
I decided to jump to Version 5.0 because I have done an EXTENSIVE modification to how the program handles SHATTERED projectiles, among other things.
My problem was that I based the original design on the U.S. World War I and shortly thereafter tests using the U.S. Navy World War I MIDVALE UNBREAKABLE soft-capped AP projectiles, which were, by definition, 1.00 quality, since they rarely broke against the World War I-era U.S. Navy Class "A" armor at up to 15° obliquity. Thus, when they DID shatter at a higher obliquity, they still had 1.00 quality and only the effective plate thickness went up. However, this means that I only had good data on 1.00 projectiles, which is good for creating the baseline to compare other projectiles, but it is bad in that the "third dimension" (projectile quality variations when the projectiles are not as good and shatter or don't shatter) was missing.
When I did my re-evaluation of German APC projectiles and armor, I used an "analyze it to death" study of the captured (by the U.S. NavTecMisEu) World War II tests of Krupp KC n/A armor as used on SCHARNHORST and BISMARCK, which was tested using many kinds of Krupp APC projectiles, INCLUDING pre-World War I small hard AP capped L/3.2 and L/3.4 APC and soft-capped L/2.9 APC projectiles. By using G.Kdos. 100 and this data and U.S. and British tests of German World War II armor and projectiles, I cross-correlated the results back and forth and back and forth (it was a REAL messy job!) until I got some kind of correlation between the soft-capped projectiles, which were always shattering against this improved armor, as expected, and the World War I hard-capped projectiles, which were shattering at 30° obliquity, but not at normal, against thick plates of this improved KC n/A armor, which I had not expected, but which makes sense, since the later post-World War I Krupp APC projectiles obviously were given different, thicker AP caps for a reason!
After all this work, I reran my recent data on the World War II Italian Terni Cemented plates being fired at at 30° obliquity by uncapped Italian World War II AP projectiles and, lo-and-behold, my answers were now even closer to the results of the tests! Eureka! Win-win!!
M79APCLC is used for calculating penetration for homogenous armor types. These programs completely replace the DeMarre Formula. The programs calculate assuming the use of USN STS homogenous armor of World War II, which was a soft - 225 Brinell - form of rolled homogeneous armor against uncapped, undamaged, medium-length, pointed, ogival-nosed AP shot. Complete ("Base Through") penetration is predicted, but not "Through Crack" or "Nose Through" results. This program is based upon experiments with the US Army 3-inch (76.2 cmm) M79 AP shot projectile of World War II, but can handle most other projectiles of similar shape and of any size. However, be aware that the actual projectile nose shape and the damage the projectile suffers while penetrating armor have major effects that can invalidate the results. The program is accurate for obliquities up to 80 degrees.
The following must be installed to the same directory to run FaceHard:
M79APCLC.zip contains the following files; download these if you cannot extract M79APCLC.zip:
FLATNOSE and TPRFLTNS are specialized armor penetration programs for 3-inch (76.2 mm) flat-nosed undamaged AP shot projectiles for penetration into homogeneous steel armor. Flatnose calculates for a completely flat-nosed projectile with no cap or windscreen while Tprfltns calculates for a projectile with a 0.47-caliber-high truncated cone nose with 0.85-caliber flat end and a thin conical windscreen added. These programs are really only for use in calculating penetration of US Navy STS armor, the results may not apply for other homogeneous armor types. Other nose shapes are not included, as even a small change to nose shape may make for a large change in the penetration characteristics. Only small changes in shell weight will work, as the experiments were based upon shell weights in the 11 to 15 lbs. region (5 to 7 kg). These programs are only for plate thicknesses of circa 0.85-caliber, as above this plate thickness all of the shells tested deformed or shattered, thus invalidating the results. Both programs work for all obliquities up to 80 degrees.
Both of these programs are for special U.S. Navy AP projectiles inspired during World War II from examination of samples of the Japanese Type 91 "diving" AP shells with their break-away noses and tapered flat-nose design for stable underwater travel - but neither of these U.S. tests shell types had a break-away nose on top of the nose shape given below - as follows:
FLATNOSE was developed from tests of 3-inch caliber 10-15 pound (W/(D-cubed) = 0.37-0.56) flat-nosed projectiles (solid cylinders of various lengths with the front end sliced off flat). No windscreen was fitted to any of them. The best results were for circa 13-lbs. projectiles (W/(D-cubed) = 0.48).
TPRFLTNS was developed from tests of 13-lbs. (only) 3-inch truncated-conical-nosed AP projectiles (0.85-caliber - 2.55-inch - wide flat face raised 0.475-caliber - 1.425-inch - above the cylindrical body's upper edge; there was a sharp crease at this cylinder/cone joint). This projectile had a thin conical windscreen, taking up about 0.65 lbs. (5%) of the total weight, extending the tapered nose to a point (the upper half-inch or so of the tapered solid nose was cut with shallow threads around the circumference to hold the windscreen on, so the width of the flat part of the nose if no threads had been cut would have been about 0.93 caliber (2.8") (about 0.25" wider than the 2.55" value). These shells had hollow cavities for explosives (inert-filled for the tests) and were prototypes of actual shells of this shape that were never actually produced for Navy guns. The weight used matched that of the actual standard-issue capped 3-inch Mk 29 AP shells sometimes used by the World War II U.S. Navy 3-inch/50 and 3-inch/70 AA guns (the hand-loaded version of these guns were used in some small ships throughout World War II and they were being introduced in rapid-fire, auto-load versions to replace the 40 mm AA guns at the end of World War II due to the danger of kamikazes) - the AP shells were primarily for shooting at surfaced submarines from smaller ships (not a major use for these guns), though 3-inch Army or Marine anti-tank guns may have also used them occasionally.
Both programs compute the striking velocity to barely allow an intact, undeformed projectile of that design to pass entirely through the plate (less and the projectile will bounce off or remain stuck in the plate, depending on the impact conditions) - the U.S. "Navy" Ballistic Limit. At high obliquity the projectile never slows down to a stop; it either skips off at some (usually high) velocity or punches through at a similar (but usually not quite so high) velocity,
These two programs give extremely good results for the 13-lbs. 3-inch projectiles of the shapes given at all obliquities from 0 degrees ("normal" or right angles) up to 80 degrees against plates from 0.1 to 0.85 caliber (0.3" through 2.55") of average U.S. Navy World War II Class "B" armor or Special Treatment Steel (STS) (115,000 psi ultimate tensile strength), as used extensively for thin armor, deck armor, or heavy conning tower armor or battleship turret face armor in many World War II U.S. Navy warships.
Below 0.1 caliber, the curves have been extended to 0.001-caliber (0.003") with a very good chance of being accurate there, too.
Above 0.85-caliber plate thickness (and slightly less for high obliquity impacts), the projectiles always shattered. Extrapolating the results for any kind of iron or steel plate above about 0.9-caliber (2.7") is thus not going to be reliable or even anywhere near correct.
The effects of scaling to other projectile diameters or with plates of different metallurgical properties are not given in any of these tests and, though the program allows such, cannot be considered accurate for projectiles much different from 3-inch in size or used against different kinds of plate. Changing the weight much from 13 lbs. will also give less reliable results.
NOTE: I have some test results for extra-long 20 mm (0.78") flat-nosed steel cylinders of circa 0.39 lbs. (W/(D-cubed) = 0.8) against a form of high tensile steel at right-angles and the shape of the penetration energy needed versus plate thickness (in projectile calibers to put them on the same graph) curve for the Navy BL is virtually identical to my 13-lbs. 3-inch flat-nosed-cylinder data up through 0.85-caliber plate thickness, but the 20 mm curve is offset from mine and I do not know what combination of adjustments are needed to match them with one-another, due to not enough data.
I am adding these programs to allow a contrast with the results of my M79APCLC program for typical blunt-point curved-nose AP or SAP projectiles (which replaces the old standard French DeMarre Nickel-Steel Penetration Formula to give much more accurate results for intact, undeformed projectiles of that nose shape, most especially for oblique impact, where the French formula was almost useless, being designed for normal impact only). The M79APCLC penetration program is based on an enormous number of tests performed by the U.S. Navy at the Naval Proving Ground during World War II using U.S. Army 3-inch M79 AP Shot projectiles (mainly), hence the name of the program. The results of this program are extremely reliable if the pointed projectile is similar to the M79 nose design and remains intact and undeformed during the impact.
The differences in results of these two flat-nosed-type projectile tests are striking (no pun intended!), both from the M79APCLC results in most cases and from each-other, indicating how sensitive penetration is to nose shape when the nose gets very blunt and has to punch through the armor like a fist, rather than drill through like a (somewhat blunt) needle.
More data is needed to calibrate these two programs for a wider range of projectile weights, plate properties, and projectile sizes. Also, some more data for intact projectiles against any plates at least up to about a caliber thickness (3-inch for the defining projectiles) would be of interest. Until then, the results are rather limited in usefulness.
The HCWCALC program is an attempt to include the three major forms of nose coverings in AP and SAP projectiles, the AP cap, the Hood, and the windscreen, separately and in combination (Hoods and AP caps are mutually exclusive). It is an extension of the previous M79APCLC STS armor penetration program, which it incorporates internally. If all of the nose covering weights are set to zero, the earlier M79APCLC program results are obtained. As currently written, it does not include all forms of AP caps, just one US Army and one Navy WWII AP cap, though it allows manual adjustments of the internal default table values used in most of its various AP cap calculations. I hope to add more kinds of AP caps as I get information on them (or can separate out the cap effects from the effects not due to the cap in test results and published armor penetration curve charts). AP caps have several different effects on penetration, depending on cap design, projectile nose design, method of cap attachment, cap hardness, plate thickness, and impact obliquity. Virtually all of these effects have canned default values that can be modified by user-supplied multipliers and answers to various questions during the user input process, if desired. Changing the weight of the cap adjusts the results of some of these effects, but not others. Complicated.
Most of my future work on this program will be adding more types of AP caps to the selection available and incorporating nose shape effects that can handle the several odd-ball AP cap face shapes (which include everything from pointed cones, to hemispheres, to truncated flat noses, to hollow conical pits, to flying saucer top shapes, and so forth). The projectile nose shapes under the caps are much less variable, but still require some new logic to get right, too. This update will have to wait at the moment as the data that I have is somewhat chaotic at the moment and will require some time to sort it out properly, after which I will have to evaluate a lot of tests to sort out how to handle this in the program.
Similarly, there is some variability as to windscreen designs where I allow manual adjustments to the table outputs on top of the weight adjustment. There is, however, only one parameter other than weight percentage that the user can adjust for a windscreen, unlike the several parameters for AP caps.
Other than adjusting for Hood weight changes, Hoods use the default calculated values as-is.
Under some conditions the changes caused by these nose coverings are minimal, but under other conditions the effects can be very large (up to over 18% change in the required penetration velocity, sometimes making it higher and other times making it lower). The several EXCEL spreadsheet graphs converted to PDF format included with the document describing this program shows the complexity of using just one of the two AP caps that can be selected, with an adjusted weight (more like the typical WWII cap weight) and manually selecting different cap effect option combinations, even when using the default program computations. Also shown are combinations with windscreens on top of Hoods and AP caps, to give more realistic results.
The following must be installed:
- Version 4.0 (February 2018)
My program differentiates between an AP Cap that merely breaks up due to pressure as it is forced through the plate while riding the projectile nose (a couple of effects) and the cap SHATTERING on the plate face after just making an initial notch in the plate face, so that most of the cap's inertia are lost to the penetration process and the NBL goes up and the Residual Velocity, now without the cap weight, goes down. I had put the check for the shattered cap along with the windscreen and Hood checks for being torn free, but they do not have this shattered case (they either go through very thin plates or are torn free and do not penetrate at all). I now had to create a new subroutine to do the cap weight change logic for cap shatter (includes loss of windscreen weight always, too) that I now jump to just after determining that cap shatter has happened from the user input of the normal-impact minimum plate shatter thickness and the program's oblique-impact adjustment formulae.
While at it, I also rewrote some confusing, to me, notes and screen printouts to better explain how the program does some functions, though these do not change the computation results.
- Version 3.0 (May 2017)
Improved smoothness of graphing calculations. See text file in zip package for a complete listing of the changes.
- Version 2.0 (December 2016)
Some typo corrections and small changes. See text file for a complete listing of the changes.
- Version 1.0 (April 2012)
To run these programs on Windows 7 and above, or other 64-bit versions of Windows, you can install DOSBox. DOSBox is an Intel x86 PC emulator that allows MS-DOS programs to be run on modern systems. A convenient alternative to manually setting up a program to run on DOSBox is to install a frontend - like DOSShell as well. With a frontend, you can configure a program to run on DOSBox with a graphical user interface (GUI), rather than editing and creating configuration files yourself in a text editor.
DOSShell's main window has an entry (represented by an icon) for all configured programs; to run a program all you need to do is click the entry. Configuring DOSBox, and adding and editing entries, is done with GUI forms.
So far, at least for the text-only programs that I create, DOSBox has run every single one perfectly.
These programs are all compiled under QuickBASIC 4.5 and run under an MSDOS window in a Windows OS. In many cases, when printing has to be done, the Windows printer utility program refuses to recognize the DOS LPRINT command, so printing does not happen.
DOSPrint (download) is a free program - for Windows 2000 and later - that allows the user to "lock" the LPT1 through LPT9 printer ports in DOS to the same one in Windows - you can even select which printer does what if you have more than one printer. You can disconnect the lock after you are finished. The FaceHard and associated programs usually work with LPT1 (the default for the DOS LPRINT command), but that can usually be changed by appropriate DOS or Windows commands.
For a listing of tablurized data based upon Nathan Okun's programs, please Click Here.
In order to further improve these programs, Nathan would like to obtain more data on Russian, Austro-Hungarian, Italian, and French armor and projectiles, especially test results. Also, any test results for the period prior to World War I would be most welcome. If you have data that you think would be useful in this regards, please send an Email.