Catera with additional transport models
Find a file
Steven DeCaluwe 51f419fbad Enabling charge-transfer/electrochemical surface reactions
The previous formulation will only consider a rection as electrochemical
if a beta value is supplied for that reaction *and* the reaction is an
'edge_reaction.'  This is problematic for two reasons: (1) many/most
charge-transfer reactions of interest occur at two-phase boundaries (see,
for example, Li-ion batteries and PEM fuel cells), not the three-phase-
boundary-like edges (which are most relevant for SOFCs).  (2) determining
whether a reaction is electrochemical or not should not rely at all upon
user input - the program itself should check to see whether charge is
transferred between phases, and the appropriate steps should be taken
during rate-of-progress calcuations.

This commit addresses the former issue.  Currently, if a charge-transfer
reaction is written as a surface_reaction, the code does not apply the
voltage correction to the forward rate.  By default, then, the entire
voltage correction is applied to the reverse reaction, which is the same
as setting beta = 0; not a good 'default' behavior (beta = 0.5 is a more
appropriate default).  With this change, surface reactions can now be
supplied with a beta value in cti or xml formats, and will be recognized
as a charge transfer reaction.

Longer term, it would be better to change the constructor routines such
that charge transfer is automatically detected and handled, rather than
relying upon user-specified flags.
2017-02-25 19:13:38 -05:00
data Remove dummy element from elements.xml 2016-08-30 20:31:31 -04:00
doc [SCons] Add option to pass flags to GTest 2017-02-22 22:18:40 -05:00
ext Update libfmt submodule to version 3.0.1 2016-11-02 19:40:28 -04:00
include/cantera [Thermo] Remove unimplemented options for m_formGC from DebyeHuckel 2017-02-22 22:18:40 -05:00
interfaces Enabling charge-transfer/electrochemical surface reactions 2017-02-25 19:13:38 -05:00
platform/posix Move MixMaster into a separate Python module and Git repository 2017-01-20 16:16:32 -05:00
samples [Samples] Add C++ OpenMP example 2017-01-28 15:07:15 -05:00
site_scons [SCons] Use subprocess.check_output in getCommandOutput 2016-12-09 20:13:22 -05:00
src Enabling charge-transfer/electrochemical surface reactions 2017-02-25 19:13:38 -05:00
test Adding test coverage for ThermoPhase class RedlichKwongMFTP 2017-02-25 11:36:31 -05:00
test_problems [Thermo] Refactor construction of PDSS objects 2017-02-22 22:18:40 -05:00
.codecov.yml [CI] Upload coverage data to codecov.io 2016-12-10 18:44:30 -05:00
.gitignore Add *.gch files to gitignore 2016-11-10 15:16:10 -05:00
.gitmodules Add Eigen submodule (mirrored on Github at Cantera/eigen-mirror) 2016-05-14 21:56:17 -04:00
.travis.yml [CI] Upload coverage data to codecov.io 2016-12-10 18:44:30 -05:00
appveyor.yml [CI] Add Python 3 to build 2016-12-09 20:13:22 -05:00
AUTHORS Add institutional affiliations to AUTHORS 2016-10-10 21:18:54 -04:00
CODE_OF_CONDUCT.md Add Code of Conduct 2016-11-22 20:24:45 -05:00
CONTRIBUTING.md Add note about license and copyright of contributions 2016-11-22 18:42:47 -05:00
INSTALL [Doc] Update paths to compilation instructions in INSTALL 2017-01-19 21:11:14 -05:00
ISSUE_TEMPLATE.md Add ISSUE_TEMPLATE.md 2016-11-22 18:42:47 -05:00
License.txt Bump version and copyright year for 2.3.0 release 2017-01-12 14:00:35 -05:00
PULL_REQUEST_TEMPLATE.md Add PULL_REQUEST_TEMPLATE.md 2016-11-22 18:42:47 -05:00
README.rst Bump development version to 2.4.0a1 2017-01-20 16:16:32 -05:00
SConstruct [SCons] Add option to pass flags to GTest 2017-02-22 22:18:40 -05:00

*******
Cantera
*******

Version 2.4.0a1 (development)

.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.170284.svg
   :target: https://doi.org/10.5281/zenodo.170284

What is Cantera?
================

Cantera is an open-source collection of object-oriented software tools for
problems involving chemical kinetics, thermodynamics, and transport
processes. Among other things, it can be used to:

* Evaluate thermodynamic and transport properties of mixtures
* Compute chemical equilibrium
* Evaluate species chemical production rates
* Conduct kinetics simulations with large reaction mechanisms
* Simulate one-dimensional flames
* Conduct reaction path analysis
* Create process simulations using networks of stirred reactors
* Model non-ideal fluids

Cantera can be used from Python and Matlab, or in applications written in C++
and Fortran 90. A number of `examples of Cantera's capabilities
<https://github.com/Cantera/cantera-jupyter>`_ are available in the form of
Jupyter notebooks. These examples can be tried interactively, in the cloud by
using the following Binder link:

.. image:: http://mybinder.org/badge.svg
    :target: http://mybinder.org:/repo/cantera/cantera-jupyter

Installation
============

`Installation instructions for the current release of Cantera
<http://cantera.github.io/docs/sphinx/html/install.html>`_ are available from
the main `Cantera documentation site
<http://cantera.github.io/docs/sphinx/html/index.html>`_. Installers are
provided for Windows (MSI packages), Mac OS X (through Homebrew), and
Ubuntu. Anaconda packages containing the Cantera Python module are also
available for Windows, OS X, and Linux.

.. image:: https://anaconda.org/cantera/cantera/badges/installer/conda.svg
    :target: https://anaconda.org/Cantera/cantera

For other platforms, or for users wishing to install a development version of
Cantera, `compilation instructions
<http://cantera.github.io/docs/sphinx/html/compiling.html>`_ are also available.

Documentation
=============

The `documentation <http://cantera.github.io/docs/sphinx/html/index.html>`_
offers a number of starting points:

- `Python tutorial
  <http://cantera.github.io/docs/sphinx/html/cython/tutorial.html>`_
- `Application Examples in Python
  <https://github.com/Cantera/cantera-jupyter#cantera-jupyter>`_
- `A guide to Cantera's input file format
  <http://cantera.github.io/docs/sphinx/html/cti/index.html>`_
- `A list of frequently asked questions
  <http://cantera.github.io/docs/sphinx/html/faq.html>`_

`Documentation for the development version of Cantera
<http://cantera.github.com/dev-docs/sphinx/html/index.html>`_ is also available.

Code of Conduct
===============

.. image:: https://img.shields.io/badge/code%20of%20conduct-contributor%20covenant-green.svg?style=flat-square
    :alt: conduct
    :target: http://contributor-covenant.org/version/1/4/

In order to have a more open and welcoming community, Cantera adheres to a
`code of conduct <CODE_OF_CONDUCT.md>`_ adapted from the `Contributor Covenent
code of conduct <http://contributor-covenant.org/>`_.

Please adhere to this code of conduct in any interactions you have in the
Cantera community. It is strictly enforced on all official Cantera
repositories, websites, users' group, and other resources.
If you encounter someone violating these terms, please
`contact the code of conduct team <mailto:conduct@cantera.org>`_
(`@speth <https://github.com/speth>`_,
`@bryanwweber <https://github.com/bryanwweber>`_, and
`@kyleniemeyer <https://github.com/kyleniemeyer>`_)
and we will address it as soon as possible.

Development Site
================

The `latest Cantera source code <https://github.com/Cantera/cantera>`_, the
`issue tracker <https://github.com/Cantera/cantera/issues>`_ for bugs and
enhancement requests, `downloads of Cantera releases and binary installers
<https://github.com/Cantera/cantera/releases>`_ , and the `Cantera wiki
<https://github.com/Cantera/cantera/wiki>`_ can all be found on Github.

Users' Group
============

The `Cantera Users' Group <http://groups.google.com/group/cantera-users>`_ is a
message board / mailing list for discussions amongst Cantera users.

Continuous Integration Status
=============================

Travis builds (Linux & OS X):

.. image:: https://travis-ci.org/Cantera/cantera.svg?branch=master
    :target: https://travis-ci.org/Cantera/cantera

Appveyor builds (Windows):

.. image:: https://ci.appveyor.com/api/projects/status/auhd35qn9cdmkpoj?svg=true
    :target: https://ci.appveyor.com/project/Cantera/cantera