ImpactCollision

ImpactCollision:

ImpactCollider blocks require a block for each type of ImpactCollision. There are four possible kinds of ImpactCollision blocks:

Note

BuiltIn

The built-in cross sections that exist in VSim vary with the type of collision/interaction. Please see below to learn which cross sections exist for each collision/interaction type.

EEDL

Evaluated Electron Data Library (EEDL) data is available for elements from Z=1 to 100. These cross sections can be downloaded from the International Atomic Energy Agency Nuclear Data Services website. Users can download either the complete library or individual evaluations. VSim currently uses the eedl/endl format for the libraries, so please be sure to download the right one.

userDefined

There are too many interaction types and cross sections for us to list sources for each one. Outside of the EEDL and LXcat databases, many reliable cross sections can be found through publications and other databases online. Using the userDefined type users may import their own cross sections or ionization rates.

ImpactElastic

kind = impactElastic

Enables users to set up electron-impact elastic scattering collisions with the background neutral gas or gas mixtures. In this collision event, the incident electron loses a small percentage of its energy and is scattered after the collision. The scattered electron energy is computed from the formula given in [VS95]. It is given by:

\[\varepsilon_{sc} = \varepsilon_{inc}[1-\frac{2m_{e}}{M_{0}}cos(\chi)]\]

where

\(\varepsilon_{inc}\) is the incident electron energy

\(\varepsilon_{sc}\) is the incident electron energy

\(m_{e}\) is the mass of the electron

\(M_{0}\) is the mass of the neutral gas atom

\(\chi\) is the scattering angle given by:

\[cos(\chi)=\frac{2+\varepsilon_{inc}-2(1+\varepsilon_{inc})^{R_{1}}}{\varepsilon_{inc}}\]

The azimuthal scattering angle is given by:

\[\phi=2\pi R_{2}\]

where in the above equations, \(R_1\) and \(R_2\) are random numbers between 0.0 and 1.0.

ImpactElastic Parameters

  • crossSectionDataType Collision cross-section data type to be used in the handling of electron impact elastic collisions with the background fluid gas or gas mixtures. The supported types are eedl and userDefined.

    • eedl: Using the eedl cross-section option, users can utilize electron impact elastic scattering cross-section EEDL data for gas elements from Z = 1 to Z = 100. EEDL data files compatible with VSim can be downloaded from the link above.

    • userDefined: Using this option, users may specify known elastic collision cross-section data for their simulations. Gas types that are supported in the userDefined cross-section options are:

      • monatomic gas elements from Z = 1 to Z = 100

      • molecular gases: \(H_2\), \(CO_2\), \(CO\), \(O_2\), \(N_2\)

  • crossSectionDataFile A list which defines the path or locations of the EEDL data file or the user-defined cross section data files that contain the elastic scattering collision cross section data. For the case of userDefined, please see userDefined crossSectionDataFile Format.

  • scatteringType Supported options are VahediSurendra (see above) or uniform.

ImpactExcitation

kind = impactExcitation

Sets up electron-impact excitation collisions with background neutral gas. In this kind of collision, the incident electron loses energy equal to the excitation threshold energy and is scattered after the collision.

The scattered electron energy is computed to be:

\[\varepsilon_{sc} = \varepsilon_{inc}-\varepsilon_{ex}\]

where:

\(\varepsilon_{inc}\) is the incident electron energy

\(\varepsilon_{ex}\) is the excitation threshold energy

VSim uses the excitation threshold limit from either the EEDL data set or the user-defined cross-section data file.

The trajectory for the scattered electron is given by the scattering angle \(\chi\) and azimuthal angle, \(\phi\). These angles are determined as below:

\[cos(\chi)=\frac{2+\varepsilon_{inc}-2(1+\varepsilon_{inc})^{R_{1}}}{\varepsilon_{inc}}\]

and

\[\phi=2\pi R_{2}\]

where \(R_1\) and \(R_2\) are random numbers between 0.0 and 1.0.

ImpactExcitation Parameters

  • crossSectionDataType Collision cross-section data type to be used in the handling of electron impact exitation collisions with the background fluid gas or gas mixtures. The supported types are eedl and userDefined.

    • eedl: Using the eedl cross-section option, users can utilize electron impact excitation cross-section EEDL data for gas elements from Z = 1 to Z = 100. EEDL data files compatible with VSim can be downloaded from the link above.

    • userDefined: Using this option, users may specify known collision cross-section data for their simulations. Gas types that are supported in the userDefined cross-section options are: monatomic gas elements from Z = 1 to 100; molecular gases \(H_2\), \(CO_2\), \(CO\), \(O_2\), \(N_2\)

  • crossSectionDataFile A list which defines the path or locations of the EEDL data file or the user-defined cross-section data files that contain the electron impact excitation cross section data. In the case of userDefined, please see userDefined crossSectionDataFile Format.

  • scatteringType Supported options are VahediSurendra (see above) or uniform.

ImpactIonization

kind = impactIonization

The impactIonization kind enables users to set up electron-impact (and proton-impact) ionization collisions with background neutral gas. In this kind of collision, the incident particle loses both ionization threshold energy and the energy value of the secondary electron created during this collision.

The final scattered electron energy is computed to be:

\[\varepsilon_{sc} = \varepsilon_{inc}-\varepsilon_{iz}-\varepsilon_{se}\]

where:

\(\varepsilon_{inc}\) is the incident electron energy

\(\varepsilon_{iz}\) is the excitation threshold energy

\(\varepsilon_{se}\) is the secondary electron energy

The secondary electron energy is determined by:

\[\varepsilon_{se}=\omega~tan(R_{3} atan[\frac{\varepsilon_{inc}-\varepsilon_{iz}}{2\omega}])\]

where:

\(\omega\) is a known function with a value of 15 eV

\(R_3\) is a random value between 0.0 and 1.0.

The trajectory for the scattered electron is given by:

\[cos(\chi)=(\frac{\varepsilon_{se}}{\varepsilon_{inc}-\varepsilon_{iz}})^{0.5}\]

where:

\(\chi\) is the scattering angle

\(\phi\) is the azimuthal angle given by:

\[\phi=2\pi R_{2}\]

where \(R_2\) is a random number that varies between 0.0 and 1.0.

The scattering angle for the new secondary electron is determined using:

\[cos\chi_{se}=(\frac{\varepsilon_{se}}{\varepsilon_{inc}-\varepsilon_{iz}})^{0.5}\]

where: \(\chi_se\) is the scattering angle

\(\phi\) is the azimuthal angle given by:

\[\phi=2\pi R_{2}\]

where \(R_2\) is a random number that varies between 0.0 and 1.0.

The energy of the ion created during this reaction is determined from the neutral gas temperature. The background neutral gas density is decremented appropriately at the ionization location based on the ion produced during the reaction.

ImpactIonization Parameters

  • crossSectionDataType Collision cross-section data types for handling electron-impact ionization or proton-impact ionization with a background fluid gas or gas mixture. The supported types are builtIn, eedl, and userDefined. The default type of crossSectionDataType is builtIn.

    • builtIn (default): This option uses VSim’s existing internal collision cross-section data. Currently VSim has builtIn cross-sections for electron-impact or proton-impact ionization reactions for the following gas types:

      • Electron-impact Ionization Gas Types: \(H_2\), \(He\), \(CO_2\), \(CO\), \(O_2\), \(N_2\), \(Ar\), \(Ne\)

      • Proton-impact Ionization Gas Types: \(H\), \(H_2\), \(He\), \(CO_2\), \(CO\), \(O_2\), \(N_2\)

      VSim determines whether to use electron or proton built-in cross-section data for handling impact ionization based on the ratio of charge to mass. If this ratio is not that of an electron, VSim assumes that the incident particle is a proton (regardless of whether or not this is actually the case). The default type of background gas for electron-impact ionization is \(H_2\); the default for proton-impact ionization is \(H\). If the user chooses a gas for ionization that is not on the lists above, VSim will use the default gas for that ionization type. For example, if users choose \(H\) for electron-impact ionization, VSim will use the default \(H_2\). Similarly, if users choose \(Ar\) for protons, VSim will default to \(H\).

    • eedl: Using the eedl cross-section option, users can utilize the electron impact ionization cross-section EEDL data for gas elements Z = 1 to Z = 100. EEDL data files compatible with VSim can be downloaded from the link above.

    • userDefined: Using this option, users may specify known collision cross-section data for their simulations. Gas types that are supported in the userDefined cross-section options are: monatomic gas elements from Z = 1 to Z = 100; molecular gases \(H_2\), \(CO_2\), \(CO\), \(O_2\), and \(N_2\).

  • crossSectionDataFile A list which defines the path or locations of the EEDL data file or the user-defined cross-section data files that contain the electron impact ionization cross-section data. In the case of userDefined, please see userDefined crossSectionDataFile Format.

  • scatteringType Supported options are VahediSurendra (see above) or uniform.

  • ionizedElectronSpecies A list of secondary electron species that can result from impact ionization collisions of impactSpecies (electrons or protons) with the gas or gas mixtures listed under the neutralGas attribute. VSim checks whether an ionizedElectronSpecies vector of strings is provided. The strings should correspond to the names of the secondary electron Species objects, which must be defined in the VSim input file using Species blocks.

  • ionSpecies A list of ion Species that can result from impact ionization collisions of impactSpecies (electrons or protons) with the gas or gas mixtures listed under the neutralGas attribute. VSim checks whether an ionSpecies vector of strings is provided. The strings should correspond to the names of the ion species and these must be defined using Species blocks in the VSim input file.

  • depleteBackgroundGas Boolean specifying whether or not to deplete the background gas density when ionization events occur.

ImpactIonCollision

kind = impactIonCollision

The impactIonCollision kind enables users to set up ion-impact collisions with the background neutral gas. In this kind of collision, the incident ion is scattered (referred to as momentum exchange) or else undergoes a charge-exchange collision with the background neutral gas. In the case of momentum exchange, the incident ion loses no energy. In the charge-exchange collision event, the resulting ion energy value is determined based on the background neutral gas temperature.

ImpactIonCollision Parameters

  • crossSectionDataType A list of collision cross-section data types for handling impact collisions with the background fluid gas or gas mixtures. The supported types are builtIn and userDefined.

    • builtIn: This option uses VSim’s existing internal collision cross-section data. The builtIn ion impact charge exchange cross-section data is based on the semi-empirical formula from Lindsay [LS05] for all gas types except for Xe and Ar. For xenon and argon background neutral gases, the built-in cross-section data comes from the data found in experiments by Miller [MPL+02].

    • userDefined: Using this option, users may specify known collision cross-section data for their simulations. Gas types that are supported in the userDefined cross-section options are: monatomic gas elements from Z = 1 to Z = 100; molecular gases \(H_2\), \(CO_2\), \(CO\), \(O_2\), and \(N_2\).

  • crossSectionDataFile A list which defines the paths or locations of the userDefined cross-section data files that contain the ion impact collision cross-section data. In the case of userDefined, please see userDefined crossSectionDataFile Format.

  • ionCollType Defines the type of ion-impact collision. Choices are:

    • MomentumExchange

    • ChargeExchange

userDefined crossSectionDataFile Format

When using userDefined crossSectionDataType functionality, the cross-section data file must contain the following (in ASCII plain text):

  • 1st Line: Atomic number of the neutral gas (integer).

  • 2nd Line: Collision name (string)

    • For impactElastic this is ELASTIC

    • For impactExcitation this is EXCITATION

    • For impactIonization this is IONIZATION

  • 3rd Line: Collision threshold energy (float)

  • 4th Line: Number of collision data points (integer).

  • 5th Line and later: Collision cross-section information for the event. The data is supplied in two columns of floating point values, separated by white space. The first column contains the incident electron energy values in units of eV and the second column contains the respective electron-neutral cross-section values in units of \(m^2\).

For impactIonCollision, the format is slightly different:

  • 1st Line: Atomic number of the neutral gas (integer).

  • 2nd Line: Collision name (string)

    • For impactIonCollision this is ION_ELASTIC (momentum exchange) or CHARGE_EXCHANGE (charge exchange)

  • 3rd Line: Number of collision data points (integer).

  • 4th Line and later: Collision cross section information for the ion-neutral collision event. The data is supplied in two columns of floating point values, separated by white space. The first column contains the incident ion energy values in units of eV and the second column contains the respective ion-neutral cross-section values in units of \(m^2\).

18
ELASTIC
0.0
10
2.0 3.5e-19
5.0 5.e-19
10.0 6.e-19
15.0 5.5e-19
17.0 4e-19
20.0 3.e-19
50.0 2.e-19
100.0 1.e-20
250.0 1.e-21
1000.0 1.e-22
54
CHARGE_EXCHANGE
10
0.5 5.19e-19
1.0 4.57e-19
2.0 3.95e-19
5.0 3.13e-19
10.0 2.52e-19
20.0 1.9e-19
40.0 1.29e-19
60.0 9.26e-20
100.0 4.71e-20
150.0 1.10e-20

Example ImpactCollision Block inside ImpactCollider

<ImpactCollider electronHeGasCollisions>

  neutralGas = [HeNeutralGas]
  impactSpecies = [electrons]
  neutralGasTemp = GAS_TEMP_IN_K
  <ImpactCollision ElecImpElastic>
    kind = impactElastic
    crossSectionDataType = [userDefined]
    crossSectionDataFile = [elasticCS.dat]
    scatteringType = uniform
  </ImpactCollision>

  <ImpactCollision ElecImpExcitation1>
    kind = impactExcitation
    crossSectionDataType = [userDefined]
    crossSectionDataFile = [excitation1CS.dat]
    scatteringType = uniform
  </ImpactCollision>

  <ImpactCollision ElecImpExcitation2>
    kind = impactExcitation
    crossSectionDataType = [userDefined]
    crossSectionDataFile = [excitation2CS.dat]
    scatteringType = uniform
  </ImpactCollision>

  <ImpactCollision elecImpIonization>
    kind = impactIonization
    crossSectionDataType = [userDefined]
    crossSectionDataFile = [ionizationCS.dat]
    ionizedElectronSpecies = [electrons]
    ionSpecies = [He1]
    depleteBackgroundGas = false
    scatteringType = uniform
  </ImpactCollision>

</ImpactCollider>