LXcatFile

LXcatFile OAFunc

LXcat is an open-access website for collecting, displaying, and downloading electron ans ion scattering cross-sections required for modeling low temperature plasmas. The available databases include electron-neutral and ion-neutral scattering cross-sections for various kinds of gases. There are fourteen databases that include around one hundred different materials, such as Hg, Kr, Mg, BF3, C2OH6 and CF4. For each material, cross-sections of ionization, excitation, as well as many other collisional processes are available at the LXcat website and can be used in PIC simulations or Boltzmann solvers. These data can be either plotted or downloaded in text format. LXcat database can be accessed from the LXcat Website (http://fr.lxcat.net/home/).

Particle collision is an important physical process in simulations of various plasma applications, such as plasma discharges, magnetron sputtering and low temperature plasma processing. Vorpal allows user defined cross-section in the Monte Carlo Interactions Package. In a simulation of a particular material, user can download the cross-section data for this material from LXcat and use it directly for Monte Carlo interactions in Vorpal.

Import scattering cross-section from LXcat data file

To import scattering cross-section from LXcat data file, one needs to download the data for corresponding material. The cross-section data can be found at http://fr.lxcat.net/data/set_type.php. The LXcat website is under constant development and its contents could change without notice. Please refer to the “how to use” section of LXcat website for more details about obtaining the cross-section database.

After the LXcat data for a particular material is downloaded, it can be directly read in any Vorpal Monte Carlo binary interactions that require a cross-section. The LXcat cross-section data is imported via an OAFunc of kind LXcatFile, specifying the file name and type of collision. In order to use this OAFunc in the Interaction block, the crossSection should be set as functionDefined, the OAFunc of kind LXcatFile must be named as crossSectionFunc, and the option crossSectionVariable should be set as energy.

LXcatFile OAFunc Parameters

filename (string)

Name of the file that contains downloaded LXcat cross-section data.

typeOfCollision (string)

The type of the collision. This must exactly match the first line of the LXcat defining block. In the example here, it is ELASTIC

-------

ELASTIC
Xe
 4.200000e-6
SPECIES: e / Xe
PROCESS: E + Xe -> E + Xe, Elastic
PARAM.:  m/M = 0.0000042, complete set
COMMENT: elastic momentum transfer.
UPDATED: 2012-04-13 18:41:58
COLUMNS: Energy (eV) | cross-section (m2)
-----------------------------
Process (string)

Name of the target particle species and interaction process. This must exactly match the second line of the LXcat defining block. In the example here, it is Xe

-------

ELASTIC
Xe
 4.200000e-6
SPECIES: e / Xe
PROCESS: E + Xe -> E + Xe, Elastic
PARAM.:  m/M = 0.0000042, complete set
COMMENT: elastic momentum transfer.
UPDATED: 2012-04-13 18:41:58
COLUMNS: Energy (eV) | cross-section (m2)
-----------------------------
Option (string, optional, no default value)

This is an optional parameter and if it is used, it must exactly match the third line of the LXcat defining block. In the example here, it is 4.200000e-6

-------

ELASTIC
Xe
 4.200000e-6
SPECIES: e / Xe
PROCESS: E + Xe -> E + Xe, Elastic
PARAM.:  m/M = 0.0000042, complete set
COMMENT: elastic momentum transfer.
UPDATED: 2012-04-13 18:41:58
COLUMNS: Energy (eV) | cross-section (m2)
-----------------------------
Comments (string, optional, no default value)

This is an optional parameter and if it is used, it must exactly match the COMMENT line of the LXcat defining block, i.e. user comments and reference information of the LXcat data. In the example here, it is elastic momentum tranfer.

-------

ELASTIC
Xe
 4.200000e-6
SPECIES: e / Xe
PROCESS: E + Xe -> E + Xe, Elastic
PARAM.:  m/M = 0.0000042, complete set
COMMENT: elastic momentum transfer.
UPDATED: 2012-04-13 18:41:58
COLUMNS: Energy (eV) | cross-section (m2)
-----------------------------
outerBoundsValue (string, optional, default "except")

This controls how the OAFunc interpolates output data when the input value is out of bounds of the data file. “except” throws an exception and the code stops running. “null” uses 0.0 whenever the input value is out of bounds. “constant” uses the data at lower or upper bound when the input value is smaller or larger than the lower and upper bounds. If it sets as ” ” (an empty string), a linear interpolation based on two data points at the boundary will be used to obtain the outbound value, which may generate inaccurate or nonphysical cross-section value.

Example interaction Block using LXcat cross-section

<Interaction CO2Excitation>
  kind = impactExcitation
  neutralGas = CO2Gas
  impactSpecies = Electrons
  crossSectionVariable = energy
  crossSection = functionDefined
  <OAFunc crossSectionFunc>
    kind = LXcatFile
    filename = lxcat.dat
    typeOfCollision = EXCITATION
    Process = "CO2 -> CO2*(7.0eV)"
    Option = "7.000e+0 / threshold energy"
    Comments = "COMMENT: Electronic Excitation. ENERGY LOSS =7eV"
    outBoundsValue = "null"
  </OAFunc>
</Interaction>

LXcatFile Data Format

For the LXcat data file to work, it must have the proper format. Unfortunately, the LXcat headers and format have been modified since it was implemented in Vorpal. Therefore, a recent download of LXcat data may not work with Vorpal without some minor modifications first.

Vorpal uses the string ----- (5 dashes in a row, no spaces) to locate the headers and cross-section data. There must be a minimum of 5 dashes starting in the left most column of the file in order for the header to be found.

Upon finding the first instance of -----, Vorpal will read the header data. The header data in the .dat file must exactly match the parameters listed in the .pre file.

If headers do not match, you may run across the error:

Can not find the required data in OAFunc of kind "LXcatFile"..

After locating the header that matches the block in your .pre file, Vorpal will continue its search for the string -----. It will then start reading in the Energy and Cross-Section* data until it reaches another string -----.

Multiple cross-sections may be included in a single .dat file.

An example of data with the proper format is as follows. There must be a set of dashes ----- before the first header. Currently, the LXcat downloads do not include this.

-----------------------------

EXCITATION
Xe -> Xe(1s5)
 8.310000e+0
SPECIES: e / Xe
PROCESS: E + Xe -> E + Xe(1s5), Excitation
PARAM.:  E = 8.31 eV, complete set
COMMENT: Excitation XE+e__e + XE*(1s5).
UPDATED: 2009-09-09 21:02:24
COLUMNS: Energy (eV) | cross-section (m2)
-----------------------------
 8.310000e+0  0.000000e+0
 8.470000e+0  2.500000e-22
 8.840000e+0  6.300000e-22
 9.036000e+0  1.027000e-21
 9.380000e+0  8.700000e-22
 9.520000e+0  1.800000e-21
 9.730000e+0  1.026000e-21
 1.049000e+1  1.158000e-21
 1.097000e+1  1.180000e-21
 1.165000e+1  1.160000e-21
 1.220000e+1  1.126000e-21
 1.498000e+1  8.570000e-22
 1.746000e+1  6.360000e-22
 2.005000e+1  4.640000e-22
 2.368000e+1  3.110000e-22
 2.746000e+1  2.170000e-22
 3.336000e+1  1.180000e-22
 3.510000e+1  1.040000e-22
 5.000000e+1  0.000000e+0
-----------------------------

EXCITATION
Xe -> Xe(1s4)
 8.440000e+0
SPECIES: e / Xe
PROCESS: E + Xe -> E + Xe(1s4), Excitation
PARAM.:  E = 8.44 eV, complete set
COMMENT: Excitation XE+e__e + XE*(1s4).
UPDATED: 2009-09-09 21:02:47
COLUMNS: Energy (eV) | cross-section (m2)
-----------------------------
 8.440000e+0  0.000000e+0
 1.509000e+1  3.420000e-21
 1.718000e+1  4.210000e-21
 1.904000e+1  4.770000e-21
 2.185000e+1  5.330000e-21
 2.506000e+1  5.710000e-21
 2.857000e+1  6.000000e-21
 3.374000e+1  6.120000e-21
 4.130000e+1  6.056000e-21
 6.388000e+1  5.390000e-21
 8.546000e+1  4.738000e-21
 1.000000e+2  4.420000e-21
 3.050000e+2  0.000000e+0
-----------------------------

EXCITATION
Xe -> Xe(1s3-1s2-2p)
 9.690000e+0
SPECIES: e / Xe
PROCESS: E + Xe -> E + Xe(1s3-1s2-2p), Excitation
PARAM.:  E = 9.69 eV, complete set
COMMENT: XE+e__e + XE*(1s3+1s2+2p)   extrapolated after 40 eV using ln(energy)/energy.
UPDATED: 2009-09-09 21:03:14
COLUMNS: Energy (eV) | cross-section (m2)
-----------------------------
 9.690000e+0  0.000000e+0
 1.004000e+1  1.057000e-21
 1.060000e+1  2.127000e-21
 1.132000e+1  3.194000e-21
 1.227000e+1  4.304000e-21
 1.318000e+1  4.840000e-21
 1.440000e+1  5.320000e-21
 1.574000e+1  5.560000e-21
 1.674000e+1  5.660000e-21
 1.836000e+1  5.690000e-21
 2.081000e+1  5.630000e-21
 2.577000e+1  5.360000e-21
 3.327000e+1  4.890000e-21
 3.965000e+1  4.550000e-21
 5.000000e+1  3.800000e-21
 1.000000e+2  2.260000e-21
 2.000000e+2  1.300000e-21
 5.000000e+2  6.100000e-22
 1.000000e+3  3.340000e-22
-----------------------------

Available materials in LXcat database

There are about one hundred different materials available at LXcat. A short list of some materials that you may encounter in simulations are in the following. Please refer to the LXcat website for a complete list.

  • Ar
  • BF3
  • C, C2
  • C2H2, C2H2+, C2H4, C2H6, C2OH6
  • C3, C3H4, C3H6, C3H8, C3N
  • CCl2F2, CCl4
  • CF, CF2, CF4
  • CH, CH+, CH2, CH3, CH4
  • CHF3, CNH
  • CO, CO2, CO2+
  • CONH3, COS, CS
  • CaF, CaF+
  • Cl2
  • Cu
  • D2
  • F2, F2O
  • H, H2, H2+
  • H2O, H2S, H4C, HBr, HCHO, HCN, HCP, HCl
  • He
  • Hg
  • Kr
  • Mg
  • N, N2, N2O, NH3, NO, NO2
  • Na
  • Ne
  • O, O2, O3, O-
  • PH3
  • SF6, SO2
  • Si(CH3)4, Si2H6, SiF2, SiH4, SiO
  • Xe