## APPENDIX B

CALCULATIONS OF REQUIRED DRIVE CURRENT *i*_{D}

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 *i*_{D} , with the circuit constants
*n*_{2}, *L*_{w}
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 (*V*_{c} ) 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
(*V*_{c} ) until the correct value of the sum,
corresponding to the desired energy transfer to the bucket, is
found. The peak drive current *i*_{D} is then obtained
from
For still higher accuracy, the curve of *i*_{D} 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
*a*_{3}/*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*)(4*n*_{2} *i*_{B} ) (summation of
*i*_{D}M/*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).

**TABLE 5.- REGISTERS
USED IN ENERGY-**

TRANSFER PROGRAM
RO |
*a*_{o} =
(x)i_{B}
/L_{w}n_{2} |

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 |
*a*_{2} =
constant used in *dM*/*dx* subroutine. For
*D* = 5.0 cm, *a*_{2} =
-184.000138 (i.e.,
INT = -184, FRAC = - 0.000138). For other
cacalibers D, INT and FRAC are proportional
to D. |

R3 |
*a*_{3} =
(*x*)
*R*/*vL*_{w}n_{2}^{2}. Drive
winding resistance
R appears only in this constant |

R4 |
*a*_{4} =
(*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 *V*_{c}. |

R7 |
Initialize to zero; stores updated current
*i*. |

Appendix A

Return to III-1

Table of Contents