Thursday, December 20, 2012

Musketry Effectiveness on the Early Nineteenth Century Battlefield - Part 2

The model developed for this simulation extends Nafziger's analysis and adds stochastic processes to aid in quantifying the interaction of variables not considered by Nafziger. The model will concentrate on the impact of a company of 100 British infantry in two ranks firing musket volleys into an equal number of French infantry attacking across open ground in three ranks. To provide context for the analysis, consider the sequence of events depicted in the model. 

As the attacker advances on the defender's position, the defender will open fire delivering an initial volley. Some muskets will misfire during the volley and a cloud of smoke will erupt from the weapons, enveloping the defenders and obscuring their view. If the distance between the attacker and defender is great, few casualties will be inflicted. The defender continues the advance while filling in gaps in the line caused by those casualties. While the attacker steadily advances, the defender reloads and prepares for a second volley. Those muskets misfiring in the first volley will attempt to be made operable in time for the second volley. Likely still shrouded in smoke, the defender fires a second volley into the attackers but at a closer range. The defender experiences additional misfires and lingering battlefield smoke reduces the accuracy of the second volley. More attackers fall but continue the advance. This process continues until either the attacker contacts the defender or the defender is eliminated.

To provide visual context to the model, Figure 3:Simulation Process Flow illustrates the relationships between the component processes.
Figure 3: Simulation Process Flow

To initialize the model, a selection of process input parameters is chosen. These process input parameters are detailed in Table 2: Input Parameters for Simulation.
Table 2: Input Parameters for Simulation

The Musketry Effectiveness Model is comprised of a number of sequential processes. These component processes in order of execution are:

  1. Number of Muskets Active, Pre-Volley – the count of muskets operational after the prior volley. If this is the first volley in the simulation then the parameter is set to Number of Muskets initial value.
  2. Number of Inactive Muskets, Pre-Volley – the cumulative total number of muskets that have misfired up to the current volley that have not been repaired.
  3. Musket Repair Process – the number of muskets that have been made serviceable prior to the next volley. This process follows a uniform distribution with a minimum repair count of zero and a maximum repair count of (Total Number of Inactive Muskets) x (Repair Rate Multiplier). The Repair Rate is modified by Repair Rate Multiplier to prevent a 100% repair rate in one simulation cycle.
  4. Muskets Active for Volley – the number of muskets that are capable of firing in the next volley. This is the sum of (1) and (3).
  5. Minutes Since Prior Volley – the total elapsed times in minutes from the firing of the previous volley to the current volley. Time between volleys follows a Beta distribution since the musketry fire rates are bounded by a minimum and maximum fire rate.
  6. Smoke Visibility Factor Pre-Volley – represents the smoke generated (or accumulated) from the previous (or prior) volley(s) minus the percentage of smoke dissipated due to elapsed time. The percentage computed reduces the musketry effectiveness due to obscuring the sight of the defenders to their target.
  7. Attacker Distance from Defender – the distance in yards that the attacker is separated from defender at the time of volley. For the French, this march rate equals 90 yards per minute.
  8. Volley Fired? - if this computed distance is zero then no volley is fired since the attacker will have reached the defender.
  9. Misfire Rate – probability that a musket will misfire. Follows a triangular distribution. Anecdotally, the musket misfire rate averaged 15% to 20%.(1)(2) Others have claimed that a musket will likely misfire in 1 of 6 volleys. Given that, the likeliest misfire rate is 15% with the minimum and maximum values increasing monotonically with each successive volley.
  10. Number of Muskets Misfires – the total number of muskets misfiring this volley (rounded up) based on the misfire rate computed in (9).
  11. Base Casualty Factor – the casualty rate based on the Musketry Effectiveness curve (Beta distribution) cross-referenced to the attacker's distance from the defender.
  12. Adjusted Casualty Factor – adjusts the Base Casualty Factor by Minimum Extreme distribution and the probability of hitting the same target more than once.
  13. Casualties Sustained – computed as the product of the Number of Muskets Active and Adjusted Casualty Factor. The number of casualties in one volley cannot exceed the number of original attacker divided by the number of ranks.
  14. Smoke Visibility Factor, Post-Volley - represents the smoke generated (or accumulated) from the previous (or prior) volley(s) plus the percentage of smoke generated from this volley. The percentage computed reduces the musketry effectiveness due to obscuring the sight of the defenders for the next volley.
  15. Attackers Remaining > 0? - the number of attackers remaining. If the count is zero or less then the attacker is destroyed. If the count is greater than zero then another simulation cycle will occur.

Rather than relying solely on the Gohrde three-point curve to quantify musketry effectiveness, two additional musketry effectiveness probability curves were constructed. Figure 4: Musketry Effectiveness Curve Comparisons illustrates these comparison curves. Since ranges are bounded by 0 and 450 yards, curves based on Beta distributions were examined. Curves fit to these data suggest two alternative musketry effectiveness curves.
The first curve, denoted 'Freitag I' (Beta parameters α=0.60; β=1.25) emphasizes Picard and Muller – Veteran trials with less emphasis on Scharnhorst. The Freitag I curve can be viewed as an upper bound on effectiveness given near ideal conditions on the firing range. Not only are the trial conditions ideal (volleys are not timed, weapons less likely to misfire, battlefield smoke dissipates before next volley, no panic from battlefield environs, etc.) but the firers are either well-trained or veterans of the art and science of firing their weapon.

The second curve, denoted 'Freitag II' (Beta parameters α=0.50; β=1.90), places more weight on the Muller – Raw trials and the single Gohrde data point with less weight on the Scharnhorst trials. Freitag II represents a lower bound on musketry effectiveness on the training ground since the firers do not have the training and expertise to produce the results of the veterans in Freitag I. In comparison, Nafziger II and Freitag II are similar with Freitag II yielding slightly higher casualty rates in the 50-150 yard range while yielding fewer casualties above 250 yards. For the simulation, Freitag II will be utilized.
Figure 4: Musketry Effectiveness Curve Comparisons

The assumptions for the simulation are as follows:

  • The attacking infantry marches at its regulated march rate (90 yards per minute) until either eliminated or defender is contacted. 
  • The defender's first volley is delivered exactly when the attacker reaches the distance as defined in the Input Parameters Table. 
  • Musket fire rate varies between 1 and 4 rounds per minute with Beta distribution and the defender maintains controlled volley fire throughout the attack. 
  • Musketry Effectiveness follows the Freitag II curve. 
  • Muskets fail/misfire following a Triangular Distribution with most likely failure rate equal to 15% but minimum and maximums are monotonically increasing for each successive volley. 
  • Muskets are repairable following a Uniform Distribution. 
  • The terrain between the attacker and defender is perfectly flat with no intervening obstacles. 
  • After the initial volley, only attackers in the front rank may be hit. The attacker can suffer a maximum of (Starting Total Number Attackers)/(Number of Ranks). For example, 100/3 = 33 is the maximum number of hits per volley. As casualties are incurred, the second (or third) rank move up to fill the gap in the attacker's line. Once the attacker has only one rank remaining, casualties will be reduced to account for the probability of having a hit fall within a gap. 
  • Hits missing the intended target are considered as a multiple hit on another target and ignored. A Multiple hit is defined as any hit not within 1.5 feet of the center of the target (defined as NOT P[-1.5<=x<= 1.5] with accuracy as N(0,1)) is deemed a hit on a nearby target. 
  • Casualties are reduced proportionately by the density of the smoke encompassing the defender. 
  • Smoke dissipates at a fixed rate dependent upon minutes between volleys.
Next Part 2: Simulation Studies

  1. Muir, Tactics and the Experience of Battle in the Age of Napoleon, p. 78.
  2. Rothenberg, The Art of Warfare in the Age of Napoleon, p. 65.


  1. On TMP, (, the question was raised as to what tools were employed to produce the model and results.

    The toolset used was a combination of Excel and Crystal Ball. With the Crystal Ball add-in, Excel becomes an adequate discrete event simulation tool. Unfortunately, my license to Crystal Ball expired several years ago so to repeat this study would require me to find another such simulation tool.

    I have done limited discrete event simulation using GNU's Gnumeric. Perhaps, I should dust Gnumeric off and see if I could duplicate results with that?

    as for the model, itself, it is a process as explained in this part of the study. Input parameters and distributions are provided.

  2. Bernoulli Trials:
    On TMP (, a question was asked about my choice of using Beta distribution for modeling casualty rates vs his suggestion of Bernoulli Trials. The suggestion was to expand Sharnhorst's six trials at four ranges (24 data points) to 4,800 data points by counting each musket discharge as an independent event.

    Since each trial is at a prescribed range with a pre-selected musket, the trials are not identical. Each range/musket combination creates a distinct trial.

    In the interest of data reduction doesn't reducing each of the 200 musket discharges (24 such trials in total) down to a single success "rate" rather than a count for each trial provide a meaningful statistic? In fact, the Beta distribution is especially applicable for modeling random variation in rates and proportions.

    Additionally, casualty rates tend to vary non-linearly with distance with casualties maintaining an inverse relationship to target distance; a second reason to consider Beta distribution.


Related Posts Plugin for WordPress, Blogger...