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>