chargeExchange

chargeExchange

Works with VSimPD license.

Kind of MonteCarlo interaction that models ionic charge exchange of an ion with a background neutral gas, based on the method described by Spicer, Wang, and Brieda [SWB06]. The method assumes that the neutral atoms are slow enough that their velocity is negligible (for the purposes of computing the relative ion-neutral velocity), and that the ions are moving quickly through the background neutrals. The method also assumes the charge-exchange is between a neutral atom and a singly-ionized atom.

Note

This feature replaces the cellChargeExchange kind previously implemented in the Vorpal collisions.

chargeExchange Parameters

crossSection (string)

cross-section to be used in the interaction. Possible values are builtIn or functionDefined. See below for required parameters for each choice.

builtIn Parameters

Please see Types of collisions for the available builtIn gases.

If the builtIn cross-section type is used, the following parameters must be set:

inIons (string)

Specifies the initial state ionized Species.

inNeutrals (string)

Specifies the initial state neutral background species.

outNeutrals (string)

Specifies the neutral ion species produced by the interaction.

outIons (string)

Specifies the ionized ion species produced by the interaction.

vthermNeutral (real)

This parameter specifies the thermal velocity, in meters per second, of the initial state neutral background species. For the model to be valid, this value should be significantly less than the average velocity of the initial state ion species.

functionDefined Parameters

If the functionDefined cross-section type is used, the following parameters must be set:

OAFunc (block, required)

An OAFunc block of name crossSectionFunc must be used inside the Interaction block. The OAFunc block allows the user to define its own cross-section for the interaction, either through a two-column data file or through an expression. The kinds of OAFunc available for this interaction are interpolatedFromFile, LXcatFile, or expression. The OAFunc must return the value of the cross-section in m2.

Please see OAFunc Block for more information on the OAFunc block.
crossSectionVariable (string, optional, default = velocity)

Used in the case when an OAFunc function is given for the cross section to specify whether the parameter of the function is either the:

  • Relative collision velocity magnitude of the incident particle in m-1: crossSectionVariable = velocity
  • Kinetic energy of the incident particle in eV: crossSectionVariable = energy

Example chargeExchange Block

In this example, the builtIn cross-section is used by default. You can refer to impactCollisions interaction examples to see how to use the cross-section with an OAFunc function.

<Interaction chargeXchange>
  kind = chargeExchange
  vthermNeutrals=16.0
  inIons=oxygen1
  inNeutrals=oxygen0
  outNeutrals=oxygen0
  outIons=oxygen1
  crossSection = builtIn
</Interaction>