## 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