-
-
Notifications
You must be signed in to change notification settings - Fork 354
Home
Cantera is a collection of object-oriented software tools for problems involving chemical kinetics, thermodynamics, and transport processes. Among other things, it can be used to:
- conduct kinetics simulations with large reaction mechanisms
- compute chemical equilibrium
- evaluate thermodynamic and transport properties of mixtures
- evaluate species chemical production rates
- conduct reaction path analysis
- create process simulators using networks of stirred reactors
- model non-ideal fluids
With Cantera's object technology, you assemble your architectural masterpiece (i.e application program) from a set of very special bricks you pick up at the Cantera quarry! Each "brick" (or object) represents some well-defined small component of the global structure.
Documentation for all of the Cantera interfaces is available at http://cantera.github.com/docs/sphinx/html/index.html
Some of the types (or classes) of objects Cantera provides represent
- phases of matter
- interfaces between these phases
- reaction managers
- time-dependent or steady reactor networks
- IC engine models
- CSTR reactor network
- One-dimensional flows
- Burner-stabilized flat flames
- Air plasma formed behind the bow shock on a re-entry vehicle during re-entry into the Earth's atmosphere
- Adiabatic propagating flat flames
Cantera can be used in many different ways. Here are a few.
Cantera can be used in Fortran or C++ reacting-flow simulation codes to evaluate properties and chemical source terms that appear in the governing equations. Cantera places no limits on the size of a reaction mechanism, or on the number of mechanisms that you can work with at one time; it can compute transport properties using a full multicomponent formulation; and uses fast, efficient numerical algorithms. It even lets you switch reaction mechanisms or transport property models dynamically during a simulation, to adaptively switch between inexpensive/approximate models and expensive/accurate ones based on local flow conditions.
It is well-suited for numerical models of laminar flames, flow reactors, chemical vapor deposition reactors, fuel cells, engines, combustors, etc. Any existing code that spends most of its time evaluating kinetic rates (a common situation when large reaction mechanisms are used) may run substantially faster if ported to Cantera. (Cantera’s kinetics algorithm, in particular, runs anywhere from two to four times faster, depending on the platform, than that used in some other widely-used packages.)
Sometimes you just need a quick answer to a simple question, for example:
- if air is heated to 3000 K suddenly, how much NO is produced in 1 sec?
- What is the adiabatic flame temperature of a stoichiometric acetylene/air flame?
- What are the principal reaction paths in silane pyrolysis?
With Cantera, answering any of these requires only writing a few lines of code. If you are comfortable with Fortran or C++ you can use either of these, or you can write a short Python script, which has the advantage that it can be run immediately without compilation. Python can also be used interactively. Or you can use one of the stand-alone applications that come with Cantera, which requires no programming at all, other than writing an input file.
Cantera is ideal for use in teaching courses in combustion, reaction engineering, transport processes, kinetics, or similar areas. Every student can have his or her own copy and use it from whatever language or application he or she prefers. There are no issues of cost, site licenses, license managers, etc., as there are for most commercial packages. For this reason, Cantera-based applications are also a good choice for software that accompanies textbooks in these fields.
Cantera is designed to be customized and extended. You are not locked in to using a particular equation of state, or reaction rate expressions, or anything else. If you need a different kinetics model than one provided, you can write your own and link it in. The same goes for transport models, equations of state, etc. This does require C++ programming, but Cantera is designed to be easily extended.
One of the best ways to obtain insight into the most important chemical pathways in a complex reaction mechanism is to make a reaction path diagram, showing the fluxes of a conserved element through the species due to chemistry. But producing these by hand is a slow, tedious process. Cantera can automatically generate reaction path diagrams at any time during a simulation. It is even possible to create reaction path diagram movies, showing how the chemical pathways change with time, as reactants are depleted and products are formed.
Cantera implements a general-purpose stirred reactor model that can be linked to other ones in a network. Reactors can have any number of inlets and outlets, can have a time-dependent volume, and can be connected through devices that regulate the flow rate between them in various ways. Closed-loop controllers may be installed to regulate pressure, temperature, or other properties.Using these basic components, you can build models of a wide variety of systems, ranging in complexity from simple constant-pressure or constant-volume reactors to complete engine simulators.
Cantera implements several accurate equations of state for pure fluids, allowing you to compute properties in the liquid, vapor, mixed liquid/vapor, and supercritical states.
Cantera has recently been expanded to include multiphase non-ideal mixture models. A full pitzer implementation of aqueous thermodynamics has been included in the latest release.
-
Combustion
-
Flames Structure
-
Detonations
-
Electrochemical Energy Conversion and Storage
-
Fuel Cells
-
Batteries
-
Aqueous electrolytes
- Thermodynamics of brines
- Electrode reactions in aqueous environments
-
Plasmas
- Atmospheric-pressure thermal plasmas
- Low-Pressure DC, RF, and Microwave Plasmas
- Laser-Created
-
Thin Film Deposition
- Chemical Vapor Deposition
If you have specific things you want to see Cantera support, you are encouraged to become a Cantera developer, or support Cantera development in other ways to make it possible.