Works with VSimPD license.

Kind of MonteCarlo interaction that combines macroparticles of a single species together into one single macroparticle. This interaction is designed to use variable-weight species.


This feature replaces the selfCombCollision previously implemented in Vorpal collision.

nullSelfCombination Parameters

species (string)

This specifies the name of the Species block representing the particles to be combined.

threshold (integer)

This specifies the number of particles that must exist in a cell before self-combination.

weight_max (real)

This specifies the maximum variable-weight to be given to a particle when self-combining variable-weight species.

algorithm_kind (integer)

This specifies the kind of algorithm to be used when combining macroparticles. The possible values are 1, 2, 3, 4 or 5. Option 1 indicates a simple pair-wise combination of macroparticles, deleting one and adding the number of real particles (weight) to the other (decimation). Option 2 indicates a slightly more accurate pair-wise approach, deleting one macroparticle and assigning the other the mean position and velocity of the pair as well as the total weight of the pair (inelastic). Option 3 is an elastic combination approach, where quartets of macroparticles are combined into pairs that conserve energy and momentum (elastic). Option 4 is a pair-wise combining approach similar to Option 2 except that it allows users to avoid combining particles that are above the user specified limit. Option 5 is a pairwise approach in which the particles within a cell are grouped in velocity phase-space bins and then particles in each velocity phase-space bin are combined pair-wise. In this approach energy and momentum are conserved.

force1D (integer)

This option only applies to algorithm_kind 3 (elastic). If non-zero (true), this flag forces the velocities of the new particles to be in the 0 direction, rather than in a random 3D direction.

noCombThresholdKE (float, optional, default = 10000.)

This option only applies to algorithm_kind 4. User specified kinetic energy limit in eV. This enables users to set certain energetic particles not to participate in self-combination. Only energy values below this limit are selected for combination.

numPSBins (integer vector, default = [ 2 2 2])

This option only applies to algorithm_kind 5. This enables users to set up the number of velocity phase-space bins to consider in grouping particles in velocity phase-space. If the number of phase space bins large, then the simulation will become slower. A reasonable choice would be using [4 4 4].

Example nullSelfCombination Block

<NullInteraction elecCollision>
  kind = nullSelfCombination
  species = electrons
  algorithm_kind = 1
  weight_max = 1000.
  threshold = 2