nullSelfSplit

nullSelfSplit

Works with VSimPD license.

Kind of MonteCarlo interaction that splits macroparticles of a single species into two or more macroparticles. This interaction is designed to use variable-weight species. This interaction is applied at each time step.

nullSelfSplit Parameters

species (string, required)

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

thresholdFunc (block, required)

The thresholdFunc is a STFunc that specifies the minimum number of macroparticles existing in a cell for the self-split operation to be applied. The thresholdFunc STFunc can be a space-time dependent function or a constant. This threshold is evaluated at each cell and time step. Splitting will not take place in any cell with a greater number of macroparticles than this threshold. In cylindrical coordinates, it is important to recognize that the volume of a cell is a function of radius. Therefore, when a gas is in equilibrium, then statistically one expects to find fewer particles in a cell for small values of R. As a result, to maintain an equilibrium density in cylindrical coordinates, this thresholdFunc would be smaller for small values of R and larger for large values of R.

minWeight (real, optional)

This specifies the minimum variable-weight to be given to a particle when self-split variable-weight species. The default value is 1e-5. If the original particle weight is below the minWeight then the split is not performed.

algorithmType (integer, optional)

This specifies the type of algorithm to be used when splitting macroparticles. The possible values are 1 and 2. Algorithm 1 (default) performs a simple, fast split operation, whereas option 2 is more accurate but more computationally intensive. In algorithm 1, the weight of the macro particle is simply split to one half and a new macroparticle gets added at the same location with one half weight value. In algorithm 2, the split operation is done such that the number of macro particles within a cell meets the requirement of the threshold value specified by the user.

splitInterval (integer, optional)

This option specifies the number of time steps interval between two successive split operations. The default value is 1, i.e. the split operation is done at every time step.

Example nullSelfSplit Block

<NullInteraction electronSelfSplit>
  kind = nullSelfSplit
  species = electrons
  algorithmType = 1
  splitInterval = 1
  minWeight = 1e-3
  <STFunc thresholdFunc>
    kind = expression
    expression = 100.0
  </STFunc>
</NullInteraction>