Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • descriptor - variable used to describe reaction kinetics at a high level. Most commonly these are the binding energies of atomic constituents in the adsorbates (e.g. carbon/nitrogen/oxygen adsorption energies) or other intermediates. However, in the general sense other variables such as electronic structure parameters (e.g. d-band center) or thermodynamic parameters (e.g. temperature/pressure) could also be descriptors.
  • descriptor space ( D ) - the space spanned by the descriptors. Usually ℝ2.
  • parameter space ( P ) - the space spanned by the full reaction parameters for the reaction model. Usually ℝ2n where n is the number of elementary steps (one reaction energy and one reaction barrier per elementary step).
  • reaction rates ( r ) - an n-vector of rates corresponding to each of the n elementary reactions.
  • descriptor map - a map of some variable (rates,coverages,etc.) as a function of descriptor space.
  • reaction model - a set of elementary steps and conditions which define the physics of the kinetic system, along with the mathematical methods and assumptions used to move from "descriptor space" to reaction rates.
  • model definition setup file - a file used to define the reaction model
  • input file - a file used to store other data which is likely common to many reaction models (e.g. energetics data)

...

The Parser class serves to extend the "model definitionsetup file" file by reading in various quantities from an "input file". Technically the use of a parser is optional, but in practice it is extremely helpful for reading in common data such as adsorption energies or vibrational frequencies rather than re-typing them for every reaction model.

...

The ThermoCorrections class is responsible for applying thermodynamic corrections to the electronic energies which are used as direct inputs. This includes the contributions of entropy/enthalpy and zero-point energy due to temperature, pressure, or other thermodynamic variables.

There are also a variety of analysis classes which allow for automated analysis and visualization of the reaction model. These include the RateAnalysis which creates "volcano plot" (descriptor maps of the rate), CoverageAnalysis which creates descriptor maps of the coverages of various intermediates, VectorMap and MatrixMap classes which create plots of outputs as a function of descriptor space. The VectorMap class is designed for outputs in the form of vectors (rates, coverages, etc.) while the MatrixMap is designed for outputs in the form of matrices (rate control, sensitivity analyses, etc.). The analysis folder also contains MechanismAnalysis which creates free energy diagrams, and ScalingAnalysis which can give a visual representation of how well the scaler projects descriptor space to parameter space, and several other useful tools.

Using the code:

Some examples can be found in the "demos" folder, and these should explain the syntax necessary and serve as a good starting point. The currently implemented features are also briefly described below in order to allow a better understanding of the demos and creating original reaction model definitionssetup files.

Using the kinetics module to conduct a descriptor analysis requires (at least) 2 files: the "model definitionsetup file" which defines the reaction model, as well as another script to initialize the ReactionModel class and conduct analyses. The "model definitionsetup file" is generally a static file (i.e. it is not a program) while the submission script will be an actual python program. Model definition Setup files typically end in ".mkm" for micro-kinetic model (although this is not required) while submission scripts end in .py since they are just python scripts. In addition it is very useful to also have an "input file" which contains the raw data about the energetics of the reaction model. An example of such an input file is provided in "published_data.txt" in the demos folder.

...