The particles follow the relativistic equations of motion in electric and magnetic fields, generating a source current for the field equations. The discretization of the relativistic equations of motion has been described extensively; OOPIC employs the relativistic time-centered Boris advance . The position update occurs in a rotated Cartesian frame, which eliminates the problem of large angular displacements near the origin. Birdsall and Langdon discuss this issue in some detail .
We presently use a charge conserving current weighting algorithm, which ensures that Gauss' Law remains satisfied if it was initially satisfied. The current weighting is summarized in Figure 4 for a particle traversing multiple cells. The net particle motion is decomposed in segments, and , separated by a cell crossing. The currents for each segment are deposited independently, so we describe only the first segment.
Let the initial particle location be , and let the final location be for this segment, so . Let the particle be located in the mesh shown in Figure 4, where j and k are the cell indices such that . Here, is the location of the j,k-th node of the mesh.
Figure 4. Current deposition for a multi-cell particle motion.
Defining and and, we can write the relations for linearly interpolating the particle charge onto the mesh nodes:
where q is the particle charge. Defining and , we can write the change in charge at each mesh node due to the motion from to :
One set of currents which satisfies conservation of charge for the changes given in Eq. (1-9) is:
where is the time for the motion. Note that these currents are not unique; adding a constant current around the loop formed by the cell edges also satisfies the continuity equation. One sees immediately that this current deposition is equivalent to the method of Morse and Nielson  for a single cell particle motion. For multiple cells, the method described here deposits current in each cell traversed, in a manner similar to Eastwood  and Villasenor and Buneman .