Drag functions

F o r u m

Home Ballistics for Excel Visit the BfX fo r u m
About BfX
Excel/VBA settings
Entering formulas
Drag functions
Robert Meijer

What is a drag function? Ballistic coefficient?

Drag functions are usually the basis for computations of the deacceleration of a bullet due to air drag. The origin of drag functions can either be measurements, calculations or both. Anyhow, to compute properties of bullet trajectories one needs a theory. This theory takes measurements or other theory as input and produces abstract concepts like drag functions, trajectories and drop. The purpose of drag functions is to simplify the computations. As it turns out, a single drag function is usually sufficient to calculate rather accurately - at least for target shooting and hunting - the properties of the bullets path for a whole range of similar shaped bullets. I future, however, bullet manufacturers will supply for each specific bullet its own drag function (or other inputs). One reason for this is that radar measurements of the bullets path and velocity are well within the financial possibilities for the larger bullet smiths. The other reason is that the computations can now be done on devices as common as a cell phone.On the site of Lapua, for instance, one can obtain specific drag functions of their bullets: download Lapua drag tables. BfX supports the most common drag tables as well accepts user supplied ones.

A ballistic coefficient, specific for a bullet, is used in combination with a certain drag function to compute bullet specific properties in specific atmospheric conditons. Wind velocity and air density are the most important ones. Wind changes the velocity of the bullet in magnitude and direction, as does air density; the larger the air density, the larger the deacceleration of the bullet, the longer the flight times. And if the flight time increases then wind changes the trajectory more and gravity pulls on the bullet a longer time. The bullet drops further. As various bullet smiths specify their ballistic coefficients for different atmospheric conditions one can easily make (small) errors if one does modify the ballistic coefficient to match the actual atmospheric conditions. BfX does its computations under ICAO standard atmospheric conditions. BfX_C is used to adapt the calculations to the actual atmospheric conditions. The figure below shows an excerpt from the Getting Started workbook (that you can download here).

BfX supports various drag functions for several families of bullet shapes. The default one, named GP,  is computed  from deacceleration formula's listed in the book of Arthur Pejsa (GP is shown in the figure below). This computation involves density, which Pejsa did not mention explicitly. However, he gave a clue in his book, on page 76 (yes it was a kind of detective work), saying that he adjusted his A function to equal the Mayevski A function at 2600 fps. This means that he used the same conditions as those for which Mayevski and Ingalls created their deacceleration parametrization. And according to de basic programs of McCoy (yes, even more detective work) that is 60F, 30inchHg and 67% humidity. BfX contains also the drag function which one can compute from Mayevski and Ingalls deacceleration formula's. It is labeled GIM in the figure below. The GP, GIM and G1 drag functions should be used with the G1 ballistic coefficients. In BfX you can obtain drag function values via the function BfX_Cd. However, for all practical purposes you do not need these and you do not have to compute air drag and other ballistic properties yourself. BfX provides them on an easy to use way. BfX works in  both  super and subsonic velocity regions (thus above and below mach 1, or about 330 m/s) for all drag functions.

The Pejsa drag function is suited, as  is the G7 drag function, for modern match bullets. For most sport shooting purposes, the drag function of Pejsa (GP), the G1 and G7 drag functions perform good enough, see the elaboration in the "Getting Started" workbook that you can download on this page. Due to the inconsistencies in the specifications of the ballictic coefficients published by many bullet manufacturers, small errors can be introduced in your calculations. One should consider using the G7 (or G1) ballistic coefficients from  the book "Applied ballistics for longe range shooting" in combination with the BfX G7 (or GP) drag function. These are all measured on a consistent way. The author of the book, Brian Litz, advocates the use of the G7 drag functions and related coefficients in combination with modern low drag bullets.

BfX supplies an air density calculator (use in Excel the function =BfX_AD(temperature, pressure, humidity)), based on recent scientific research. With this function you can check if densities presented by others are correct.

Notice that in the figure above the GP drag function crosses the GIM one at 2600 fps (or 792,48 m/s) just where Pejsa designed that his A (deacceleration) function (on which GP is based) crossed the A function of Mayevski Ingalls (of which GIM is derived).

BfX contains also a drag function (A in the figure above, the drag is constant, Cd=0,2!) freqently used by airgun shooters and which is embodied in the program ChairGunPro from Hawke Sport Optics. Hence, ballistic coefficients from the extensive pellet databases the airgun shooters have been building can be used with BfX.

User supplied drag functions

BfX, see the GettingStarted workbook that you can download from this site, accepts also user supplied drag tables, eg ones that are obtained from Lapua's site: Download Lapua Catalogues and guides. Follow the link to Lapua QTU zip file for the Quick Target ballistic calculator. You can install that calculator or locate in the folder data/drag the drag tables. You can open theses with a text editor and cut and paste the values in Excel. Below a comparision between Lapua's QuickTarget and BfX, both using a Lapua drag function.

Confused what drag functions, ballistic coefficients, retardation coefficients are?

Below a clarification - a bit of physics and math background is needed!