A little Gun, Shell & Range calculation Tool

Started by Nobody, February 27, 2010, 02:25:50 PM

Previous topic - Next topic

Nobody

Quite some time ago (end of 2008) I wrote a little program to estimate parameters and range of naval guns.

It's far from finished since I originally wanted to write something like an improved NAaB, but nevertheless tell me what you think.

http://www.navalism.org/resources/Ballistic.zip
And thanks to Guinness for uploading the file.

Edit, guess I should add a description
Using caliber the program calculates a shell weight-range based on severals OTL projectiles. Together with barrel length (and mean gas pressure) it can estimate the shell velocity. With those the range of the gun is calculated.
The "improved calculation" takes air pressure (depending on height) and non-flat earth surface (at least partly) into account.
Main issue is air drag, which is assumed as constant because I'm missing a formula that could give me a f(v), with v in Mach, relationship.

TexanCowboy

No armour penetration screen is showing up...is that intentional? It just shows a giant blank...

Nobody

Quote from: TexanCowboy on February 27, 2010, 07:54:57 PM
No armour penetration screen is showing up...is that intentional? It just shows a giant blank...
Yes, thats only a placeholder right now as I never had the time trying to implement an "interface" which would allow to forward the data to Nathan Okun's programs. Any idea how to do this without rewriting them is appreciated.

TexanCowboy

Not a techy person, but you could use the idea Guinness had on his spreadsheet...

Much appriciated for range, though

Nobody

#4
I have made some improvements to the program and added a few missing functions, especially for the users of imperial units.

Please tell me if there's still something wrong, if you think something is missing or if you other ideas.

Edit:
Guinness replaced the file, so the link is the same as above.

miketr

One thing we will need for N4 and odds are should have now is a set of penetration tables to cover non standard weapons such as stuff like 400mm L45's people are working on or 305mmL55 if someone want to build them and so on.  I have trouble using NAaB program are there some people that have some skill with that would be willing to generate some tables for us to use? 

TexanCowboy

This! As soon as Nobody can figure out how to do the penetration tables, we can use this. Tables are unnessasary when you have a program!

miketr

The tables are helpful for standard weapons program is for odd ball weapons.  Also we need tables to make sure there is no confusion as to what a given gun can do.  As noted above I have trouble with that program and its very easy to put in bad data and get bad results.  Don't want to deal with people going my gun should be able to defeat X" / Ymm of armor and the people moderating a battle think otherwise.

Desertfox

QuoteMain issue is air drag, which is assumed as constant because I'm missing a formula that could give me a f(v), with v in Mach, relationship.
What exactly do you need? I might be able to help you with this point.
"We don't run from the end of the world. We CHARGE!" Schlock

http://www.schlockmercenary.com/d/20090102.html

P3D

NaAB ballistics code is based on the MCTRAJ code written in BASIC. It is available, JGI.

a/ Several range calculation option - 1000m/yards, every 5000m etc, even custom ranges, you need to iterate anyways
b/ target armor plate angle/inclination option
c/ Make the data coloumns to be displayed customizable
d/ COPY/PASTE (to clipboard) option
The first purpose of a warship is to remain afloat. Anon.
Below 40 degrees, there is no law. Below 50 degrees, there is no God. sailor's maxim on weather in the Southern seas

miketr

1,000 yard or 2,000 yard range brackets would be best for any tables.

Nobody

Quoted/ COPY/PASTE (to clipboard) option
It should already be possible to copy the table to the clipboard (however the fixed lines/rows are missing) - you want me to "unfix" them?

Quote from: Desertfox on March 08, 2010, 09:29:36 PM
QuoteMain issue is air drag, which is assumed as constant because I'm missing a formula that could give me a f(v), with v in Mach, relationship.
What exactly do you need? I might be able to help you with this point.
Well the force that's slowing down the projectile ("air drag") can be calculated with
F = 0.5 * rho * Cw * A * v^2
With A defined by the caliber, speed v and air density rho already known/calculated, all that's missing is a better drag coefficient Cw.
Good would be a function which gives an additional speed dependent (expressed in Mach) modifier which could be multiplied with the constant "low-speed-Cw".
Also good would be a function that gives a Cw-value depending shell form, so you could input the crh instead of an obscure constant (Cw).
Best would be a combination of both.

MCTRAJ (at least the version I found) isn't of much help, because it requires you to input the values I want to know.

You really want the program to iterate to give you "nice" range-tables? Ok, that can be done but till now I avoided it to prevent too long calculations.

P3D

Quote from: Nobody on March 09, 2010, 03:26:58 AM
Quoted/ COPY/PASTE (to clipboard) option
It should already be possible to copy the table to the clipboard (however the fixed lines/rows are missing) - you want me to "unfix" them?

Quote from: Desertfox on March 08, 2010, 09:29:36 PM
QuoteMain issue is air drag, which is assumed as constant because I'm missing a formula that could give me a f(v), with v in Mach, relationship.
What exactly do you need? I might be able to help you with this point.
Well the force that's slowing down the projectile ("air drag") can be calculated with
F = 0.5 * rho * Cw * A * v^2
With A defined by the caliber, speed v and air density rho already known/calculated, all that's missing is a better drag coefficient Cw.
Good would be a function which gives an additional speed dependent (expressed in Mach) modifier which could be multiplied with the constant "low-speed-Cw".
Also good would be a function that gives a Cw-value depending shell form, so you could input the crh instead of an obscure constant (Cw).
Best would be a combination of both.

MCTRAJ (at least the version I found) isn't of much help, because it requires you to input the values I want to know.

You really want the program to iterate to give you "nice" range-tables? Ok, that can be done but till now I avoided it to prevent too long calculations.

Just use the form factor values that are in NaAB? Those values, however, contain a factor for cross-sectional density.
Your main problem is getting c_w values for the shell from somewhere else. Which is generally determined by wind tunnel tests and/or CFD computation. I don't believe there would be an open-source formula available. So ask Steve how he did it in NAaB. IMHO.
The first purpose of a warship is to remain afloat. Anon.
Below 40 degrees, there is no law. Below 50 degrees, there is no God. sailor's maxim on weather in the Southern seas

Nobody

Well I can't really hope to make exact calculations, so a good estimate would be ok. And as long as we use it to design guns for game purposes we would "only" have to decide on functions representing the game tech levels.

While searching for "MCTRAJ" I found this page. The drag functions available there are more or less what I'm looking for.
I put them into an excel file for visualization. Most interesting might be
the Sphere, for "ball" projectiles
G1 for simple/early shells
G7 for for special long-range projectiles
and one or two of the other functions except GI for shells from around the 1920's

Anyone capable of finding not too complex functions to calculate them?

Nobody

After some work I'm happy to present you a much awaited feature (well at least by two people, miketr and P3D) - custom Range-Steps and several other changes (details in the version history). The file was updated by Guinness several hours ago. While the new range calculation/iteration seems to work just fine so far, there might be quite a few "holes" in it that might cause unwanted behavior or in worst case, prevent the program from termination, so feedback is needed.