Cantera for Catalysis
From charlesreid1
Contents
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).
The number of "moles" of solid species A is the product of the surface coverage (i.e., the "mole fraction") and the site density (i.e., the "total moles"):
where is the total "moles" of solid species A, is the coverage of species A, and is the site density of the solid.
More details, as well as information about particular classes or blocks of code where surface coverage is dealt with in Cantera, are given at the Cantera/Surface Coverage page.
Catalysis in the Cantera Source Code
In the Cantera source code, surface phases are carefully managed in a way that separates the reactors, which use the reacting surfaces to compute heterogeneous reaction source terms, from the surface phase itself. This is mainly to ensure memory is handled properly.
The SurfPhase class stores information about a given surface; the Kinetics class stores information about the kinetics and reaction network associated with a given surface.
The Wall class wraps the SurfPhase class and the Kinetics class, keeping track of which side of the wall is associated with which kinetic mechanism or surface phase.
The Reactor class is then able to interface with the Wall class, avoiding issues with trying to manage the memory of the SurfPhase or Kinetics classes itself. The Wall class, in turn, provides extra functionality for interfacing with reactors (such as storing information about which side of a wall is associated with which kinetic mechanism).
See the Cantera/Surface Coverage page for more info/details.
Flags
Cantera all pages on the wiki related to the Cantera combustion microkinetics and thermodynamics (a.k.a. "thermochemistry") software.
Cantera · Cantera Outline · Category:Cantera
Outline of Cantera topics: Cantera Outline · Cantera Outline/Brief Understanding Cantera's Structure: Cantera Structure Cantera from Matlab: Using_Cantera#Matlab Cantera from Python: Using_Cantera#Python Cantera from C++: Using_Cantera#C++ Cantera + Fipy (PDE Solver): Fipy and Cantera/Diffusion 1D Cantera Gas Objects: Cantera/Gases Cantera 1D Domains, Stacks: Cantera_One-D_Domains · Cantera_Stacks Cantera Gas Mixing: Cantera_Gas_Mixing
Topics in Combustion: Diffusion: Cantera/Diffusion · Cantera/Diffusion Coefficients Sensitivity Analysis: Cantera/Sensitivity Analysis Analysis of the Jacobian Matrix in Cantera: Jacobian_in_Cantera Chemical Equilibrium: Chemical_Equilibrium Kinetic Mechanisms: Cantera/Kinetic_Mechanisms Reactor Equations: Cantera/Reactor_Equations Differential vs. Integral Reactors: Cantera/Integral_and_Differential_Reactors Effect of Dilution on Adiabatic Flame Temperature: Cantera/Adiabatic_Flame_Temperature_Dilution
Topics in Catalysis: Cantera for Catalysis: Cantera_for_Catalysis Steps for Modeling 0D Multiphase Reactor: Cantera_Multiphase_Zero-D Reaction Rate Source Terms: Cantera/Reaction_Rate_Source_Terms Surface coverage: Cantera/Surface_Coverage Surface reactions: Cantera/Surface_Reactions
Cantera Input Files: Chemkin file format: Chemkin CTI files: Cantera/CTI_Files · Cantera/CTI_Files/Phases · Cantera/CTI_Files/Species · Cantera/CTI_Files/Reactions
Hacking Cantera: Pantera (monkey patches and convenience functions for Cantera): Pantera Extending Cantera's C API: Cantera/Extending_C_API Extending Cantera with Python Classes: Cantera/Adding Python Class Debugging Cantera: Cantera/Debugging_Cantera Debugging Cantera from Python: Cantera/Debugging_Cantera_from_Python Gas Mixing Functions: Cantera_Gas_Mixing Residence Time Reactor (new Cantera class): Cantera/ResidenceTimeReactor
Resources: Cantera Resources: Cantera Resources Cantera Lecture Notes: Cantera_Lecture
Category:Cantera · Category:Combustion Category:C++ · Category:Python Flags · Template:CanteraFlag · e |
Installing Cantera notes on the wiki related to installing the Cantera thermochemistry software library.
Cantera Installation: Mac OS X 10.5 (Leopard): Installing_Cantera#Leopard Mac OS X 10.6 (Snow Leopard): Installing_Cantera#Snow_Leopard · Cantera2 Config Mac OS X 10.7 (Lion): Installing_Cantera#Lion Mac OS X 10.8 (Mountain Lion): Installing_Cantera#Mountain_Lion Ubuntu 12.04 (Precise Pangolin): Installing_Cantera#Ubuntu Windows XP: Installing_Cantera#Windows_XP Windows 7: Installing_Cantera#Windows_7
Cantera Preconfig: In old versions of Cantera, a preconfig file was used to specify library locations and options. Mac OS X 10.5 (Leopard) preconfig: Cantera_Preconfig/Leopard_Preconfig Mac OS X 10.6 (Snow Leopard) preconfig: Cantera_Preconfig/Snow_Leopard_Preconfig Mac OS X 10.8 (Mountain Lion) preconfig: Cantera_Config/MountainLion_SconsConfig Ubuntu 12.04 (Precise Pangolin) preconfig: Cantera_Config/Ubuntu1204_SconsConfig Flags · Template:InstallingCanteraFlag · e |