## APPENDIX B CALCULATIONS OF REQUIRED DRIVE CURRENT iD

In the text, a difference equation is obtained from which the energy transfer from the drive to the bucket coil can be found as a function of iD , with the circuit constants n2, Lw and C, and velocity v as parameters. The program in this appendix solves the difference equations, with the help of an approximation for dM/dx. The entire program is designed to run on an HP-25 pocket calculator with 49 program steps. Given a larger calculator or computer, one could generalize the program by using a more exact expression for dM/dx or (more usefully) by including the finite cross sections of the drive and bucket coils.

The simple program consists of four subroutines:

• Update x
• Calculate dM/dx
• Solve difference equation
• Test for zero current
In normal use, registers R5 and R7 (summation of i(dM/dx and i) are initialized to zero. Register 6 (Vc ) is set to the initial voltage on the capacitor. The calculator is started, and the program then traces the half-cycle of oscillation from the starting value of x (normally a negative number stored in RI) until current i goes negative. The summation is then recalled from R5, and the calculation is repeated with different values of (Vc ) until the correct value of the sum, corresponding to the desired energy transfer to the bucket, is found. The peak drive current iD is then obtained from

For still higher accuracy, the curve of iD is traced point-by-point by slightly modifying the program: step 47: pause, step 48: pause.

In this program, one or two minor tricks are used to save register space: the constant a, , which equals a3/R, is stored as a sequence of four key strokes in steps 31-34. Register 2 contains a constant whose integer and fractional parts are both used in the dM/dx subroutine. The step interval x appears as a sequence of four key strokes in steps 01-04. (All constants are in MKS units.) In detail, the registers store information as shown in table 5.

As normally used, the program calculates the energy transfer for a half-cycle of oscillation. The total energy transfer for a two-coil bucket, corresponding to the passage of both bucket coils through one drive coil, is then (x)(4n2 iB ) (summation of iDM/dx in register 5). Typically, a step interval x of 1 mm is used, 0.001 in program steps 01-04. Each step interval requires 3.75 sec on an HP-25, and about twice that time on an HP-67, so a half-cycle of oscillation with D = 5 .0 cm requires a little over 1 min (see table 6).

 RO ao = (x)iB /Lwn2 R1 Initial value of position x (in m) at which drive coil switch is closed. Zero is allowed , but con- stant should be chosen so that x update sub- routine never finishes with zero. R1 stores updated x R2 a2 = constant used in dM/dx subroutine. For D = 5.0 cm, a2 = -184.000138 (i.e., INT = -184, FRAC = - 0.000138). For other cacalibers D, INT and FRAC are proportional to D. R3 a3 = (x) R/vLwn22. Drive winding resistance R appears only in this constant R4 a4 = (x) vC. Resonant capacity C appears only in this constant and is equal to the sum of the capacities on two adjacent sectprs pf tje actual mass driver. R5 Initialize to zero; stores updated i(dM/dx). R6 Peak voltage to which capicitor is charged before drive circuit switches on; R6 stores updated capacitor voltage Vc. R7 Initialize to zero; stores updated current i.

Appendix A