impactIonCollisions

impactIonCollisions

Works with VSimPD license.

This kind of MonteCarlo interaction models ion impact collisions with a background neutral gas. In this kind of collision the incident ion is scattered (referred to as momentum exchange) or else undergoes charge exchange collision with the background neutral gas. In the momentum exchange collision, the incident ion does not lose energy. In the charge exchange interaction, the resulting ion energy is determined based on the background neutral gas temperature.

Note

This feature replaces the impactIonCollisions feature previously implemented in Vorpal ionization.

impactIonCollisions Parameters

crossSection (string, required)

Cross section to be used in the interaction. Possible values are builtIn, and functionDefined. See below for required parameters for each choice.

ionCollType (string, required)

Type of ion impact collision, one of:

  • MomentumExchange

  • ChargeExchange.

impactSpecies (string, required)

Name of the incident particles described by a species block in the input file.

neutralGas (string, required)

Name of the Fluid block describing the background neutral gas. For more information on the kinds of allowed neutral Gases, please see Working with neutralGas Fluids and the gasKind Parameter.

neutralGasTemp (real, optional, default = 300.)

Temperature of the background neutral gas in Kelvin. This parameter is used to determine the incident ion velocity relative to the neutral gas atoms and the final ion velocity.

depleteBackgroundGas (string, optional, default =  true)

A flag to modify the background fluid gas density when performing the interaction.

leaveIncidentUnchanged (bool, optional, default = false)

When enabled, this parameter leaves the impact (incident) particle unchanged after the collision is processed. This is helpful when the scattering effect of the incident particle is treated as a bulk effect, such as in the nullBgAbsorber.

builtIn Parameters

The builtIn option is based on the semi-empirical formula from Lindsay [LS05] for all gas types except Xe and Ar. For Xe and Ar background neutral gases the builtIn cross section data is used from the data found in experiments by Miller [MPL+02].

Please see Types of collisions for the available builtIn gases.

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 = energy)

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 impactIonCollisions Block

<MonteCarloInteraction ArIonCollider>

  <IncidentSelector mySelector>
    kind=unbiasedSelector
  </IncidentSelector>


  <Interaction ArIonElasticM>
    kind = impactIonCollisions
    neutralGas = ArNeutralGas
    impactSpecies = Ar1
    neutralGasTemp = 300
    ionCollType = MomentumExchange
    crossSection = builtIn
  </Interaction>

  <Interaction ArIonCEX>
    kind = impactIonCollisions
    neutralGas = ArNeutralGas
    impactSpecies = Ar1
    neutralGasTemp = 300
    ionCollType = ChargeExchange
    crossSection = builtIn
  </Interaction>

</MonteCarloInteractions>