Troubleshooting Electrostatic Simulations

The Simulation Does Not Finish Properly

The most common cause of crashes is improperly set up particle boundaries. The particle boundaries must completely surround the space in which particles are loaded. Otherwise particles can drift out of the grid and try to reference fields that do not exist. This leads to a Vorpal segmentation fault.

Another possible reason for an electrostatic simulation not finishing properly is that a particle has crossed more than one cell in a time step. This could allow the particle to pass through a particle sink without being absorbed.

  • One solution is to reduce the duration of the time step.
  • Another solution is to limit the number of cells a particle can cross in one time step by artificially reducing the velocity of high speed particles. See maxcellxing

It could be that the definition of the Particle Species is incorrect.

The following Species input block is not defined correctly:
<Species electrons>
  kind = nonRelBoris
  emField = myZeroField
  ...
</Species>
  • The problem: The input block does not specify mass and charge.
  • The result: The simulation runs normally with no complaints. The default mass and charge are those of a positron.
  • The solution: Include the mass and charge of your species every time they are defined.

The Electrostatic Solver Does Not Converge

If the electrostatic solver does not converge, this often indicates a problem with the setup. The matrix can become singular in a fully periodic system. For solutions, see the section fully-periodic-systems.