- binaryElastic
Binary Elastic
Works with a VSimPD license. Collision of the form
Scattering of two particles with a variable angular distribution
(set with the anisotropy
parameter below). Momentum is conserved,
and energy is conserved if the energyLoss
parameter is zero.
The binaryElastic algorithm conserves energy and momentum by shifting
into the CoM frame, randomly picking two scattering angles (polar and
azimuthal angles from either an isotropic or anisotropic distribution,
specified by the user with the anisotropy
parameter), and then
exactly conserving momentum and energy. These can also be inelastic by
supplying a threshold energy that is subtracted from the initial energy
to get the final energy. In all cases momentum is conserved.
The binaryElastic
can be used to model inelastic collisions by
setting the energyLoss
parameter to be non-zero.
Any RxnProcess Block block which points to a
productGenerator of kind = binaryElastic
should have the
Reactants
and Products
in the order:
reactants = [speciesA speciesB]
products = [speciesA speciesB]
Note
The order is arbitrary, but the must be consistent between
the Reactants
and Products
blocks.
Note
The Electron Scatter interaction is optimized for an inelastic scattering process involving an electron.
binaryElastic Attributes
- energyLoss (float, optional, default = 0)
The maximum energy, in eV, lost during a single inelastic collision. A choice of 0 will give an elastic collision.
- anisotropy (float, optional, default = 0)
A value between -1 and 1 to set the degree of anisotropy. An anisotropy of -1 is full backscatter, 0 is isotropic, and +1 is full forward scatter.
- randomSeed (int, optional, default: random int)
Manually set a random seed used to determine the final velocities of the product particles.
The default is to choose a random seed at run time. To produce identical simulations, advanced users may want to manually set a seed. It is recommended not to include this parameter so that a different random number will be generated for each run.
Example binaryElastic Block
<RxnProductGenerator productGenerator>
kind = binaryElastic
#energyLoss = .2
#anisotropy = 0
#randomSeed = 423
</RxnProductGenerator>