Now, it's not real hard to figure out what pressure you want if you know the BHN of your alloy. But how to convert load data for real high pressures and amounts of powder down to lead bullet levels? Richard Lee found out that within a certain shell, with a certain powder and a certain bullet weight, there will be an exponent used for an exponential decay based on load reduction from a higher pressure.
Richard Lee ("Modern Reloading, second edition) goes over this in some detail, and his methods check here in tests -- you really can skip endless testing and get close right off. But it's a pain to try and find proper reduced loads from the jacketed bullet (high pressure and velocity) to match the pressure desired for a given hardness of your particular cast bullet. This helps with that. I put in some defaults, which you get if you just <CR> through everything, but they are unlikely to be the ones you want (or even correct for this case). So the program asks you for all those numbers. You input the numbers for the max load (given in most load books) and the pressure and velocity exponents (given in his book and some others) to get a plot of pressure and velocity vs grains of powder in the load. It's obviously going to be wrong near zero powder, because there is still a primer...but seems to be good in actual use at real pressures you'd want. So the low end of the plot is almost certainly not just right; below some pressure, the bullet does not emerge at all, for example.
RichardL (and I) believe that unlike what Lyman says, tiny loads of real fast powder don't really work -- they still have too much peak pressure. This checks out here, the Lyman loads really stink. They were motivated by an "urban myth" that small loads of slower burning powder sometimes detonate. Well, it's most probably a myth, and the real reason is that extremely reduced loads can accidentally be double-charged...no one has reliably duplicated the "myth". To be safe, I don't do this with really slow burners, but with mid range powders that leave the case fairly full -- nice even pressure, and less chance of a primer flash completely missing a tiny bit of powder laying on the case bottom. That would leave a bullet halfway down the barrel -- and that WILL break guns -- See Hatcher's notebook for more on that. Moral is, anytime you shoot a gun, and it doesn't sound or feel right -- check before firing again!
This is just a duplication of his work, but instead of an Excel spreadsheet (which he didn't publish) it's a perl/gnuplot program that's a little slicker anyway.
############# The code in perl ########## too bad no syntax highlighting here, but it's copy-pastable
Code: Select all
#!/usr/bin/perl -w
# Copyright by Doug Coulter, 3/22/2011
# GPL V2 license -- please improve and email improvements to
# info@coultersmithing.com
# gun guys should do GPL better -- we already help each other
# This math is based on some insights by Richard Lee, as expressed in his book
# Modern Reloading, second edition, where he describes how pressure and velocity
# vs powder can be predicted (exponential decay, different exponents).
# As he points out (and I've duplicated) there is a pressure that's best for a given
# hardness bullet -- just enough to upset the bullet metal *a little*. This helps
# you find that load that will shoot your cast bullets the best.
# it would be nice to have the cursor display at bottom show both or either plot values,
# rather than just where the cursor happens to be
# you need to have gnuplot in your path, and the GnuplotIF perl module to get pretty pictures
use strict;
use Graphics::GnuplotIF qw(GnuplotIF);
################################
# numbers should be close for varget/.223/ 63 gr jacketed bullet
# we still need to learn them for cast bullets
my $velocity = 3199;
my $pressure = 55365;
my $grains = 26.4;
my $pfactor = 0.9206;
my $vfactor = .9626;
my $temp;
#################################
my @x; # for gnuplot
my @y;
my @y2; # a very adventurous joke
# a way to pause so things don't disapear off the screen
sub hitret
{
my $dummy = shift;
print ("\n$dummy Hit return to continue ->");
$dummy = <>;
}
# main, get data from user
print ("This program can be edited for different defaults. This is Varget, .223, and 63 gr bullet.\n");
print ("Starting pressure? ($pressure) >");
chomp ($temp = <STDIN>);
if ($temp =~/^-?(?:\d+(?:\.\d*)?|\.\d+)$/) {$pressure = $temp;}
print ("Starting grains? ($grains) >");
chomp ($temp = <STDIN>);
if ($temp =~/^-?(?:\d+(?:\.\d*)?|\.\d+)$/) {$grains = $temp;}
print ("pressure reduction pfactor? ($pfactor) >");
chomp ($temp = <STDIN>);
if ($temp =~/^-?(?:\d+(?:\.\d*)?|\.\d+)$/) {$pfactor = $temp;}
print ("velocity reduction vfactor? ($vfactor) >");
chomp ($temp = <STDIN>);
if ($temp =~/^-?(?:\d+(?:\.\d*)?|\.\d+)$/) {$vfactor = $temp;}
# compute arrays and print values on the terminal
while ($grains > 0)
{
print ("grains= $grains\tpressure=$pressure\n");
push (@x,$grains);
push (@y,$pressure);
push (@y2,$velocity * 10.0);
$grains -= 1;
$pressure *= $pfactor;
$velocity *= $vfactor;
}
# plot this crap
my $plot = Graphics::GnuplotIF->new(title => "Pressure vs Grains", style => "lines");
$plot->gnuplot_set_plot_titles("Pressure, psi","Velocity, fps * 10"); # set legend
$plot->gnuplot_cmd( "set grid" ); # send a gnuplot command
$plot->gnuplot_plot_many( \@x, \@y, , \@x, \@y2);
hitret ("bye"); # pause so plot can be viewed, wait for <CR> from user
He likes about 25k psi for linotype (good rifle alloy), and about 14kpsi for pistol alloys.