VSim allows one to compute the dynamics of a system that has electromagnetic fields, particles, and material shapes that are advanced dynamically a time step at a time. A VSim simulation can contain some or all of the objects, with them interacting in various ways. In addition, the particles can be represented by macroparticles, which clump physical particles together so that one need not follow every individual physical particle, or by fluid fields.
The fields are defined on a structured grid in either cartesian or cylindrical coordinates. One can study just field dynamics, e.g., the propagation of electromagnetic fields on a grid, or solving for electrostatic fields for given boundary conditions and charge density, or fluid dynamics.
Material shapes, geometries, modify the dynamics of fields. For example, a conducting shape introduces an irregular region where the electric field vanishes. Consequently electromagnetic fields will scatter off of such a shape, and in electrostatics, such a shape will become an equipotential. Dielectrics shapes will modify the electric and magnetic.
Particles can be represented by macroparticles or a fluid. The particles interact with electromagnetic fields by interpolating the fields from the grid to the particle position. The particles then move for a given time step and deposit their contributions to the current and charge fields. This is the basic Particle-In-cell (aka PIC) algorithm.
Additionally, particles may interact with shapes. A shape can emit particles, absorb particles, or reflect particles. When one particle hits the surface, it may cause the emission of another particle, of the same or different kind. This can be secondary emission (the subsequent emission of an electron) or sputtering (the subsequent emission of a neutral atom).
Additionally, particles may interact with other particles through collisions. This is done through the Direct Simulation Monte Carlo (DSMC) method, which computes the effects of the collisions with each cell. Collisions may be elastic, where only momentum and energy are exchanged, or they may be inelastic, where kinetic energy is lost due to ionization or excitation of one of the particles. As well, particles may be created through field ionization, another sub-time-step process where the local strong electric field causes an atom to separate into an ion and an electron.
To bring the power of many CPUs to simulation, VSim makes use of distributed memory (MPI) parallelism. In this method, the simulation region is divided into domains (domain decomposition), with each process containing both its domain plus some grid cells beyond. The addition grid cells are known as guard cells. They are used in the communication between processes. Additionally they are used as the locations of particle sinks. Particles that leave a simulation must be removed or reflected back into the simulation to prevent crashes caused by out-of-range accesses of memory.
Simulation results are analyzed by looking at the generated data. In the regular course of a simulation, the simulation data is periodically dumped. As well, VSim allows the definition of Histories, which are time sequences of data. Examples include the Poynting flux through a surface or the number of particles absorbed by a shape.
In this section, we will begin by going over simulation concepts and properties, including: