As you saw from our demonstration in class, it is a fun little code which is a great way to develop insight into the behaviour of plasmas and the properties of the Vlasov equation, including surprising nonlinear results. Note that it is tracking individual particles (typically several thousand) in phase space. I.e., it is effectively solving a Klimontovich-Dupree Eq., which in the limit of a very large number of particles should converge to the equivalent problem of solving the Vlasov Eq. for a smooth f(x,v,t).
How to run the ES1 code: I've installed the code on both the Princeton SUN unix cluster (arizona.princeton.edu, etc.) and the PPPL SUN unix cluster (carl.pppl.gov, etc.). This program uses X-windows graphics and so must be run on an X-terminal (there is a PC version available). Running the code should be as simple as: (1) logging in on an X-terminal, (2) move to a directory where ES1 input files are kept:
2stream.inp: Simulates the 2-Stream instability described in Sec. 23.4 of Goldston and Rutherford. Shows the linear instability phase, the nonlinear saturation, the energy transfer from particles to the E-field (and much of it back to the particles eventually), and a long-lived phase-space "hole" representing some kind of nonlinear vortex solution. I presume that the length of this hole is sufficiently short that the 2-stream instability criterion k*v0 < omega_p (from G&R Sec. 23.4) can't be satisfied.
2stream3.inp: Makes the simulation twice as long in x. Appears to confirm the above hypothesis.
w2stream.inp: A weak beam (n_beam << n_0) variation, as described in Problem 23.2 of Goldston and Rutherford (one of your homework problems). Exhibits no long-lived nonlinear vortex hole, but instead shows that the weak beam is spread out in velocity space without affecting the non-resonant particles at v=0 very much.
w2stream_shift.inp: Like w2stream, but with the "beam" shifted to v=0 (and the high density background shifted to v=-0.8), i.e., in the frame of reference moving with the resonant particles so that it is a little easier to see their behavior.
landau.inp and landaup.inp: illustrate Landau damping, with the second input file again shifting the frame of reference of the resonant particles (see the comments at the beginning of landaup.inp).
nsp the number of "species", or velocity group
l the length of the simulation in space x (default is 2*pi, in their normalized units).
n the number of particles in each species
v0 the average velocity of each species
v2 the thermal velocity spread around v0 of each species.
qm = q/m, the charge to mass ratio
wp = omega_p for this species, i.e., a measure of the physical density (each simulation particle can represent many real particles).
x1 the amplitude of the initial perturbation.
For more details, see the documentation in /u/hammett/gpp1/es1_book/doc/, or the book:
Plasma Physics via Computer Simulation by C. K. Birdsall and A.B. Langdon, McGraw-Hill 1985 and Adam Hilger, IOP, 1991.
Note that more recent versions of this and other software are available from http://ptsg.eecs.berkeley.edu . (The unix variants of these recent versions require Tcl/TK and other packages, but these are now installed by default on most Linux/Unix computers.)