PyIon is program designed to visualize the behavior of ionized gas particles. It was originally modified from Gregory Stanton's PyBounce and is written in Python. Furthermore, it implements the pytree pyszg bindings, so it should run without modification in the Beckman Institute's CAVE or CUBE. The program allows the user to place particles of arbitrary charge in the system, which then move according to the partial differential equations which govern the laws of electromagnetism. Additionally, when the particles collide with each other or with the walls of the simulation, they do so elastically, and energy is conserved. For interactivity, the six joystick buttons can be used to change the system in a multitude of ways.
PyIon currently has four basic modes of operation, each of which describes a different system of fundamental constants (though none of them describes the constants as they are in the actual universe). Nevertheless, each system has a demo associated with it that shows some interesting aspect of the program. The modes and demos are as follows:
The different particles in the system can be distinguished by their color. Positively-charged particles are blue, negatively-charged particles are reddish-orange, and neutral particles are grey. To add a particle to the system, one should push button 0 on the CUBE wand. Particles are placed in the center of the system with a random velocity, unless that position is currently occupied by another particle (in which case a random position is selected). Similarly, to remove a particle, one just pushes button 1. The first particles added are the first ones removed. Whether a positive, negative, or neutral particle is added/removed depends on a flag set by button 2. Pressing this button toggles between adding/removing positive and negative particles. In order to select a neutral particle, one holds down Button 2 while pushing the appropriate add/remove button.
It is also possible to change the size of the simulation, using buttons 2 and 3. Button 3 will change the size of the simulation by a factor of 1.5, while button 2 will select whether you are increasing or decreasing it. (When you have selected a positive charge, you will increase the size by 50%, and when you select a negative charge, you will decrease the size by 33%.) Finally, modes can be selected by pressing button 4. Each press will select the next demo to be loaded, and button 5 will load that demo.