From charlesreid1

How Cantera Treats Catalysis

Cantera's Catalysis Concepts

Cantera has a couple of conceptual pieces that compose its treatment of catalysis.

First of all, Cantera treats surface reactions as occurring at the surface ONLY. This means that there are no volumetric reaction rates for heterogeneous reactions, only surface-specific reaction rates.

Site Density

The number of reaction sites per unit surface area is specified in the surface reaction XML file. This quantity is denoted the site density.

The surface reaction sites can be characterized as surface "species." For example, a catalyst may have a mechanism that involves abstraction of oxygen or hydroxyl species onto the surface, resulting in three surface species:

  • M
  • M-O
  • M-OH

These surface species then participate in surface reactions, just as gas species participate in gas reactions. Therefore, just as ordinary differential equations for gas species must be integrated in time, so too must ODEs for surface species be integrated in time.

Coverages

To characterize the amounts of surface species, Cantera uses a quantity called a coverage. Using the example species given above (M, MO, MOH), the coverage of species M represents the fraction of all surface sites that are M surface sites (as opposed to MO or MOH surface sites).

Like the site density, the initial surface species coverages are specified in the surface reaction XML file.

In order to track surface species, differential equations describing the surface species coverages are integrated in time. These coverages can then be multiplied by the site density to yield a site density for each surface species (which is basically like "moles" of surface species).

( "Moles" of solid species A ) = ( Coverage of A ) x ( Site density of solid )

Diving Into Cantera Source Code

Zero-Dimensional Simulations (Reactors)

For a given reactor in Cantera, one may simulate catalytic reactions in the reactor by adding a reactive surface to the domain. A reactive surface must be associated with a wall, and are treated as hybrid thermodynamics/kinetics objects.

The primary kinetics classes involving catalytic reactions are:

  • InterfaceKinetics.cpp - a general class defining behaviors of interfaces
  • ImplicitSurfChem.cpp - a more specific class defining integration functionality for surface coverages

The primary thermodynamics classes involving catalysts are: