I've missed more than 9000 shots in my career. I've lost almost 300 games. 26 times, I've been trusted to take the game winning shot and missed. I've failed over and over and over again in my life. And that is why I succeed.
— Michael Jordan
This is my final, planned post on Pejsa's ballistic model. I feel a little like Godzilla (Figure 1) marching back into the sea at the end of one of his many movies – it is time to move on to other subjects.
In the main body of this post, I work through a detailed example from "Modern Practical Ballistics" on how to apply Pejsa's formulas to determine a range table for a projectile moving through a wide range of velocities. In Appendix A, I work through a second example from the text as additional validation of my implementation. In Appendix B, I show how to use an Ordinary Differential Equation (ODE) solver to generate a range table for comparison with Pejsa's algebraic approximations.
While I have mentioned some of the following concepts before, a little review will not hurt.
One projectile modeling complication is that the functional dependence of drag on a projectile varies with the velocity of the projectile. Pejsa modeled drag using formulas of the form with different values of n defined in four velocity zones . The velocity zones and the associated values of n are defined as:
- zone 1: 1400 ft/s to 4000 ft/s
This is the supersonic velocity zone and n= 1/2 in this region.
- zone 2: 1200 ft/s to 1400 ft/s
This is part of the low supersonic region and n=0 in this region.
- zone 3: 900 ft/s to 1200 ft/s
This is part of the transonic region and n = -3 in this region.
- zone 4: 0 ft/s to 900 ft/s
This is the subsonic region and n=0 in this region.
Figure 1 illustrates the F curve used by Pejsa, which describes the deceleration of the reference projectile.
Before I get too far, I need to define a term that Pejsa called the "drop rate".
- Drop Rate (DR)
- The drop rate is the number of vertical inches a projectile drops per yard of horizontal travel.
Pejsa computes the drop rate at the end of each velocity zone. The drop rates accumulate as the projectile passes through each velocity zone. We can use Equation 1 to compute the drop rate of the projectile at the end of a velocity zone. This rate will persist in the projectile from the end of the velocity zone to the final range.
- Fm is the mean coefficient of retardation (feet).
- D is the drop at range R for a projectile fired horizontally (inches).
- n is the exponent correction associated with the velocity zone the bullet just passed through (unitless).
- R is range the projectile has traveled through the current zone (yards).
Equation 1 is derived in Appendix C.
Pejsa's Solution Approach
Pejsa's approach can be summarized as follows:
- Treat each velocity zone as a separate problem.
This means that we develop separate solutions for velocity zones 1, 2, 3, and 4 as if the other zones do not exist. This would be equivalent to firing a projectile four times with velocities
- V0, the muzzle velocity.
- 1400 feet per second (fps), the velocity at the high–end of zone 2.
- 1200 fps, the velocity at the high–end of zone 3.
- 900 fps, the velocity at the high–end of zone 4.
While this part of the solution does not assume that height change is affected by the projectile passing through previous regions, in fact, there is a strong interaction. This interaction can be modeled separately as shown below. My discussion will assume that the projectile traverses all four velocity zones – it might not. If the projectile only traverses some of the zones, simply evaluate Pejsa's equations for the zones it does pass through.
- Calculate the drop rate at the end of each zone.
The drop rate from the previous zone will carry forward into the next zone. We can compute its contribution to the height change by computing the product of the drop rate from the previous zone times the distance traveled.
- Sum up all the contributions from gravity and drag in the current zone plus with the drop rate contributions of previous zones to get a total drop rate.
This gives us the rate of change of height relative to the line of sight with respect to distance. We can integrate this rate of height change function with distance to get the total change in projectile height.
Pejsa includes a large table of ballistic solutions in the back of his book for various projectiles. I randomly chose an example with a muzzle velocity V0=2400 fps and a ballistic coefficient BC=0.4 to test my implementation of his equations.
Figure 3 shows how I determined the ranges at which the projectile crosses from velocity zone into another. Calculations begin with the F function, which represents the deceleration of the reference projectile (i.e. a 1-inch diameter, 1 lb, G7 shape) at various velocities.
Drop Formula For Multiple Velocity Ranges
Now that I have computed the distances at which the projectile transitions from one velocity zone to another, I can compute the various drops that occur as a function of the ranges within each zone. Figure 4 summarizes these calculations. Observe that I compute the drop rate (y-direction) accrued by the end of velocity zones 1, 2, and 3. I sum all the drop contributions to the projectile in the function DR.
Generating a Range Table
Given the zone transition distances, the projectile drops due to gravity and drag, and the drop rates at the end of each zone, I can now compute the height of the projectile relative to the line of sight using the equation 2 from this post for a projectile's height (H) above the line of sight (Figure 5).
My results show excellent agreement with Pejsa's results.
This concludes my planned review of Pejsa's "Modern Practical Ballistics". I have presented detailed derivations of his key results and provided examples of their application using Mathcad. Hopefully, the material presented here will be useful to those battling through Pejsa's book – it was one of the most frustrating reads I have encountered. I believe that I mastered the material, but that was in spite of the book's presentation.
Appendix A: Textbook Example
I have tried my routine on multiple examples from Pejsa's book. On page 94, Pejsa works an example and presents the results in Figure 13 of his text. I have used my implementation of his equations to duplicate his results in this example file (Figure 6). This file is a PDF of the same Mathcad routine used to generate the results in the main body of this post.
Appendix B: Range Table Creation With ODE Solver
Pejsa's algebraic ballistic solutions are approximate solutions to the differential equations that describe the projectile's motion. I inserted Pejsa's differential equations into Mathcad, generated numerical solutions for a number of examples, and compared the results with the output from Pejsa's software. As you would expect, the agreement is excellent (Figure 7).
I have attached a PDF of my worksheet Blog_ODE.
Appendix C: Derivation of the Drop Rate Equation
Figure 8 shows my derivation of the drop rate equation (Equation 1).