MechDriver

A Package of the AutoMech Suite

Sarah N. Elliott, Kevin B. Moore III, Andreas V. Copan Clayton Mulvihill, Luna Pratali Maffei, and Stephen J. Klippenstein

Overview

MechDriver is the capstone of the AutoMech suite. It drives elaborate workflows of modules from the AutoMech package to produce electronic structure, thermochemical, kinetic, and transport properties from simple mechanism inputs. These parameters are formatted into standard functional forms used in the simulation of reaction mechanism models. Follow these links for descriptions of the input files, a glossary of the keywords, and for example input files. The code structure and install instructions are described below:



mechdrivers

The main automech.py code will drive any of the five drivers of the code, dependent on the user’s input, on a provided mechanism. These drivers are:

  • ESDriver: carries out electronic structure tasks for requested species and theories

  • ThermoDriver: carries out partition function calculations and tranformations for requested species and models

  • kTPDriver: carries out T,P-dependent rate calculations and fitting for multichannel potential energy surfaces

  • TransDriver: carries out energy transfer calculations for a given mechanism

  • ProcDriver: post-processing module to format data

mechroutines

To fascilitate the drivers, we have created subsets of routines

  • es: modules to set up and run electronic structure jobs like geometry optimization, frequency analaysis, conformer searching, angle scanning, single point calculations,

  • ktp: organizes reaction, species, and transition state info to construct indepndent PESes

  • models: gathers the partition function parameters for each stationary point in the mechanism, and applies any user requested scaling routines

  • proc: querries the database for user requested properties

  • thermo: produces the partition functions and transfroms it into thermchemical properties and NASA polynomials

  • trans:

mechlib

Library to house small, specific functions used by both the overrall drivers and their subroutines. * amech_io: parsing functions specific to mechdriver user input and writing functions for code output

  • filesys: code for reading and saving specific molecular information to the filesystem, and well as some basic transformations for such data, and locator functions to determine where to read/write from

  • reaction: sets up reaction information

Each of these subdrivers function by making appropriate calls to lower level Python libraries packaged in the AutoMech suite:

autochem: molecular representation
autoio: I/O parsing and execution for external codes
autofile: builds and manages the RUN/SAVE filesystem
mechanalyzer: pre- and post-processing mechanisms; handles mechanism objects internally

AutoMech is also distributed with binary codes:

MESS
ThermP+PAC99
OneDMin
PIPPy

MESS is particularly important and forms the backbone of the AutoMech code as it handles all of the master equation rate constant expressions.

Getting Started

Installation

We have conda packages on the anaconda cloud for all of our packages. To install them, set up an environment for AutoMech. You can use the environment we have prepared for the suite auto-mech-env. Then activate your environment and install the autoio packages.

>>> conda env create auto-mech/auto-mech-env
>>> conda activate auto-mech-env

For users new to conda, we have conda-instructions. Each AutoMech package is also available on GitHub.

Tutorial

  • Base Tutorial: base-tutorial-hub
    • ioformat-tutorial-doc

Indices and tables

Support

Sarah Elliott [elliott@anl.gov]