BPIC [1,2] is a 3D electromagnetic particle code for plasma simulation studies. It can simulate an arbitrary number of species of any charge state (limited only by computer memory). The plasma interacts with the macroscopic electromagnetic field it produces. Short range collisions and their effects (such as ionization) between species or with a neutral background gas are modeled. The phase space is described as a collection of macroparticles, each representing a large number of real particles. The coupling between the field and the macroparticles is done using the Particle-In-Cell (PIC)  technique, wherein short short-range forces are smoothed through interpolation between macroparticles and a grid on which the fields are represented. The latter are followed on either a 3D Cartesian (x,y,z) or a 2D axisymmetric (r,z) grid, using centered finite-difference techniques . The boundary conditions for the fields can be periodic, metallic or absorbing . Collisions are modeled using the Monte-Carlo-Collision (MCC) method .
One original aspect of BPIC is that it uses a modified set of Maxwell equations into which an additional wave equation has been introduced to propagate `error waves'. These waves advect away the errors introduced by numerically violating either the Gauss law or the continuity equation, ensuring that these errors do not accumulate at their locations of creation. The error waves are then eliminated by applying absorbing boundary conditions at the simulation-box boundaries. This algorithm allows the use of an adaptive grid that evolves in time along with the dimensions of the beam or plasma being modeled. For the HIF chamber transport problem, the code has been used to follow the transverse reduction of the beam size (one order of magnitude from the chamber entrance to the focal spot) without the penalty of a finely zoned grid (with its attendant Courant limitation on the time step) from the beginning of the simulation.
BPIC was originally developed at Paris-Orsay University (France) to study the propagation of intense heavy ion beam through Flibe plasma in a Heavy Ion Fusion reactor . It is written in Fortran90 and uses the message-passing interface (MPI) for internode communications on parallel computers. Originally optimized for vector computers such as the CRAY-YMP and CRAY-C90, BPIC has been ported to parallel architectures such as the CRAY-T3E using 1D domain decomposition with dynamic load balancing. The current version can be compiled and run on vector or parallel supercomputers, as well as workstation running UNIX, Linux, or Windows. A small interpreter written in Fortran90 is embedded. BPIC can be run in a text-based interactive mode, with graphics displayed at the user's command, if BPIC is linked with the DISLIN library (available free, under Linux). For more advanced interactive control, a first version of an interface linking BPIC to the interpreter language Python has been written (using techniques from WARP and PyFORT).
 J.-L. Vay and C. Deutsch, "A 3D electromagnetic PIC-MCC code to simulate heavy ion beam propagation in the reaction chamber", J. of Fusion Engineering and Design, 32-33, 467 (1996).
 J.-L. Vay, "Intense Heavy Ion Beam Transport through a Molecular Gas. Application to Inertial Fusion Driven by Charged Particle Beams.", PhD Thesis, University of Paris-Orsay, France, (1996).
 C. K. Birdsall and A. B. Langdon, "Plasma Physics via Computer Simulation" (Adam Hilger, New York, 1991).
 A. Taflove, "Computational Electrodynamics: The Finite-Difference Time-Domain Method" (Artech House, Norwood, MA, 1995).
 J.-L. Vay, "A new absorbing layer boundary condition for the wave equation", J. of Comp. Phys. 165, 511 (2000).
 C. K. Birdsall, "Particle-in-Cell charged-particle simulations, plus Monte Carlo Collisions with neutral atoms, PIC-MCC", IEEE Transactions on plasma science 19, Apr. 1991.
 J-L. Vay and C. Deutsch, "Charge compensated ion beam propagation in a reactor sized chamber", Phys. of Plasmas, 5.4, (1998).
For comments or questions contact WMSharp@lbl.gov or DPGrote@lbl.gov. Work described here was supported by the Office of Fusion Energy at the US Department of Energy under contracts DE-AC03-76SF00098 and W-7405-ENG-48. This document was last revised June, 2002.