ImpactCollision:
ImpactCollider blocks require a block for each type of ImpactCollision. There are four possible kinds of ImpactCollision blocks:
Note
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:
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:
The azimuthal scattering angle is given by:
where in the above equations, \(R_1\) and \(R_2\) are random numbers between 0.0 and 1.0.
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.
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:
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:
and
where \(R_1\) and \(R_2\) are random numbers between 0.0 and 1.0.
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.
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:
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:
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:
where:
\(\chi\) is the scattering angle
\(\phi\) is the azimuthal angle given by:
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:
where: \(\chi_se\) is the scattering angle
\(\phi\) is the azimuthal angle given by:
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.
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.
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.
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
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) orCHARGE_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
<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>