Particles can be represented by macroparticles or a fluid. Macroparticles should be used when there is a need to capture kinetic effects. They also have more features in VSim.


Macroparticles allow one to model kinetics (velocity distributions) for physical particles. Macroparticles are composed of a certain number of physical particles. The number of physical particles to represent in a single macroparticle is determined by factors such as the physical particle density, volume of a grid cell, and the number of macroparticles in a simulation grid cell. Macroparticles, if used so that there is accurate resolution, produce the same result as would simulating all individual physical particles, but with significantly higher computational speed. We will elaborate more on macroparticle definition and effects on simulation resolution in later sections. For macroparticles there are a number of options for particle loading and emitting from sources, as well as various types of particle sinks available.

There exist over 70 variations in particle type and evaluation, including:

  • Boris (Relativistic, Non-relativistic, Tagged, Weighted)

  • Electrostatic

  • Cylindrical species

For more information on particle species and some of these other algorithms, please visit the Species section of VSim Reference. More information on variable and managed weights can be found in Particle Weights.

Species and their kinds

A common term in VSim for macroparticle is Species, as that is the type of block that defines a set of macroparticles VSim allows you to specify a species kind, determined by the particle type (relativistic, electrostatic, etc.). Within these kinds are options for particles (i.e hydrogen, helium, argon, xenon, etc.) whose charge, mass, cross-section, and other relevant data sets are built into VSim. Alternatively, you can import your own species data in VSim for more custom simulations, so long as the necessary particle information is successfully imported to VSim.

Please visit the section Species Kinds in VSim Reference for all kind options and further details, as well as information on importing your own particle data.

Particle Sources

VSim allows for the implementation of both primary and secondary particle sources, where “primary” refers to initial particles that are introduced into the system, and “secondary” to particles that are created by interactions between these primary particles and either other particles or metal surfaces in the simulation.

Particle “loading” refers to the placement of particles volumetrically in a vacuum, whereas particle “emitting” is the ejection of particles from the surface of a metal.

One can load particles over time in one of the following ways:

  • Load all at once. This method is required in electromagnetics simulations for charge conservation.

  • Load over about ~1000 time steps

  • Load in some custom way using your own external files (.txt files in hdf5 format)

Particle sources in 2D ZR cylindrical coordinates require extra precautions, as the loading algorithm will want to distribute particles uniformly in both directions without accounting for the larger volume/area at large radii that occurs in this coordinate system. To learn how to compensate for this phenomenon, please visit Working in Cylindrical Coordinates in VSim Reference. .. visit Working with Particles in Cylindrical Coordinates in VSim Reference.

Particle Sinks

Particle sinks, on the other hand, generally remove particles from a simulation or from a region therein. There are two basic types of sinks, with many more types of physical sinks available for use in your simulations.

  • Messaging sinks

    Automatically established by Vorpal, they are used to communicate particles between processors in parallel runs, enforce periodic boundary conditions, etc.

  • Physical sinks

    Physical sinks can remove particles from a region of the simulation, absorb incident particles on a boundary, or even perform more specialized tasks.

Particle sinks typically involve at least upper and lower bounds, and at the most basic level must enclose the entirety of the simulation space that contains particles. If this is not the case and your particles try to travel into regions not included in the simulation grid, Vorpal will likely crash. In the case of periodic boundary conditions, particles “wrap around” from one side of the simulation to the other.


Particles can also be represented by fluids. The fluid representation is valid in the limits when the pressure is known. The two cases where this is valid are cold fluids, where the pressure vanishes, and at high collisionality, so that the pressure can be obtained from an equation of state (EOS), such as the adiabatic EOS. The available fluid kinds

  • Cold fluid

  • Euler fluid

  • Neutral Gas

Only the most basic fluid dynamics is supported. There are no conformal boundary conditions nor any internal boundary conditions of any kinds.