From charlesreid1

(Created page with "CTI = CanTera Input file CTI files use a custom markup language to specify information about the kinetics. =Division of the File= The file can be divided into multiple parts: ...")
 
Line 3: Line 3:
CTI files use a custom markup language to specify information about the kinetics.
CTI files use a custom markup language to specify information about the kinetics.


=Division of the File=
=Division of CTI Files=


The file can be divided into multiple parts:
The file can be divided into multiple parts:

Revision as of 01:05, 22 January 2014

CTI = CanTera Input file

CTI files use a custom markup language to specify information about the kinetics.

Division of CTI Files

The file can be divided into multiple parts:

  • Phase specification
  • Species
    • Gas species
    • Surface species
  • Reactions
    • Gas reactions
    • Surface reactions

Phase Specification

Species Specification

Reaction Specification

Surface Reactions

Any surface reaction can be specified in the cti file using the surface_reaction function. The usage depends on the surface reaction form.

There are a variety of forms of surface reactions, each with a different specification method.

Arrhenius Kinetics

The plain/default way, which uses Arrhenius kinetics:

surface_reaction( "A(s) => B(s) + C",   [A, b, E]) 

where:

  • A(s), B(s), C - species whose properties are defined in the species section (see above)
  • A - Arrhenius parameter, pre-exponential factor (specified in units of...)
  • b - Arrhenius parameter, degree of temperature influence on kinetic rate constant
  • E - Arrhenius parameter, activation energy of reaction

The Arrhenius expression is:

$ k = A T^b \exp \left( \frac{E}{RT} \right) $

So, for example, a catalytic reaction where H2O (adsorbed onto a platinum surface) desorbs would look like this:

surface_reaction( "H2O(S) => H2O + PT(S)",   [1.00000E+13, 0, 40300])

Coverage-Dependent Surface Rates

The reaction rate may have some kind of... I dunno... coverage dependency, I guess?

I'm still working through this. This uses some kind of expression containing a, m, and e:

surface_reaction( "A(s) => B(s) + C", Arrhenius(A, b, E, coverage=['A(s)', surface_a, surface_m, surface_e])

Attempting to uncover how this is dealt with:

importKinetics::getCoverageDependence()
rdata.cov vector contains coverage-related parameters/information
rdata.cov.push_back(species_index)
rdata.cov.push_back(a)
rdata.cov.push_back(m)
rdata.cov.push_back(e)

and then

InterfaceKinetics::addElementaryReaction
if r.cov.size > 3:
    this rxn is dependent on coverage
register rxn

Sticking Equations

No idea how this works.

surface_reaction( "OH + PT(S) => OH(S)",   stick(1.00000E+00, 0, 0))

Duplicate Reactions

surface_reaction( "O2 + 2 PT(S) => 2 O(S)",   Arrhenius(1.80000E+21, -0.5, 0),
                  options = 'duplicate')