OAFunc Cross-Section Interface

OAFunc: 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. This section describes how a user may include thier own, potentially proprietary, cross-section data directly for Monte Carlo interactions in Vorpal.

Import Scattering Cross-Section from an External Text Data File

Vorpal will assume you have arranged your data into two columns. It assumes there is no header information. (This is different to the syntax that was required for some cross-sections in Vorpal 4.2 before the introduction of the new flexible Monte-Carlo infrastructure to the software). The text file should have two columns, separated by a space. The first column would contain either the electron or ion energy in eV, or the electron or ion velocity in ms-1, depending on your choice of crossSectionVariable = energy or crossSectionVariable = velocity in the parent Interaction block. The second column would contain the cross-section in m2.

Example of Cross-Section Import from an External Text Data File

This is an example of using an OAFunc function block to define the cross-section of a dissociation reaction. The data is provided through a two-column data file (dissXSecVel.dat), which gives the cross-section as a function of velocity.

<Interaction ionization>
  kind = binaryDissociation
  electrons = electrons
  intElecMass=9.1093896999999993e-31
  intSpecMass=1.e-27
  outSpec1Mass = 0.2e-27
  outSpec2Mass = 0.8e-27
  speciesName = oxygen
  inSpecies = oxygen0
  outSpecies1 = oxygen1
  outSpecies2 = oxygen2
  outSpeciesEnergyRatio = 1.
  crossSection = functionDefined
  crossSectionVariable = velocity
  <OAFunc crossSectionFunc>
    kind = interpolatedFromFile
    filename = dissXSecVel.dat
  </OAFunc>
  thresholdEnergy = 15.76
</Interaction>

Example Text Data File

In the example above, the text data file might look like this, where as described earlier, the first column is velocity in units of ms-1and the second column is the cross-section in units of m2.

0 0
2.29542e+06 0
2.35285e+06 3.455e-12
2.3707e+06 3.45522e-12
2.44366e+06 2.10494e-11
2.5145e+06 4.18906e-11
2.65052e+06 8.67665e-11
2.71597e+06 1.08962e-10
...
1.51103e+07 1.17765e-10
1.56807e+07 1.11636e-10
1.6231e+07 1.06171e-10
1.67633e+07 1.01266e-10
1.72793e+07 9.68342e-11
1.77802e+07 9.28099e-11
1.82674e+07 8.91374e-11
1.8742e+07 8.57709e-11

The text file should have two columns, separated by a space. The first column is the cross-section variable, which can be either the kinetic energy of the incident particle in eV or the relative collision velocity magnitude of the incident particle in ms-1. This variable should be consistent with the choice of crossSectionVariable = energy or crossSectionVariable = velocity in the parent Interaction block. The second column is the cross-section in m2.

One can generate this data format from any other existing data file. Just keep the two column data and remove all other information. The resulting file can be used directly in above method.

Specifying the Cross-Section as a Function

Alternatively, it may be possible for the user to specify the function that the cross-section obeys. Note: the example below is not a physically correct model, it is simply an example of the input file syntax.

<Interaction ionization>
  kind = binaryDissociation
  electrons = electrons
  intElecMass=9.1093896999999993e-31
  intSpecMass=1.e-27
  outSpec1Mass = 0.2e-27
  outSpec2Mass = 0.8e-27
  speciesName = oxygen
  inSpecies = oxygen0
  outSpecies1 = oxygen1
  outSpecies2 = oxygen2
  outSpeciesEnergyRatio = 1.
  crossSection = functionDefined
  crossSectionVariable = energy
  <OAFunc crossSectionFunc>
    kind = expression
    expression = H(x-15.6)*x*1.2e-13
  </OAFunc>
  thresholdEnergy = 15.76
</Interaction>