- nullSelfCombination
nullSelfCombination¶
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.
Note
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.
- thresholdFunc (block, required)
The thresholdFunc is a STFunc that specifies the maximum number of particles in a cell. If the number of particles in a cell goes above this number, paricles will combine in order to reduce the number of particles in that cell. This can be a function of space or a constant. 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. Combining will not take place if the number of particles in a cell is smaller than this threshold.
- 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.
<STFunc thresholdFunc>
kind = expression
expression = 2.0
</STFunc>
</NullInteraction>