created at February 15, 2022

Recurve Crossbow calculation

Let's calculate the dynamics of a simple recurve crossbow. We will introduce some simplifications, compose and solve the differential equations, describing the shooting process, and will get the bolt initial velocity. The goal is to create a simple yet adequate math model, which could be used to design your own custom crossbow.

Looking ahead one should say that the model should be suitable for the classical bow (not the compound one) calculation as well.

The recurve crossbow calculation scheme

The following scheme was designed for analysis:

Consider that the limb is initially straight having length L and staying at angle α to the rail. If the real limb is curved itself, one could consider it straight, draw the line through the riser and string fixation points and then use the angle between the line and the rail as α.

To simplify the problem one can also consider that the limb's end (where the string is attached) is going to draw a circle line while deforming, so that the distance CA won't change and will always be equal to L. The limb deformation in the real scenario will have much more difficult behavior for sure, but one could expect that such a consideration won't cause a big calculation error.

The initial state with the string installed

We are taking into account the working part of the limb (the one who bends). Some part of the limb is firmly attached to the riser (clamped) and thus is not bending. In order to take this into account in our model let's introduce the distance d, which is the distance between the point where the limb starts bending (the end of the riser) and the crossbow central line (symmetry plane). Also consider that after installing the string, the limbs will be preloaded so that the limb's end projection to to rail point D will move along the rail to the point D'. The preload distance between these to points D and D' is H0. The initial distance between the limb's end and the crossbow centerline is L0, so the string's total length is 2·L. All the sizes on the figure above which describe the initial state are drawn in blue color. The left part of the crossbow is seen on the scheme, obviously everything goes symmetrically in the same way on the other side. The crossbow draw length is marked as H.

We will use the limb stiffness in our calculation, which is the ratio of the bending force applied to the limb's end to the bending deformation displacement. Please check this article for details. The limb's mass and mass center relative position are also calculated there, which will be used in the current calculation.

The intermediate state while drawing the crossbow

Now consider the intermediate state which occurs while drawing the weapon. The according sizes are drawn in green color. Let's introduce the coordinate h - the distance between the initial string and rail intersection point (point D') and some intermediate point B. Thus we have the ABC triangle with sides AB = Ld (depends on h), BC = L0 (is constant because the string is considered inextensible), and CA = L (also constant according to considerations mentioned earlier).

calculation of the initial state

Here are the formulas for the initial state (unloaded weapon with the string installed) calculation:

Lx=Lcos(α)L_x = L\cdot cos(\alpha)
L0=L2+(Lx+H0)2+dL_0 = \sqrt{L^2 + (L_x + H_0)^2} + d
α01=atan(L0dLx+H0)\alpha_{01} = atan\left ( \frac{L_0 - d}{L_x + H_0} \right )
α02=αα01\alpha_{02} = \alpha - \alpha_{01}
l0=Lα02l_0 = L\cdot \alpha_{02}

where l0 is the arc length between the two limb's end positions - the initial state with undeformed limb and the initial state with the string installed. Consider the limb bending force is proportional to the l0 and the limb's stiffness:

F0=l0CF_0 = l_0\cdot C

That force goes orthogonal to the limb, however, the real force is applied by the string (which is orthogonal to the rail in the initial position), so the initial tension force occurring inside the string is:

N0=F0cos(α01)N_0 = \frac{F_0}{cos(\alpha_{01})}

calculation of the intermediate state

Let's introduce formulas for the intermediate state, which depends on the h coordinate. Here all values will depend on h.

Ld=d2+(Lx+H0+h)2L_d = \sqrt{d^2 + (L_x + H_0 + h)^2}
ϕ1=asin(dLd)\phi_1 = asin\left ( \frac{d}{L_d} \right )

the half-perimeter of the ABC triangle:

p=L+L0+Ld2p = \frac{L + L_0 + L_d}{2}

the area of the ABC triangle:

SABC=p(pL)(pL0)(pLd)S_{ABC} = \sqrt{p(p - L)(p - L_0)(p - Ld)}

the radius of the ABC triangle circumscribed circle:

R=LL0Ld4SABCR = \frac{L\cdot L_0\cdot L_d}{4\cdot S_{ABC}}
α13=asin(L02R)\alpha_{13} = asin\left ( \frac{L_0}{2\cdot R} \right )
α11=α13ϕ1\alpha_{11} = \alpha_{13} - \phi_1
α12=αα11\alpha_{12} = \alpha - \alpha_{11}
l1=Lα12l_1 = L\cdot \alpha_{12}
F1=l1CF_1 = l_1\cdot C
γ1=asin(Ld2R)\gamma_1 = asin\left ( \frac{L_d}{2\cdot R} \right )

the tension force in the intermediate state:

N1=F1sin(γ1)N_1 = \frac{F_1}{sin(\gamma_1)}
ϕ2=asin(L2R)\phi_2 = asin\left ( \frac{L}{2\cdot R} \right )
ϕ=ϕ1+ϕ2\phi = \phi_1 + \phi_2

the string tension force projected to the rail (which is actually the force applied to the bolt) is:

Fb=N1cos(ϕ)F_b = N_1\cdot cos(\phi)

The reduced mass of the Limb

Let's introduce the x coordinate which represents the bolt position. The bolt mass mB is known, but we need to find a way to take into account the Limb mass mL. Since the limb is moving not in parallel with the bolt and it has more difficult motion in general, we will have to introduce the reduced mass. Take a look at the following scheme:

Consider the bolt has moved the small distance dx. Then the string has moved towards the limb the distance:

Δ=cos(ϕ)dx\Delta = cos(\phi)\cdot dx

On the limb's side, moving the string at Δ will cause the limb's end motion:

dl=Δsin(γ1)dl = \Delta\cdot sin(\gamma_1)

Now extracting the Δ from both equations and putting into one gives:

dl=cos(ϕ)sin(γ1)dxdl = cos(\phi)\cdot sin(\gamma_1)\cdot dx

Simply put, we've got the relation between the bolt and limb motion. The limb's center of mass will move at distance kC·dl.

solving the equation of dynamics

Finally we can compose the equation of motion (according to Newton's Second Law) for the x axis:

x¨=(1mB+2kCcos(ϕ)sin(γ1)mL)(2Fb)\ddot{x} = \left ( \frac{1}{m_B + 2\cdot k_C\cdot cos(\phi)\cdot sin(\gamma_1)\cdot m_L} \right )\cdot (2\cdot F_b)

where x'' - second time derivative of displacement x (which is actually acceleration of the bolt), mB - the bolt mass, mL - the single limb mass, kC - relative position of the limb's mass center taken from the riser's side. If the limb has a constant cross-section, kC will be 0.5, but this is rarely the case. The limb's mass is added to the bolt mass with a specific coefficient, which we've found previously. Force Fb is going to be multiplied by 2 since we have two limbs. All values for the intermediate state (φ, γ1, Fb) are functions of h, but we have chosen x as a coordinate for integration, so we can express h as H - x. Let's integrate the equation through time until the time t2, which should be chosen so that the bolt disconnects from the limb just before t2. In other words, the integration period should cover the whole crossbow shooting transient process. The force Fb is programmed in the attached calculation document so that it turns to zero when the bolt reaches the initial (unloaded) position.

We gonna give the integration results for some specific case we used in analysis. Here are the bolt displacement and velocity graphs:

For this case the following parameters were used: L = 300 mm, α = 75°, d = 50 mm, H0 = 30 mm, C = 3200 N/m, H = 300 mm, kC = 0.4, mB = 12 g, mL = 105 g.

One can see that as soon as the bolt displacement x reaches the crossbow draw length H and the string straightens, velocity stops to increase and stays at the specific value 60.7455 m/s, which is the crossbow initial bolt velocity. The whole transient process takes about 8 milliseconds - this is how fast the shot actually happens.

Finally let's find some additional parameters. The maximal limb bending force expressed in kilograms:

Fmax=F1(H)gF_{max} = \frac{F1(H)}{g}

The maximal tension force occurring in the string:

Nmax=N1(H)gN_{max} = \frac{N1(H)}{g}

The crossbow draw weight (kg):

Dw=2Fb(H)gD_w = \frac{2\cdot F_b(H)}{g}