Compare commits
87 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
984e0c71dd | ||
|
|
f9fa476c39 | ||
|
|
3eb6cb0f9d | ||
|
|
44b56a0fcf | ||
|
|
29cafb555b | ||
|
|
a3986c0c43 | ||
|
|
fcebdf3621 | ||
|
|
17c89f8237 | ||
|
|
b7408c6daa | ||
|
|
0903dd2d5c | ||
|
|
66fb99f793 | ||
|
|
88e60d7670 | ||
|
|
f8fa122a0d | ||
|
|
662d746067 | ||
|
|
925277a052 | ||
|
|
c917291921 | ||
|
|
6b5148e391 | ||
|
|
964f88fb0e | ||
|
|
e671dfc4a9 | ||
|
|
b1e05a05f2 | ||
|
|
d787349771 | ||
|
|
b4779c4310 | ||
|
|
78c9c9c0a5 | ||
|
|
aa8c73d252 | ||
|
|
2ca0dc0ed1 | ||
|
|
ff97133592 | ||
|
|
e0f9888601 | ||
|
|
a1f4d6f110 | ||
|
|
cc324285d2 | ||
|
|
e59ca5ff6b | ||
|
|
953fc46c27 | ||
|
|
1d0a4711ac | ||
|
|
0581743084 | ||
|
|
70e0553792 | ||
|
|
fe858b39f3 | ||
|
|
1b0519e662 | ||
|
|
5795f3fd55 | ||
|
|
98d113182b | ||
|
|
7f5ea6edb3 | ||
|
|
26c6aa856f | ||
|
|
c03b67751d | ||
|
|
98746058f5 | ||
|
|
5f62e95034 | ||
|
|
a3d0176087 | ||
|
|
714fe7f35f | ||
|
|
214e3c8af7 | ||
|
|
5441577624 | ||
|
|
f3b877d0a1 | ||
|
|
2861a8a633 | ||
|
|
73e20dc1eb | ||
|
|
3b2c7d3ae2 | ||
|
|
261240e8f1 | ||
|
|
659bceb9cf | ||
|
|
c7efc2d059 | ||
|
|
849dc5c82f | ||
|
|
cc27095599 | ||
|
|
ee736fb306 | ||
|
|
0590c6c1a3 | ||
|
|
a23eac62d8 | ||
|
|
f988382b36 | ||
|
|
d3dfc3f608 | ||
|
|
227a792326 | ||
|
|
f8754904dd | ||
|
|
5fbbd30747 | ||
|
|
d190633c47 | ||
|
|
c865843d8a | ||
|
|
2628cb760c | ||
|
|
2d7d82d633 | ||
|
|
5109d0d5a4 | ||
|
|
9f156c04fc | ||
|
|
5386d6b304 | ||
|
|
81cf00260d | ||
|
|
44181d5edf | ||
|
|
c9b4d3dbe8 | ||
|
|
ff842a1a08 | ||
|
|
3f92b77f5a | ||
|
|
58a4183e55 | ||
|
|
7ce65f45d8 | ||
|
|
a8111887bf | ||
|
|
c7d69ac863 | ||
|
|
b914d59fbd | ||
|
|
bec6e97eb4 | ||
|
|
cd572403df | ||
|
|
a7bd7c6a7a | ||
|
|
cf429ac374 | ||
|
|
d76ae30e86 | ||
|
|
3a0c370550 |
2427 changed files with 393522 additions and 104740 deletions
|
|
@ -1,9 +0,0 @@
|
|||
coverage:
|
||||
range: "20...100"
|
||||
|
||||
ignore:
|
||||
- ext/.*
|
||||
|
||||
comment:
|
||||
behavior: once
|
||||
require_changes: yes
|
||||
2
.github/FUNDING.yml
vendored
2
.github/FUNDING.yml
vendored
|
|
@ -1,2 +0,0 @@
|
|||
github: [numfocus]
|
||||
custom: ['https://numfocus.org/donate-to-cantera']
|
||||
42
.github/ISSUE_TEMPLATE/bug_report.md
vendored
42
.github/ISSUE_TEMPLATE/bug_report.md
vendored
|
|
@ -1,42 +0,0 @@
|
|||
---
|
||||
name: Bug report
|
||||
about: Report reproducible software issues so we can improve
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
Please fill in the following information to report a problem with Cantera.
|
||||
If you have a question about using Cantera, please post it on our
|
||||
[Google Users' Group](https://groups.google.com/forum/#!forum/cantera-users).
|
||||
|
||||
**System information**
|
||||
|
||||
- Cantera version: [e.g. 2.4]
|
||||
- OS: [e.g. Windows 10]
|
||||
- Python/MATLAB version:
|
||||
|
||||
**Expected behavior**
|
||||
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Actual behavior**
|
||||
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
|
||||
Steps to reproduce the behavior:
|
||||
|
||||
1. Open '...'
|
||||
2. Run '....'
|
||||
3. See error '....'
|
||||
|
||||
**Attachments**
|
||||
|
||||
If applicable, attach scripts and/or input files to help explain your problem.
|
||||
Please do *not* attach screenshots of code or terminal output.
|
||||
|
||||
**Additional context**
|
||||
|
||||
Add any other context about the problem here.
|
||||
25
.github/ISSUE_TEMPLATE/feature_request.md
vendored
25
.github/ISSUE_TEMPLATE/feature_request.md
vendored
|
|
@ -1,25 +0,0 @@
|
|||
---
|
||||
name: Feature request
|
||||
about: Suggest a new feature to enhance Cantera's capabilities
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe**
|
||||
|
||||
A clear and concise description of the problem you're trying to solve.
|
||||
|
||||
**Describe the desired solution**
|
||||
|
||||
A clear and concise description of a new feature and its application. For
|
||||
example, "It would be great if Cantera could..."
|
||||
|
||||
**Describe alternatives you have considered**
|
||||
|
||||
A clear and concise description of any alternative solutions or features you
|
||||
have considered.
|
||||
|
||||
**Additional context**
|
||||
|
||||
Add any other context about the feature request here.
|
||||
17
.github/PULL_REQUEST_TEMPLATE.md
vendored
17
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
|
@ -1,17 +0,0 @@
|
|||
Thanks for contributing code! Please include a description of your change and
|
||||
check your PR against the list below (for further questions, refer to the
|
||||
[contributing guide](https://github.com/Cantera/cantera/blob/master/CONTRIBUTING.md)).
|
||||
|
||||
- [ ] There is a clear use-case for this code change
|
||||
- [ ] The commit message has a short title & references relevant issues
|
||||
- [ ] Build passes (`scons build` & `scons test`) and unit tests address code coverage
|
||||
|
||||
**Please fill in the issue number this pull request is fixing**
|
||||
|
||||
Fixes #
|
||||
|
||||
**Changes proposed in this pull request**
|
||||
|
||||
-
|
||||
-
|
||||
-
|
||||
38
.github/SUPPORT.md
vendored
38
.github/SUPPORT.md
vendored
|
|
@ -1,38 +0,0 @@
|
|||
# How to get support
|
||||
|
||||
> This project has a [Code of Conduct](https://github.com/Cantera/cantera/blob/master/CODE_OF_CONDUCT.md).
|
||||
> By interacting with this repository, organisation, or community you agree to
|
||||
> abide by its terms.
|
||||
|
||||
For **help**, **support** and **questions** please create a post on the
|
||||
**[Cantera Users' Group](https://groups.google.com/group/cantera-users)**.
|
||||
Any discussion of Cantera functionality such as how to use certain function
|
||||
calls, syntax problems, input files, etc. should be directed to the Users' Group.
|
||||
|
||||
Further, the **[Cantera Gitter Chat](https://gitter.im/Cantera/Lobby)** is an
|
||||
infrequently monitored chat room that can be used to discuss tangentially-related
|
||||
topics such as how to model the underlying physics of a problem, share cool
|
||||
applications that you have developed, etc.
|
||||
|
||||
Please **_do not_** raise an issue on GitHub unless it is a bug report or a
|
||||
feature request. Issues that do not fall into these categories will be closed.
|
||||
If you're not sure, please make a post on the
|
||||
[Users' Group](https://groups.google.com/group/cantera-users) and someone will
|
||||
be able to help you out.
|
||||
|
||||
## Documentation
|
||||
|
||||
The [documentation](https://cantera.org/documentation)
|
||||
offers a number of starting points:
|
||||
|
||||
- [Python tutorial](https://cantera.org/tutorials/python-tutorial.html)
|
||||
- [Application Examples in Python (Jupyter)](https://github.com/Cantera/cantera-jupyter#cantera-jupyter)
|
||||
- [A guide to Cantera's input file format](https://cantera.org/tutorials/input-files.html)
|
||||
- [Information about the Cantera community](https://cantera.org/community.html)
|
||||
|
||||
Documentation for the [development version of
|
||||
Cantera](https://cantera.org/documentation/dev-docs.html) is also available.
|
||||
|
||||
## Contributions
|
||||
|
||||
See [`CONTRIBUTING.md`](https://github.com/Cantera/cantera/blob/master/CONTRIBUTING.md) on how to contribute.
|
||||
18
.gitignore
vendored
18
.gitignore
vendored
|
|
@ -1,6 +1,4 @@
|
|||
doc/ctdeploy_key
|
||||
*~
|
||||
*#
|
||||
*.o
|
||||
*.so
|
||||
*.os
|
||||
|
|
@ -9,13 +7,8 @@ doc/ctdeploy_key
|
|||
*.exe.manifest
|
||||
build/
|
||||
test/work/
|
||||
interfaces/cython/cantera/_cantera.h
|
||||
include/cantera/base/config.h
|
||||
include/cantera/base/config.h.build
|
||||
include/cantera/base/system.h.gch
|
||||
include/cantera/ext/
|
||||
interfaces/matlab/ctpath.m
|
||||
interfaces/matlab/Contents.m
|
||||
stage/
|
||||
.sconsign.dblite
|
||||
.sconf_temp
|
||||
|
|
@ -39,14 +32,7 @@ config.log
|
|||
.settings
|
||||
*.gcda
|
||||
*.gcno
|
||||
*.gch
|
||||
coverage/
|
||||
coverage.info
|
||||
doc/sphinx/matlab/data.rst
|
||||
doc/sphinx/matlab/importing.rst
|
||||
doc/sphinx/matlab/kinetics.rst
|
||||
doc/sphinx/matlab/one-dim.rst
|
||||
doc/sphinx/matlab/thermodynamics.rst
|
||||
doc/sphinx/matlab/transport.rst
|
||||
doc/sphinx/matlab/utilities.rst
|
||||
doc/sphinx/matlab/zero-dim.rst
|
||||
doc/sphinx/cython/examples/*.rst
|
||||
doc/sphinx/matlab/examples/*.rst
|
||||
|
|
|
|||
15
.gitmodules
vendored
15
.gitmodules
vendored
|
|
@ -1,15 +0,0 @@
|
|||
[submodule "ext/fmt"]
|
||||
path = ext/fmt
|
||||
url = https://github.com/fmtlib/fmt.git
|
||||
[submodule "ext/googletest"]
|
||||
path = ext/googletest
|
||||
url = https://github.com/google/googletest.git
|
||||
[submodule "ext/sundials"]
|
||||
path = ext/sundials
|
||||
url = https://github.com/Cantera/sundials-mirror
|
||||
[submodule "ext/eigen"]
|
||||
path = ext/eigen
|
||||
url = https://github.com/eigenteam/eigen-git-mirror
|
||||
[submodule "ext/yaml-cpp"]
|
||||
path = ext/yaml-cpp
|
||||
url = https://github.com/jbeder/yaml-cpp.git
|
||||
90
.travis.yml
90
.travis.yml
|
|
@ -1,90 +0,0 @@
|
|||
language: cpp
|
||||
sudo: false
|
||||
dist: xenial
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- python3-pip
|
||||
- python3-dev
|
||||
- python3-numpy
|
||||
- python3-setuptools
|
||||
- scons
|
||||
- gfortran
|
||||
- libsundials-serial-dev
|
||||
- liblapack-dev
|
||||
- libblas-dev
|
||||
- libboost-dev
|
||||
- doxygen
|
||||
- graphviz
|
||||
ssh_known_hosts:
|
||||
- cantera.org
|
||||
|
||||
env:
|
||||
global:
|
||||
secure: "IqQ4IVKzZbMCIVrD6t3YQDi3mEiswhTWo3AAKg2CrA+CETads/I9d0g68krKCA2xue0zm9pFVWbs5MT2F6Yq2PNsdvoN3ZMHrpXTN2ZJ7pgukgVwNuBe7B/tm6xBzSbZ4KPIanWCu3TNXsZp9EPG1rdhagAZZ+TeDYdIUKAITjYOVIiiAsqiLllsE9cAq3jkiu/JAxB0tzicxERi1RtnMfL/1d9fupP+yrExwIYo+hhAwWwghdiKzh551sowpbVFVxuOtTJfpC+vh1a/kLo/VTr4DDe6Bdkubc7beU8WZiZNVVbNoydy/qYkKuOzmXu9Llo9flMzJKswR7Szxi8nhD2zc+3pOYxJilWPYtrG4WrJr3WFTU3xZg5KsLwNpCane1uAsrj/NNtMagp+Wj1yOBMDMmHF5GAyCVEgSqY2PLISaEPOPCJV4VihaHyie1hM/A5YlD2VwkkKJTjMIP2VpaLVo9Sr3jXUIhtp/wLNleSWENX7etFjVqhwX1ldhz6+gVrn/H6oS2LwHQwlAseE9O6eqAB5ia+9duYDt7JS5F1P8QMYhz1gaJGXKWBnCEur5XHoGhZ75nyNnpmLjDOHKk5NmQQNL6ltUqg3fX7EWOjzxHlymdZ/4lg5AESj/+nBAhJJcAYRn9hHti7JLMjF6Qk/Kf3pJ6qVBHETY2KivH8="
|
||||
|
||||
|
||||
before_script: |
|
||||
echo TRAVIS_OS_NAME: $TRAVIS_OS_NAME
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
export CONDA_ARCH="${TRAVIS_OS_NAME}_${BUILD_ARCH}"
|
||||
curl https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh -o miniconda.sh;
|
||||
bash miniconda.sh -b -p $HOME/miniconda
|
||||
source $HOME/miniconda/etc/profile.d/conda.sh && conda activate
|
||||
conda config --set always_yes yes --set changeps1 no
|
||||
conda install -q numpy cython scons boost ruamel_yaml
|
||||
conda install -q -c conda-forge openmp
|
||||
else
|
||||
pip3 install --user --upgrade pip
|
||||
pip3 install --user --upgrade setuptools wheel
|
||||
pip3 install --user cython
|
||||
pip3 install --user ruamel.yaml==0.15.94 # Need a version compatible with Python 3.4
|
||||
|
||||
# Install packages for the documentation
|
||||
pip3 install --user sphinx sphinxcontrib-matlabdomain sphinxcontrib-doxylink
|
||||
pip3 install --user https://github.com/hagenw/sphinxcontrib-katex/archive/master.tar.gz
|
||||
fi
|
||||
rm -f cantera.conf
|
||||
script: |
|
||||
set -e
|
||||
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
|
||||
scons build -j2 python_cmd=/usr/bin/python3 VERBOSE=y python_package=full blas_lapack_libs=lapack,blas optimize=n coverage=y
|
||||
scons test
|
||||
scons samples
|
||||
scons build sphinx_docs=y doxygen_docs=y sphinx_cmd="/usr/bin/python3 `which sphinx-build`"
|
||||
if [[ "${TRAVIS_PULL_REQUEST}" == "false" ]] && [[ "${TRAVIS_BRANCH}" == "master" ]] && [[ "${TRAVIS_REPO_SLUG}" == "Cantera/cantera" ]]; then
|
||||
cd build
|
||||
find docs -type f | grep -v /xml/ | grep -v .map$ | grep -v .md5$ | tar cjvf docs/dev-docs.tar.bz2 --files-from - >/dev/null
|
||||
cd -
|
||||
openssl aes-256-cbc -k "${ctdeploy_pass}" -in ./doc/ctdeploy_key.enc -out ./doc/ctdeploy_key -d
|
||||
chmod 0600 ./doc/ctdeploy_key
|
||||
RSYNC_OPTIONS=(
|
||||
-avzP
|
||||
--checksum
|
||||
--rsh='ssh -i ./doc/ctdeploy_key'
|
||||
--exclude='*.map'
|
||||
--exclude='*.md5'
|
||||
--exclude='/doxygen/xml'
|
||||
--delete
|
||||
--delete-excluded
|
||||
)
|
||||
RSYNC_USER="ctdeploy"
|
||||
RSYNC_SERVER="cantera.org"
|
||||
RSYNC_DEST="cantera/documentation/dev"
|
||||
DOCS_OUTPUT_DIR="./build/docs/"
|
||||
rsync "${RSYNC_OPTIONS[@]}" "${DOCS_OUTPUT_DIR}" ${RSYNC_USER}@${RSYNC_SERVER}:${RSYNC_DEST}
|
||||
else
|
||||
echo "Skipping documentation upload from source other than Cantera/cantera:master"
|
||||
fi
|
||||
else
|
||||
scons build -j2 python_cmd=python3 VERBOSE=y python_package=full blas_lapack_libs=lapack,blas optimize=n coverage=y extra_inc_dirs=$CONDA_PREFIX/include extra_lib_dirs=$CONDA_PREFIX/lib
|
||||
scons test
|
||||
scons samples
|
||||
fi
|
||||
after_success: |
|
||||
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
|
||||
bash <(curl -s https://codecov.io/bash)
|
||||
fi
|
||||
49
AUTHORS
49
AUTHORS
|
|
@ -1,45 +1,6 @@
|
|||
Cantera was originally developed by Dave Goodwin, with its first public release
|
||||
in 2001. Since then, many people have contributed to Cantera. Below is a
|
||||
partial, alphabetical list of developers and contributors to Cantera over the
|
||||
years. If you've been left off, please report the omission on the Github issue
|
||||
tracker.
|
||||
Cantera developers:
|
||||
|
||||
Emil Atz
|
||||
Philip Berndt
|
||||
Wolfgang Bessler, Offenburg University of Applied Science
|
||||
Tilman Bremer
|
||||
Victor Brunini, Sandia National Laboratory
|
||||
Bang-Shiuh Chen, Purdue University
|
||||
Ryan Crisanti
|
||||
Nicholas Curtis
|
||||
Steven DeCaluwe, Colorado School of Mines
|
||||
Vishesh Devgan
|
||||
Thomas Fiala, Technische Universität München
|
||||
David Fronczek
|
||||
@g3bk47
|
||||
Matteo Giani
|
||||
Dave Goodwin, California Institute of Technology
|
||||
John Hewson, Sandia National Laboratory
|
||||
Trevor Hickey
|
||||
Yuanjie Jiang
|
||||
Jon Kristofer
|
||||
Kyle Linevitch, Jr.
|
||||
Christopher Leuth
|
||||
Nicholas Malaya, University of Texas at Austin
|
||||
Thanasis Mattas, Aristotle University of Thessaloniki
|
||||
Evan McCorkle
|
||||
Ivan Mitrichev, Mendeleev University of Chemical Technology of Russia
|
||||
Harry Moffat, Sandia National Laboratory
|
||||
Christopher Neal
|
||||
Kyle Niemeyer, Oregon State University
|
||||
Paul Northrop
|
||||
Andreas Rücker
|
||||
Jeff Santner
|
||||
Satyam Saxena
|
||||
Ingmar Schoegl, Louisiana State University
|
||||
Santosh Shanbhogue, Massachusetts Institute of Technology
|
||||
David Sondak
|
||||
Raymond Speth, Massachusetts Institute of Technology
|
||||
Sergey Torokhov
|
||||
Bryan Weber, University of Connecticut
|
||||
Armin Wehrfritz
|
||||
Dave Goodwin
|
||||
Nicholas Malaya
|
||||
Harry Moffat
|
||||
Raymond Speth
|
||||
|
|
|
|||
|
|
@ -1,74 +0,0 @@
|
|||
# Cantera Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
In the interest of fostering an open and welcoming environment, we as
|
||||
contributors and maintainers commit to making participation in our project and
|
||||
our community a harassment-free experience for everyone, regardless of age, body
|
||||
size, disability, ethnicity, gender identity and expression, level of experience,
|
||||
nationality, personal appearance, race, religion, or sexual identity and
|
||||
orientation.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to creating a positive environment
|
||||
include:
|
||||
|
||||
* Using welcoming and inclusive language
|
||||
* Being respectful of differing viewpoints and experiences
|
||||
* Gracefully accepting constructive criticism
|
||||
* Focusing on what is best for the community
|
||||
* Showing empathy towards other community members
|
||||
|
||||
Examples of unacceptable behavior by participants include:
|
||||
|
||||
* The use of sexualized language or imagery and unwelcome sexual attention or
|
||||
advances
|
||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or electronic
|
||||
address, without explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Our Responsibilities
|
||||
|
||||
Project maintainers are responsible for clarifying the standards of acceptable
|
||||
behavior and are expected to take appropriate and fair corrective action in
|
||||
response to any instances of unacceptable behavior.
|
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or
|
||||
reject comments, commits, code, wiki edits, issues, and other contributions
|
||||
that are not aligned to this Code of Conduct, or to ban temporarily or
|
||||
permanently any contributor for other behaviors that they deem inappropriate,
|
||||
threatening, offensive, or harmful.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies both within project spaces and in public spaces
|
||||
when an individual is representing the project or its community. Examples of
|
||||
representing a project or community include using an official project e-mail
|
||||
address, posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event. Representation of a project may be
|
||||
further defined and clarified by project maintainers.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported by contacting the project team at conduct@cantera.org. All
|
||||
complaints will be reviewed and investigated and will result in a response that
|
||||
is deemed necessary and appropriate to the circumstances. The project team is
|
||||
obligated to maintain confidentiality with regard to the reporter of an incident.
|
||||
Further details of specific enforcement policies may be posted separately.
|
||||
|
||||
Project maintainers who do not follow or enforce the Code of Conduct in good
|
||||
faith may face temporary or permanent repercussions as determined by other
|
||||
members of the project's leadership.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
||||
available at [http://contributor-covenant.org/version/1/4][version]
|
||||
|
||||
[homepage]: http://contributor-covenant.org
|
||||
[version]: http://contributor-covenant.org/version/1/4/
|
||||
|
|
@ -1,93 +0,0 @@
|
|||
# Contributing to Cantera
|
||||
|
||||
* For significant changes, consider starting a discussion on the Cantera
|
||||
Users' Group to plan your modifications so that they can be implemented
|
||||
efficiently and in a way that doesn't conflict with any other planned
|
||||
future development
|
||||
* Fork the `Cantera/cantera` repository on Github
|
||||
* Clone your new repository or add it as a remote to an existing repository
|
||||
* Check out the existing `master` branch, then start a new feature branch for
|
||||
your work
|
||||
* When making changes, write code that is consistent with the surrounding code
|
||||
(see the [style guidelines](#style-guidelines) below)
|
||||
* Add tests for any new features that you are implementing to either the
|
||||
GoogleTest-based test suite or the Python test suite.
|
||||
* Add examples that highlight new capabilities, or update existing
|
||||
examples to make use of new features.
|
||||
* As you make changes, commit them to your feature branch
|
||||
* Configure Git with your name and e-mail address before making any commits
|
||||
* Use descriptive commit messages (summary line of no more than 72 characters,
|
||||
followed by a blank line and a more detailed summary, if any)
|
||||
* Make related changes in a single commit, and unrelated changes in separate
|
||||
commits
|
||||
* Make sure that your commits do not include any undesired files, e.g., files
|
||||
produced as part of the build process or other temporary files.
|
||||
* Use Git's history-rewriting features (i.e., `git rebase -i`; see
|
||||
https://help.github.com/articles/about-git-rebase/) to organize your commits
|
||||
and squash "fixup" commits and reversions.
|
||||
* Do not merge your branch with `master`. If needed, you should rebase your branch
|
||||
onto the most recent `HEAD` commit of `master`.
|
||||
* Periodically run the test suite (`scons test`) to make sure that your
|
||||
changes are not causing any test failures.
|
||||
* Submit a Pull Request on Github. Check the results of the continuous-
|
||||
integration tests run using Travis and AppVeyor and resolve any issues that
|
||||
arise.
|
||||
* Additional discussion of good Git & Github workflow is provided at
|
||||
http://matplotlib.org/devel/gitwash/development_workflow.html and
|
||||
https://docs.scipy.org/doc/numpy-1.15.0/dev/gitwash/development_workflow.html
|
||||
* Cantera is licensed under a [BSD
|
||||
license](https://github.com/Cantera/cantera/blob/master/License.txt) which
|
||||
allows others to freely modify the code, and if your Pull Request is accepted,
|
||||
then that code will be release under this license as well. The copyright for
|
||||
Cantera is held collectively by the contributors. If you have made a
|
||||
significant contribution, please add your name to the `AUTHORS` file.
|
||||
|
||||
# Style Guidelines
|
||||
|
||||
* Try to follow the style of surrounding code, and use variable names that
|
||||
follow existing patterns. Pay attention to indentation and spacing.
|
||||
* Configure your editor to use 4 spaces per indentation level, and **never to
|
||||
use tabs**.
|
||||
* Avoid introducing trailing whitespace
|
||||
* Limit line lengths to 80 characters when possible
|
||||
* Write comments to explain non-obvious operations
|
||||
|
||||
## C++
|
||||
|
||||
* All classes, member variables, and methods should have Doxygen-style comments
|
||||
(e.g., comment lines starting with `//!` or comment blocks starting with `/*!`)
|
||||
* Avoid defining non-trivial functions in header files
|
||||
* Header files should include an 'include guard'
|
||||
* Protected and private member variable names are generally prefixed with
|
||||
`m_`. For most classes, member variables should not be public.
|
||||
* Class names use `InitialCapsNames`
|
||||
* Methods use `camelCaseNames`
|
||||
* Do not indent the contents of namespaces
|
||||
* Code may make use of most C++11 features, with the exceptions of delegating
|
||||
constructors, inheriting constructors, and non-static data member
|
||||
initializers. These limitations are needed to keep the minimum required
|
||||
compiler versions at GCC 4.6, Clang 3.1, Visual Studio 2013 and Intel 14.0.
|
||||
* Avoid manual memory management (i.e. `new` and `delete`), preferring to use
|
||||
standard library containers, as well as `std::unique_ptr` and
|
||||
`std::shared_ptr` when dynamic allocation is required.
|
||||
* Portions of Boost which are "header only" may be used. If possible, include
|
||||
Boost header files only within .cpp files rather than other header files to
|
||||
avoid unnecessary increases in compilation time. Boost should not be added
|
||||
to the public interface unless its existence and use is optional. This keeps
|
||||
the number of dependencies low for users of Cantera. In these cases,
|
||||
`CANTERA_API_NO_BOOST` should be used to conditionally remove Boost dependencies.
|
||||
* While Cantera does not specifically follow these rules, the following style
|
||||
guides are useful references for possible style choices and the rationales behind them.
|
||||
* The Google C++ Style Guide: https://google.github.io/styleguide/cppguide.html
|
||||
* http://geosoft.no/development/cppstyle.html
|
||||
* For any new code, do *not* use the `doublereal` and `integer` typedefs for the
|
||||
basic types `double` and `int`, but also do not go out of your way to change
|
||||
uses of these in otherwise unmodified code.
|
||||
|
||||
## Python
|
||||
|
||||
* Style generally follows PEP8 (https://www.python.org/dev/peps/pep-0008/)
|
||||
* Code in `.py` and `.pyx` files needs to be written to work with Python 3
|
||||
* The minimum Python version that Cantera supports is Python 3.4, so code should only use features added in Python 3.4 or earlier
|
||||
* Code in `ctml_writer.py` and `ck2cti.py` needs to be written to work with both Python 2 and Python 3
|
||||
* Code in the Python examples should be written for Python 3
|
||||
1
ChangeLog
Normal file
1
ChangeLog
Normal file
|
|
@ -0,0 +1 @@
|
|||
6/14/12 Merging PECOS autotools branch with scons cantera 2.0
|
||||
3
INSTALL
3
INSTALL
|
|
@ -18,4 +18,5 @@ shown by running `scons` with no other arguments.
|
|||
Detailed Instructions
|
||||
---------------------
|
||||
|
||||
See the instructions available at [online](https://cantera.org/install/index.html)
|
||||
See the file `doc/sphinx/compiling.rst` or the HTML instructions
|
||||
available at http://cantera.github.com/docs/sphinx/html/compiling.html.
|
||||
|
|
|
|||
11
License.txt
11
License.txt
|
|
@ -2,11 +2,9 @@
|
|||
Copyright (c) 2001-2009, California Institute of Technology
|
||||
All rights reserved.
|
||||
|
||||
Copyright (c) 2009 Sandia Corporation. Under the terms of
|
||||
Contract AC04-94AL85000 with Sandia Corporation, the U.S. Government
|
||||
retains certain rights in this software.
|
||||
|
||||
Copyright (c) 2011-2018, Cantera Developers.
|
||||
Copyright (c) 2009, 2011, Sandia Corporation. Under the terms of
|
||||
Contract AC04-94AL85000 with Sandia Corporation, the U.S. Government
|
||||
retains certain rights to certain parts of this software.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
|
@ -21,7 +19,7 @@ met:
|
|||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
- Neither the name of the California Institute of Technology, Sandia
|
||||
Corporation nor the names of other contributors may be used to
|
||||
Corporation nor the names of other contributors may be used to
|
||||
endorse or promote products derived from this software without
|
||||
specific prior written permission.
|
||||
|
||||
|
|
@ -36,3 +34,4 @@ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
|
|
|||
16
Makefile.am
Normal file
16
Makefile.am
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
include $(top_srcdir)/doc/doxygen/aminclude.am
|
||||
|
||||
# Build in these directories:
|
||||
SUBDIRS = ext src test_problems
|
||||
SUBDIRS += doc
|
||||
|
||||
# Distribute these directories:
|
||||
DISTDIRS = ext src test_problems doc include
|
||||
|
||||
# generated documentation will be included in distributed archive
|
||||
EXTRA_DIST = bootstrap $(DX_CONFIG)
|
||||
EXTRA_DIST += AUTHORS README
|
||||
|
||||
# Support for pkgconfig
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = cantera.pc
|
||||
2
NEWS
Normal file
2
NEWS
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
7/18/12 pecos development branch merged into 2.0 trunk
|
||||
11/10/11 cantera 2.0.0 development begins on autotools chain
|
||||
42
README
Normal file
42
README
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
|
||||
*******
|
||||
CANTERA
|
||||
*******
|
||||
|
||||
Version 2.1.2 (stable)
|
||||
|
||||
License Information
|
||||
===================
|
||||
|
||||
See the file "License.txt" for information on the terms & conditions for usage,
|
||||
and a DISCLAIMER OF ALL WARRANTIES.
|
||||
|
||||
All trademarks referenced herein are property of their respective holders.
|
||||
|
||||
Web Resources
|
||||
=============
|
||||
|
||||
1. The Cantera Google Code site:
|
||||
http://cantera.googlecode.com/
|
||||
This site contains the Cantera source code, and the issue tracker for bugs
|
||||
and enhancement requests.
|
||||
|
||||
2. The Cantera SourceForge site:
|
||||
http://sourceforge.net/projects/cantera
|
||||
Distribution of Cantera releases and binary installers. It also contains the
|
||||
project CVS history.
|
||||
|
||||
3. Cantera Documentation:
|
||||
http://cantera.github.com/docs/sphinx/html/index.html
|
||||
This site contains documentation for the current stable version of Cantera.
|
||||
|
||||
http://cantera.github.com/dev-docs/sphinx/html/index.html
|
||||
This site contains documentation for the development version of Cantera.
|
||||
|
||||
4. The Cantera User's Group:
|
||||
http://groups.google.com/group/cantera-users
|
||||
This site has a message board for discussions amongst Cantera users.
|
||||
|
||||
5. The Cantera Developers Group:
|
||||
http://groups.google.com/group/cantera-dev
|
||||
Limited access site where developers can discuss development ideas.
|
||||
174
README.rst
174
README.rst
|
|
@ -1,174 +0,0 @@
|
|||
.. Cantera
|
||||
|
||||
|cantera|
|
||||
|
||||
|doi| |codecov| |travisci| |appveyor| |release|
|
||||
|
||||
|
||||
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 MyBinder link:
|
||||
|
||||
.. image:: https://mybinder.org/badge.svg
|
||||
:target: https://mybinder.org/repo/cantera/cantera-jupyter
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
`Installation instructions for the current release of Cantera
|
||||
<https://cantera.org/install/index.html>`_ are available from the main `Cantera
|
||||
documentation site <https://cantera.org>`_. Installers are provided for Windows
|
||||
(MSI packages), macOS (through Homebrew), and Ubuntu. Anaconda packages
|
||||
containing the Cantera Python module are also available for Windows, macOS, 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 <https://cantera.org/install/index.html>`_
|
||||
are also available.
|
||||
|
||||
Documentation
|
||||
=============
|
||||
|
||||
The `documentation <https://cantera.org/documentation>`_
|
||||
offers a number of starting points:
|
||||
|
||||
- `Python tutorial
|
||||
<https://cantera.org/tutorials/python-tutorial.html>`_
|
||||
- `Application Examples in Python
|
||||
<https://github.com/Cantera/cantera-jupyter#cantera-jupyter>`_
|
||||
- `A guide to Cantera's input file format
|
||||
<https://cantera.org/tutorials/input-files.html>`_
|
||||
- `Information about the Cantera community
|
||||
<https://cantera.org/community.html>`_
|
||||
|
||||
`Documentation for the development version of Cantera
|
||||
<https://cantera.org/documentation/dev-docs.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: https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
||||
|
||||
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 <https://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 current development version is 2.5.0a3. The current stable version is
|
||||
2.4.0. 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 <https://groups.google.com/group/cantera-users>`_ is a
|
||||
message board / mailing list for discussions amongst Cantera users.
|
||||
|
||||
Cantera Gitter Chat
|
||||
===================
|
||||
|
||||
.. image:: https://badges.gitter.im/org.png
|
||||
:target: https://gitter.im/Cantera/Lobby
|
||||
|
||||
|
||||
The `Cantera Gitter Chat <https://gitter.im/Cantera/Lobby>`_ is a public chat
|
||||
client that is linked to users' Github account. The developers do not closely
|
||||
monitor the discussion, so *any* discussion at all of Cantera functionality
|
||||
such as how to use certain function calls, syntax problems, input files, etc.
|
||||
should be directed the User's Group. All conversations in the Gitter room will
|
||||
be covered under the Cantera Code of Conduct, so please be nice.
|
||||
|
||||
The chat room is a place to strengthen and develop the Cantera community,
|
||||
discuss tangentially-related topics such as how to model the underlying physics
|
||||
of a problem , share cool applications you’ve developed, etc.
|
||||
|
||||
Summary:
|
||||
|
||||
“How do I perform this Cantera function call?” --> User's Group
|
||||
|
||||
"What do I do with the variables that a Cantera function call returns?” -->
|
||||
Chat
|
||||
|
||||
|
||||
Continuous Integration Status
|
||||
=============================
|
||||
|
||||
============== ============ ===================
|
||||
Platform Site Status
|
||||
============== ============ ===================
|
||||
Linux & OS X Travis CI |travisci|
|
||||
Windows x64 Appveyor |appveyor|
|
||||
============== ============ ===================
|
||||
|
||||
|
||||
NumFOCUS
|
||||
========
|
||||
|
||||
Cantera is a fiscally-sponsored project of `NumFOCUS <https://numfocus.org>`__,
|
||||
a non-profit dedicated to supporting the open source scientific computing
|
||||
community. Please consider `making a donation
|
||||
<https://numfocus.salsalabs.org/donate-to-cantera/index.html>`__ to support the
|
||||
development of Cantera through NumFOCUS.
|
||||
|
||||
.. image:: https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A
|
||||
:target: https://numfocus.salsalabs.org/donate-to-cantera/index.html
|
||||
:alt: Powered by NumFOCUS
|
||||
|
||||
.. |cantera| image:: https://cantera.org/assets/img/cantera-logo.png
|
||||
:target: https://cantera.org
|
||||
:alt: cantera logo
|
||||
:width: 675px
|
||||
:align: middle
|
||||
|
||||
.. |travisci| image:: https://travis-ci.org/Cantera/cantera.svg?branch=master
|
||||
:target: https://travis-ci.org/Cantera/cantera
|
||||
|
||||
.. |appveyor| image:: https://ci.appveyor.com/api/projects/status/auhd35qn9cdmkpoj?svg=true
|
||||
:target: https://ci.appveyor.com/project/Cantera/cantera
|
||||
|
||||
.. |doi| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.170284.svg
|
||||
:target: https://doi.org/10.5281/zenodo.1174508
|
||||
|
||||
.. |codecov| image:: https://img.shields.io/codecov/c/github/Cantera/cantera/master.svg
|
||||
:target: https://codecov.io/gh/Cantera/cantera?branch=master
|
||||
|
||||
.. |release| image:: https://img.shields.io/github/release/cantera/cantera.svg
|
||||
:target: https://github.com/Cantera/cantera/releases
|
||||
:alt: GitHub release
|
||||
1928
SConstruct
1928
SConstruct
File diff suppressed because it is too large
Load diff
27
appveyor.yml
27
appveyor.yml
|
|
@ -1,27 +0,0 @@
|
|||
version: 1.0.{build}
|
||||
install:
|
||||
- ps: |
|
||||
C:\Python37-x64\python.exe -m pip install --no-cache-dir --upgrade pip
|
||||
C:\Python37-x64\python.exe -m pip install --upgrade setuptools
|
||||
C:\Python37-x64\python.exe -m pip install --upgrade --no-warn-script-location wheel
|
||||
C:\Python37-x64\Scripts\pip.exe install scons==3.0.1
|
||||
C:\Python37-x64\Scripts\pip.exe install --no-cache-dir --no-warn-script-location numpy
|
||||
C:\Python37-x64\Scripts\pip.exe install --no-warn-script-location cython
|
||||
C:\Python37-x64\Scripts\pip.exe install pypiwin32
|
||||
C:\Python37-x64\Scripts\pip.exe install ruamel.yaml
|
||||
|
||||
build_script:
|
||||
- cmd: C:\Python37-x64\Scripts\scons build -j2 boost_inc_dir=C:\Libraries\boost_1_62_0 debug=n VERBOSE=y python_package=full
|
||||
- cmd: C:\Python37-x64\Scripts\scons samples
|
||||
|
||||
test_script:
|
||||
- ps: |
|
||||
C:\Python37-x64\Scripts\scons test
|
||||
$sconsstatus = $lastexitcode
|
||||
$wc = New-Object 'System.Net.WebClient'
|
||||
$wc.UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\test\work\gtest-general.xml))
|
||||
$wc.UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\test\work\gtest-thermo.xml))
|
||||
$wc.UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\test\work\gtest-equil.xml))
|
||||
$wc.UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\test\work\gtest-kinetics.xml))
|
||||
$wc.UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\test\work\gtest-transport.xml))
|
||||
if ( $sconsstatus ) { exit $sconsstatus }
|
||||
20
bin/exp3to2.sh
Executable file
20
bin/exp3to2.sh
Executable file
|
|
@ -0,0 +1,20 @@
|
|||
#/bin/sh
|
||||
#
|
||||
# This sed script replaces 3 character exponents
|
||||
# starting with 0 with 2 characters
|
||||
# e-0xx -> e-xx
|
||||
# e0xx -> exx
|
||||
# E-0xx -> E-xx
|
||||
# E0xx -> Exx
|
||||
# where
|
||||
# x is a digit
|
||||
#
|
||||
# It takes one argument, the file to be operated on.
|
||||
# And, it writes to standard out. It may be used to do a
|
||||
# replacement in place.
|
||||
#
|
||||
cp $1 .exp.txt
|
||||
cat .exp.txt | sed 's/\([eE]-\)\(0\)\([0-9][0-9]\)/\1\3/g' | \
|
||||
sed 's/\([eE]\)\(0\)\([0-9][0-9]\)/\1\3/g' | \
|
||||
sed 's/\([eE]+\)\(0\)\([0-9][0-9]\)/\1\3/g'
|
||||
rm .exp.txt
|
||||
9
bin/make_doxygen
Normal file
9
bin/make_doxygen
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
#
|
||||
CUR=`pwd`
|
||||
CANTERA_SRC_ROOT=${CANTERA_SRC_ROOT:="$CUR"}
|
||||
|
||||
cd $CANTERA_SRC_ROOT
|
||||
# doxygen doc/doxygen/Doxyfile
|
||||
doxygen doc/doxygen/Doxyfile.tested
|
||||
43
bin/view_doxygen
Executable file
43
bin/view_doxygen
Executable file
|
|
@ -0,0 +1,43 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
#
|
||||
|
||||
location='build'
|
||||
CUR=`pwd`
|
||||
# echo $CUR
|
||||
CANTERA_SRC_ROOT=${CANTERA_SRC_ROOT:="$CUR"}
|
||||
echo hhh = $CANTERA_SRC_ROOT
|
||||
|
||||
CANTERA_INSTALL_DIR=${CANTERA_INSTALL_ROOT:="$CUR"}
|
||||
|
||||
|
||||
if test $# -gt 0
|
||||
then
|
||||
locat=$1
|
||||
echo locat = $locat
|
||||
if [ $locat == 'install' ]
|
||||
then
|
||||
location='install'
|
||||
fi
|
||||
|
||||
if [ $locat == 'build' ]
|
||||
then
|
||||
location='build'
|
||||
fi
|
||||
fi
|
||||
|
||||
startpg=$CANTERA_SRC_ROOT/build/docs/doxygen/html/index.html
|
||||
|
||||
if [ $location == 'build' ]
|
||||
then
|
||||
startpg=$CANTERA_SRC_ROOT/build/docs/doxygen/html/index.html
|
||||
elif [ $location == 'install' ]
|
||||
then
|
||||
startpg=$CANTERA_INSTALL_DIR/share/cantera/doc/doxygen/html/index.html
|
||||
fi
|
||||
|
||||
#
|
||||
#
|
||||
firefox $startpg &
|
||||
|
||||
exit 0;
|
||||
53
bootstrap
Executable file
53
bootstrap
Executable file
|
|
@ -0,0 +1,53 @@
|
|||
#! /bin/sh
|
||||
#
|
||||
# bootstrap: Utility to easy autoconf/automake toolchain setup on
|
||||
# checkout from revision control.
|
||||
#
|
||||
# Copyright (c) 2002 Daniel Elstner <daniel.elstner@gmx.net>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License VERSION 2 as
|
||||
# published by the Free Software Foundation. You are not allowed to
|
||||
# use any other version of the license; unless you got the explicit
|
||||
# permission from the author to do so.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
dir=`echo "$0" | sed 's,[^/]*$,,'`
|
||||
test "x${dir}" = "x" && dir='.'
|
||||
|
||||
if test "x`cd "${dir}" 2>/dev/null && pwd`" != "x`pwd`"
|
||||
then
|
||||
echo "This script must be executed directly from the source directory."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -f config.cache acconfig.h
|
||||
|
||||
echo "- aclocal. (local)" && \
|
||||
aclocal -I m4 -I m4/common && \
|
||||
echo "- autoheader." && \
|
||||
autoheader && \
|
||||
|
||||
if type glibtoolize >/dev/null 2>&1; then
|
||||
echo "- glibtool."
|
||||
glibtoolize --automake --copy --force
|
||||
else
|
||||
echo "- libtool."
|
||||
libtoolize --automake --copy --force
|
||||
fi
|
||||
|
||||
echo "- automake." && \
|
||||
automake --add-missing --copy && \
|
||||
echo "- autoconf." && \
|
||||
autoconf && \
|
||||
exit 0
|
||||
|
||||
exit 1
|
||||
24
cantera.pc.in
Normal file
24
cantera.pc.in
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# cantera installation details
|
||||
prefix=/h2/topalian/workspace/cantera/install
|
||||
exec_prefix=${prefix}
|
||||
libdir=${exec_prefix}/lib
|
||||
includedir=${prefix}/include
|
||||
# Fortran compilation and linking information
|
||||
# Retrieve these using `pkg-config --variable=name cantera`
|
||||
#fflags=-I${exec_prefix}/lib
|
||||
#flibs=-L${exec_prefix}/lib -lfcantera -lcantera
|
||||
|
||||
Name: cantera
|
||||
Description: An object-oriented software toolkit for chemical kinetics, thermodynamics, and transport processes.
|
||||
URL: http://code.google.com/p/cantera/
|
||||
Requires:
|
||||
Version: 2.0.1
|
||||
|
||||
LINK = -lctcxx -luser -loneD -lzeroD -lequil -lkinetics -ltransport -lthermo -lctnumerics -lctmath -ltpx -lctspectra -lctbase -lcvode -lctlapack -lctblas -lctf2c -lm -lstdc++
|
||||
|
||||
#Libs: -L${libdir} ${LINK}
|
||||
#Cflags: -I${includedir}
|
||||
|
||||
fflags=-I${exec_prefix}/lib -I${includedir}
|
||||
#fflags=-I${exec_prefix}/lib
|
||||
flibs=-L${exec_prefix}/lib ${LINK}
|
||||
173
configure.ac
Normal file
173
configure.ac
Normal file
|
|
@ -0,0 +1,173 @@
|
|||
-*- Autoconf -*-
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.61)
|
||||
AC_INIT([cantera], [2.1.0], [nick@ices.utexas.edu])
|
||||
AC_CONFIG_HEADER(config.h)
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
#AX_ENABLE_BUILDDIR
|
||||
AM_INIT_AUTOMAKE(-Wall -Werror -Wshadow)
|
||||
|
||||
# snarf and provide versioning numbers
|
||||
AX_SPLIT_VERSION
|
||||
GENERIC_MAJOR_VERSION=$AX_MAJOR_VERSION
|
||||
GENERIC_MINOR_VERSION=$AX_MINOR_VERSION
|
||||
GENERIC_MICRO_VERSION=$AX_POINT_VERSION
|
||||
GENERIC_VERSION=$GENERIC_MAJOR_VERSION.$GENERIC_MINOR_VERSION.$GENERIC_MICRO_VERSION
|
||||
GENERIC_RELEASE=$GENERIC_MAJOR_VERSION.$GENERIC_MINOR_VERSION
|
||||
|
||||
AC_SUBST(GENERIC_VERSION)
|
||||
AC_SUBST(GENERIC_MAJOR_VERSION)
|
||||
AC_SUBST(GENERIC_MINOR_VERSION)
|
||||
AC_SUBST(GENERIC_MICRO_VERSION)
|
||||
AC_SUBST(GENERIC_RELEASE)
|
||||
|
||||
PACKAGE_DESCRIPTION="An object-oriented software toolkit for chemical kinetics, thermodynamics, and transport processes."
|
||||
AC_SUBST([PACKAGE_DESCRIPTION])
|
||||
PACKAGE_URL="http://code.google.com/p/cantera/"
|
||||
AC_SUBST([PACKAGE_URL])
|
||||
|
||||
# add various Defines
|
||||
AC_DEFINE([LAPACK_FTN_TRAILING_UNDERSCORE],1,[Define to add underscore after fortran functions])
|
||||
LAPACK_FTN_TRAILING_UNDERSCORE=1
|
||||
AC_DEFINE([FTN_TRAILING_UNDERSCORE],1,[Define to add underscore after fortran functions])
|
||||
FTN_TRAILING_UNDERSCORE=1
|
||||
AC_DEFINE([LAPACK_NAMES_LOWERCASE],1,[Define to make lapack functions lowercase])
|
||||
LAPACK_NAMES_LOWERCASE=1
|
||||
AC_DEFINE([LAPACK_FTN_STRING_LEN_AT_END],1,[Define to add string to end of lapack functions])
|
||||
LAPACK_FTN_STRING_LEN_AT_END=1
|
||||
AC_DEFINE([INCL_PURE_FLUIDS],1,[Define to include pure fluids])
|
||||
INCL_PURE_FLUIDS=1
|
||||
AC_DEFINE([WITH_PURE_FLUIDS],1,[Define to include pure fluids])
|
||||
WITH_PURE_FLUIDS=1
|
||||
AC_DEFINE([WITH_LATTICE_SOLID],1,[Define to include Lattice Solids])
|
||||
WITH_LATTICE_SOLID=1
|
||||
AC_DEFINE([WITH_METAL],1,[Define to include metals])
|
||||
WITH_METAL=1
|
||||
AC_DEFINE([WITH_STOICH_SUBSTANCE],1,[Define to include stoichiometric substances])
|
||||
WITH_STOICH_SUBSTANCE=1
|
||||
AC_DEFINE([WITH_IDEAL_SOLUTIONS],1,[Define to include ideal solutions])
|
||||
WITH_IDEAL_SOLUTIONS=1
|
||||
|
||||
AC_DEFINE_UNQUOTED([CANTERA_DATA], ["$prefix/data"],
|
||||
[Default data directory])
|
||||
|
||||
AC_CHECK_TYPES([uint8_t, uint16_t, uint32_t, int32_t, uint64_t, int64_t])
|
||||
AH_BOTTOM([
|
||||
typedef double doublereal; // Fortran double precision
|
||||
typedef int integer; // Fortran integer
|
||||
typedef int ftnlen; // Fortran hidden string length type
|
||||
|
||||
#define STRING_LEN_AT_END
|
||||
#define STORE_MOLE_FRACTIONS
|
||||
|
||||
#ifdef DEBUG_MODE
|
||||
#define DEBUG_MODE_ENABLED 1
|
||||
#else
|
||||
#define DEBUG_MODE_ENABLED 0
|
||||
#endif
|
||||
])
|
||||
|
||||
# ------------------------------
|
||||
# Checks for required programs
|
||||
# ------------------------------
|
||||
|
||||
AC_PROG_CC
|
||||
AC_PROG_CXX
|
||||
AC_PROG_FC
|
||||
AC_PROG_F77
|
||||
|
||||
AC_PROG_LIBTOOL
|
||||
AM_SANITY_CHECK
|
||||
|
||||
# ----------------
|
||||
# Doxygen support
|
||||
# ----------------
|
||||
|
||||
DX_HTML_FEATURE(ON)
|
||||
DX_CHM_FEATURE(OFF)
|
||||
DX_CHI_FEATURE(OFF)
|
||||
|
||||
DX_MAN_FEATURE(OFF)
|
||||
DX_RTF_FEATURE(OFF)
|
||||
DX_XML_FEATURE(OFF)
|
||||
DX_PDF_FEATURE(ON)
|
||||
DX_PS_FEATURE(OFF)
|
||||
DX_INIT_DOXYGEN(cantera, doc/doxygen/cantera.dox, docs)
|
||||
|
||||
# Generate Output Files
|
||||
AC_OUTPUT(Makefile \
|
||||
ext/Makefile \
|
||||
ext/libexecstream/Makefile \
|
||||
ext/f2c_math/Makefile \
|
||||
ext/f2c_libs/Makefile \
|
||||
ext/f2c_libs/arithchk/Makefile \
|
||||
ext/f2c_blas/Makefile \
|
||||
ext/f2c_lapack/Makefile \
|
||||
ext/cvode/Makefile \
|
||||
ext/cvode/source/Makefile \
|
||||
test_problems/Makefile \
|
||||
test_problems/mixGasTransport/Makefile \
|
||||
test_problems/ChemEquil_gri_matrix/Makefile \
|
||||
test_problems/ChemEquil_gri_pairs/Makefile \
|
||||
test_problems/ChemEquil_ionizedGas/Makefile \
|
||||
test_problems/ChemEquil_red1/Makefile \
|
||||
test_problems/CpJump/Makefile \
|
||||
test_problems/cxx_ex/Makefile \
|
||||
test_problems/diamondSurf/Makefile \
|
||||
test_problems/diamondSurf_dupl/Makefile \
|
||||
test_problems/fracCoeff/Makefile \
|
||||
test_problems/multiGasTransport/Makefile \
|
||||
test_problems/negATest/Makefile \
|
||||
test_problems/NASA9poly_test/Makefile \
|
||||
test_problems/printUtilUnitTest/Makefile \
|
||||
test_problems/pureFluidTest/Makefile \
|
||||
test_problems/silane_equil/Makefile \
|
||||
test_problems/spectroscopy/Makefile \
|
||||
test_problems/surfkin/Makefile \
|
||||
test_problems/surfSolverTest/Makefile \
|
||||
test_problems/VPsilane_test/Makefile \
|
||||
test_problems/VCSnonideal/Makefile \
|
||||
test_problems/cathermo/Makefile \
|
||||
test_problems/cathermo/DH_graph_1/Makefile \
|
||||
test_problems/cathermo/HMW_dupl_test/Makefile \
|
||||
test_problems/cathermo/HMW_graph_CpvT/Makefile \
|
||||
test_problems/cathermo/HMW_graph_HvT/Makefile \
|
||||
test_problems/cathermo/HMW_graph_GvI/Makefile \
|
||||
test_problems/cathermo/HMW_graph_GvT/Makefile \
|
||||
test_problems/cathermo/HMW_graph_VvT/Makefile \
|
||||
test_problems/cathermo/HMW_test_1/Makefile \
|
||||
test_problems/cathermo/HMW_test_3/Makefile \
|
||||
test_problems/cathermo/ims/Makefile \
|
||||
test_problems/cathermo/issp/Makefile \
|
||||
test_problems/cathermo/stoichSubSSTP/Makefile \
|
||||
test_problems/cathermo/testIAPWS/Makefile \
|
||||
test_problems/cathermo/testIAPWSPres/Makefile \
|
||||
test_problems/cathermo/testIAPWSTripP/Makefile \
|
||||
test_problems/cathermo/testWaterPDSS/Makefile \
|
||||
test_problems/cathermo/testWaterTP/Makefile \
|
||||
test_problems/cathermo/VPissp/Makefile \
|
||||
test_problems/cathermo/wtWater/Makefile \
|
||||
test_problems/PecosTransport/Makefile \
|
||||
test_problems/statmech/Makefile \
|
||||
doc/Makefile \
|
||||
doc/doxygen/Makefile \
|
||||
src/Makefile \
|
||||
src/fortran/Makefile \
|
||||
src/base/Makefile \
|
||||
src/kinetics/Makefile \
|
||||
src/numerics/Makefile src/oneD/Makefile \
|
||||
src/thermo/Makefile \
|
||||
src/transport/Makefile \
|
||||
src/spectra/Makefile src/zeroD/Makefile \
|
||||
src/equil/Makefile \
|
||||
src/tpx/Makefile \
|
||||
cantera.pc)
|
||||
|
||||
# skipped tests
|
||||
# test_problems/rankine_democxx/Makefile
|
||||
# test_problems/VCSnonideal/NaCl_equil/Makefile
|
||||
|
||||
# FINAL SUMMARY
|
||||
AX_SUMMARIZE_CONFIG
|
||||
|
||||
|
|
@ -19,16 +19,16 @@ ideal_gas(name = "air",
|
|||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Species data
|
||||
# Species data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
species(name = "O",
|
||||
atoms = " O:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 3.168267100E+00, -3.279318840E-03,
|
||||
NASA( [ 200.00, 1000.00], [ 3.168267100E+00, -3.279318840E-03,
|
||||
6.643063960E-06, -6.128066240E-09, 2.112659710E-12,
|
||||
2.912225920E+04, 2.051933460E+00] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 2.569420780E+00, -8.597411370E-05,
|
||||
NASA( [ 1000.00, 3500.00], [ 2.569420780E+00, -8.597411370E-05,
|
||||
4.194845890E-08, -1.001777990E-11, 1.228336910E-15,
|
||||
2.921757910E+04, 4.784338640E+00] )
|
||||
),
|
||||
|
|
@ -42,10 +42,10 @@ species(name = "O",
|
|||
species(name = "O2",
|
||||
atoms = " O:2 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 3.782456360E+00, -2.996734160E-03,
|
||||
NASA( [ 200.00, 1000.00], [ 3.782456360E+00, -2.996734160E-03,
|
||||
9.847302010E-06, -9.681295090E-09, 3.243728370E-12,
|
||||
-1.063943560E+03, 3.657675730E+00] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 3.282537840E+00, 1.483087540E-03,
|
||||
NASA( [ 1000.00, 3500.00], [ 3.282537840E+00, 1.483087540E-03,
|
||||
-7.579666690E-07, 2.094705550E-10, -2.167177940E-14,
|
||||
-1.088457720E+03, 5.453231290E+00] )
|
||||
),
|
||||
|
|
@ -61,10 +61,10 @@ species(name = "O2",
|
|||
species(name = "N",
|
||||
atoms = " N:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
NASA( [ 200.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
5.610463700E+04, 4.193908700E+00] ),
|
||||
NASA( [ 1000.00, 6000.00], [ 2.415942900E+00, 1.748906500E-04,
|
||||
NASA( [ 1000.00, 6000.00], [ 2.415942900E+00, 1.748906500E-04,
|
||||
-1.190236900E-07, 3.022624500E-11, -2.036098200E-15,
|
||||
5.613377300E+04, 4.649609600E+00] )
|
||||
),
|
||||
|
|
@ -78,10 +78,10 @@ species(name = "N",
|
|||
species(name = "NO",
|
||||
atoms = " N:1 O:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 4.218476300E+00, -4.638976000E-03,
|
||||
NASA( [ 200.00, 1000.00], [ 4.218476300E+00, -4.638976000E-03,
|
||||
1.104102200E-05, -9.336135400E-09, 2.803577000E-12,
|
||||
9.844623000E+03, 2.280846400E+00] ),
|
||||
NASA( [ 1000.00, 6000.00], [ 3.260605600E+00, 1.191104300E-03,
|
||||
NASA( [ 1000.00, 6000.00], [ 3.260605600E+00, 1.191104300E-03,
|
||||
-4.291704800E-07, 6.945766900E-11, -4.033609900E-15,
|
||||
9.920974600E+03, 6.369302700E+00] )
|
||||
),
|
||||
|
|
@ -97,10 +97,10 @@ species(name = "NO",
|
|||
species(name = "NO2",
|
||||
atoms = " N:1 O:2 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 3.944031200E+00, -1.585429000E-03,
|
||||
NASA( [ 200.00, 1000.00], [ 3.944031200E+00, -1.585429000E-03,
|
||||
1.665781200E-05, -2.047542600E-08, 7.835056400E-12,
|
||||
2.896617900E+03, 6.311991700E+00] ),
|
||||
NASA( [ 1000.00, 6000.00], [ 4.884754200E+00, 2.172395600E-03,
|
||||
NASA( [ 1000.00, 6000.00], [ 4.884754200E+00, 2.172395600E-03,
|
||||
-8.280690600E-07, 1.574751000E-10, -1.051089500E-14,
|
||||
2.316498300E+03, -1.174169500E-01] )
|
||||
),
|
||||
|
|
@ -115,10 +115,10 @@ species(name = "NO2",
|
|||
species(name = "N2O",
|
||||
atoms = " N:2 O:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 2.257150200E+00, 1.130472800E-02,
|
||||
NASA( [ 200.00, 1000.00], [ 2.257150200E+00, 1.130472800E-02,
|
||||
-1.367131900E-05, 9.681980600E-09, -2.930718200E-12,
|
||||
8.741774400E+03, 1.075799200E+01] ),
|
||||
NASA( [ 1000.00, 6000.00], [ 4.823072900E+00, 2.627025100E-03,
|
||||
NASA( [ 1000.00, 6000.00], [ 4.823072900E+00, 2.627025100E-03,
|
||||
-9.585087400E-07, 1.600071200E-10, -9.775230300E-15,
|
||||
8.073404800E+03, -2.201720700E+00] )
|
||||
),
|
||||
|
|
@ -133,10 +133,10 @@ species(name = "N2O",
|
|||
species(name = "N2",
|
||||
atoms = " N:2 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 3.298677000E+00, 1.408240400E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 3.298677000E+00, 1.408240400E-03,
|
||||
-3.963222000E-06, 5.641515000E-09, -2.444854000E-12,
|
||||
-1.020899900E+03, 3.950372000E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 2.926640000E+00, 1.487976800E-03,
|
||||
NASA( [ 1000.00, 5000.00], [ 2.926640000E+00, 1.487976800E-03,
|
||||
-5.684760000E-07, 1.009703800E-10, -6.753351000E-15,
|
||||
-9.227977000E+02, 5.980528000E+00] )
|
||||
),
|
||||
|
|
@ -152,10 +152,10 @@ species(name = "N2",
|
|||
species(name = "AR",
|
||||
atoms = " Ar:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
NASA( [ 300.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-7.453750000E+02, 4.366000000E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
NASA( [ 1000.00, 5000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-7.453750000E+02, 4.366000000E+00] )
|
||||
),
|
||||
|
|
@ -169,7 +169,7 @@ species(name = "AR",
|
|||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Reaction data
|
||||
# Reaction data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
# Reaction 1
|
||||
|
|
|
|||
|
|
@ -4,41 +4,6 @@ END
|
|||
SPECIES
|
||||
O O2 N NO NO2 N2O N2 AR
|
||||
END
|
||||
THERMO ALL
|
||||
300.000 1000.000 5000.000
|
||||
O L 1/90O 1 00 00 00G 200.000 3500.000 1000.000 1
|
||||
2.56942078E+00-8.59741137E-05 4.19484589E-08-1.00177799E-11 1.22833691E-15 2
|
||||
2.92175791E+04 4.78433864E+00 3.16826710E+00-3.27931884E-03 6.64306396E-06 3
|
||||
-6.12806624E-09 2.11265971E-12 2.91222592E+04 2.05193346E+00 4
|
||||
O2 TPIS89O 2 00 00 00G 200.000 3500.000 1000.000 1
|
||||
3.28253784E+00 1.48308754E-03-7.57966669E-07 2.09470555E-10-2.16717794E-14 2
|
||||
-1.08845772E+03 5.45323129E+00 3.78245636E+00-2.99673416E-03 9.84730201E-06 3
|
||||
-9.68129509E-09 3.24372837E-12-1.06394356E+03 3.65767573E+00 4
|
||||
N L 6/88N 1 0 0 0G 200.000 6000.000 1000.000 1
|
||||
0.24159429E+01 0.17489065E-03-0.11902369E-06 0.30226245E-10-0.20360982E-14 2
|
||||
0.56133773E+05 0.46496096E+01 0.25000000E+01 0.00000000E+00 0.00000000E+00 3
|
||||
0.00000000E+00 0.00000000E+00 0.56104637E+05 0.41939087E+01 4
|
||||
NO RUS 78N 1O 1 0 0G 200.000 6000.000 1000.000 1
|
||||
0.32606056E+01 0.11911043E-02-0.42917048E-06 0.69457669E-10-0.40336099E-14 2
|
||||
0.99209746E+04 0.63693027E+01 0.42184763E+01-0.46389760E-02 0.11041022E-04 3
|
||||
-0.93361354E-08 0.28035770E-11 0.98446230E+04 0.22808464E+01 4
|
||||
NO2 L 7/88N 1O 2 0 0G 200.000 6000.000 1000.000 1
|
||||
0.48847542E+01 0.21723956E-02-0.82806906E-06 0.15747510E-09-0.10510895E-13 2
|
||||
0.23164983E+04-0.11741695E+00 0.39440312E+01-0.15854290E-02 0.16657812E-04 3
|
||||
-0.20475426E-07 0.78350564E-11 0.28966179E+04 0.63119917E+01 4
|
||||
N2O L 7/88N 2O 1 0 0G 200.000 6000.000 1000.000 1
|
||||
0.48230729E+01 0.26270251E-02-0.95850874E-06 0.16000712E-09-0.97752303E-14 2
|
||||
0.80734048E+04-0.22017207E+01 0.22571502E+01 0.11304728E-01-0.13671319E-04 3
|
||||
0.96819806E-08-0.29307182E-11 0.87417744E+04 0.10757992E+02 4
|
||||
N2 121286N 2 G 300.000 5000.000 1000.000 1
|
||||
0.02926640E+02 0.14879768E-02-0.05684760E-05 0.10097038E-09-0.06753351E-13 2
|
||||
-0.09227977E+04 0.05980528E+02 0.03298677E+02 0.14082404E-02-0.03963222E-04 3
|
||||
0.05641515E-07-0.02444854E-10-0.10208999E+04 0.03950372E+02 4
|
||||
AR 120186AR 1 G 300.000 5000.000 1000.000 1
|
||||
0.02500000E+02 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 2
|
||||
-0.07453750E+04 0.04366000E+02 0.02500000E+02 0.00000000E+00 0.00000000E+00 3
|
||||
0.00000000E+00 0.00000000E+00-0.07453750E+04 0.04366000E+02 4
|
||||
END
|
||||
REACTIONS
|
||||
2O+M<=>O2+M 1.200E+17 -1.000 .00
|
||||
AR/.83/
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ units(length = "cm", time = "s", quantity = "mol", act_energy = "cal/mol")
|
|||
|
||||
ideal_gas(name = "airNASA9",
|
||||
elements = " O N E ",
|
||||
species = """ N2 O2 NO N O N2+ O2+ NO+ N+ O+
|
||||
species = """ N2 O2 NO N O N2+ O2+ NO+ N+ O+
|
||||
e- """,
|
||||
reactions = "all",
|
||||
initial_state = state(temperature = 300.0,
|
||||
|
|
@ -16,7 +16,7 @@ ideal_gas(name = "airNASA9",
|
|||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Species data
|
||||
# Species data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
species(name = "N2",
|
||||
|
|
@ -198,5 +198,5 @@ species(name = "e-",
|
|||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Reaction data
|
||||
# Reaction data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
|
|
|||
317
data/inputs/airNASA9.xml
Normal file
317
data/inputs/airNASA9.xml
Normal file
|
|
@ -0,0 +1,317 @@
|
|||
<?xml version="1.0"?>
|
||||
<ctml>
|
||||
<validate reactions="yes" species="yes"/>
|
||||
|
||||
<!-- phase airNASA9 -->
|
||||
<phase dim="3" id="airNASA9">
|
||||
<elementArray datasrc="elements.xml">O N E </elementArray>
|
||||
<speciesArray datasrc="#species_data">
|
||||
N2 O2 NO N O N2+ O2+ NO+ N+ O+
|
||||
e- </speciesArray>
|
||||
<reactionArray datasrc="#reaction_data"/>
|
||||
<state>
|
||||
<temperature units="K">300.0</temperature>
|
||||
<pressure units="Pa">101325.0</pressure>
|
||||
</state>
|
||||
<thermo model="IdealGas"/>
|
||||
<kinetics model="GasKinetics"/>
|
||||
<transport model="None"/>
|
||||
</phase>
|
||||
|
||||
<!-- species definitions -->
|
||||
<speciesData id="species_data">
|
||||
|
||||
<!-- species N2 -->
|
||||
<species name="N2">
|
||||
<atomArray>N:2 </atomArray>
|
||||
<note>Ref-Elm. Gurvich,1978 pt1 p280 pt2 p207. </note>
|
||||
<thermo>
|
||||
<NASA9 Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
2.210371497E+04, -3.818461820E+02, 6.082738360E+00, -8.530914410E-03,
|
||||
1.384646189E-05, -9.625793620E-09, 2.519705809E-12, 7.108460860E+02,
|
||||
-1.076003744E+01</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="6000.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
5.877124060E+05, -2.239249073E+03, 6.066949220E+00, -6.139685500E-04,
|
||||
1.491806679E-07, -1.923105485E-11, 1.061954386E-15, 1.283210415E+04,
|
||||
-1.586640027E+01</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="20000.0" Tmin="6000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
8.310139160E+08, -6.420733540E+05, 2.020264635E+02, -3.065092046E-02,
|
||||
2.486903333E-06, -9.705954110E-11, 1.437538881E-15, 4.938707040E+06,
|
||||
-1.672099740E+03</floatArray>
|
||||
</NASA9>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species O2 -->
|
||||
<species name="O2">
|
||||
<atomArray>O:2 </atomArray>
|
||||
<note>Ref-Elm. Gurvich,1989 pt1 p94 pt2 p9. </note>
|
||||
<thermo>
|
||||
<NASA9 Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
-3.425563420E+04, 4.847000970E+02, 1.119010961E+00, 4.293889240E-03,
|
||||
-6.836300520E-07, -2.023372700E-09, 1.039040018E-12, -3.391454870E+03,
|
||||
1.849699470E+01</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="6000.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
-1.037939022E+06, 2.344830282E+03, 1.819732036E+00, 1.267847582E-03,
|
||||
-2.188067988E-07, 2.053719572E-11, -8.193467050E-16, -1.689010929E+04,
|
||||
1.738716506E+01</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="20000.0" Tmin="6000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
4.975294300E+08, -2.866106874E+05, 6.690352250E+01, -6.169959020E-03,
|
||||
3.016396027E-07, -7.421416600E-12, 7.278175770E-17, 2.293554027E+06,
|
||||
-5.530621610E+02</floatArray>
|
||||
</NASA9>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species NO -->
|
||||
<species name="NO">
|
||||
<atomArray>O:1 N:1 </atomArray>
|
||||
<note>Gurvich,1978,1989 pt1 p326 pt2 p203. </note>
|
||||
<thermo>
|
||||
<NASA9 Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
-1.143916503E+04, 1.536467592E+02, 3.431468730E+00, -2.668592368E-03,
|
||||
8.481399120E-06, -7.685111050E-09, 2.386797655E-12, 9.098214410E+03,
|
||||
6.728725490E+00</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="6000.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
2.239018716E+05, -1.289651623E+03, 5.433936030E+00, -3.656034900E-04,
|
||||
9.880966450E-08, -1.416076856E-11, 9.380184620E-16, 1.750317656E+04,
|
||||
-8.501669090E+00</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="20000.0" Tmin="6000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
-9.575303540E+08, 5.912434480E+05, -1.384566826E+02, 1.694339403E-02,
|
||||
-1.007351096E-06, 2.912584076E-11, -3.295109350E-16, -4.677501240E+06,
|
||||
1.242081216E+03</floatArray>
|
||||
</NASA9>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species N -->
|
||||
<species name="N">
|
||||
<atomArray>N:1 </atomArray>
|
||||
<note>Hf:Cox,1989. Moore,1975. Gordon,1999. </note>
|
||||
<thermo>
|
||||
<NASA9 Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
0.000000000E+00, 0.000000000E+00, 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00, 5.610463780E+04,
|
||||
4.193905036E+00</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="6000.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
8.876501380E+04, -1.071231500E+02, 2.362188287E+00, 2.916720081E-04,
|
||||
-1.729515100E-07, 4.012657880E-11, -2.677227571E-15, 5.697351330E+04,
|
||||
4.865231506E+00</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="20000.0" Tmin="6000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
5.475181050E+08, -3.107574980E+05, 6.916782740E+01, -6.847988130E-03,
|
||||
3.827572400E-07, -1.098367709E-11, 1.277986024E-16, 2.550585618E+06,
|
||||
-5.848769753E+02</floatArray>
|
||||
</NASA9>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species O -->
|
||||
<species name="O">
|
||||
<atomArray>O:1 </atomArray>
|
||||
<note>D0(O2):Brix,1954. Moore,1976. Gordon,1999. </note>
|
||||
<thermo>
|
||||
<NASA9 Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
-7.953611300E+03, 1.607177787E+02, 1.966226438E+00, 1.013670310E-03,
|
||||
-1.110415423E-06, 6.517507500E-10, -1.584779251E-13, 2.840362437E+04,
|
||||
8.404241820E+00</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="6000.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
2.619020262E+05, -7.298722030E+02, 3.317177270E+00, -4.281334360E-04,
|
||||
1.036104594E-07, -9.438304330E-12, 2.725038297E-16, 3.392428060E+04,
|
||||
-6.679585350E-01</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="20000.0" Tmin="6000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
1.779004264E+08, -1.082328257E+05, 2.810778365E+01, -2.975232262E-03,
|
||||
1.854997534E-07, -5.796231540E-12, 7.191720164E-17, 8.890942630E+05,
|
||||
-2.181728151E+02</floatArray>
|
||||
</NASA9>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species N2+ -->
|
||||
<species name="N2+">
|
||||
<atomArray>E:-1 N:2 </atomArray>
|
||||
<note>Gurvich,1989 pt1 p323 pt2 p200. </note>
|
||||
<charge>1</charge>
|
||||
<thermo>
|
||||
<NASA9 Tmax="1000.0" Tmin="298.14999999999998" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
-3.474047470E+04, 2.696222703E+02, 3.164916370E+00, -2.132239781E-03,
|
||||
6.730476400E-06, -5.637304970E-09, 1.621756000E-12, 1.790004424E+05,
|
||||
6.832974166E+00</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="6000.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
-2.845599002E+06, 7.058893030E+03, -2.884886385E+00, 3.068677059E-03,
|
||||
-4.361652310E-07, 2.102514545E-11, 5.411996470E-16, 1.340388483E+05,
|
||||
5.090897022E+01</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="20000.0" Tmin="6000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
-3.712829770E+08, 3.139287234E+05, -9.603518050E+01, 1.571193286E-02,
|
||||
-1.175065525E-06, 4.144441230E-11, -5.621893090E-16, -2.217361867E+06,
|
||||
8.436270947E+02</floatArray>
|
||||
</NASA9>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species O2+ -->
|
||||
<species name="O2+">
|
||||
<atomArray>E:-1 O:2 </atomArray>
|
||||
<note>Gurvich,1989 pt1 p98 pt2 p11. </note>
|
||||
<charge>1</charge>
|
||||
<thermo>
|
||||
<NASA9 Tmax="1000.0" Tmin="298.14999999999998" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
-8.607205450E+04, 1.051875934E+03, -5.432380470E-01, 6.571166540E-03,
|
||||
-3.274263750E-06, 5.940645340E-11, 3.238784790E-13, 1.345544668E+05,
|
||||
2.902709750E+01</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="6000.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
7.384654880E+04, -8.459559540E+02, 4.985164160E+00, -1.611010890E-04,
|
||||
6.427083990E-08, -1.504939874E-11, 1.578465409E-15, 1.446321044E+05,
|
||||
-5.811230650E+00</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="20000.0" Tmin="6000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
-1.562125524E+09, 1.161406778E+06, -3.302504720E+02, 4.710937520E-02,
|
||||
-3.354461380E-06, 1.167968599E-10, -1.589754791E-15, -8.857866270E+06,
|
||||
2.852035602E+03</floatArray>
|
||||
</NASA9>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species NO+ -->
|
||||
<species name="NO+">
|
||||
<atomArray>E:-1 O:1 N:1 </atomArray>
|
||||
<note>Cp,S,IP(NO): Gurvich,1989 pt1 p330 pt2 p205. </note>
|
||||
<charge>1</charge>
|
||||
<thermo>
|
||||
<NASA9 Tmax="1000.0" Tmin="298.14999999999998" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
1.398106635E+03, -1.590446941E+02, 5.122895400E+00, -6.394388620E-03,
|
||||
1.123918342E-05, -7.988581260E-09, 2.107383677E-12, 1.187495132E+05,
|
||||
-4.398433810E+00</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="6000.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
6.069876900E+05, -2.278395427E+03, 6.080324670E+00, -6.066847580E-04,
|
||||
1.432002611E-07, -1.747990522E-11, 8.935014060E-16, 1.322709615E+05,
|
||||
-1.519880037E+01</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="20000.0" Tmin="6000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
2.676400347E+09, -1.832948690E+06, 5.099249390E+02, -7.113819280E-02,
|
||||
5.317659880E-06, -1.963208212E-10, 2.805268230E-15, 1.443308939E+07,
|
||||
-4.324044462E+03</floatArray>
|
||||
</NASA9>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species N+ -->
|
||||
<species name="N+">
|
||||
<atomArray>E:-1 N:1 </atomArray>
|
||||
<note>Moore,1975. Gordon,1999. </note>
|
||||
<charge>1</charge>
|
||||
<thermo>
|
||||
<NASA9 Tmax="1000.0" Tmin="298.14999999999998" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
5.237079210E+03, 2.299958315E+00, 2.487488821E+00, 2.737490756E-05,
|
||||
-3.134447576E-08, 1.850111332E-11, -4.447350984E-15, 2.256284738E+05,
|
||||
5.076830786E+00</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="6000.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
2.904970374E+05, -8.557908610E+02, 3.477389290E+00, -5.288267190E-04,
|
||||
1.352350307E-07, -1.389834122E-11, 5.046166279E-16, 2.310809984E+05,
|
||||
-1.994146545E+00</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="20000.0" Tmin="6000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
1.646092148E+07, -1.113165218E+04, 4.976986640E+00, -2.005393583E-04,
|
||||
1.022481356E-08, -2.691430863E-13, 3.539931593E-18, 3.136284696E+05,
|
||||
-1.706646380E+01</floatArray>
|
||||
</NASA9>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species O+ -->
|
||||
<species name="O+">
|
||||
<atomArray>E:-1 O:1 </atomArray>
|
||||
<note>Martin,W.C.,1993. Gordon,1999. </note>
|
||||
<charge>1</charge>
|
||||
<thermo>
|
||||
<NASA9 Tmax="1000.0" Tmin="298.14999999999998" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
0.000000000E+00, 0.000000000E+00, 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00, 1.879352842E+05,
|
||||
4.393376760E+00</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="6000.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
-2.166513208E+05, 6.665456150E+02, 1.702064364E+00, 4.714992810E-04,
|
||||
-1.427131823E-07, 2.016595903E-11, -9.107157762E-16, 1.837191966E+05,
|
||||
1.005690382E+01</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="20000.0" Tmin="6000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
-2.143835383E+08, 1.469518523E+05, -3.680864540E+01, 5.036164540E-03,
|
||||
-3.087873854E-07, 9.186834870E-12, -1.074163268E-16, -9.614208960E+05,
|
||||
3.426193080E+02</floatArray>
|
||||
</NASA9>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species e- -->
|
||||
<species name="e-">
|
||||
<atomArray>E:1 </atomArray>
|
||||
<note>Ref-Species. Chase,1998 3/82. </note>
|
||||
<charge>-1</charge>
|
||||
<thermo>
|
||||
<NASA9 Tmax="1000.0" Tmin="298.14999999999998" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
0.000000000E+00, 0.000000000E+00, 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00, -7.453750000E+02,
|
||||
-1.172081224E+01</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="6000.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
0.000000000E+00, 0.000000000E+00, 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00, -7.453750000E+02,
|
||||
-1.172081224E+01</floatArray>
|
||||
</NASA9>
|
||||
<NASA9 Tmax="20000.0" Tmin="6000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="9">
|
||||
0.000000000E+00, 0.000000000E+00, 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00, -7.453750000E+02,
|
||||
-1.172081224E+01</floatArray>
|
||||
</NASA9>
|
||||
</thermo>
|
||||
</species>
|
||||
</speciesData>
|
||||
<reactionData id="reaction_data"/>
|
||||
</ctml>
|
||||
|
|
@ -18,16 +18,16 @@ ideal_gas(name = "argon",
|
|||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Species data
|
||||
# Species data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
species(name = "AR",
|
||||
atoms = " Ar:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
NASA( [ 300.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-7.453750000E+02, 4.366000000E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
NASA( [ 1000.00, 5000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-7.453750000E+02, 4.366000000E+00] )
|
||||
),
|
||||
|
|
@ -41,5 +41,5 @@ species(name = "AR",
|
|||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Reaction data
|
||||
# Reaction data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,107 +1,96 @@
|
|||
|
||||
# Trough mechanism from 'S. J. Harris and D. G. Goodwin, 'Growth on
|
||||
# the reconstructed diamond (100) surface, 'J. Phys. Chem. vol. 97,
|
||||
# 23-28 (1993). reactions a - t are taken directly from Table II,
|
||||
# with thermochemistry from Table IV. Reaction u is added here.
|
||||
# simplified version of Harris and Goodwin diamond (100) growth
|
||||
# mechanism, J. Phys. Chem., 1993.
|
||||
|
||||
|
||||
units(length = 'cm', quantity = 'mol', act_energy = 'kcal/mol')
|
||||
|
||||
#------------- the gas -------------------------------------
|
||||
|
||||
ideal_gas(name = 'gas',
|
||||
elements = 'H C',
|
||||
species = 'gri30: H H2 CH3 CH4',
|
||||
initial_state = state(
|
||||
temperature = 1200.0,
|
||||
pressure = 20.0 * OneAtm / 760.0,
|
||||
mole_fractions = 'H:0.002, H2:0.988, CH3:0.0002, CH4:0.01',
|
||||
)
|
||||
)
|
||||
|
||||
#------------- bulk diamond -------------------------------------
|
||||
initial_state = state(temperature = 1200.0,
|
||||
pressure = 1.0e3,
|
||||
mole_fractions = 'H:0.002, H2:1, CH4:0.01, CH3:0.0002'))
|
||||
|
||||
stoichiometric_solid(name = 'diamond',
|
||||
elements = 'C',
|
||||
density = (3.52, 'g/cm3'),
|
||||
species = 'C(d)')
|
||||
|
||||
species(name = 'C(d)',
|
||||
atoms = 'C:1') # no thermo needed (reaction is irreversible)
|
||||
|
||||
#------------- the diamond surface -------------------------------------
|
||||
elements = 'C',
|
||||
density = (3.52, 'g/cm3'),
|
||||
species = 'C(d)')
|
||||
|
||||
ideal_interface(name = 'diamond_100',
|
||||
elements = 'H C',
|
||||
species = 'c6HH c6H* c6*H c6** c6HM c6HM* c6*M c6B ',
|
||||
reactions = 'all',
|
||||
phases = 'gas diamond',
|
||||
site_density = (3.0E-9, 'mol/cm2'),
|
||||
site_density = (3.0e-9, 'mol/cm2'),
|
||||
initial_state = state(temperature = 1200.0,
|
||||
coverages = 'c6H*:0.1, c6HH:0.9'))
|
||||
|
||||
species(name = 'C(d)',
|
||||
atoms = 'C:1',
|
||||
thermo = const_cp() )
|
||||
|
||||
# an empty surface site
|
||||
species(name = 'c6H*',
|
||||
atoms = 'H:1',
|
||||
thermo = const_cp(h0 = (51.7, 'kcal/mol'),
|
||||
s0 = (19.5, 'cal/mol/K')))
|
||||
thermo = const_cp(h0 = (51.7, 'kcal/mol'), s0 = (19.5, 'cal/mol/K') ) )
|
||||
|
||||
species(name = 'c6*H',
|
||||
atoms = 'H:1',
|
||||
thermo = const_cp(h0 = (46.1, 'kcal/mol'),
|
||||
s0 = (19.9, 'cal/mol/K')))
|
||||
thermo = const_cp(h0 = (46.1, 'kcal/mol'), s0 = (19.9, 'cal/mol/K') ) )
|
||||
|
||||
# a hydrogen-terminated site
|
||||
species(name = 'c6HH',
|
||||
atoms = 'H:2',
|
||||
thermo = const_cp(h0 = (11.4, 'kcal/mol'),
|
||||
s0 = (21.0, 'cal/mol/K')))
|
||||
thermo = const_cp(t0 = 1200.0, h0 = (11.4, 'kcal/mol'),
|
||||
s0 = (21.0, 'cal/mol/K'))
|
||||
)
|
||||
|
||||
species(name = 'c6HM',
|
||||
atoms = 'C:1 H:4',
|
||||
thermo = const_cp(h0 = (26.9, 'kcal/mol'),
|
||||
s0 = (40.3, 'cal/mol/K')))
|
||||
s0 = (40.3, 'cal/mol/K') )
|
||||
)
|
||||
|
||||
species(name = 'c6HM*',
|
||||
atoms = 'C:1 H:3',
|
||||
thermo = const_cp(h0 = (65.8, 'kcal/mol'),
|
||||
s0 = (40.1, 'cal/mol/K')))
|
||||
s0 = (40.1, 'cal/mol/K') )
|
||||
)
|
||||
|
||||
species(name = 'c6*M',
|
||||
atoms = 'C:1 H:3',
|
||||
thermo = const_cp(h0 = (53.3, 'kcal/mol'),
|
||||
s0 = (38.9, 'cal/mol/K')))
|
||||
s0 = (38.9, 'cal/mol/K') )
|
||||
)
|
||||
|
||||
species(name = 'c6**',
|
||||
atoms = 'C:0',
|
||||
thermo = const_cp(h0 = (90.0, 'kcal/mol'),
|
||||
s0 = (18.4, 'cal/mol/K')))
|
||||
s0 = (18.4, 'cal/mol/K') )
|
||||
)
|
||||
|
||||
species(name = 'c6B',
|
||||
atoms = 'H:2 C:1',
|
||||
thermo = const_cp(h0 = (40.9, 'kcal/mol'),
|
||||
s0 = (26.9, 'cal/mol/K')))
|
||||
s0 = (26.9, 'cal/mol/K') ) )
|
||||
|
||||
surface_reaction('c6HH + H <=> c6H* + H2', [1.3E14, 0.0, 7.3]) # a
|
||||
surface_reaction('c6H* + H <=> c6HH', [1.0E13, 0.0, 0.0]) # b
|
||||
surface_reaction('c6H* + CH3 <=> c6HM', [5.0E12, 0.0, 0.0]) # c
|
||||
surface_reaction('c6HM + H <=> c6*M + H2', [1.3E14, 0.0, 7.3]) # d
|
||||
surface_reaction('c6*M + H <=> c6HM', [1.0E13, 0.0, 0.0]) # e
|
||||
surface_reaction('c6HM + H <=> c6HM* + H2', [2.8E7, 2.0, 7.7]) # f
|
||||
surface_reaction('c6HM* + H <=> c6HM', [1.0E13, 0.0, 0.0]) # g
|
||||
surface_reaction('c6HM* <=> c6*M', [1.0E8, 0.0, 0.0]) # h
|
||||
surface_reaction('c6HM* + H <=> c6H* + CH3', [3.0E13, 0.0, 0.0]) # i
|
||||
surface_reaction('c6HM* + H <=> c6B + H2', [1.3E14, 0.0, 7.3]) # k
|
||||
surface_reaction('c6*M + H <=> c6B + H2', [2.8E7, 2.0, 7.7]) # l
|
||||
surface_reaction('c6HH + H <=> c6*H + H2', [1.3E14, 0.0, 7.3]) # m
|
||||
surface_reaction('c6*H + H <=> c6HH', [1.0E13, 0.0, 0.0]) # m
|
||||
surface_reaction('c6H* + H <=> c6** + H2', [1.3E14, 0.0, 7.3]) # o
|
||||
surface_reaction('c6** + H <=> c6H*', [1.0E13, 0.0, 0.0]) # p
|
||||
surface_reaction('c6*H + H <=> c6** + H2', [4.5E6, 2.0, 5.0]) # q
|
||||
surface_reaction('c6** + H <=> c6*H', [1.0E13, 0.0, 0.0]) # r
|
||||
surface_reaction('c6** + CH3 <=> c6*M', [5.0E12, 0.0, 0.0]) # s
|
||||
surface_reaction('c6H* <=> c6*H', [1.0E8, 0.0, 0.0]) # t
|
||||
|
||||
# reaction to add new carbon atom to bulk and regenerate a new site
|
||||
#
|
||||
surface_reaction('c6B => c6HH + C(d)', [1.0E9, 0.0, 0.0]) # u
|
||||
surface_reaction('c6HH + H <=> c6H* + H2', [1.3e14, 0.0, 7.3]) # a
|
||||
surface_reaction('c6H* + H <=> c6HH', [1.0e13, 0.0, 0.0]) # b
|
||||
surface_reaction('c6H* + CH3 <=> c6HM', [5.0e12, 0.0, 0.0]) # c
|
||||
surface_reaction('c6HM + H <=> c6*M + H2', [1.3e14, 0.0, 7.3]) # d
|
||||
surface_reaction('c6*M + H <=> c6HM', [1.0e13, 0.0, 0.0]) # e
|
||||
surface_reaction('c6HM + H <=> c6HM* + H2', [2.8e7, 2.0, 7.7]) # f
|
||||
surface_reaction('c6HM* + H <=> c6HM', [1.0e13, 0.0, 0.0]) # g
|
||||
surface_reaction('c6HM* <=> c6*M', [1.0e8, 0.0, 0.0]) # h
|
||||
surface_reaction('c6HM* + H <=> c6H* + CH3', [3.0e13, 0.0, 0.0]) # i
|
||||
surface_reaction('c6HM* + H <=> c6B + H2', [1.3e14, 0.0, 7.3]) # k
|
||||
surface_reaction('c6*M + H <=> c6B + H2', [2.8e7, 2.0, 7.7]) # l
|
||||
surface_reaction('c6HH + H <=> c6*H + H2', [1.3e14, 0.0, 7.3]) # m
|
||||
surface_reaction('c6*H + H <=> c6HH', [1.0e13, 0.0, 0.0]) # n
|
||||
surface_reaction('c6H* + H <=> c6** + H2', [1.3e14, 0.0, 7.3]) # o
|
||||
surface_reaction('c6** + H <=> c6H*', [1.0e13, 0.0, 0.0]) # p
|
||||
surface_reaction('c6*H + H <=> c6** + H2', [4.5e6, 2.0, 5.0]) # q
|
||||
surface_reaction('c6** + H <=> c6*H', [1.0e13, 0.0, 0.0]) # r
|
||||
surface_reaction('c6** + CH3 <=> c6*M', [5.0e12, 0.0, 0.0]) # s
|
||||
surface_reaction('c6H* <=> c6*H', [1.0e8, 0.0, 0.0]) # t
|
||||
surface_reaction('c6B => c6HH + C(d)', [1.0e9, 0.0, 0.0])
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -10,10 +10,10 @@ stoichiometric_solid(name = "graphite",
|
|||
species(name = "C(gr)",
|
||||
atoms = " C:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ -3.108720720E-01, 4.403536860E-03,
|
||||
NASA( [ 200.00, 1000.00], [ -3.108720720E-01, 4.403536860E-03,
|
||||
1.903941180E-06, -6.385469660E-09, 2.989642480E-12,
|
||||
-1.086507940E+02, 1.113829530E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 1.455718290E+00, 1.717022160E-03,
|
||||
NASA( [ 1000.00, 5000.00], [ 1.455718290E+00, 1.717022160E-03,
|
||||
-6.975627860E-07, 1.352770320E-10, -9.675906520E-15,
|
||||
-6.951388140E+02, -8.525830330E+00] )
|
||||
)
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ species(name = "O2",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.458,
|
||||
diam = 3.46,
|
||||
well_depth = 107.40,
|
||||
polar = 1.60,
|
||||
rot_relax = 3.80),
|
||||
|
|
@ -153,9 +153,9 @@ species(name = "H2O",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 2.605,
|
||||
diam = 2.60,
|
||||
well_depth = 572.40,
|
||||
dipole = 1.844,
|
||||
dipole = 1.84,
|
||||
rot_relax = 4.00),
|
||||
note = "L 8/89"
|
||||
)
|
||||
|
|
@ -172,7 +172,7 @@ species(name = "HO2",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.458,
|
||||
diam = 3.46,
|
||||
well_depth = 107.40,
|
||||
rot_relax = 1.00),
|
||||
note = "L 5/89"
|
||||
|
|
@ -190,7 +190,7 @@ species(name = "H2O2",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.458,
|
||||
diam = 3.46,
|
||||
well_depth = 107.40,
|
||||
rot_relax = 3.80),
|
||||
note = "L 7/88"
|
||||
|
|
@ -208,7 +208,7 @@ species(name = "C",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "atom",
|
||||
diam = 3.298,
|
||||
diam = 3.30,
|
||||
well_depth = 71.40),
|
||||
note = "L11/88"
|
||||
)
|
||||
|
|
@ -293,7 +293,7 @@ species(name = "CH4",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.746,
|
||||
diam = 3.75,
|
||||
well_depth = 141.40,
|
||||
polar = 2.60,
|
||||
rot_relax = 13.00),
|
||||
|
|
@ -331,7 +331,7 @@ species(name = "CO2",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.763,
|
||||
diam = 3.76,
|
||||
well_depth = 244.00,
|
||||
polar = 2.65,
|
||||
rot_relax = 2.10),
|
||||
|
|
@ -423,7 +423,7 @@ species(name = "CH3OH",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.626,
|
||||
diam = 3.63,
|
||||
well_depth = 481.80,
|
||||
rot_relax = 1.00),
|
||||
note = "L 8/88"
|
||||
|
|
@ -495,7 +495,7 @@ species(name = "C2H4",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.971,
|
||||
diam = 3.97,
|
||||
well_depth = 280.80,
|
||||
rot_relax = 1.50),
|
||||
note = "L 1/91"
|
||||
|
|
@ -513,7 +513,7 @@ species(name = "C2H5",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 4.302,
|
||||
diam = 4.30,
|
||||
well_depth = 252.30,
|
||||
rot_relax = 1.50),
|
||||
note = "L12/92"
|
||||
|
|
@ -531,7 +531,7 @@ species(name = "C2H6",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 4.302,
|
||||
diam = 4.30,
|
||||
well_depth = 252.30,
|
||||
rot_relax = 1.50),
|
||||
note = "L 8/88"
|
||||
|
|
@ -603,7 +603,7 @@ species(name = "N",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "atom",
|
||||
diam = 3.298,
|
||||
diam = 3.30,
|
||||
well_depth = 71.40),
|
||||
note = "L 6/88"
|
||||
)
|
||||
|
|
@ -676,7 +676,7 @@ species(name = "NNH",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.798,
|
||||
diam = 3.80,
|
||||
well_depth = 71.40,
|
||||
rot_relax = 1.00),
|
||||
note = "T07/93"
|
||||
|
|
@ -694,7 +694,7 @@ species(name = "NO",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.621,
|
||||
diam = 3.62,
|
||||
well_depth = 97.53,
|
||||
polar = 1.76,
|
||||
rot_relax = 4.00),
|
||||
|
|
@ -731,7 +731,7 @@ species(name = "N2O",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.828,
|
||||
diam = 3.83,
|
||||
well_depth = 232.40,
|
||||
rot_relax = 1.00),
|
||||
note = "L 7/88"
|
||||
|
|
@ -749,7 +749,7 @@ species(name = "HNO",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.492,
|
||||
diam = 3.49,
|
||||
well_depth = 116.70,
|
||||
rot_relax = 1.00),
|
||||
note = "And93"
|
||||
|
|
@ -767,7 +767,7 @@ species(name = "CN",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.856,
|
||||
diam = 3.86,
|
||||
well_depth = 75.00,
|
||||
rot_relax = 1.00),
|
||||
note = "HBH92"
|
||||
|
|
@ -839,7 +839,7 @@ species(name = "HCNO",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.828,
|
||||
diam = 3.83,
|
||||
well_depth = 232.40,
|
||||
rot_relax = 1.00),
|
||||
note = "BDEA94"
|
||||
|
|
@ -857,7 +857,7 @@ species(name = "HOCN",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.828,
|
||||
diam = 3.83,
|
||||
well_depth = 232.40,
|
||||
rot_relax = 1.00),
|
||||
note = "BDEA94"
|
||||
|
|
@ -875,7 +875,7 @@ species(name = "HNCO",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.828,
|
||||
diam = 3.83,
|
||||
well_depth = 232.40,
|
||||
rot_relax = 1.00),
|
||||
note = "BDEA94"
|
||||
|
|
@ -893,7 +893,7 @@ species(name = "NCO",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.828,
|
||||
diam = 3.83,
|
||||
well_depth = 232.40,
|
||||
rot_relax = 1.00),
|
||||
note = "EA 93"
|
||||
|
|
@ -911,7 +911,7 @@ species(name = "N2",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.621,
|
||||
diam = 3.62,
|
||||
well_depth = 97.53,
|
||||
polar = 1.76,
|
||||
rot_relax = 4.00),
|
||||
|
|
@ -947,7 +947,7 @@ species(name = "C3H7",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 4.982,
|
||||
diam = 4.98,
|
||||
well_depth = 266.80,
|
||||
rot_relax = 1.00),
|
||||
note = "L 9/84"
|
||||
|
|
@ -965,7 +965,7 @@ species(name = "C3H8",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 4.982,
|
||||
diam = 4.98,
|
||||
well_depth = 266.80,
|
||||
rot_relax = 1.00),
|
||||
note = "L 4/85"
|
||||
|
|
@ -2014,10 +2014,10 @@ reaction( "C2H3 + O2 <=> O + CH2CHO", [3.03000E+11, 0.29, 11])
|
|||
reaction( "C2H3 + O2 <=> HO2 + C2H2", [1.33700E+06, 1.61, -384])
|
||||
|
||||
# Reaction 296
|
||||
reaction( "O + CH3CHO <=> OH + CH2CHO", [2.920000E+12, 0, 1808])
|
||||
reaction( "O + CH3CHO <=> OH + CH2CHO", [5.84000E+12, 0, 1808])
|
||||
|
||||
# Reaction 297
|
||||
reaction( "O + CH3CHO => OH + CH3 + CO", [2.920000E+12, 0, 1808])
|
||||
reaction( "O + CH3CHO => OH + CH3 + CO", [5.84000E+12, 0, 1808])
|
||||
|
||||
# Reaction 298
|
||||
reaction( "O2 + CH3CHO => HO2 + CH3 + CO", [3.01000E+13, 0, 39150])
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
! GRI-Mech Version 3.0 7/30/99 CHEMKIN-II format
|
||||
! GRI-Mech Version 3.0 3/12/99 CHEMKIN-II format
|
||||
! See README30 file at anonymous FTP site unix.sri.com, directory gri;
|
||||
! WorldWideWeb home page http://www.me.berkeley.edu/gri_mech/ or
|
||||
! through http://www.gri.org , under 'Basic Research',
|
||||
|
|
@ -15,9 +15,221 @@ NH2 NH3 NNH NO NO2 N2O HNO CN
|
|||
HCN H2CN HCNN HCNO HOCN HNCO NCO N2
|
||||
AR C3H7 C3H8 CH2CHO CH3CHO
|
||||
END
|
||||
!THERMO
|
||||
! Insert GRI-Mech thermodynamics here or use in default file
|
||||
!END
|
||||
THERMO ALL
|
||||
300.000 1000.000 5000.000
|
||||
O L 1/90O 1 00 00 00G 200.000 3500.000 1000.000 1
|
||||
2.56942078E+00-8.59741137E-05 4.19484589E-08-1.00177799E-11 1.22833691E-15 2
|
||||
2.92175791E+04 4.78433864E+00 3.16826710E+00-3.27931884E-03 6.64306396E-06 3
|
||||
-6.12806624E-09 2.11265971E-12 2.91222592E+04 2.05193346E+00 4
|
||||
O2 TPIS89O 2 00 00 00G 200.000 3500.000 1000.000 1
|
||||
3.28253784E+00 1.48308754E-03-7.57966669E-07 2.09470555E-10-2.16717794E-14 2
|
||||
-1.08845772E+03 5.45323129E+00 3.78245636E+00-2.99673416E-03 9.84730201E-06 3
|
||||
-9.68129509E-09 3.24372837E-12-1.06394356E+03 3.65767573E+00 4
|
||||
H L 7/88H 1 00 00 00G 200.000 3500.000 1000.000 1
|
||||
2.50000001E+00-2.30842973E-11 1.61561948E-14-4.73515235E-18 4.98197357E-22 2
|
||||
2.54736599E+04-4.46682914E-01 2.50000000E+00 7.05332819E-13-1.99591964E-15 3
|
||||
2.30081632E-18-9.27732332E-22 2.54736599E+04-4.46682853E-01 4
|
||||
H2 TPIS78H 2 00 00 00G 200.000 3500.000 1000.000 1
|
||||
3.33727920E+00-4.94024731E-05 4.99456778E-07-1.79566394E-10 2.00255376E-14 2
|
||||
-9.50158922E+02-3.20502331E+00 2.34433112E+00 7.98052075E-03-1.94781510E-05 3
|
||||
2.01572094E-08-7.37611761E-12-9.17935173E+02 6.83010238E-01 4
|
||||
OH RUS 78O 1H 1 00 00G 200.000 3500.000 1000.000 1
|
||||
3.09288767E+00 5.48429716E-04 1.26505228E-07-8.79461556E-11 1.17412376E-14 2
|
||||
3.85865700E+03 4.47669610E+00 3.99201543E+00-2.40131752E-03 4.61793841E-06 3
|
||||
-3.88113333E-09 1.36411470E-12 3.61508056E+03-1.03925458E-01 4
|
||||
H2O L 8/89H 2O 1 00 00G 200.000 3500.000 1000.000 1
|
||||
3.03399249E+00 2.17691804E-03-1.64072518E-07-9.70419870E-11 1.68200992E-14 2
|
||||
-3.00042971E+04 4.96677010E+00 4.19864056E+00-2.03643410E-03 6.52040211E-06 3
|
||||
-5.48797062E-09 1.77197817E-12-3.02937267E+04-8.49032208E-01 4
|
||||
HO2 L 5/89H 1O 2 00 00G 200.000 3500.000 1000.000 1
|
||||
4.01721090E+00 2.23982013E-03-6.33658150E-07 1.14246370E-10-1.07908535E-14 2
|
||||
1.11856713E+02 3.78510215E+00 4.30179801E+00-4.74912051E-03 2.11582891E-05 3
|
||||
-2.42763894E-08 9.29225124E-12 2.94808040E+02 3.71666245E+00 4
|
||||
H2O2 L 7/88H 2O 2 00 00G 200.000 3500.000 1000.000 1
|
||||
4.16500285E+00 4.90831694E-03-1.90139225E-06 3.71185986E-10-2.87908305E-14 2
|
||||
-1.78617877E+04 2.91615662E+00 4.27611269E+00-5.42822417E-04 1.67335701E-05 3
|
||||
-2.15770813E-08 8.62454363E-12-1.77025821E+04 3.43505074E+00 4
|
||||
C L11/88C 1 00 00 00G 200.000 3500.000 1000.000 1
|
||||
2.49266888E+00 4.79889284E-05-7.24335020E-08 3.74291029E-11-4.87277893E-15 2
|
||||
8.54512953E+04 4.80150373E+00 2.55423955E+00-3.21537724E-04 7.33792245E-07 3
|
||||
-7.32234889E-10 2.66521446E-13 8.54438832E+04 4.53130848E+00 4
|
||||
CH TPIS79C 1H 1 00 00G 200.000 3500.000 1000.000 1
|
||||
2.87846473E+00 9.70913681E-04 1.44445655E-07-1.30687849E-10 1.76079383E-14 2
|
||||
7.10124364E+04 5.48497999E+00 3.48981665E+00 3.23835541E-04-1.68899065E-06 3
|
||||
3.16217327E-09-1.40609067E-12 7.07972934E+04 2.08401108E+00 4
|
||||
CH2 L S/93C 1H 2 00 00G 200.000 3500.000 1000.000 1
|
||||
2.87410113E+00 3.65639292E-03-1.40894597E-06 2.60179549E-10-1.87727567E-14 2
|
||||
4.62636040E+04 6.17119324E+00 3.76267867E+00 9.68872143E-04 2.79489841E-06 3
|
||||
-3.85091153E-09 1.68741719E-12 4.60040401E+04 1.56253185E+00 4
|
||||
CH2(S) L S/93C 1H 2 00 00G 200.000 3500.000 1000.000 1
|
||||
2.29203842E+00 4.65588637E-03-2.01191947E-06 4.17906000E-10-3.39716365E-14 2
|
||||
5.09259997E+04 8.62650169E+00 4.19860411E+00-2.36661419E-03 8.23296220E-06 3
|
||||
-6.68815981E-09 1.94314737E-12 5.04968163E+04-7.69118967E-01 4
|
||||
CH3 L11/89C 1H 3 00 00G 200.000 3500.000 1000.000 1
|
||||
2.28571772E+00 7.23990037E-03-2.98714348E-06 5.95684644E-10-4.67154394E-14 2
|
||||
1.67755843E+04 8.48007179E+00 3.67359040E+00 2.01095175E-03 5.73021856E-06 3
|
||||
-6.87117425E-09 2.54385734E-12 1.64449988E+04 1.60456433E+00 4
|
||||
CH4 L 8/88C 1H 4 00 00G 200.000 3500.000 1000.000 1
|
||||
7.48514950E-02 1.33909467E-02-5.73285809E-06 1.22292535E-09-1.01815230E-13 2
|
||||
-9.46834459E+03 1.84373180E+01 5.14987613E+00-1.36709788E-02 4.91800599E-05 3
|
||||
-4.84743026E-08 1.66693956E-11-1.02466476E+04-4.64130376E+00 4
|
||||
CO TPIS79C 1O 1 00 00G 200.000 3500.000 1000.000 1
|
||||
2.71518561E+00 2.06252743E-03-9.98825771E-07 2.30053008E-10-2.03647716E-14 2
|
||||
-1.41518724E+04 7.81868772E+00 3.57953347E+00-6.10353680E-04 1.01681433E-06 3
|
||||
9.07005884E-10-9.04424499E-13-1.43440860E+04 3.50840928E+00 4
|
||||
CO2 L 7/88C 1O 2 00 00G 200.000 3500.000 1000.000 1
|
||||
3.85746029E+00 4.41437026E-03-2.21481404E-06 5.23490188E-10-4.72084164E-14 2
|
||||
-4.87591660E+04 2.27163806E+00 2.35677352E+00 8.98459677E-03-7.12356269E-06 3
|
||||
2.45919022E-09-1.43699548E-13-4.83719697E+04 9.90105222E+00 4
|
||||
HCO L12/89H 1C 1O 1 00G 200.000 3500.000 1000.000 1
|
||||
2.77217438E+00 4.95695526E-03-2.48445613E-06 5.89161778E-10-5.33508711E-14 2
|
||||
4.01191815E+03 9.79834492E+00 4.22118584E+00-3.24392532E-03 1.37799446E-05 3
|
||||
-1.33144093E-08 4.33768865E-12 3.83956496E+03 3.39437243E+00 4
|
||||
CH2O L 8/88H 2C 1O 1 00G 200.000 3500.000 1000.000 1
|
||||
1.76069008E+00 9.20000082E-03-4.42258813E-06 1.00641212E-09-8.83855640E-14 2
|
||||
-1.39958323E+04 1.36563230E+01 4.79372315E+00-9.90833369E-03 3.73220008E-05 3
|
||||
-3.79285261E-08 1.31772652E-11-1.43089567E+04 6.02812900E-01 4
|
||||
CH2OH GUNL93C 1H 3O 1 00G 200.000 3500.000 1000.000 1
|
||||
3.69266569E+00 8.64576797E-03-3.75101120E-06 7.87234636E-10-6.48554201E-14 2
|
||||
-3.24250627E+03 5.81043215E+00 3.86388918E+00 5.59672304E-03 5.93271791E-06 3
|
||||
-1.04532012E-08 4.36967278E-12-3.19391367E+03 5.47302243E+00 4
|
||||
CH3O 121686C 1H 3O 1 G 0300.00 3000.00 1000.000 1
|
||||
0.03770799E+02 0.07871497E-01-0.02656384E-04 0.03944431E-08-0.02112616E-12 2
|
||||
0.12783252E+03 0.02929575E+02 0.02106204E+02 0.07216595E-01 0.05338472E-04 3
|
||||
-0.07377636E-07 0.02075610E-10 0.09786011E+04 0.13152177E+02 4
|
||||
CH3OH L 8/88C 1H 4O 1 00G 200.000 3500.000 1000.000 1
|
||||
1.78970791E+00 1.40938292E-02-6.36500835E-06 1.38171085E-09-1.17060220E-13 2
|
||||
-2.53748747E+04 1.45023623E+01 5.71539582E+00-1.52309129E-02 6.52441155E-05 3
|
||||
-7.10806889E-08 2.61352698E-11-2.56427656E+04-1.50409823E+00 4
|
||||
C2H L 1/91C 2H 1 00 00G 200.000 3500.000 1000.000 1
|
||||
3.16780652E+00 4.75221902E-03-1.83787077E-06 3.04190252E-10-1.77232770E-14 2
|
||||
6.71210650E+04 6.63589475E+00 2.88965733E+00 1.34099611E-02-2.84769501E-05 3
|
||||
2.94791045E-08-1.09331511E-11 6.68393932E+04 6.22296438E+00 4
|
||||
C2H2 L 1/91C 2H 2 00 00G 200.000 3500.000 1000.000 1
|
||||
4.14756964E+00 5.96166664E-03-2.37294852E-06 4.67412171E-10-3.61235213E-14 2
|
||||
2.59359992E+04-1.23028121E+00 8.08681094E-01 2.33615629E-02-3.55171815E-05 3
|
||||
2.80152437E-08-8.50072974E-12 2.64289807E+04 1.39397051E+01 4
|
||||
C2H3 L 2/92C 2H 3 00 00G 200.000 3500.000 1000.000 1
|
||||
3.01672400E+00 1.03302292E-02-4.68082349E-06 1.01763288E-09-8.62607041E-14 2
|
||||
3.46128739E+04 7.78732378E+00 3.21246645E+00 1.51479162E-03 2.59209412E-05 3
|
||||
-3.57657847E-08 1.47150873E-11 3.48598468E+04 8.51054025E+00 4
|
||||
C2H4 L 1/91C 2H 4 00 00G 200.000 3500.000 1000.000 1
|
||||
2.03611116E+00 1.46454151E-02-6.71077915E-06 1.47222923E-09-1.25706061E-13 2
|
||||
4.93988614E+03 1.03053693E+01 3.95920148E+00-7.57052247E-03 5.70990292E-05 3
|
||||
-6.91588753E-08 2.69884373E-11 5.08977593E+03 4.09733096E+00 4
|
||||
C2H5 L12/92C 2H 5 00 00G 200.000 3500.000 1000.000 1
|
||||
1.95465642E+00 1.73972722E-02-7.98206668E-06 1.75217689E-09-1.49641576E-13 2
|
||||
1.28575200E+04 1.34624343E+01 4.30646568E+00-4.18658892E-03 4.97142807E-05 3
|
||||
-5.99126606E-08 2.30509004E-11 1.28416265E+04 4.70720924E+00 4
|
||||
C2H6 L 8/88C 2H 6 00 00G 200.000 3500.000 1000.000 1
|
||||
1.07188150E+00 2.16852677E-02-1.00256067E-05 2.21412001E-09-1.90002890E-13 2
|
||||
-1.14263932E+04 1.51156107E+01 4.29142492E+00-5.50154270E-03 5.99438288E-05 3
|
||||
-7.08466285E-08 2.68685771E-11-1.15222055E+04 2.66682316E+00 4
|
||||
CH2CO L 5/90C 2H 2O 1 00G 200.000 3500.000 1000.000 1
|
||||
4.51129732E+00 9.00359745E-03-4.16939635E-06 9.23345882E-10-7.94838201E-14 2
|
||||
-7.55105311E+03 6.32247205E-01 2.13583630E+00 1.81188721E-02-1.73947474E-05 3
|
||||
9.34397568E-09-2.01457615E-12-7.04291804E+03 1.22156480E+01 4
|
||||
HCCO SRIC91H 1C 2O 1 G 0300.00 4000.00 1000.000 1
|
||||
0.56282058E+01 0.40853401E-02-0.15934547E-05 0.28626052E-09-0.19407832E-13 2
|
||||
0.19327215E+05-0.39302595E+01 0.22517214E+01 0.17655021E-01-0.23729101E-04 3
|
||||
0.17275759E-07-0.50664811E-11 0.20059449E+05 0.12490417E+02 4
|
||||
HCCOH SRI91C 2O 1H 20 0G 300.000 5000.000 1000.000 1
|
||||
0.59238291E+01 0.67923600E-02-0.25658564E-05 0.44987841E-09-0.29940101E-13 2
|
||||
0.72646260E+04-0.76017742E+01 0.12423733E+01 0.31072201E-01-0.50866864E-04 3
|
||||
0.43137131E-07-0.14014594E-10 0.80316143E+04 0.13874319E+02 4
|
||||
H2CN 41687H 2C 1N 1 G 0300.00 4000.000 1000.000 1
|
||||
0.52097030E+01 0.29692911E-02-0.28555891E-06-0.16355500E-09 0.30432589E-13 2
|
||||
0.27677109E+05-0.44444780E+01 0.28516610E+01 0.56952331E-02 0.10711400E-05 3
|
||||
-0.16226120E-08-0.23511081E-12 0.28637820E+05 0.89927511E+01 4
|
||||
HCN GRI/98H 1C 1N 1 0G 200.000 6000.000 1000.000 1
|
||||
0.38022392E+01 0.31464228E-02-0.10632185E-05 0.16619757E-09-0.97997570E-14 2
|
||||
0.14407292E+05 0.15754601E+01 0.22589886E+01 0.10051170E-01-0.13351763E-04 3
|
||||
0.10092349E-07-0.30089028E-11 0.14712633E+05 0.89164419E+01 4
|
||||
HNO And93 H 1N 1O 1 0G 200.000 6000.000 1000.000 1
|
||||
0.29792509E+01 0.34944059E-02-0.78549778E-06 0.57479594E-10-0.19335916E-15 2
|
||||
0.11750582E+05 0.86063728E+01 0.45334916E+01-0.56696171E-02 0.18473207E-04 3
|
||||
-0.17137094E-07 0.55454573E-11 0.11548297E+05 0.17498417E+01 4
|
||||
N L 6/88N 1 0 0 0G 200.000 6000.000 1000.000 1
|
||||
0.24159429E+01 0.17489065E-03-0.11902369E-06 0.30226245E-10-0.20360982E-14 2
|
||||
0.56133773E+05 0.46496096E+01 0.25000000E+01 0.00000000E+00 0.00000000E+00 3
|
||||
0.00000000E+00 0.00000000E+00 0.56104637E+05 0.41939087E+01 4
|
||||
NNH T07/93N 2H 1 00 00G 200.000 6000.000 1000.000 1
|
||||
0.37667544E+01 0.28915082E-02-0.10416620E-05 0.16842594E-09-0.10091896E-13 2
|
||||
0.28650697E+05 0.44705067E+01 0.43446927E+01-0.48497072E-02 0.20059459E-04 3
|
||||
-0.21726464E-07 0.79469539E-11 0.28791973E+05 0.29779410E+01 4
|
||||
N2O L 7/88N 2O 1 0 0G 200.000 6000.000 1000.000 1
|
||||
0.48230729E+01 0.26270251E-02-0.95850874E-06 0.16000712E-09-0.97752303E-14 2
|
||||
0.80734048E+04-0.22017207E+01 0.22571502E+01 0.11304728E-01-0.13671319E-04 3
|
||||
0.96819806E-08-0.29307182E-11 0.87417744E+04 0.10757992E+02 4
|
||||
NH And94 N 1H 1 0 0G 200.000 6000.000 1000.000 1
|
||||
0.27836928E+01 0.13298430E-02-0.42478047E-06 0.78348501E-10-0.55044470E-14 2
|
||||
0.42120848E+05 0.57407799E+01 0.34929085E+01 0.31179198E-03-0.14890484E-05 3
|
||||
0.24816442E-08-0.10356967E-11 0.41880629E+05 0.18483278E+01 4
|
||||
NH2 And89 N 1H 2 0 0G 200.000 6000.000 1000.000 1
|
||||
0.28347421E+01 0.32073082E-02-0.93390804E-06 0.13702953E-09-0.79206144E-14 2
|
||||
0.22171957E+05 0.65204163E+01 0.42040029E+01-0.21061385E-02 0.71068348E-05 3
|
||||
-0.56115197E-08 0.16440717E-11 0.21885910E+05-0.14184248E+00 4
|
||||
NH3 J 6/77N 1H 3 0 0G 200.000 6000.000 1000.000 1
|
||||
0.26344521E+01 0.56662560E-02-0.17278676E-05 0.23867161E-09-0.12578786E-13 2
|
||||
-0.65446958E+04 0.65662928E+01 0.42860274E+01-0.46605230E-02 0.21718513E-04 3
|
||||
-0.22808887E-07 0.82638046E-11-0.67417285E+04-0.62537277E+00 4
|
||||
NO RUS 78N 1O 1 0 0G 200.000 6000.000 1000.000 1
|
||||
0.32606056E+01 0.11911043E-02-0.42917048E-06 0.69457669E-10-0.40336099E-14 2
|
||||
0.99209746E+04 0.63693027E+01 0.42184763E+01-0.46389760E-02 0.11041022E-04 3
|
||||
-0.93361354E-08 0.28035770E-11 0.98446230E+04 0.22808464E+01 4
|
||||
NO2 L 7/88N 1O 2 0 0G 200.000 6000.000 1000.000 1
|
||||
0.48847542E+01 0.21723956E-02-0.82806906E-06 0.15747510E-09-0.10510895E-13 2
|
||||
0.23164983E+04-0.11741695E+00 0.39440312E+01-0.15854290E-02 0.16657812E-04 3
|
||||
-0.20475426E-07 0.78350564E-11 0.28966179E+04 0.63119917E+01 4
|
||||
HCNO BDEA94H 1N 1C 1O 1G 300.000 5000.000 1382.000 1
|
||||
6.59860456E+00 3.02778626E-03-1.07704346E-06 1.71666528E-10-1.01439391E-14 2
|
||||
1.79661339E+04-1.03306599E+01 2.64727989E+00 1.27505342E-02-1.04794236E-05 3
|
||||
4.41432836E-09-7.57521466E-13 1.92990252E+04 1.07332972E+01 4
|
||||
HOCN BDEA94H 1N 1C 1O 1G 300.000 5000.000 1368.000 1
|
||||
5.89784885E+00 3.16789393E-03-1.11801064E-06 1.77243144E-10-1.04339177E-14 2
|
||||
-3.70653331E+03-6.18167825E+00 3.78604952E+00 6.88667922E-03-3.21487864E-06 3
|
||||
5.17195767E-10 1.19360788E-14-2.82698400E+03 5.63292162E+00 4
|
||||
HNCO BDEA94H 1N 1C 1O 1G 300.000 5000.000 1478.000 1
|
||||
6.22395134E+00 3.17864004E-03-1.09378755E-06 1.70735163E-10-9.95021955E-15 2
|
||||
-1.66599344E+04-8.38224741E+00 3.63096317E+00 7.30282357E-03-2.28050003E-06 3
|
||||
-6.61271298E-10 3.62235752E-13-1.55873636E+04 6.19457727E+00 4
|
||||
NCO EA 93 N 1C 1O 1 0G 200.000 6000.000 1000.000 1
|
||||
0.51521845E+01 0.23051761E-02-0.88033153E-06 0.14789098E-09-0.90977996E-14 2
|
||||
0.14004123E+05-0.25442660E+01 0.28269308E+01 0.88051688E-02-0.83866134E-05 3
|
||||
0.48016964E-08-0.13313595E-11 0.14682477E+05 0.95504646E+01 4
|
||||
CN HBH92 C 1N 1 0 0G 200.000 6000.000 1000.000 1
|
||||
0.37459805E+01 0.43450775E-04 0.29705984E-06-0.68651806E-10 0.44134173E-14 2
|
||||
0.51536188E+05 0.27867601E+01 0.36129351E+01-0.95551327E-03 0.21442977E-05 3
|
||||
-0.31516323E-09-0.46430356E-12 0.51708340E+05 0.39804995E+01 4
|
||||
HCNN SRI/94C 1N 2H 10 0G 300.000 5000.000 1000.000 1
|
||||
0.58946362E+01 0.39895959E-02-0.15982380E-05 0.29249395E-09-0.20094686E-13 2
|
||||
0.53452941E+05-0.51030502E+01 0.25243194E+01 0.15960619E-01-0.18816354E-04 3
|
||||
0.12125540E-07-0.32357378E-11 0.54261984E+05 0.11675870E+02 4
|
||||
N2 121286N 2 G 300.000 5000.000 1000.000 1
|
||||
0.02926640E+02 0.14879768E-02-0.05684760E-05 0.10097038E-09-0.06753351E-13 2
|
||||
-0.09227977E+04 0.05980528E+02 0.03298677E+02 0.14082404E-02-0.03963222E-04 3
|
||||
0.05641515E-07-0.02444854E-10-0.10208999E+04 0.03950372E+02 4
|
||||
AR 120186AR 1 G 300.000 5000.000 1000.000 1
|
||||
0.02500000E+02 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 2
|
||||
-0.07453750E+04 0.04366000E+02 0.02500000E+02 0.00000000E+00 0.00000000E+00 3
|
||||
0.00000000E+00 0.00000000E+00-0.07453750E+04 0.04366000E+02 4
|
||||
C3H8 L 4/85C 3H 8 0 0G 300.000 5000.000 1000.00 1
|
||||
0.75341368E+01 0.18872239E-01-0.62718491E-05 0.91475649E-09-0.47838069E-13 2
|
||||
-0.16467516E+05-0.17892349E+02 0.93355381E+00 0.26424579E-01 0.61059727E-05 3
|
||||
-0.21977499E-07 0.95149253E-11-0.13958520E+05 0.19201691E+02 4
|
||||
C3H7 L 9/84C 3H 7 0 0G 300.000 5000.000 1000.00 1
|
||||
0.77026987E+01 0.16044203E-01-0.52833220E-05 0.76298590E-09-0.39392284E-13 2
|
||||
0.82984336E+04-0.15480180E+02 0.10515518E+01 0.25991980E-01 0.23800540E-05 3
|
||||
-0.19609569E-07 0.93732470E-11 0.10631863E+05 0.21122559E+02 4
|
||||
CH3CHO L 8/88C 2H 4O 1 0G 200.000 6000.000 1000.00 1
|
||||
0.54041108E+01 0.11723059E-01-0.42263137E-05 0.68372451E-09-0.40984863E-13 2
|
||||
-0.22593122E+05-0.34807917E+01 0.47294595E+01-0.31932858E-02 0.47534921E-04 3
|
||||
-0.57458611E-07 0.21931112E-10-0.21572878E+05 0.41030159E+01 4
|
||||
CH2CHO SAND86O 1H 3C 2 G 300.00 5000.00 1000.00 1
|
||||
0.05975670E+02 0.08130591E-01-0.02743624E-04 0.04070304E-08-0.02176017E-12 2
|
||||
0.04903218E+04-0.05045251E+02 0.03409062E+02 0.10738574E-01 0.01891492E-04 3
|
||||
-0.07158583E-07 0.02867385E-10 0.15214766E+04 0.09558290E+02 4
|
||||
END
|
||||
REACTIONS
|
||||
2O+M<=>O2+M 1.200E+17 -1.000 .00
|
||||
H2/ 2.40/ H2O/15.40/ CH4/ 2.00/ CO/ 1.75/ CO2/ 3.60/ C2H6/ 3.00/ AR/ .83/
|
||||
|
|
@ -404,8 +616,8 @@ CH2+CH2=>2H+C2H2 2.000E+14 .000 10989.00
|
|||
CH2(S)+H2O=>H2+CH2O 6.820E+10 .250 -935.00
|
||||
C2H3+O2<=>O+CH2CHO 3.030E+11 .290 11.00
|
||||
C2H3+O2<=>HO2+C2H2 1.337E+06 1.610 -384.00
|
||||
O+CH3CHO<=>OH+CH2CHO 2.920E+12 .000 1808.00
|
||||
O+CH3CHO=>OH+CH3+CO 2.920E+12 .000 1808.00
|
||||
O+CH3CHO<=>OH+CH2CHO 5.840E+12 .000 1808.00
|
||||
O+CH3CHO=>OH+CH3+CO 5.840E+12 .000 1808.00
|
||||
O2+CH3CHO=>HO2+CH3+CO 3.010E+13 .000 39150.00
|
||||
H+CH3CHO<=>CH2CHO+H2 2.050E+09 1.160 2405.00
|
||||
H+CH3CHO=>CH3+H2+CO 2.050E+09 1.160 2405.00
|
||||
|
|
|
|||
6213
data/inputs/gri30.xml
Normal file
6213
data/inputs/gri30.xml
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -16,6 +16,7 @@ ideal_gas(name = "gri30",
|
|||
HCN H2CN HCNN HCNO HOCN HNCO NCO N2 AR C3H7
|
||||
C3H8 CH2CHO CH3CHO """,
|
||||
reactions = "all",
|
||||
# kinetics = "GRI30",
|
||||
initial_state = state(temperature = 300.0,
|
||||
pressure = OneAtm) )
|
||||
|
||||
|
|
@ -28,6 +29,7 @@ ideal_gas(name = "gri30_mix",
|
|||
HCN H2CN HCNN HCNO HOCN HNCO NCO N2 AR C3H7
|
||||
C3H8 CH2CHO CH3CHO """,
|
||||
reactions = "all",
|
||||
# kinetics = "GRI30",
|
||||
transport = "Mix",
|
||||
initial_state = state(temperature = 300.0,
|
||||
pressure = OneAtm) )
|
||||
|
|
@ -42,6 +44,7 @@ ideal_gas(name = "gri30_multi",
|
|||
HCN H2CN HCNN HCNO HOCN HNCO NCO N2 AR C3H7
|
||||
C3H8 CH2CHO CH3CHO """,
|
||||
reactions = "all",
|
||||
# kinetics = "GRI30",
|
||||
transport = "Multi",
|
||||
initial_state = state(temperature = 300.0,
|
||||
pressure = OneAtm) )
|
||||
|
|
@ -117,7 +120,7 @@ species(name = "O2",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.458,
|
||||
diam = 3.46,
|
||||
well_depth = 107.40,
|
||||
polar = 1.60,
|
||||
rot_relax = 3.80),
|
||||
|
|
@ -153,9 +156,9 @@ species(name = "H2O",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 2.605,
|
||||
diam = 2.60,
|
||||
well_depth = 572.40,
|
||||
dipole = 1.844,
|
||||
dipole = 1.84,
|
||||
rot_relax = 4.00),
|
||||
note = "L 8/89"
|
||||
)
|
||||
|
|
@ -172,7 +175,7 @@ species(name = "HO2",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.458,
|
||||
diam = 3.46,
|
||||
well_depth = 107.40,
|
||||
rot_relax = 1.00),
|
||||
note = "L 5/89"
|
||||
|
|
@ -190,7 +193,7 @@ species(name = "H2O2",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.458,
|
||||
diam = 3.46,
|
||||
well_depth = 107.40,
|
||||
rot_relax = 3.80),
|
||||
note = "L 7/88"
|
||||
|
|
@ -208,7 +211,7 @@ species(name = "C",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "atom",
|
||||
diam = 3.298,
|
||||
diam = 3.30,
|
||||
well_depth = 71.40),
|
||||
note = "L11/88"
|
||||
)
|
||||
|
|
@ -293,7 +296,7 @@ species(name = "CH4",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.746,
|
||||
diam = 3.75,
|
||||
well_depth = 141.40,
|
||||
polar = 2.60,
|
||||
rot_relax = 13.00),
|
||||
|
|
@ -331,7 +334,7 @@ species(name = "CO2",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.763,
|
||||
diam = 3.76,
|
||||
well_depth = 244.00,
|
||||
polar = 2.65,
|
||||
rot_relax = 2.10),
|
||||
|
|
@ -423,7 +426,7 @@ species(name = "CH3OH",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.626,
|
||||
diam = 3.63,
|
||||
well_depth = 481.80,
|
||||
rot_relax = 1.00),
|
||||
note = "L 8/88"
|
||||
|
|
@ -495,7 +498,7 @@ species(name = "C2H4",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.971,
|
||||
diam = 3.97,
|
||||
well_depth = 280.80,
|
||||
rot_relax = 1.50),
|
||||
note = "L 1/91"
|
||||
|
|
@ -513,7 +516,7 @@ species(name = "C2H5",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 4.302,
|
||||
diam = 4.30,
|
||||
well_depth = 252.30,
|
||||
rot_relax = 1.50),
|
||||
note = "L12/92"
|
||||
|
|
@ -531,7 +534,7 @@ species(name = "C2H6",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 4.302,
|
||||
diam = 4.30,
|
||||
well_depth = 252.30,
|
||||
rot_relax = 1.50),
|
||||
note = "L 8/88"
|
||||
|
|
@ -603,7 +606,7 @@ species(name = "N",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "atom",
|
||||
diam = 3.298,
|
||||
diam = 3.30,
|
||||
well_depth = 71.40),
|
||||
note = "L 6/88"
|
||||
)
|
||||
|
|
@ -676,7 +679,7 @@ species(name = "NNH",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.798,
|
||||
diam = 3.80,
|
||||
well_depth = 71.40,
|
||||
rot_relax = 1.00),
|
||||
note = "T07/93"
|
||||
|
|
@ -694,7 +697,7 @@ species(name = "NO",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.621,
|
||||
diam = 3.62,
|
||||
well_depth = 97.53,
|
||||
polar = 1.76,
|
||||
rot_relax = 4.00),
|
||||
|
|
@ -731,7 +734,7 @@ species(name = "N2O",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.828,
|
||||
diam = 3.83,
|
||||
well_depth = 232.40,
|
||||
rot_relax = 1.00),
|
||||
note = "L 7/88"
|
||||
|
|
@ -749,7 +752,7 @@ species(name = "HNO",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.492,
|
||||
diam = 3.49,
|
||||
well_depth = 116.70,
|
||||
rot_relax = 1.00),
|
||||
note = "And93"
|
||||
|
|
@ -767,7 +770,7 @@ species(name = "CN",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.856,
|
||||
diam = 3.86,
|
||||
well_depth = 75.00,
|
||||
rot_relax = 1.00),
|
||||
note = "HBH92"
|
||||
|
|
@ -839,7 +842,7 @@ species(name = "HCNO",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.828,
|
||||
diam = 3.83,
|
||||
well_depth = 232.40,
|
||||
rot_relax = 1.00),
|
||||
note = "BDEA94"
|
||||
|
|
@ -857,7 +860,7 @@ species(name = "HOCN",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.828,
|
||||
diam = 3.83,
|
||||
well_depth = 232.40,
|
||||
rot_relax = 1.00),
|
||||
note = "BDEA94"
|
||||
|
|
@ -875,7 +878,7 @@ species(name = "HNCO",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.828,
|
||||
diam = 3.83,
|
||||
well_depth = 232.40,
|
||||
rot_relax = 1.00),
|
||||
note = "BDEA94"
|
||||
|
|
@ -893,7 +896,7 @@ species(name = "NCO",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.828,
|
||||
diam = 3.83,
|
||||
well_depth = 232.40,
|
||||
rot_relax = 1.00),
|
||||
note = "EA 93"
|
||||
|
|
@ -911,7 +914,7 @@ species(name = "N2",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.621,
|
||||
diam = 3.62,
|
||||
well_depth = 97.53,
|
||||
polar = 1.76,
|
||||
rot_relax = 4.00),
|
||||
|
|
@ -947,7 +950,7 @@ species(name = "C3H7",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 4.982,
|
||||
diam = 4.98,
|
||||
well_depth = 266.80,
|
||||
rot_relax = 1.00),
|
||||
note = "L 9/84"
|
||||
|
|
@ -965,7 +968,7 @@ species(name = "C3H8",
|
|||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 4.982,
|
||||
diam = 4.98,
|
||||
well_depth = 266.80,
|
||||
rot_relax = 1.00),
|
||||
note = "L 4/85"
|
||||
|
|
@ -2014,10 +2017,10 @@ reaction( "C2H3 + O2 <=> O + CH2CHO", [3.03000E+11, 0.29, 11])
|
|||
reaction( "C2H3 + O2 <=> HO2 + C2H2", [1.33700E+06, 1.61, -384])
|
||||
|
||||
# Reaction 296
|
||||
reaction( "O + CH3CHO <=> OH + CH2CHO", [2.920000E+12, 0, 1808])
|
||||
reaction( "O + CH3CHO <=> OH + CH2CHO", [5.84000E+12, 0, 1808])
|
||||
|
||||
# Reaction 297
|
||||
reaction( "O + CH3CHO => OH + CH3 + CO", [2.920000E+12, 0, 1808])
|
||||
reaction( "O + CH3CHO => OH + CH3 + CO", [5.84000E+12, 0, 1808])
|
||||
|
||||
# Reaction 298
|
||||
reaction( "O2 + CH3CHO => HO2 + CH3 + CO", [3.01000E+13, 0, 39150])
|
||||
|
|
|
|||
|
|
@ -1,231 +0,0 @@
|
|||
units(length='cm', time='s', quantity='mol', act_energy='cal/mol')
|
||||
|
||||
ideal_gas(name='gas',
|
||||
elements=' O H C N Ar E',
|
||||
species=['H2 O2 H2O CH4 CO CO2 N2',
|
||||
'''gri30: H O OH HO2 H2O2 C CH
|
||||
CH2 CH2(S) CH3 HCO CH2O CH2OH CH3O
|
||||
CH3OH C2H C2H2 C2H3 C2H4 C2H5 C2H6 HCCO CH2CO HCCOH
|
||||
N NH NH2 NH3 NNH NO NO2 N2O HNO CN
|
||||
HCN H2CN HCNN HCNO HOCN HNCO NCO AR C3H7
|
||||
C3H8 CH2CHO CH3CHO''',
|
||||
'HCO+ H3O+ E'],
|
||||
reactions=['gri30: all', 'all'],
|
||||
transport='Ion',
|
||||
options=['skip_undeclared_species', 'skip_undeclared_third_bodies'],
|
||||
initial_state=state(temperature=300.0, pressure=OneAtm))
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Species data
|
||||
#-------------------------------------------------------------------------------
|
||||
# The values of polarizability of H2, O2, H2O, CH4, CO, CO2, and N2 are from
|
||||
# the supplementary material of Han, Jie, et al. "Numerical modelling of ion
|
||||
# transport in flames." Combustion Theory and Modelling 19.6 (2015): 744-772.
|
||||
# DOI: 10.1080/13647830.2015.1090018
|
||||
|
||||
species(name = "H2",
|
||||
atoms = " H:2 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 2.344331120E+00, 7.980520750E-03,
|
||||
-1.947815100E-05, 2.015720940E-08, -7.376117610E-12,
|
||||
-9.179351730E+02, 6.830102380E-01] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 3.337279200E+00, -4.940247310E-05,
|
||||
4.994567780E-07, -1.795663940E-10, 2.002553760E-14,
|
||||
-9.501589220E+02, -3.205023310E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 2.92,
|
||||
well_depth = 38.00,
|
||||
polar = 0.455,
|
||||
rot_relax = 280.00),
|
||||
note = '''The value of polarizability is from the supplementary
|
||||
material of Han, Jie, et al. "Numerical modelling of ion
|
||||
transport in flames." Combustion Theory and Modelling
|
||||
19.6 (2015): 744-772. DOI: 10.1080/13647830.2015.1090018'''
|
||||
)
|
||||
|
||||
species(name = "O2",
|
||||
atoms = " O:2 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 3.782456360E+00, -2.996734160E-03,
|
||||
9.847302010E-06, -9.681295090E-09, 3.243728370E-12,
|
||||
-1.063943560E+03, 3.657675730E+00] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 3.282537840E+00, 1.483087540E-03,
|
||||
-7.579666690E-07, 2.094705550E-10, -2.167177940E-14,
|
||||
-1.088457720E+03, 5.453231290E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.458,
|
||||
well_depth = 107.40,
|
||||
polar = 1.131,
|
||||
rot_relax = 3.80),
|
||||
note = "TPIS89"
|
||||
)
|
||||
|
||||
species(name = "H2O",
|
||||
atoms = " H:2 O:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 4.198640560E+00, -2.036434100E-03,
|
||||
6.520402110E-06, -5.487970620E-09, 1.771978170E-12,
|
||||
-3.029372670E+04, -8.490322080E-01] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 3.033992490E+00, 2.176918040E-03,
|
||||
-1.640725180E-07, -9.704198700E-11, 1.682009920E-14,
|
||||
-3.000429710E+04, 4.966770100E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 2.605,
|
||||
well_depth = 572.40,
|
||||
dipole = 1.844,
|
||||
polar = 1.053,
|
||||
rot_relax = 4.00),
|
||||
note = "L 8/89"
|
||||
)
|
||||
|
||||
species(name = "CH4",
|
||||
atoms = " C:1 H:4 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 5.149876130E+00, -1.367097880E-02,
|
||||
4.918005990E-05, -4.847430260E-08, 1.666939560E-11,
|
||||
-1.024664760E+04, -4.641303760E+00] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 7.485149500E-02, 1.339094670E-02,
|
||||
-5.732858090E-06, 1.222925350E-09, -1.018152300E-13,
|
||||
-9.468344590E+03, 1.843731800E+01] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.746,
|
||||
well_depth = 141.40,
|
||||
polar = 2.60,
|
||||
rot_relax = 13.00),
|
||||
note = "L 8/88"
|
||||
)
|
||||
|
||||
species(name = "CO",
|
||||
atoms = " C:1 O:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 3.579533470E+00, -6.103536800E-04,
|
||||
1.016814330E-06, 9.070058840E-10, -9.044244990E-13,
|
||||
-1.434408600E+04, 3.508409280E+00] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 2.715185610E+00, 2.062527430E-03,
|
||||
-9.988257710E-07, 2.300530080E-10, -2.036477160E-14,
|
||||
-1.415187240E+04, 7.818687720E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.65,
|
||||
well_depth = 98.10,
|
||||
polar = 1.95,
|
||||
rot_relax = 1.80),
|
||||
note = "TPIS79"
|
||||
)
|
||||
|
||||
species(name = "CO2",
|
||||
atoms = " C:1 O:2 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 2.356773520E+00, 8.984596770E-03,
|
||||
-7.123562690E-06, 2.459190220E-09, -1.436995480E-13,
|
||||
-4.837196970E+04, 9.901052220E+00] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 3.857460290E+00, 4.414370260E-03,
|
||||
-2.214814040E-06, 5.234901880E-10, -4.720841640E-14,
|
||||
-4.875916600E+04, 2.271638060E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.763,
|
||||
well_depth = 244.00,
|
||||
polar = 2.65,
|
||||
rot_relax = 2.10),
|
||||
note = "L 7/88"
|
||||
)
|
||||
|
||||
species(name = "N2",
|
||||
atoms = " N:2 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 3.298677000E+00, 1.408240400E-03,
|
||||
-3.963222000E-06, 5.641515000E-09, -2.444854000E-12,
|
||||
-1.020899900E+03, 3.950372000E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 2.926640000E+00, 1.487976800E-03,
|
||||
-5.684760000E-07, 1.009703800E-10, -6.753351000E-15,
|
||||
-9.227977000E+02, 5.980528000E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.621,
|
||||
well_depth = 97.53,
|
||||
polar = 1.76,
|
||||
rot_relax = 4.00),
|
||||
note = "121286"
|
||||
)
|
||||
|
||||
species(name = 'HCO+',
|
||||
atoms = ' H:1 C:1 O:1 E:-1 ',
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 2.473973600E+00, 8.671559000E-03,
|
||||
-1.003150000E-05, 6.717052700E-09, -1.787267400E-12,
|
||||
9.914660800E+04, 8.175711870E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 3.741188000E+00, 3.344151700E-03,
|
||||
-1.239712100E-06, 2.118938800E-10, -1.370415000E-14,
|
||||
9.888407800E+04, 2.078613570E+00] )
|
||||
),
|
||||
transport=gas_transport(geom='linear',
|
||||
diam=3.59,
|
||||
well_depth=498.0,
|
||||
polar=1.356),
|
||||
note = '''The polarizability is from Han, Jie, et al.
|
||||
"Numerical modelling of ion transport in flames."
|
||||
,and the rest of the parameters are from its neutral
|
||||
counterpart HCO''')
|
||||
|
||||
species(name = 'H3O+',
|
||||
atoms = ' H:3 O:1 E:-1 ',
|
||||
thermo = (
|
||||
NASA( [ 298.15, 1000.00], [ 3.792952700E+00, -9.108540000E-04,
|
||||
1.163635490E-05, -1.213648870E-08, 4.261596630E-12,
|
||||
7.075124010E+04, 1.471568560E+00] ),
|
||||
NASA( [ 1000.00, 6000.00], [ 2.496477160E+00, 5.728449200E-03,
|
||||
-1.839532810E-06, 2.735774390E-10, -1.540939850E-14,
|
||||
7.097291130E+04, 7.458507790E+00] )
|
||||
),
|
||||
transport=gas_transport(geom='nonlinear',
|
||||
diam=3.15,
|
||||
well_depth=106.2,
|
||||
dipole=1.417,
|
||||
polar=0.897),
|
||||
note = '''The transport parameters are from Han, Jie, et al.
|
||||
"Numerical modelling of ion transport in flames."''')
|
||||
|
||||
species(name = 'E',
|
||||
atoms = ' E:1 ',
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-7.453750000E+02, -1.172469020E+01] ),
|
||||
NASA( [ 1000.00, 6000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-7.453750000E+02, -1.172469020E+01] )
|
||||
),
|
||||
transport=gas_transport(geom='atom',
|
||||
diam=2.05,
|
||||
well_depth=145.0,
|
||||
polar=0.667),
|
||||
note = 'The transport parameters are not used in IonGasTransport')
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Reaction data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
reaction('CH + O => HCO+ + E', [2.51E+11, 0.0, 1700])
|
||||
|
||||
reaction('HCO+ + H2O => H3O+ + CO', [1.51E+15, 0.0, 0.0])
|
||||
|
||||
reaction('H3O+ + E => H2O + H', [2.29E+18, -0.5, 0.0])
|
||||
|
||||
reaction('H3O+ + E => OH + H + H', [7.95E+21, -1.4, 0.0])
|
||||
|
||||
reaction('H3O+ + E => H2 + OH', [1.25E+19, -0.5, 0.0])
|
||||
|
||||
reaction('H3O+ + E => O + H2 + H', [6.0E+17, -0.3, 0.0])
|
||||
|
||||
692
data/inputs/gri30mod.inp
Normal file
692
data/inputs/gri30mod.inp
Normal file
|
|
@ -0,0 +1,692 @@
|
|||
! GRI-Mech Version 3.0 3/12/99 CHEMKIN-II format
|
||||
! See README30 file at anonymous FTP site unix.sri.com, directory gri;
|
||||
! WorldWideWeb home page http://www.me.berkeley.edu/gri_mech/ or
|
||||
! through http://www.gri.org , under 'Basic Research',
|
||||
! for additional information, contacts, and disclaimer
|
||||
ELEMENTS
|
||||
O H C N AR
|
||||
END
|
||||
SPECIES
|
||||
H2 H O O2 OH H2O HO2 H2O2
|
||||
C CH CH2 CH2(S) CH3 CH4 CO CO2
|
||||
HCO CH2O CH2OH CH3O CH3OH C2H C2H2 C2H3
|
||||
C2H4 C2H5 C2H6 HCCO CH2CO HCCOH N NH
|
||||
NH2 NH3 NNH NO NO2 N2O HNO CN
|
||||
HCN H2CN HCNN HCNO HOCN HNCO NCO N2
|
||||
AR C3H7 C3H8 CH2CHO CH3CHO
|
||||
END
|
||||
THERMO ALL
|
||||
300.000 1000.000 5000.000
|
||||
O L 1/90O 1 00 00 00G 200.000 3500.000 1000.000 1
|
||||
2.56942078E+00-8.59741137E-05 4.19484589E-08-1.00177799E-11 1.22833691E-15 2
|
||||
2.92175791E+04 4.78433864E+00 3.16826710E+00-3.27931884E-03 6.64306396E-06 3
|
||||
-6.12806624E-09 2.11265971E-12 2.91222592E+04 2.05193346E+00 4
|
||||
O2 TPIS89O 2 00 00 00G 200.000 3500.000 1000.000 1
|
||||
3.28253784E+00 1.48308754E-03-7.57966669E-07 2.09470555E-10-2.16717794E-14 2
|
||||
-1.08845772E+03 5.45323129E+00 3.78245636E+00-2.99673416E-03 9.84730201E-06 3
|
||||
-9.68129509E-09 3.24372837E-12-1.06394356E+03 3.65767573E+00 4
|
||||
H L 7/88H 1 00 00 00G 200.000 3500.000 1000.000 1
|
||||
2.50000001E+00-2.30842973E-11 1.61561948E-14-4.73515235E-18 4.98197357E-22 2
|
||||
2.54736599E+04-4.46682914E-01 2.50000000E+00 7.05332819E-13-1.99591964E-15 3
|
||||
2.30081632E-18-9.27732332E-22 2.54736599E+04-4.46682853E-01 4
|
||||
H2 TPIS78H 2 00 00 00G 200.000 3500.000 1000.000 1
|
||||
3.33727920E+00-4.94024731E-05 4.99456778E-07-1.79566394E-10 2.00255376E-14 2
|
||||
-9.50158922E+02-3.20502331E+00 2.34433112E+00 7.98052075E-03-1.94781510E-05 3
|
||||
2.01572094E-08-7.37611761E-12-9.17935173E+02 6.83010238E-01 4
|
||||
OH RUS 78O 1H 1 00 00G 200.000 3500.000 1000.000 1
|
||||
3.09288767E+00 5.48429716E-04 1.26505228E-07-8.79461556E-11 1.17412376E-14 2
|
||||
3.85865700E+03 4.47669610E+00 3.99201543E+00-2.40131752E-03 4.61793841E-06 3
|
||||
-3.88113333E-09 1.36411470E-12 3.61508056E+03-1.03925458E-01 4
|
||||
H2O L 8/89H 2O 1 00 00G 200.000 3500.000 1000.000 1
|
||||
3.03399249E+00 2.17691804E-03-1.64072518E-07-9.70419870E-11 1.68200992E-14 2
|
||||
-3.00042971E+04 4.96677010E+00 4.19864056E+00-2.03643410E-03 6.52040211E-06 3
|
||||
-5.48797062E-09 1.77197817E-12-3.02937267E+04-8.49032208E-01 4
|
||||
HO2 L 5/89H 1O 2 00 00G 200.000 3500.000 1000.000 1
|
||||
4.01721090E+00 2.23982013E-03-6.33658150E-07 1.14246370E-10-1.07908535E-14 2
|
||||
1.11856713E+02 3.78510215E+00 4.30179801E+00-4.74912051E-03 2.11582891E-05 3
|
||||
-2.42763894E-08 9.29225124E-12 2.94808040E+02 3.71666245E+00 4
|
||||
H2O2 L 7/88H 2O 2 00 00G 200.000 3500.000 1000.000 1
|
||||
4.16500285E+00 4.90831694E-03-1.90139225E-06 3.71185986E-10-2.87908305E-14 2
|
||||
-1.78617877E+04 2.91615662E+00 4.27611269E+00-5.42822417E-04 1.67335701E-05 3
|
||||
-2.15770813E-08 8.62454363E-12-1.77025821E+04 3.43505074E+00 4
|
||||
C L11/88C 1 00 00 00G 200.000 3500.000 1000.000 1
|
||||
2.49266888E+00 4.79889284E-05-7.24335020E-08 3.74291029E-11-4.87277893E-15 2
|
||||
8.54512953E+04 4.80150373E+00 2.55423955E+00-3.21537724E-04 7.33792245E-07 3
|
||||
-7.32234889E-10 2.66521446E-13 8.54438832E+04 4.53130848E+00 4
|
||||
CH TPIS79C 1H 1 00 00G 200.000 3500.000 1000.000 1
|
||||
2.87846473E+00 9.70913681E-04 1.44445655E-07-1.30687849E-10 1.76079383E-14 2
|
||||
7.10124364E+04 5.48497999E+00 3.48981665E+00 3.23835541E-04-1.68899065E-06 3
|
||||
3.16217327E-09-1.40609067E-12 7.07972934E+04 2.08401108E+00 4
|
||||
CH2 L S/93C 1H 2 00 00G 200.000 3500.000 1000.000 1
|
||||
2.87410113E+00 3.65639292E-03-1.40894597E-06 2.60179549E-10-1.87727567E-14 2
|
||||
4.62636040E+04 6.17119324E+00 3.76267867E+00 9.68872143E-04 2.79489841E-06 3
|
||||
-3.85091153E-09 1.68741719E-12 4.60040401E+04 1.56253185E+00 4
|
||||
CH2(S) L S/93C 1H 2 00 00G 200.000 3500.000 1000.000 1
|
||||
2.29203842E+00 4.65588637E-03-2.01191947E-06 4.17906000E-10-3.39716365E-14 2
|
||||
5.09259997E+04 8.62650169E+00 4.19860411E+00-2.36661419E-03 8.23296220E-06 3
|
||||
-6.68815981E-09 1.94314737E-12 5.04968163E+04-7.69118967E-01 4
|
||||
CH3 L11/89C 1H 3 00 00G 200.000 3500.000 1000.000 1
|
||||
2.28571772E+00 7.23990037E-03-2.98714348E-06 5.95684644E-10-4.67154394E-14 2
|
||||
1.67755843E+04 8.48007179E+00 3.67359040E+00 2.01095175E-03 5.73021856E-06 3
|
||||
-6.87117425E-09 2.54385734E-12 1.64449988E+04 1.60456433E+00 4
|
||||
CH4 L 8/88C 1H 4 00 00G 200.000 3500.000 1000.000 1
|
||||
7.48514950E-02 1.33909467E-02-5.73285809E-06 1.22292535E-09-1.01815230E-13 2
|
||||
-9.46834459E+03 1.84373180E+01 5.14987613E+00-1.36709788E-02 4.91800599E-05 3
|
||||
-4.84743026E-08 1.66693956E-11-1.02466476E+04-4.64130376E+00 4
|
||||
CO TPIS79C 1O 1 00 00G 200.000 3500.000 1000.000 1
|
||||
2.71518561E+00 2.06252743E-03-9.98825771E-07 2.30053008E-10-2.03647716E-14 2
|
||||
-1.41518724E+04 7.81868772E+00 3.57953347E+00-6.10353680E-04 1.01681433E-06 3
|
||||
9.07005884E-10-9.04424499E-13-1.43440860E+04 3.50840928E+00 4
|
||||
CO2 L 7/88C 1O 2 00 00G 200.000 3500.000 1000.000 1
|
||||
3.85746029E+00 4.41437026E-03-2.21481404E-06 5.23490188E-10-4.72084164E-14 2
|
||||
-4.87591660E+04 2.27163806E+00 2.35677352E+00 8.98459677E-03-7.12356269E-06 3
|
||||
2.45919022E-09-1.43699548E-13-4.83719697E+04 9.90105222E+00 4
|
||||
HCO L12/89H 1C 1O 1 00G 200.000 3500.000 1000.000 1
|
||||
2.77217438E+00 4.95695526E-03-2.48445613E-06 5.89161778E-10-5.33508711E-14 2
|
||||
4.01191815E+03 9.79834492E+00 4.22118584E+00-3.24392532E-03 1.37799446E-05 3
|
||||
-1.33144093E-08 4.33768865E-12 3.83956496E+03 3.39437243E+00 4
|
||||
CH2O L 8/88H 2C 1O 1 00G 200.000 3500.000 1000.000 1
|
||||
1.76069008E+00 9.20000082E-03-4.42258813E-06 1.00641212E-09-8.83855640E-14 2
|
||||
-1.39958323E+04 1.36563230E+01 4.79372315E+00-9.90833369E-03 3.73220008E-05 3
|
||||
-3.79285261E-08 1.31772652E-11-1.43089567E+04 6.02812900E-01 4
|
||||
CH2OH GUNL93C 1H 3O 1 00G 200.000 3500.000 1000.000 1
|
||||
3.69266569E+00 8.64576797E-03-3.75101120E-06 7.87234636E-10-6.48554201E-14 2
|
||||
-3.24250627E+03 5.81043215E+00 3.86388918E+00 5.59672304E-03 5.93271791E-06 3
|
||||
-1.04532012E-08 4.36967278E-12-3.19391367E+03 5.47302243E+00 4
|
||||
CH3O 121686C 1H 3O 1 G 0300.00 3000.00 1000.000 1
|
||||
0.03770799E+02 0.07871497E-01-0.02656384E-04 0.03944431E-08-0.02112616E-12 2
|
||||
0.12783252E+03 0.02929575E+02 0.02106204E+02 0.07216595E-01 0.05338472E-04 3
|
||||
-0.07377636E-07 0.02075610E-10 0.09786011E+04 0.13152177E+02 4
|
||||
CH3OH L 8/88C 1H 4O 1 00G 200.000 3500.000 1000.000 1
|
||||
1.78970791E+00 1.40938292E-02-6.36500835E-06 1.38171085E-09-1.17060220E-13 2
|
||||
-2.53748747E+04 1.45023623E+01 5.71539582E+00-1.52309129E-02 6.52441155E-05 3
|
||||
-7.10806889E-08 2.61352698E-11-2.56427656E+04-1.50409823E+00 4
|
||||
C2H L 1/91C 2H 1 00 00G 200.000 3500.000 1000.000 1
|
||||
3.16780652E+00 4.75221902E-03-1.83787077E-06 3.04190252E-10-1.77232770E-14 2
|
||||
6.71210650E+04 6.63589475E+00 2.88965733E+00 1.34099611E-02-2.84769501E-05 3
|
||||
2.94791045E-08-1.09331511E-11 6.68393932E+04 6.22296438E+00 4
|
||||
C2H2 L 1/91C 2H 2 00 00G 200.000 3500.000 1000.000 1
|
||||
4.14756964E+00 5.96166664E-03-2.37294852E-06 4.67412171E-10-3.61235213E-14 2
|
||||
2.59359992E+04-1.23028121E+00 8.08681094E-01 2.33615629E-02-3.55171815E-05 3
|
||||
2.80152437E-08-8.50072974E-12 2.64289807E+04 1.39397051E+01 4
|
||||
C2H3 L 2/92C 2H 3 00 00G 200.000 3500.000 1000.000 1
|
||||
3.01672400E+00 1.03302292E-02-4.68082349E-06 1.01763288E-09-8.62607041E-14 2
|
||||
3.46128739E+04 7.78732378E+00 3.21246645E+00 1.51479162E-03 2.59209412E-05 3
|
||||
-3.57657847E-08 1.47150873E-11 3.48598468E+04 8.51054025E+00 4
|
||||
C2H4 L 1/91C 2H 4 00 00G 200.000 3500.000 1000.000 1
|
||||
2.03611116E+00 1.46454151E-02-6.71077915E-06 1.47222923E-09-1.25706061E-13 2
|
||||
4.93988614E+03 1.03053693E+01 3.95920148E+00-7.57052247E-03 5.70990292E-05 3
|
||||
-6.91588753E-08 2.69884373E-11 5.08977593E+03 4.09733096E+00 4
|
||||
C2H5 L12/92C 2H 5 00 00G 200.000 3500.000 1000.000 1
|
||||
1.95465642E+00 1.73972722E-02-7.98206668E-06 1.75217689E-09-1.49641576E-13 2
|
||||
1.28575200E+04 1.34624343E+01 4.30646568E+00-4.18658892E-03 4.97142807E-05 3
|
||||
-5.99126606E-08 2.30509004E-11 1.28416265E+04 4.70720924E+00 4
|
||||
C2H6 L 8/88C 2H 6 00 00G 200.000 3500.000 1000.000 1
|
||||
1.07188150E+00 2.16852677E-02-1.00256067E-05 2.21412001E-09-1.90002890E-13 2
|
||||
-1.14263932E+04 1.51156107E+01 4.29142492E+00-5.50154270E-03 5.99438288E-05 3
|
||||
-7.08466285E-08 2.68685771E-11-1.15222055E+04 2.66682316E+00 4
|
||||
CH2CO L 5/90C 2H 2O 1 00G 200.000 3500.000 1000.000 1
|
||||
4.51129732E+00 9.00359745E-03-4.16939635E-06 9.23345882E-10-7.94838201E-14 2
|
||||
-7.55105311E+03 6.32247205E-01 2.13583630E+00 1.81188721E-02-1.73947474E-05 3
|
||||
9.34397568E-09-2.01457615E-12-7.04291804E+03 1.22156480E+01 4
|
||||
HCCO SRIC91H 1C 2O 1 G 0300.00 4000.00 1000.000 1
|
||||
0.56282058E+01 0.40853401E-02-0.15934547E-05 0.28626052E-09-0.19407832E-13 2
|
||||
0.19327215E+05-0.39302595E+01 0.22517214E+01 0.17655021E-01-0.23729101E-04 3
|
||||
0.17275759E-07-0.50664811E-11 0.20059449E+05 0.12490417E+02 4
|
||||
HCCOH SRI91C 2O 1H 20 0G 300.000 5000.000 1000.000 1
|
||||
0.59238291E+01 0.67923600E-02-0.25658564E-05 0.44987841E-09-0.29940101E-13 2
|
||||
0.72646260E+04-0.76017742E+01 0.12423733E+01 0.31072201E-01-0.50866864E-04 3
|
||||
0.43137131E-07-0.14014594E-10 0.80316143E+04 0.13874319E+02 4
|
||||
H2CN 41687H 2C 1N 1 G 0300.00 4000.000 1000.000 1
|
||||
0.52097030E+01 0.29692911E-02-0.28555891E-06-0.16355500E-09 0.30432589E-13 2
|
||||
0.27677109E+05-0.44444780E+01 0.28516610E+01 0.56952331E-02 0.10711400E-05 3
|
||||
-0.16226120E-08-0.23511081E-12 0.28637820E+05 0.89927511E+01 4
|
||||
HCN GRI/98H 1C 1N 1 0G 200.000 6000.000 1000.000 1
|
||||
0.38022392E+01 0.31464228E-02-0.10632185E-05 0.16619757E-09-0.97997570E-14 2
|
||||
0.14407292E+05 0.15754601E+01 0.22589886E+01 0.10051170E-01-0.13351763E-04 3
|
||||
0.10092349E-07-0.30089028E-11 0.14712633E+05 0.89164419E+01 4
|
||||
HNO And93 H 1N 1O 1 0G 200.000 6000.000 1000.000 1
|
||||
0.29792509E+01 0.34944059E-02-0.78549778E-06 0.57479594E-10-0.19335916E-15 2
|
||||
0.11750582E+05 0.86063728E+01 0.45334916E+01-0.56696171E-02 0.18473207E-04 3
|
||||
-0.17137094E-07 0.55454573E-11 0.11548297E+05 0.17498417E+01 4
|
||||
N L 6/88N 1 0 0 0G 200.000 6000.000 1000.000 1
|
||||
0.24159429E+01 0.17489065E-03-0.11902369E-06 0.30226245E-10-0.20360982E-14 2
|
||||
0.56133773E+05 0.46496096E+01 0.25000000E+01 0.00000000E+00 0.00000000E+00 3
|
||||
0.00000000E+00 0.00000000E+00 0.56104637E+05 0.41939087E+01 4
|
||||
NNH T07/93N 2H 1 00 00G 200.000 6000.000 1000.000 1
|
||||
0.37667544E+01 0.28915082E-02-0.10416620E-05 0.16842594E-09-0.10091896E-13 2
|
||||
0.28650697E+05 0.44705067E+01 0.43446927E+01-0.48497072E-02 0.20059459E-04 3
|
||||
-0.21726464E-07 0.79469539E-11 0.28791973E+05 0.29779410E+01 4
|
||||
N2O L 7/88N 2O 1 0 0G 200.000 6000.000 1000.000 1
|
||||
0.48230729E+01 0.26270251E-02-0.95850874E-06 0.16000712E-09-0.97752303E-14 2
|
||||
0.80734048E+04-0.22017207E+01 0.22571502E+01 0.11304728E-01-0.13671319E-04 3
|
||||
0.96819806E-08-0.29307182E-11 0.87417744E+04 0.10757992E+02 4
|
||||
NH And94 N 1H 1 0 0G 200.000 6000.000 1000.000 1
|
||||
0.27836928E+01 0.13298430E-02-0.42478047E-06 0.78348501E-10-0.55044470E-14 2
|
||||
0.42120848E+05 0.57407799E+01 0.34929085E+01 0.31179198E-03-0.14890484E-05 3
|
||||
0.24816442E-08-0.10356967E-11 0.41880629E+05 0.18483278E+01 4
|
||||
NH2 And89 N 1H 2 0 0G 200.000 6000.000 1000.000 1
|
||||
0.28347421E+01 0.32073082E-02-0.93390804E-06 0.13702953E-09-0.79206144E-14 2
|
||||
0.22171957E+05 0.65204163E+01 0.42040029E+01-0.21061385E-02 0.71068348E-05 3
|
||||
-0.56115197E-08 0.16440717E-11 0.21885910E+05-0.14184248E+00 4
|
||||
NH3 J 6/77N 1H 3 0 0G 200.000 6000.000 1000.000 1
|
||||
0.26344521E+01 0.56662560E-02-0.17278676E-05 0.23867161E-09-0.12578786E-13 2
|
||||
-0.65446958E+04 0.65662928E+01 0.42860274E+01-0.46605230E-02 0.21718513E-04 3
|
||||
-0.22808887E-07 0.82638046E-11-0.67417285E+04-0.62537277E+00 4
|
||||
NO RUS 78N 1O 1 0 0G 200.000 6000.000 1000.000 1
|
||||
0.32606056E+01 0.11911043E-02-0.42917048E-06 0.69457669E-10-0.40336099E-14 2
|
||||
0.99209746E+04 0.63693027E+01 0.42184763E+01-0.46389760E-02 0.11041022E-04 3
|
||||
-0.93361354E-08 0.28035770E-11 0.98446230E+04 0.22808464E+01 4
|
||||
NO2 L 7/88N 1O 2 0 0G 200.000 6000.000 1000.000 1
|
||||
0.48847542E+01 0.21723956E-02-0.82806906E-06 0.15747510E-09-0.10510895E-13 2
|
||||
0.23164983E+04-0.11741695E+00 0.39440312E+01-0.15854290E-02 0.16657812E-04 3
|
||||
-0.20475426E-07 0.78350564E-11 0.28966179E+04 0.63119917E+01 4
|
||||
HCNO BDEA94H 1N 1C 1O 1G 300.000 5000.000 1382.000 1
|
||||
6.59860456E+00 3.02778626E-03-1.07704346E-06 1.71666528E-10-1.01439391E-14 2
|
||||
1.79661339E+04-1.03306599E+01 2.64727989E+00 1.27505342E-02-1.04794236E-05 3
|
||||
4.41432836E-09-7.57521466E-13 1.92990252E+04 1.07332972E+01 4
|
||||
HOCN BDEA94H 1N 1C 1O 1G 300.000 5000.000 1368.000 1
|
||||
5.89784885E+00 3.16789393E-03-1.11801064E-06 1.77243144E-10-1.04339177E-14 2
|
||||
-3.70653331E+03-6.18167825E+00 3.78604952E+00 6.88667922E-03-3.21487864E-06 3
|
||||
5.17195767E-10 1.19360788E-14-2.82698400E+03 5.63292162E+00 4
|
||||
HNCO BDEA94H 1N 1C 1O 1G 300.000 5000.000 1478.000 1
|
||||
6.22395134E+00 3.17864004E-03-1.09378755E-06 1.70735163E-10-9.95021955E-15 2
|
||||
-1.66599344E+04-8.38224741E+00 3.63096317E+00 7.30282357E-03-2.28050003E-06 3
|
||||
-6.61271298E-10 3.62235752E-13-1.55873636E+04 6.19457727E+00 4
|
||||
NCO EA 93 N 1C 1O 1 0G 200.000 6000.000 1000.000 1
|
||||
0.51521845E+01 0.23051761E-02-0.88033153E-06 0.14789098E-09-0.90977996E-14 2
|
||||
0.14004123E+05-0.25442660E+01 0.28269308E+01 0.88051688E-02-0.83866134E-05 3
|
||||
0.48016964E-08-0.13313595E-11 0.14682477E+05 0.95504646E+01 4
|
||||
CN HBH92 C 1N 1 0 0G 200.000 6000.000 1000.000 1
|
||||
0.37459805E+01 0.43450775E-04 0.29705984E-06-0.68651806E-10 0.44134173E-14 2
|
||||
0.51536188E+05 0.27867601E+01 0.36129351E+01-0.95551327E-03 0.21442977E-05 3
|
||||
-0.31516323E-09-0.46430356E-12 0.51708340E+05 0.39804995E+01 4
|
||||
HCNN SRI/94C 1N 2H 10 0G 300.000 5000.000 1000.000 1
|
||||
0.58946362E+01 0.39895959E-02-0.15982380E-05 0.29249395E-09-0.20094686E-13 2
|
||||
0.53452941E+05-0.51030502E+01 0.25243194E+01 0.15960619E-01-0.18816354E-04 3
|
||||
0.12125540E-07-0.32357378E-11 0.54261984E+05 0.11675870E+02 4
|
||||
N2 121286N 2 G 300.000 5000.000 1000.000 1
|
||||
0.02926640E+02 0.14879768E-02-0.05684760E-05 0.10097038E-09-0.06753351E-13 2
|
||||
-0.09227977E+04 0.05980528E+02 0.03298677E+02 0.14082404E-02-0.03963222E-04 3
|
||||
0.05641515E-07-0.02444854E-10-0.10208999E+04 0.03950372E+02 4
|
||||
AR 120186AR 1 G 300.000 5000.000 1000.000 1
|
||||
0.02500000E+02 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 2
|
||||
-0.07453750E+04 0.04366000E+02 0.02500000E+02 0.00000000E+00 0.00000000E+00 3
|
||||
0.00000000E+00 0.00000000E+00-0.07453750E+04 0.04366000E+02 4
|
||||
C3H8 L 4/85C 3H 8 0 0G 300.000 5000.000 1000.00 1
|
||||
0.75341368E+01 0.18872239E-01-0.62718491E-05 0.91475649E-09-0.47838069E-13 2
|
||||
-0.16467516E+05-0.17892349E+02 0.93355381E+00 0.26424579E-01 0.61059727E-05 3
|
||||
-0.21977499E-07 0.95149253E-11-0.13958520E+05 0.19201691E+02 4
|
||||
C3H7 L 9/84C 3H 7 0 0G 300.000 5000.000 1000.00 1
|
||||
0.77026987E+01 0.16044203E-01-0.52833220E-05 0.76298590E-09-0.39392284E-13 2
|
||||
0.82984336E+04-0.15480180E+02 0.10515518E+01 0.25991980E-01 0.23800540E-05 3
|
||||
-0.19609569E-07 0.93732470E-11 0.10631863E+05 0.21122559E+02 4
|
||||
CH3CHO L 8/88C 2H 4O 1 0G 200.000 6000.000 1000.00 1
|
||||
0.54041108E+01 0.11723059E-01-0.42263137E-05 0.68372451E-09-0.40984863E-13 2
|
||||
-0.22593122E+05-0.34807917E+01 0.47294595E+01-0.31932858E-02 0.47534921E-04 3
|
||||
-0.57458611E-07 0.21931112E-10-0.21572878E+05 0.41030159E+01 4
|
||||
CH2CHO SAND86O 1H 3C 2 G 300.00 5000.00 1000.00 1
|
||||
0.05975670E+02 0.08130591E-01-0.02743624E-04 0.04070304E-08-0.02176017E-12 2
|
||||
0.04903218E+04-0.05045251E+02 0.03409062E+02 0.10738574E-01 0.01891492E-04 3
|
||||
-0.07158583E-07 0.02867385E-10 0.15214766E+04 0.09558290E+02 4
|
||||
END
|
||||
REACTIONS
|
||||
2O+M<=>O2+M 1.200E+17 -1.000 .00
|
||||
H2/ 2.40/ H2O/15.40/ CH4/ 2.00/ CO/ 1.75/ CO2/ 3.60/ C2H6/ 3.00/ AR/ .83/
|
||||
O+H+M<=>OH+M 5.000E+17 -1.000 .00
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
O+H2<=>H+OH 3.870E+04 2.700 6260.00
|
||||
O+HO2<=>OH+O2 2.000E+13 .000 .00
|
||||
!% (O) + (H)(O2) = (O)(H) + (O2)
|
||||
O+H2O2<=>OH+HO2 9.630E+06 2.000 4000.00
|
||||
O+CH<=>H+CO 5.700E+13 .000 .00
|
||||
O+CH2<=>H+HCO 8.000E+13 .000 .00
|
||||
O+CH2(S)<=>H2+CO 1.500E+13 .000 .00
|
||||
O+CH2(S)<=>H+HCO 1.500E+13 .000 .00
|
||||
O+CH3<=>H+CH2O 5.060E+13 .000 .00
|
||||
O+CH4<=>OH+CH3 1.020E+09 1.500 8600.00
|
||||
O+CO(+M)<=>CO2(+M) 1.800E+10 .000 2385.00
|
||||
LOW/ 6.020E+14 .000 3000.00/
|
||||
H2/2.00/ O2/6.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/3.50/ C2H6/3.00/ AR/ .50/
|
||||
O+HCO<=>OH+CO 3.000E+13 .000 .00
|
||||
O+HCO<=>H+CO2 3.000E+13 .000 .00
|
||||
O+CH2O<=>OH+HCO 3.900E+13 .000 3540.00
|
||||
O+CH2OH<=>OH+CH2O 1.000E+13 .000 .00
|
||||
O+CH3O<=>OH+CH2O 1.000E+13 .000 .00
|
||||
O+CH3OH<=>OH+CH2OH 3.880E+05 2.500 3100.00
|
||||
O+CH3OH<=>OH+CH3O 1.300E+05 2.500 5000.00
|
||||
O+C2H<=>CH+CO 5.000E+13 .000 .00
|
||||
O+C2H2<=>H+HCCO 1.350E+07 2.000 1900.00
|
||||
O+C2H2<=>OH+C2H 4.600E+19 -1.410 28950.00
|
||||
O+C2H2<=>CO+CH2 6.940E+06 2.000 1900.00
|
||||
O+C2H3<=>H+CH2CO 3.000E+13 .000 .00
|
||||
O+C2H4<=>CH3+HCO 1.250E+07 1.830 220.00
|
||||
O+C2H5<=>CH3+CH2O 2.240E+13 .000 .00
|
||||
O+C2H6<=>OH+C2H5 8.980E+07 1.920 5690.00
|
||||
O+HCCO<=>H+2CO 1.000E+14 .000 .00
|
||||
!% (O) + (H)(C)(C-O) = (H) + (C)(O) + (C-O)
|
||||
O+CH2CO<=>OH+HCCO 1.000E+13 .000 8000.00
|
||||
O+CH2CO<=>CH2+CO2 1.750E+12 .000 1350.00
|
||||
O2+CO<=>O+CO2 2.500E+12 .000 47800.00
|
||||
O2+CH2O<=>HO2+HCO 1.000E+14 .000 40000.00
|
||||
H+O2+M<=>HO2+M 2.800E+18 -.860 .00
|
||||
O2/ .00/ H2O/ .00/ CO/ .75/ CO2/1.50/ C2H6/1.50/ N2/ .00/ AR/ .00/
|
||||
H+2O2<=>HO2+O2 2.080E+19 -1.240 .00
|
||||
H+O2+H2O<=>HO2+H2O 11.26E+18 -.760 .00
|
||||
H+O2+N2<=>HO2+N2 2.600E+19 -1.240 .00
|
||||
H+O2+AR<=>HO2+AR 7.000E+17 -.800 .00
|
||||
H+O2<=>O+OH 2.650E+16 -.6707 17041.00
|
||||
2H+M<=>H2+M 1.000E+18 -1.000 .00
|
||||
H2/ .00/ H2O/ .00/ CH4/2.00/ CO2/ .00/ C2H6/3.00/ AR/ .63/
|
||||
2H+H2<=>2H2 9.000E+16 -.600 .00
|
||||
2H+H2O<=>H2+H2O 6.000E+19 -1.250 .00
|
||||
2H+CO2<=>H2+CO2 5.500E+20 -2.000 .00
|
||||
H+OH+M<=>H2O+M 2.200E+22 -2.000 .00
|
||||
H2/ .73/ H2O/3.65/ CH4/2.00/ C2H6/3.00/ AR/ .38/
|
||||
H+HO2<=>O+H2O 3.970E+12 .000 671.00
|
||||
H+HO2<=>O2+H2 4.480E+13 .000 1068.00
|
||||
H+HO2<=>2OH 0.840E+14 .000 635.00
|
||||
H+H2O2<=>HO2+H2 1.210E+07 2.000 5200.00
|
||||
H+H2O2<=>OH+H2O 1.000E+13 .000 3600.00
|
||||
!% (H) + (O-H)(O-H) = (H)(O-H) + (O-H)
|
||||
H+CH<=>C+H2 1.650E+14 .000 .00
|
||||
H+CH2(+M)<=>CH3(+M) 6.000E+14 .000 .00
|
||||
LOW / 1.040E+26 -2.760 1600.00/
|
||||
TROE/ .5620 91.00 5836.00 8552.00/
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
H+CH2(S)<=>CH+H2 3.000E+13 .000 .00
|
||||
H+CH3(+M)<=>CH4(+M) 13.90E+15 -.534 536.00
|
||||
LOW / 2.620E+33 -4.760 2440.00/
|
||||
TROE/ .7830 74.00 2941.00 6964.00 /
|
||||
H2/2.00/ H2O/6.00/ CH4/3.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
H+CH4<=>CH3+H2 6.600E+08 1.620 10840.00
|
||||
H+HCO(+M)<=>CH2O(+M) 1.090E+12 .480 -260.00
|
||||
LOW / 2.470E+24 -2.570 425.00/
|
||||
TROE/ .7824 271.00 2755.00 6570.00 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
H+HCO<=>H2+CO 7.340E+13 .000 .00
|
||||
H+CH2O(+M)<=>CH2OH(+M) 5.400E+11 .454 3600.00
|
||||
LOW / 1.270E+32 -4.820 6530.00/
|
||||
TROE/ .7187 103.00 1291.00 4160.00 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/
|
||||
H+CH2O(+M)<=>CH3O(+M) 5.400E+11 .454 2600.00
|
||||
LOW / 2.200E+30 -4.800 5560.00/
|
||||
TROE/ .7580 94.00 1555.00 4200.00 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/
|
||||
H+CH2O<=>HCO+H2 5.740E+07 1.900 2742.00
|
||||
H+CH2OH(+M)<=>CH3OH(+M) 1.055E+12 .500 86.00
|
||||
LOW / 4.360E+31 -4.650 5080.00/
|
||||
TROE/ .600 100.00 90000.0 10000.0 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/
|
||||
H+CH2OH<=>H2+CH2O 2.000E+13 .000 .00
|
||||
H+CH2OH<=>OH+CH3 1.650E+11 .650 -284.00
|
||||
!% (H) + (H2-C)(O-H) = (H)(H2-C) + (O-H)
|
||||
H+CH2OH<=>CH2(S)+H2O 3.280E+13 -.090 610.00
|
||||
H+CH3O(+M)<=>CH3OH(+M) 2.430E+12 .515 50.00
|
||||
LOW / 4.660E+41 -7.440 14080.0/
|
||||
TROE/ .700 100.00 90000.0 10000.00 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/
|
||||
H+CH3O<=>H+CH2OH 4.150E+07 1.630 1924.00
|
||||
H+CH3O<=>H2+CH2O 2.000E+13 .000 .00
|
||||
H+CH3O<=>OH+CH3 1.500E+12 .500 -110.00
|
||||
H+CH3O<=>CH2(S)+H2O 2.620E+14 -.230 1070.00
|
||||
H+CH3OH<=>CH2OH+H2 1.700E+07 2.100 4870.00
|
||||
H+CH3OH<=>CH3O+H2 4.200E+06 2.100 4870.00
|
||||
H+C2H(+M)<=>C2H2(+M) 1.000E+17 -1.000 .00
|
||||
LOW / 3.750E+33 -4.800 1900.00/
|
||||
TROE/ .6464 132.00 1315.00 5566.00 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
H+C2H2(+M)<=>C2H3(+M) 5.600E+12 .000 2400.00
|
||||
LOW / 3.800E+40 -7.270 7220.00/
|
||||
TROE/ .7507 98.50 1302.00 4167.00 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
H+C2H3(+M)<=>C2H4(+M) 6.080E+12 .270 280.00
|
||||
LOW / 1.400E+30 -3.860 3320.00/
|
||||
TROE/ .7820 207.50 2663.00 6095.00 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
H+C2H3<=>H2+C2H2 3.000E+13 .000 .00
|
||||
H+C2H4(+M)<=>C2H5(+M) 0.540E+12 .454 1820.00
|
||||
LOW / 0.600E+42 -7.620 6970.00/
|
||||
TROE/ .9753 210.00 984.00 4374.00 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
H+C2H4<=>C2H3+H2 1.325E+06 2.530 12240.00
|
||||
H+C2H5(+M)<=>C2H6(+M) 5.210E+17 -.990 1580.00
|
||||
LOW / 1.990E+41 -7.080 6685.00/
|
||||
TROE/ .8422 125.00 2219.00 6882.00 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
H+C2H5<=>H2+C2H4 2.000E+12 .000 .00
|
||||
H+C2H6<=>C2H5+H2 1.150E+08 1.900 7530.00
|
||||
H+HCCO<=>CH2(S)+CO 1.000E+14 .000 .00
|
||||
H+CH2CO<=>HCCO+H2 5.000E+13 .000 8000.00
|
||||
H+CH2CO<=>CH3+CO 1.130E+13 .000 3428.00
|
||||
H+HCCOH<=>H+CH2CO 1.000E+13 .000 .00
|
||||
H2+CO(+M)<=>CH2O(+M) 4.300E+07 1.500 79600.00
|
||||
LOW / 5.070E+27 -3.420 84350.00/
|
||||
TROE/ .9320 197.00 1540.00 10300.00 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
OH+H2<=>H+H2O 2.160E+08 1.510 3430.00
|
||||
2OH(+M)<=>H2O2(+M) 7.400E+13 -.370 .00
|
||||
LOW / 2.300E+18 -.900 -1700.00/
|
||||
TROE/ .7346 94.00 1756.00 5182.00 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
2OH<=>O+H2O 3.570E+04 2.400 -2110.00
|
||||
OH+HO2<=>O2+H2O 1.450E+13 .000 -500.00
|
||||
DUPLICATE
|
||||
OH+H2O2<=>HO2+H2O 2.000E+12 .000 427.00
|
||||
DUPLICATE
|
||||
OH+H2O2<=>HO2+H2O 1.700E+18 .000 29410.00
|
||||
DUPLICATE
|
||||
OH+C<=>H+CO 5.000E+13 .000 .00
|
||||
OH+CH<=>H+HCO 3.000E+13 .000 .00
|
||||
OH+CH2<=>H+CH2O 2.000E+13 .000 .00
|
||||
OH+CH2<=>CH+H2O 1.130E+07 2.000 3000.00
|
||||
OH+CH2(S)<=>H+CH2O 3.000E+13 .000 .00
|
||||
OH+CH3(+M)<=>CH3OH(+M) 2.790E+18 -1.430 1330.00
|
||||
LOW / 4.000E+36 -5.920 3140.00/
|
||||
TROE/ .4120 195.0 5900.00 6394.00/
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/
|
||||
OH+CH3<=>CH2+H2O 5.600E+07 1.600 5420.00
|
||||
OH+CH3<=>CH2(S)+H2O 6.440E+17 -1.340 1417.00
|
||||
OH+CH4<=>CH3+H2O 1.000E+08 1.600 3120.00
|
||||
OH+CO<=>H+CO2 4.760E+07 1.228 70.00
|
||||
OH+HCO<=>H2O+CO 5.000E+13 .000 .00
|
||||
OH+CH2O<=>HCO+H2O 3.430E+09 1.180 -447.00
|
||||
OH+CH2OH<=>H2O+CH2O 5.000E+12 .000 .00
|
||||
OH+CH3O<=>H2O+CH2O 5.000E+12 .000 .00
|
||||
OH+CH3OH<=>CH2OH+H2O 1.440E+06 2.000 -840.00
|
||||
OH+CH3OH<=>CH3O+H2O 6.300E+06 2.000 1500.00
|
||||
OH+C2H<=>H+HCCO 2.000E+13 .000 .00
|
||||
OH+C2H2<=>H+CH2CO 2.180E-04 4.500 -1000.00
|
||||
OH+C2H2<=>H+HCCOH 5.040E+05 2.300 13500.00
|
||||
OH+C2H2<=>C2H+H2O 3.370E+07 2.000 14000.00
|
||||
OH+C2H2<=>CH3+CO 4.830E-04 4.000 -2000.00
|
||||
OH+C2H3<=>H2O+C2H2 5.000E+12 .000 .00
|
||||
OH+C2H4<=>C2H3+H2O 3.600E+06 2.000 2500.00
|
||||
OH+C2H6<=>C2H5+H2O 3.540E+06 2.120 870.00
|
||||
OH+CH2CO<=>HCCO+H2O 7.500E+12 .000 2000.00
|
||||
2HO2<=>O2+H2O2 1.300E+11 .000 -1630.00
|
||||
DUPLICATE
|
||||
2HO2<=>O2+H2O2 4.200E+14 .000 12000.00
|
||||
DUPLICATE
|
||||
HO2+CH2<=>OH+CH2O 2.000E+13 .000 .00
|
||||
HO2+CH3<=>O2+CH4 1.000E+12 .000 .00
|
||||
HO2+CH3<=>OH+CH3O 3.780E+13 .000 .00
|
||||
HO2+CO<=>OH+CO2 1.500E+14 .000 23600.00
|
||||
HO2+CH2O<=>HCO+H2O2 5.600E+06 2.000 12000.00
|
||||
C+O2<=>O+CO 5.800E+13 .000 576.00
|
||||
C+CH2<=>H+C2H 5.000E+13 .000 .00
|
||||
C+CH3<=>H+C2H2 5.000E+13 .000 .00
|
||||
CH+O2<=>O+HCO 6.710E+13 .000 .00
|
||||
CH+H2<=>H+CH2 1.080E+14 .000 3110.00
|
||||
CH+H2O<=>H+CH2O 5.710E+12 .000 -755.00
|
||||
CH+CH2<=>H+C2H2 4.000E+13 .000 .00
|
||||
!% (H-C) + (H-C)(H) = (H-C)(H-C) + (H) ! uncertain
|
||||
CH+CH3<=>H+C2H3 3.000E+13 .000 .00
|
||||
!% (H-C) + (H2-C)(H) = (H-C)(H2-C) + (H) ! uncertain
|
||||
CH+CH4<=>H+C2H4 6.000E+13 .000 .00
|
||||
!% (H-C) + (H3-C)(H) = (H-C)(H3-C) + (H) ! uncertain
|
||||
CH+CO(+M)<=>HCCO(+M) 5.000E+13 .000 .00
|
||||
LOW / 2.690E+28 -3.740 1936.00/
|
||||
TROE/ .5757 237.00 1652.00 5069.00 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
CH+CO2<=>HCO+CO 1.900E+14 .000 15792.00
|
||||
CH+CH2O<=>H+CH2CO 9.460E+13 .000 -515.00
|
||||
!% (O-H2-C) + (C)(H) = (O-H2-C)(C) + (H) ! uncertain
|
||||
CH+HCCO<=>CO+C2H2 5.000E+13 .000 .00
|
||||
CH2+O2=>OH+H+CO 5.000E+12 .000 1500.00
|
||||
CH2+H2<=>H+CH3 5.000E+05 2.000 7230.00
|
||||
2CH2<=>H2+C2H2 1.600E+15 .000 11944.00
|
||||
CH2+CH3<=>H+C2H4 4.000E+13 .000 .00
|
||||
!% (H2-C) + (H2-C)(H) = (H2-C)(H2-C) + (H)
|
||||
CH2+CH4<=>2CH3 2.460E+06 2.000 8270.00
|
||||
CH2+CO(+M)<=>CH2CO(+M) 8.100E+11 .500 4510.00
|
||||
LOW / 2.690E+33 -5.110 7095.00/
|
||||
TROE/ .5907 275.00 1226.00 5185.00 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
CH2+HCCO<=>C2H3+CO 3.000E+13 .000 .00
|
||||
CH2(S)+N2<=>CH2+N2 1.500E+13 .000 600.00
|
||||
CH2(S)+AR<=>CH2+AR 9.000E+12 .000 600.00
|
||||
CH2(S)+O2<=>H+OH+CO 2.800E+13 .000 .00
|
||||
CH2(S)+O2<=>CO+H2O 1.200E+13 .000 .00
|
||||
CH2(S)+H2<=>CH3+H 7.000E+13 .000 .00
|
||||
CH2(S)+H2O(+M)<=>CH3OH(+M) 4.820E+17 -1.160 1145.00
|
||||
LOW / 1.880E+38 -6.360 5040.00/
|
||||
TROE/ .6027 208.00 3922.00 10180.0 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/
|
||||
CH2(S)+H2O<=>CH2+H2O 3.000E+13 .000 .00
|
||||
CH2(S)+CH3<=>H+C2H4 1.200E+13 .000 -570.00
|
||||
CH2(S)+CH4<=>2CH3 1.600E+13 .000 -570.00
|
||||
!% (H2-C) + (H2-C)(H) = (H2-C)(H2-C) + (H)
|
||||
CH2(S)+CO<=>CH2+CO 9.000E+12 .000 .00
|
||||
CH2(S)+CO2<=>CH2+CO2 7.000E+12 .000 .00
|
||||
CH2(S)+CO2<=>CO+CH2O 1.400E+13 .000 .00
|
||||
CH2(S)+C2H6<=>CH3+C2H5 4.000E+13 .000 -550.00
|
||||
CH3+O2<=>O+CH3O 3.560E+13 .000 30480.00
|
||||
CH3+O2<=>OH+CH2O 2.310E+12 .000 20315.00
|
||||
CH3+H2O2<=>HO2+CH4 2.450E+04 2.470 5180.00
|
||||
2CH3(+M)<=>C2H6(+M) 6.770E+16 -1.180 654.00
|
||||
LOW / 3.400E+41 -7.030 2762.00/
|
||||
TROE/ .6190 73.20 1180.00 9999.00 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
2CH3<=>H+C2H5 6.840E+12 .100 10600.00
|
||||
CH3+HCO<=>CH4+CO 2.648E+13 .000 .00
|
||||
CH3+CH2O<=>HCO+CH4 3.320E+03 2.810 5860.00
|
||||
CH3+CH3OH<=>CH2OH+CH4 3.000E+07 1.500 9940.00
|
||||
CH3+CH3OH<=>CH3O+CH4 1.000E+07 1.500 9940.00
|
||||
CH3+C2H4<=>C2H3+CH4 2.270E+05 2.000 9200.00
|
||||
CH3+C2H6<=>C2H5+CH4 6.140E+06 1.740 10450.00
|
||||
HCO+H2O<=>H+CO+H2O 1.500E+18 -1.000 17000.00
|
||||
HCO+M<=>H+CO+M 1.870E+17 -1.000 17000.00
|
||||
H2/2.00/ H2O/ .00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/
|
||||
HCO+O2<=>HO2+CO 13.45E+12 .000 400.00
|
||||
CH2OH+O2<=>HO2+CH2O 1.800E+13 .000 900.00
|
||||
CH3O+O2<=>HO2+CH2O 4.280E-13 7.600 -3530.00
|
||||
C2H+O2<=>HCO+CO 1.000E+13 .000 -755.00
|
||||
C2H+H2<=>H+C2H2 5.680E+10 0.900 1993.00
|
||||
C2H3+O2<=>HCO+CH2O 4.580E+16 -1.390 1015.00
|
||||
C2H4(+M)<=>H2+C2H2(+M) 8.000E+12 .440 86770.00
|
||||
LOW / 1.580E+51 -9.300 97800.00/
|
||||
TROE/ .7345 180.00 1035.00 5417.00 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
C2H5+O2<=>HO2+C2H4 8.400E+11 .000 3875.00
|
||||
HCCO+O2<=>OH+2CO 3.200E+12 .000 854.00
|
||||
!% (H)(C)(C-O) + (O)(O) = (O)(H) + (C)(O) + (C-O)
|
||||
2HCCO<=>2CO+C2H2 1.000E+13 .000 .00
|
||||
!% (H-C)(C-O) + (H-C)(C-O) = (C-O) + (C-O) + (H-C)(H-C)
|
||||
N+NO<=>N2+O 2.700E+13 .000 355.00
|
||||
N+O2<=>NO+O 9.000E+09 1.000 6500.00
|
||||
N+OH<=>NO+H 3.360E+13 .000 385.00
|
||||
N2O+O<=>N2+O2 1.400E+12 .000 10810.00
|
||||
N2O+O<=>2NO 2.900E+13 .000 23150.00
|
||||
N2O+H<=>N2+OH 3.870E+14 .000 18880.00
|
||||
N2O+OH<=>N2+HO2 2.000E+12 .000 21060.00
|
||||
N2O(+M)<=>N2+O(+M) 7.910E+10 .000 56020.00
|
||||
LOW / 6.370E+14 .000 56640.00/
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .625/
|
||||
HO2+NO<=>NO2+OH 2.110E+12 .000 -480.00
|
||||
NO+O+M<=>NO2+M 1.060E+20 -1.410 .00
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
NO2+O<=>NO+O2 3.900E+12 .000 -240.00
|
||||
NO2+H<=>NO+OH 1.320E+14 .000 360.00
|
||||
NH+O<=>NO+H 4.000E+13 .000 .00
|
||||
NH+H<=>N+H2 3.200E+13 .000 330.00
|
||||
NH+OH<=>HNO+H 2.000E+13 .000 .00
|
||||
NH+OH<=>N+H2O 2.000E+09 1.200 .00
|
||||
NH+O2<=>HNO+O 4.610E+05 2.000 6500.00
|
||||
NH+O2<=>NO+OH 1.280E+06 1.500 100.00
|
||||
NH+N<=>N2+H 1.500E+13 .000 .00
|
||||
NH+H2O<=>HNO+H2 2.000E+13 .000 13850.00
|
||||
NH+NO<=>N2+OH 2.160E+13 -.230 .00
|
||||
NH+NO<=>N2O+H 3.650E+14 -.450 .00
|
||||
NH2+O<=>OH+NH 3.000E+12 .000 .00
|
||||
NH2+O<=>H+HNO 3.900E+13 .000 .00
|
||||
NH2+H<=>NH+H2 4.000E+13 .000 3650.00
|
||||
NH2+OH<=>NH+H2O 9.000E+07 1.500 -460.00
|
||||
NNH<=>N2+H 3.300E+08 .000 .00
|
||||
NNH+M<=>N2+H+M 1.300E+14 -.110 4980.00
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
NNH+O2<=>HO2+N2 5.000E+12 .000 .00
|
||||
NNH+O<=>OH+N2 2.500E+13 .000 .00
|
||||
NNH+O<=>NH+NO 7.000E+13 .000 .00
|
||||
NNH+H<=>H2+N2 5.000E+13 .000 .00
|
||||
NNH+OH<=>H2O+N2 2.000E+13 .000 .00
|
||||
NNH+CH3<=>CH4+N2 2.500E+13 .000 .00
|
||||
H+NO+M<=>HNO+M 4.480E+19 -1.320 740.00
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
HNO+O<=>NO+OH 2.500E+13 .000 .00
|
||||
HNO+H<=>H2+NO 9.000E+11 .720 660.00
|
||||
HNO+OH<=>NO+H2O 1.300E+07 1.900 -950.00
|
||||
HNO+O2<=>HO2+NO 1.000E+13 .000 13000.00
|
||||
CN+O<=>CO+N 7.700E+13 .000 .00
|
||||
CN+OH<=>NCO+H 4.000E+13 .000 .00
|
||||
CN+H2O<=>HCN+OH 8.000E+12 .000 7460.00
|
||||
CN+O2<=>NCO+O 6.140E+12 .000 -440.00
|
||||
CN+H2<=>HCN+H 2.950E+05 2.450 2240.00
|
||||
NCO+O<=>NO+CO 2.350E+13 .000 .00
|
||||
!% (O) + (N)(O-C) = (O)(N) + (O-C)
|
||||
NCO+H<=>NH+CO 5.400E+13 .000 .00
|
||||
NCO+OH<=>NO+H+CO 0.250E+13 .000 .00
|
||||
!% (N)(C-O) + (O)(H) = (N)(O) + (C-O) + (H)
|
||||
NCO+N<=>N2+CO 2.000E+13 .000 .00
|
||||
NCO+O2<=>NO+CO2 2.000E+12 .000 20000.00
|
||||
NCO+M<=>N+CO+M 3.100E+14 .000 54050.00
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
NCO+NO<=>N2O+CO 1.900E+17 -1.520 740.00
|
||||
NCO+NO<=>N2+CO2 3.800E+18 -2.000 800.00
|
||||
HCN+M<=>H+CN+M 1.040E+29 -3.300 126600.00
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
HCN+O<=>NCO+H 2.030E+04 2.640 4980.00
|
||||
HCN+O<=>NH+CO 5.070E+03 2.640 4980.00
|
||||
HCN+O<=>CN+OH 3.910E+09 1.580 26600.00
|
||||
HCN+OH<=>HOCN+H 1.100E+06 2.030 13370.00
|
||||
!% (O-H) + (C-N)(H) = (O-H)(C-N) + (H)
|
||||
HCN+OH<=>HNCO+H 4.400E+03 2.260 6400.00
|
||||
!% (H-C-N) + (O)(H) = (H-C-N)(O) + (H)
|
||||
HCN+OH<=>NH2+CO 1.600E+02 2.560 9000.00
|
||||
H+HCN(+M)<=>H2CN(+M) 3.300E+13 .000 .00
|
||||
LOW / 1.400E+26 -3.400 1900.00/
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
H2CN+N<=>N2+CH2 6.000E+13 .000 400.00
|
||||
C+N2<=>CN+N 6.300E+13 .000 46020.00
|
||||
CH+N2<=>HCN+N 3.120E+09 0.880 20130.00
|
||||
CH+N2(+M)<=>HCNN(+M) 3.100E+12 .150 .00
|
||||
LOW / 1.300E+25 -3.160 740.00/
|
||||
TROE/ .6670 235.00 2117.00 4536.00 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ 1.0/
|
||||
CH2+N2<=>HCN+NH 1.000E+13 .000 74000.00
|
||||
CH2(S)+N2<=>NH+HCN 1.000E+11 .000 65000.00
|
||||
C+NO<=>CN+O 1.900E+13 .000 .00
|
||||
C+NO<=>CO+N 2.900E+13 .000 .00
|
||||
CH+NO<=>HCN+O 4.100E+13 .000 .00
|
||||
CH+NO<=>H+NCO 1.620E+13 .000 .00
|
||||
CH+NO<=>N+HCO 2.460E+13 .000 .00
|
||||
CH2+NO<=>H+HNCO 3.100E+17 -1.380 1270.00
|
||||
CH2+NO<=>OH+HCN 2.900E+14 -.690 760.00
|
||||
CH2+NO<=>H+HCNO 3.800E+13 -.360 580.00
|
||||
CH2(S)+NO<=>H+HNCO 3.100E+17 -1.380 1270.00
|
||||
CH2(S)+NO<=>OH+HCN 2.900E+14 -.690 760.00
|
||||
CH2(S)+NO<=>H+HCNO 3.800E+13 -.360 580.00
|
||||
CH3+NO<=>HCN+H2O 9.600E+13 .000 28800.00
|
||||
CH3+NO<=>H2CN+OH 1.000E+12 .000 21750.00
|
||||
HCNN+O<=>CO+H+N2 2.200E+13 .000 .00
|
||||
HCNN+O<=>HCN+NO 2.000E+12 .000 .00
|
||||
HCNN+O2<=>O+HCO+N2 1.200E+13 .000 .00
|
||||
HCNN+OH<=>H+HCO+N2 1.200E+13 .000 .00
|
||||
!% (H)(C)(N2) + (O-H) = (H) + (C)(O-H) + (N2)
|
||||
HCNN+H<=>CH2+N2 1.000E+14 .000 .00
|
||||
HNCO+O<=>NH+CO2 9.800E+07 1.410 8500.00
|
||||
HNCO+O<=>HNO+CO 1.500E+08 1.570 44000.00
|
||||
!% (O) + (H-N)(O-C) = (O)(H-N) + (O-C)
|
||||
HNCO+O<=>NCO+OH 2.200E+06 2.110 11400.00
|
||||
HNCO+H<=>NH2+CO 2.250E+07 1.700 3800.00
|
||||
HNCO+H<=>H2+NCO 1.050E+05 2.500 13300.00
|
||||
HNCO+OH<=>NCO+H2O 3.300E+07 1.500 3600.00
|
||||
HNCO+OH<=>NH2+CO2 3.300E+06 1.500 3600.00
|
||||
HNCO+M<=>NH+CO+M 1.180E+16 .000 84720.00
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
HCNO+H<=>H+HNCO 2.100E+15 -.690 2850.00
|
||||
HCNO+H<=>OH+HCN 2.700E+11 .180 2120.00
|
||||
!% (H) + (C-N)(O-H) = (H)(C-N) + (O-H)
|
||||
HCNO+H<=>NH2+CO 1.700E+14 -.750 2890.00
|
||||
HOCN+H<=>H+HNCO 2.000E+07 2.000 2000.00
|
||||
HCCO+NO<=>HCNO+CO 0.900E+13 .000 .00
|
||||
CH3+N<=>H2CN+H 6.100E+14 -.310 290.00
|
||||
CH3+N<=>HCN+H2 3.700E+12 .150 -90.00
|
||||
NH3+H<=>NH2+H2 5.400E+05 2.400 9915.00
|
||||
NH3+OH<=>NH2+H2O 5.000E+07 1.600 955.00
|
||||
NH3+O<=>NH2+OH 9.400E+06 1.940 6460.00
|
||||
NH+CO2<=>HNO+CO 1.000E+13 .000 14350.00
|
||||
CN+NO2<=>NCO+NO 6.160E+15 -0.752 345.00
|
||||
NCO+NO2<=>N2O+CO2 3.250E+12 .000 -705.00
|
||||
!% (N)(C-O) + (N-O)(O) = (N)(N-O) + (C-O)(O)
|
||||
N+CO2<=>NO+CO 3.000E+12 .000 11300.00
|
||||
O+CH3=>H+H2+CO 3.370E+13 .000 .00
|
||||
O+C2H4<=>H+CH2CHO 6.700E+06 1.830 220.00
|
||||
O+C2H5<=>H+CH3CHO 1.096E+14 .000 .00
|
||||
OH+HO2<=>O2+H2O 0.500E+16 .000 17330.00
|
||||
DUPLICATE
|
||||
OH+CH3=>H2+CH2O 8.000E+09 .500 -1755.00
|
||||
CH+H2(+M)<=>CH3(+M) 1.970E+12 .430 -370.00
|
||||
LOW/ 4.820E+25 -2.80 590.0 /
|
||||
TROE/ .578 122.0 2535.0 9365.0 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
CH2+O2=>2H+CO2 5.800E+12 .000 1500.00
|
||||
CH2+O2<=>O+CH2O 2.400E+12 .000 1500.00
|
||||
CH2+CH2=>2H+C2H2 2.000E+14 .000 10989.00
|
||||
!% (H)(C-H) + (H)(C-H) = (H) + (H) + (C-H)(C-H)
|
||||
CH2(S)+H2O=>H2+CH2O 6.820E+10 .250 -935.00
|
||||
C2H3+O2<=>O+CH2CHO 3.030E+11 .290 11.00
|
||||
C2H3+O2<=>HO2+C2H2 1.337E+06 1.610 -384.00
|
||||
O+CH3CHO<=>OH+CH2CHO 5.840E+12 .000 1808.00
|
||||
O+CH3CHO=>OH+CH3+CO 5.840E+12 .000 1808.00
|
||||
!% (O) + (C-H3)(C-O)(H) = (H)(O) + (C-O) + (C-H3)
|
||||
O2+CH3CHO=>HO2+CH3+CO 3.010E+13 .000 39150.00
|
||||
!% (O2) + (C-H3)(C-O)(H) = (H)(O2) + (C-O) + (C-H3)
|
||||
H+CH3CHO<=>CH2CHO+H2 2.050E+09 1.160 2405.00
|
||||
H+CH3CHO=>CH3+H2+CO 2.050E+09 1.160 2405.00
|
||||
!% (H) + (C-H3)(H)(C-O) = (H)(H) + (C-O) + (C-H3)
|
||||
OH+CH3CHO=>CH3+H2O+CO 2.343E+10 0.730 -1113.00
|
||||
!% (O-H) + (C-H3)(H)(C-O) = (H)(O-H) + (C-O) + (C-H3)
|
||||
HO2+CH3CHO=>CH3+H2O2+CO 3.010E+12 .000 11923.00
|
||||
!% (O-H2) + (C-H3)(H)(C-O) = (H)(O-H2) + (C-O) + (C-H3)
|
||||
CH3+CH3CHO=>CH3+CH4+CO 2.720E+06 1.770 5920.00
|
||||
!% (C-H3) + (C-H3)(H)(C-O) = (H)(C-H3) + (C-O) + (C-H3)
|
||||
H+CH2CO(+M)<=>CH2CHO(+M) 4.865E+11 0.422 -1755.00
|
||||
LOW/ 1.012E+42 -7.63 3854.0/
|
||||
TROE/ 0.465 201.0 1773.0 5333.0 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
O+CH2CHO=>H+CH2+CO2 1.500E+14 .000 .00
|
||||
O2+CH2CHO=>OH+CO+CH2O 1.810E+10 .000 .00
|
||||
!% (O)(O) + (C-H2)(C-O)(H) = (O)(H) + (C-H2)(O) + (C-O)
|
||||
O2+CH2CHO=>OH+2HCO 2.350E+10 .000 .00
|
||||
!% (O)(O) + (C-H)(C-H-O)(H) = (O)(H) + (C-H)(O) + (C-H-O)
|
||||
H+CH2CHO<=>CH3+HCO 2.200E+13 .000 .00
|
||||
H+CH2CHO<=>CH2CO+H2 1.100E+13 .000 .00
|
||||
OH+CH2CHO<=>H2O+CH2CO 1.200E+13 .000 .00
|
||||
OH+CH2CHO<=>HCO+CH2OH 3.010E+13 .000 .00
|
||||
!% (O-H) + (H2-C)(O-H-C) = (O-H)(H2-C) + (O-H-C)
|
||||
CH3+C2H5(+M)<=>C3H8(+M) .9430E+13 .000 .00
|
||||
LOW/ 2.710E+74 -16.82 13065.0 /
|
||||
TROE/ .1527 291.0 2742.0 7748.0 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
O+C3H8<=>OH+C3H7 1.930E+05 2.680 3716.00
|
||||
H+C3H8<=>C3H7+H2 1.320E+06 2.540 6756.00
|
||||
OH+C3H8<=>C3H7+H2O 3.160E+07 1.800 934.00
|
||||
C3H7+H2O2<=>HO2+C3H8 3.780E+02 2.720 1500.00
|
||||
CH3+C3H8<=>C3H7+CH4 0.903E+00 3.650 7154.00
|
||||
CH3+C2H4(+M)<=>C3H7(+M) 2.550E+06 1.600 5700.00
|
||||
LOW/ 3.00E+63 -14.6 18170./
|
||||
TROE/ .1894 277.0 8748.0 7891.0 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
O+C3H7<=>C2H5+CH2O 9.640E+13 .000 .00
|
||||
H+C3H7(+M)<=>C3H8(+M) 3.613E+13 .000 .00
|
||||
LOW/ 4.420E+61 -13.545 11357.0/
|
||||
TROE/ .315 369.0 3285.0 6667.0 /
|
||||
H2/2.00/ H2O/6.00/ CH4/2.00/ CO/1.50/ CO2/2.00/ C2H6/3.00/ AR/ .70/
|
||||
H+C3H7<=>CH3+C2H5 4.060E+06 2.190 890.00
|
||||
OH+C3H7<=>C2H5+CH2OH 2.410E+13 .000 .00
|
||||
HO2+C3H7<=>O2+C3H8 2.550E+10 0.255 -943.00
|
||||
HO2+C3H7=>OH+C2H5+CH2O 2.410E+13 .000 .00
|
||||
!% (O-H)(O) + (C2-H5)(C-H2) = (O-H) + (C2-H5) + (O)(C-H2)
|
||||
CH3+C3H7<=>2C2H5 1.927E+13 -0.320 .00
|
||||
END
|
||||
|
|
@ -1,169 +1,177 @@
|
|||
THERMO
|
||||
! GRI-Mech Version 3.0 3/12/99 CHEMKIN-II format
|
||||
! See README30 file at anonymous FTP site unix.sri.com, directory gri;
|
||||
! WorldWideWeb home page http://www.me.berkeley.edu/gri_mech/ or
|
||||
! through http://www.gri.org , under 'Basic Research',
|
||||
! for additional information, contacts, and disclaimer
|
||||
ELEMENTS
|
||||
O H N
|
||||
END
|
||||
SPECIES
|
||||
H2 H O O2 OH H2O N2
|
||||
END
|
||||
THERMO ALL
|
||||
300.000 1000.000 5000.000
|
||||
! GRI-Mech Version 3.0 Thermodynamics released 7/30/99
|
||||
! NASA Polynomial format for CHEMKIN-II
|
||||
! see README file for disclaimer
|
||||
O L 1/90O 1 G 200.000 3500.000 1000.000 1
|
||||
O L 1/90O 1 00 00 00G 200.000 3500.000 1000.000 1
|
||||
2.56942078E+00-8.59741137E-05 4.19484589E-08-1.00177799E-11 1.22833691E-15 2
|
||||
2.92175791E+04 4.78433864E+00 3.16826710E+00-3.27931884E-03 6.64306396E-06 3
|
||||
-6.12806624E-09 2.11265971E-12 2.91222592E+04 2.05193346E+00 4
|
||||
O2 TPIS89O 2 G 200.000 3500.000 1000.000 1
|
||||
O2 TPIS89O 2 00 00 00G 200.000 3500.000 1000.000 1
|
||||
3.28253784E+00 1.48308754E-03-7.57966669E-07 2.09470555E-10-2.16717794E-14 2
|
||||
-1.08845772E+03 5.45323129E+00 3.78245636E+00-2.99673416E-03 9.84730201E-06 3
|
||||
-9.68129509E-09 3.24372837E-12-1.06394356E+03 3.65767573E+00 4
|
||||
H L 7/88H 1 G 200.000 3500.000 1000.000 1
|
||||
H L 7/88H 1 00 00 00G 200.000 3500.000 1000.000 1
|
||||
2.50000001E+00-2.30842973E-11 1.61561948E-14-4.73515235E-18 4.98197357E-22 2
|
||||
2.54736599E+04-4.46682914E-01 2.50000000E+00 7.05332819E-13-1.99591964E-15 3
|
||||
2.30081632E-18-9.27732332E-22 2.54736599E+04-4.46682853E-01 4
|
||||
H2 TPIS78H 2 G 200.000 3500.000 1000.000 1
|
||||
H2 TPIS78H 2 00 00 00G 200.000 3500.000 1000.000 1
|
||||
3.33727920E+00-4.94024731E-05 4.99456778E-07-1.79566394E-10 2.00255376E-14 2
|
||||
-9.50158922E+02-3.20502331E+00 2.34433112E+00 7.98052075E-03-1.94781510E-05 3
|
||||
2.01572094E-08-7.37611761E-12-9.17935173E+02 6.83010238E-01 4
|
||||
OH RUS 78O 1H 1 G 200.000 3500.000 1000.000 1
|
||||
OH RUS 78O 1H 1 00 00G 200.000 3500.000 1000.000 1
|
||||
3.09288767E+00 5.48429716E-04 1.26505228E-07-8.79461556E-11 1.17412376E-14 2
|
||||
3.85865700E+03 4.47669610E+00 3.99201543E+00-2.40131752E-03 4.61793841E-06 3
|
||||
-3.88113333E-09 1.36411470E-12 3.61508056E+03-1.03925458E-01 4
|
||||
H2O L 8/89H 2O 1 G 200.000 3500.000 1000.000 1
|
||||
H2O L 8/89H 2O 1 00 00G 200.000 3500.000 1000.000 1
|
||||
3.03399249E+00 2.17691804E-03-1.64072518E-07-9.70419870E-11 1.68200992E-14 2
|
||||
-3.00042971E+04 4.96677010E+00 4.19864056E+00-2.03643410E-03 6.52040211E-06 3
|
||||
-5.48797062E-09 1.77197817E-12-3.02937267E+04-8.49032208E-01 4
|
||||
HO2 L 5/89H 1O 2 G 200.000 3500.000 1000.000 1
|
||||
HO2 L 5/89H 1O 2 00 00G 200.000 3500.000 1000.000 1
|
||||
4.01721090E+00 2.23982013E-03-6.33658150E-07 1.14246370E-10-1.07908535E-14 2
|
||||
1.11856713E+02 3.78510215E+00 4.30179801E+00-4.74912051E-03 2.11582891E-05 3
|
||||
-2.42763894E-08 9.29225124E-12 2.94808040E+02 3.71666245E+00 4
|
||||
H2O2 L 7/88H 2O 2 G 200.000 3500.000 1000.000 1
|
||||
H2O2 L 7/88H 2O 2 00 00G 200.000 3500.000 1000.000 1
|
||||
4.16500285E+00 4.90831694E-03-1.90139225E-06 3.71185986E-10-2.87908305E-14 2
|
||||
-1.78617877E+04 2.91615662E+00 4.27611269E+00-5.42822417E-04 1.67335701E-05 3
|
||||
-2.15770813E-08 8.62454363E-12-1.77025821E+04 3.43505074E+00 4
|
||||
C L11/88C 1 G 200.000 3500.000 1000.000 1
|
||||
C L11/88C 1 00 00 00G 200.000 3500.000 1000.000 1
|
||||
2.49266888E+00 4.79889284E-05-7.24335020E-08 3.74291029E-11-4.87277893E-15 2
|
||||
8.54512953E+04 4.80150373E+00 2.55423955E+00-3.21537724E-04 7.33792245E-07 3
|
||||
-7.32234889E-10 2.66521446E-13 8.54438832E+04 4.53130848E+00 4
|
||||
CH TPIS79C 1H 1 G 200.000 3500.000 1000.000 1
|
||||
CH TPIS79C 1H 1 00 00G 200.000 3500.000 1000.000 1
|
||||
2.87846473E+00 9.70913681E-04 1.44445655E-07-1.30687849E-10 1.76079383E-14 2
|
||||
7.10124364E+04 5.48497999E+00 3.48981665E+00 3.23835541E-04-1.68899065E-06 3
|
||||
3.16217327E-09-1.40609067E-12 7.07972934E+04 2.08401108E+00 4
|
||||
CH2 L S/93C 1H 2 G 200.000 3500.000 1000.000 1
|
||||
CH2 L S/93C 1H 2 00 00G 200.000 3500.000 1000.000 1
|
||||
2.87410113E+00 3.65639292E-03-1.40894597E-06 2.60179549E-10-1.87727567E-14 2
|
||||
4.62636040E+04 6.17119324E+00 3.76267867E+00 9.68872143E-04 2.79489841E-06 3
|
||||
-3.85091153E-09 1.68741719E-12 4.60040401E+04 1.56253185E+00 4
|
||||
CH2(S) L S/93C 1H 2 G 200.000 3500.000 1000.000 1
|
||||
CH2(S) L S/93C 1H 2 00 00G 200.000 3500.000 1000.000 1
|
||||
2.29203842E+00 4.65588637E-03-2.01191947E-06 4.17906000E-10-3.39716365E-14 2
|
||||
5.09259997E+04 8.62650169E+00 4.19860411E+00-2.36661419E-03 8.23296220E-06 3
|
||||
-6.68815981E-09 1.94314737E-12 5.04968163E+04-7.69118967E-01 4
|
||||
CH3 L11/89C 1H 3 G 200.000 3500.000 1000.000 1
|
||||
CH3 L11/89C 1H 3 00 00G 200.000 3500.000 1000.000 1
|
||||
2.28571772E+00 7.23990037E-03-2.98714348E-06 5.95684644E-10-4.67154394E-14 2
|
||||
1.67755843E+04 8.48007179E+00 3.67359040E+00 2.01095175E-03 5.73021856E-06 3
|
||||
-6.87117425E-09 2.54385734E-12 1.64449988E+04 1.60456433E+00 4
|
||||
CH4 L 8/88C 1H 4 G 200.000 3500.000 1000.000 1
|
||||
CH4 L 8/88C 1H 4 00 00G 200.000 3500.000 1000.000 1
|
||||
7.48514950E-02 1.33909467E-02-5.73285809E-06 1.22292535E-09-1.01815230E-13 2
|
||||
-9.46834459E+03 1.84373180E+01 5.14987613E+00-1.36709788E-02 4.91800599E-05 3
|
||||
-4.84743026E-08 1.66693956E-11-1.02466476E+04-4.64130376E+00 4
|
||||
CO TPIS79C 1O 1 G 200.000 3500.000 1000.000 1
|
||||
CO TPIS79C 1O 1 00 00G 200.000 3500.000 1000.000 1
|
||||
2.71518561E+00 2.06252743E-03-9.98825771E-07 2.30053008E-10-2.03647716E-14 2
|
||||
-1.41518724E+04 7.81868772E+00 3.57953347E+00-6.10353680E-04 1.01681433E-06 3
|
||||
9.07005884E-10-9.04424499E-13-1.43440860E+04 3.50840928E+00 4
|
||||
CO2 L 7/88C 1O 2 G 200.000 3500.000 1000.000 1
|
||||
CO2 L 7/88C 1O 2 00 00G 200.000 3500.000 1000.000 1
|
||||
3.85746029E+00 4.41437026E-03-2.21481404E-06 5.23490188E-10-4.72084164E-14 2
|
||||
-4.87591660E+04 2.27163806E+00 2.35677352E+00 8.98459677E-03-7.12356269E-06 3
|
||||
2.45919022E-09-1.43699548E-13-4.83719697E+04 9.90105222E+00 4
|
||||
HCO L12/89H 1C 1O 1 G 200.000 3500.000 1000.000 1
|
||||
HCO L12/89H 1C 1O 1 00G 200.000 3500.000 1000.000 1
|
||||
2.77217438E+00 4.95695526E-03-2.48445613E-06 5.89161778E-10-5.33508711E-14 2
|
||||
4.01191815E+03 9.79834492E+00 4.22118584E+00-3.24392532E-03 1.37799446E-05 3
|
||||
-1.33144093E-08 4.33768865E-12 3.83956496E+03 3.39437243E+00 4
|
||||
CH2O L 8/88H 2C 1O 1 G 200.000 3500.000 1000.000 1
|
||||
CH2O L 8/88H 2C 1O 1 00G 200.000 3500.000 1000.000 1
|
||||
1.76069008E+00 9.20000082E-03-4.42258813E-06 1.00641212E-09-8.83855640E-14 2
|
||||
-1.39958323E+04 1.36563230E+01 4.79372315E+00-9.90833369E-03 3.73220008E-05 3
|
||||
-3.79285261E-08 1.31772652E-11-1.43089567E+04 6.02812900E-01 4
|
||||
CH2OH GUNL93C 1H 3O 1 G 200.000 3500.000 1000.000 1
|
||||
CH2OH GUNL93C 1H 3O 1 00G 200.000 3500.000 1000.000 1
|
||||
3.69266569E+00 8.64576797E-03-3.75101120E-06 7.87234636E-10-6.48554201E-14 2
|
||||
-3.24250627E+03 5.81043215E+00 3.86388918E+00 5.59672304E-03 5.93271791E-06 3
|
||||
-1.04532012E-08 4.36967278E-12-3.19391367E+03 5.47302243E+00 4
|
||||
CH3O 121686C 1H 3O 1 G 300.00 3000.00 1000.000 1
|
||||
CH3O 121686C 1H 3O 1 G 0300.00 3000.00 1000.000 1
|
||||
0.03770799E+02 0.07871497E-01-0.02656384E-04 0.03944431E-08-0.02112616E-12 2
|
||||
0.12783252E+03 0.02929575E+02 0.02106204E+02 0.07216595E-01 0.05338472E-04 3
|
||||
-0.07377636E-07 0.02075610E-10 0.09786011E+04 0.13152177E+02 4
|
||||
CH3OH L 8/88C 1H 4O 1 G 200.000 3500.000 1000.000 1
|
||||
CH3OH L 8/88C 1H 4O 1 00G 200.000 3500.000 1000.000 1
|
||||
1.78970791E+00 1.40938292E-02-6.36500835E-06 1.38171085E-09-1.17060220E-13 2
|
||||
-2.53748747E+04 1.45023623E+01 5.71539582E+00-1.52309129E-02 6.52441155E-05 3
|
||||
-7.10806889E-08 2.61352698E-11-2.56427656E+04-1.50409823E+00 4
|
||||
C2H L 1/91C 2H 1 G 200.000 3500.000 1000.000 1
|
||||
C2H L 1/91C 2H 1 00 00G 200.000 3500.000 1000.000 1
|
||||
3.16780652E+00 4.75221902E-03-1.83787077E-06 3.04190252E-10-1.77232770E-14 2
|
||||
6.71210650E+04 6.63589475E+00 2.88965733E+00 1.34099611E-02-2.84769501E-05 3
|
||||
2.94791045E-08-1.09331511E-11 6.68393932E+04 6.22296438E+00 4
|
||||
C2H2 L 1/91C 2H 2 G 200.000 3500.000 1000.000 1
|
||||
C2H2 L 1/91C 2H 2 00 00G 200.000 3500.000 1000.000 1
|
||||
4.14756964E+00 5.96166664E-03-2.37294852E-06 4.67412171E-10-3.61235213E-14 2
|
||||
2.59359992E+04-1.23028121E+00 8.08681094E-01 2.33615629E-02-3.55171815E-05 3
|
||||
2.80152437E-08-8.50072974E-12 2.64289807E+04 1.39397051E+01 4
|
||||
C2H3 L 2/92C 2H 3 G 200.000 3500.000 1000.000 1
|
||||
C2H3 L 2/92C 2H 3 00 00G 200.000 3500.000 1000.000 1
|
||||
3.01672400E+00 1.03302292E-02-4.68082349E-06 1.01763288E-09-8.62607041E-14 2
|
||||
3.46128739E+04 7.78732378E+00 3.21246645E+00 1.51479162E-03 2.59209412E-05 3
|
||||
-3.57657847E-08 1.47150873E-11 3.48598468E+04 8.51054025E+00 4
|
||||
C2H4 L 1/91C 2H 4 G 200.000 3500.000 1000.000 1
|
||||
C2H4 L 1/91C 2H 4 00 00G 200.000 3500.000 1000.000 1
|
||||
2.03611116E+00 1.46454151E-02-6.71077915E-06 1.47222923E-09-1.25706061E-13 2
|
||||
4.93988614E+03 1.03053693E+01 3.95920148E+00-7.57052247E-03 5.70990292E-05 3
|
||||
-6.91588753E-08 2.69884373E-11 5.08977593E+03 4.09733096E+00 4
|
||||
C2H5 L12/92C 2H 5 G 200.000 3500.000 1000.000 1
|
||||
C2H5 L12/92C 2H 5 00 00G 200.000 3500.000 1000.000 1
|
||||
1.95465642E+00 1.73972722E-02-7.98206668E-06 1.75217689E-09-1.49641576E-13 2
|
||||
1.28575200E+04 1.34624343E+01 4.30646568E+00-4.18658892E-03 4.97142807E-05 3
|
||||
-5.99126606E-08 2.30509004E-11 1.28416265E+04 4.70720924E+00 4
|
||||
C2H6 L 8/88C 2H 6 G 200.000 3500.000 1000.000 1
|
||||
C2H6 L 8/88C 2H 6 00 00G 200.000 3500.000 1000.000 1
|
||||
1.07188150E+00 2.16852677E-02-1.00256067E-05 2.21412001E-09-1.90002890E-13 2
|
||||
-1.14263932E+04 1.51156107E+01 4.29142492E+00-5.50154270E-03 5.99438288E-05 3
|
||||
-7.08466285E-08 2.68685771E-11-1.15222055E+04 2.66682316E+00 4
|
||||
CH2CO L 5/90C 2H 2O 1 G 200.000 3500.000 1000.000 1
|
||||
CH2CO L 5/90C 2H 2O 1 00G 200.000 3500.000 1000.000 1
|
||||
4.51129732E+00 9.00359745E-03-4.16939635E-06 9.23345882E-10-7.94838201E-14 2
|
||||
-7.55105311E+03 6.32247205E-01 2.13583630E+00 1.81188721E-02-1.73947474E-05 3
|
||||
9.34397568E-09-2.01457615E-12-7.04291804E+03 1.22156480E+01 4
|
||||
HCCO SRIC91H 1C 2O 1 G 300.00 4000.00 1000.000 1
|
||||
HCCO SRIC91H 1C 2O 1 G 0300.00 4000.00 1000.000 1
|
||||
0.56282058E+01 0.40853401E-02-0.15934547E-05 0.28626052E-09-0.19407832E-13 2
|
||||
0.19327215E+05-0.39302595E+01 0.22517214E+01 0.17655021E-01-0.23729101E-04 3
|
||||
0.17275759E-07-0.50664811E-11 0.20059449E+05 0.12490417E+02 4
|
||||
HCCOH SRI91C 2O 1H 2 G 300.000 5000.000 1000.000 1
|
||||
HCCOH SRI91C 2O 1H 20 0G 300.000 5000.000 1000.000 1
|
||||
0.59238291E+01 0.67923600E-02-0.25658564E-05 0.44987841E-09-0.29940101E-13 2
|
||||
0.72646260E+04-0.76017742E+01 0.12423733E+01 0.31072201E-01-0.50866864E-04 3
|
||||
0.43137131E-07-0.14014594E-10 0.80316143E+04 0.13874319E+02 4
|
||||
H2CN 41687H 2C 1N 1 G 300.00 4000.000 1000.000 1
|
||||
H2CN 41687H 2C 1N 1 G 0300.00 4000.000 1000.000 1
|
||||
0.52097030E+01 0.29692911E-02-0.28555891E-06-0.16355500E-09 0.30432589E-13 2
|
||||
0.27677109E+05-0.44444780E+01 0.28516610E+01 0.56952331E-02 0.10711400E-05 3
|
||||
-0.16226120E-08-0.23511081E-12 0.28637820E+05 0.89927511E+01 4
|
||||
HCN GRI/98H 1C 1N 1 G 200.000 6000.000 1000.000 1
|
||||
HCN GRI/98H 1C 1N 1 0G 200.000 6000.000 1000.000 1
|
||||
0.38022392E+01 0.31464228E-02-0.10632185E-05 0.16619757E-09-0.97997570E-14 2
|
||||
0.14407292E+05 0.15754601E+01 0.22589886E+01 0.10051170E-01-0.13351763E-04 3
|
||||
0.10092349E-07-0.30089028E-11 0.14712633E+05 0.89164419E+01 4
|
||||
HNO And93 H 1N 1O 1 G 200.000 6000.000 1000.000 1
|
||||
HNO And93 H 1N 1O 1 0G 200.000 6000.000 1000.000 1
|
||||
0.29792509E+01 0.34944059E-02-0.78549778E-06 0.57479594E-10-0.19335916E-15 2
|
||||
0.11750582E+05 0.86063728E+01 0.45334916E+01-0.56696171E-02 0.18473207E-04 3
|
||||
-0.17137094E-07 0.55454573E-11 0.11548297E+05 0.17498417E+01 4
|
||||
N L 6/88N 1 G 200.000 6000.000 1000.000 1
|
||||
N L 6/88N 1 0 0 0G 200.000 6000.000 1000.000 1
|
||||
0.24159429E+01 0.17489065E-03-0.11902369E-06 0.30226245E-10-0.20360982E-14 2
|
||||
0.56133773E+05 0.46496096E+01 0.25000000E+01 0.00000000E+00 0.00000000E+00 3
|
||||
0.00000000E+00 0.00000000E+00 0.56104637E+05 0.41939087E+01 4
|
||||
NNH T07/93N 2H 1 G 200.000 6000.000 1000.000 1
|
||||
NNH T07/93N 2H 1 00 00G 200.000 6000.000 1000.000 1
|
||||
0.37667544E+01 0.28915082E-02-0.10416620E-05 0.16842594E-09-0.10091896E-13 2
|
||||
0.28650697E+05 0.44705067E+01 0.43446927E+01-0.48497072E-02 0.20059459E-04 3
|
||||
-0.21726464E-07 0.79469539E-11 0.28791973E+05 0.29779410E+01 4
|
||||
N2O L 7/88N 2O 1 G 200.000 6000.000 1000.000 1
|
||||
N2O L 7/88N 2O 1 0 0G 200.000 6000.000 1000.000 1
|
||||
0.48230729E+01 0.26270251E-02-0.95850874E-06 0.16000712E-09-0.97752303E-14 2
|
||||
0.80734048E+04-0.22017207E+01 0.22571502E+01 0.11304728E-01-0.13671319E-04 3
|
||||
0.96819806E-08-0.29307182E-11 0.87417744E+04 0.10757992E+02 4
|
||||
NH And94 N 1H 1 G 200.000 6000.000 1000.000 1
|
||||
NH And94 N 1H 1 0 0G 200.000 6000.000 1000.000 1
|
||||
0.27836928E+01 0.13298430E-02-0.42478047E-06 0.78348501E-10-0.55044470E-14 2
|
||||
0.42120848E+05 0.57407799E+01 0.34929085E+01 0.31179198E-03-0.14890484E-05 3
|
||||
0.24816442E-08-0.10356967E-11 0.41880629E+05 0.18483278E+01 4
|
||||
NH2 And89 N 1H 2 G 200.000 6000.000 1000.000 1
|
||||
NH2 And89 N 1H 2 0 0G 200.000 6000.000 1000.000 1
|
||||
0.28347421E+01 0.32073082E-02-0.93390804E-06 0.13702953E-09-0.79206144E-14 2
|
||||
0.22171957E+05 0.65204163E+01 0.42040029E+01-0.21061385E-02 0.71068348E-05 3
|
||||
-0.56115197E-08 0.16440717E-11 0.21885910E+05-0.14184248E+00 4
|
||||
NH3 J 6/77N 1H 3 G 200.000 6000.000 1000.000 1
|
||||
NH3 J 6/77N 1H 3 0 0G 200.000 6000.000 1000.000 1
|
||||
0.26344521E+01 0.56662560E-02-0.17278676E-05 0.23867161E-09-0.12578786E-13 2
|
||||
-0.65446958E+04 0.65662928E+01 0.42860274E+01-0.46605230E-02 0.21718513E-04 3
|
||||
-0.22808887E-07 0.82638046E-11-0.67417285E+04-0.62537277E+00 4
|
||||
NO RUS 78N 1O 1 G 200.000 6000.000 1000.000 1
|
||||
NO RUS 78N 1O 1 0 0G 200.000 6000.000 1000.000 1
|
||||
0.32606056E+01 0.11911043E-02-0.42917048E-06 0.69457669E-10-0.40336099E-14 2
|
||||
0.99209746E+04 0.63693027E+01 0.42184763E+01-0.46389760E-02 0.11041022E-04 3
|
||||
-0.93361354E-08 0.28035770E-11 0.98446230E+04 0.22808464E+01 4
|
||||
NO2 L 7/88N 1O 2 G 200.000 6000.000 1000.000 1
|
||||
NO2 L 7/88N 1O 2 0 0G 200.000 6000.000 1000.000 1
|
||||
0.48847542E+01 0.21723956E-02-0.82806906E-06 0.15747510E-09-0.10510895E-13 2
|
||||
0.23164983E+04-0.11741695E+00 0.39440312E+01-0.15854290E-02 0.16657812E-04 3
|
||||
-0.20475426E-07 0.78350564E-11 0.28966179E+04 0.63119917E+01 4
|
||||
|
|
@ -179,15 +187,15 @@ HNCO BDEA94H 1N 1C 1O 1G 300.000 5000.000 1478.000 1
|
|||
6.22395134E+00 3.17864004E-03-1.09378755E-06 1.70735163E-10-9.95021955E-15 2
|
||||
-1.66599344E+04-8.38224741E+00 3.63096317E+00 7.30282357E-03-2.28050003E-06 3
|
||||
-6.61271298E-10 3.62235752E-13-1.55873636E+04 6.19457727E+00 4
|
||||
NCO EA 93 N 1C 1O 1 G 200.000 6000.000 1000.000 1
|
||||
NCO EA 93 N 1C 1O 1 0G 200.000 6000.000 1000.000 1
|
||||
0.51521845E+01 0.23051761E-02-0.88033153E-06 0.14789098E-09-0.90977996E-14 2
|
||||
0.14004123E+05-0.25442660E+01 0.28269308E+01 0.88051688E-02-0.83866134E-05 3
|
||||
0.48016964E-08-0.13313595E-11 0.14682477E+05 0.95504646E+01 4
|
||||
CN HBH92 C 1N 1 G 200.000 6000.000 1000.000 1
|
||||
CN HBH92 C 1N 1 0 0G 200.000 6000.000 1000.000 1
|
||||
0.37459805E+01 0.43450775E-04 0.29705984E-06-0.68651806E-10 0.44134173E-14 2
|
||||
0.51536188E+05 0.27867601E+01 0.36129351E+01-0.95551327E-03 0.21442977E-05 3
|
||||
-0.31516323E-09-0.46430356E-12 0.51708340E+05 0.39804995E+01 4
|
||||
HCNN SRI/94C 1N 2H 1 G 300.000 5000.000 1000.000 1
|
||||
HCNN SRI/94C 1N 2H 10 0G 300.000 5000.000 1000.000 1
|
||||
0.58946362E+01 0.39895959E-02-0.15982380E-05 0.29249395E-09-0.20094686E-13 2
|
||||
0.53452941E+05-0.51030502E+01 0.25243194E+01 0.15960619E-01-0.18816354E-04 3
|
||||
0.12125540E-07-0.32357378E-11 0.54261984E+05 0.11675870E+02 4
|
||||
|
|
@ -199,24 +207,22 @@ AR 120186AR 1 G 300.000 5000.000 1000.000 1
|
|||
0.02500000E+02 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 2
|
||||
-0.07453750E+04 0.04366000E+02 0.02500000E+02 0.00000000E+00 0.00000000E+00 3
|
||||
0.00000000E+00 0.00000000E+00-0.07453750E+04 0.04366000E+02 4
|
||||
C3H8 L 4/85C 3H 8 G 300.000 5000.000 1000.000 1
|
||||
C3H8 L 4/85C 3H 8 0 0G 300.000 5000.000 1000.00 1
|
||||
0.75341368E+01 0.18872239E-01-0.62718491E-05 0.91475649E-09-0.47838069E-13 2
|
||||
-0.16467516E+05-0.17892349E+02 0.93355381E+00 0.26424579E-01 0.61059727E-05 3
|
||||
-0.21977499E-07 0.95149253E-11-0.13958520E+05 0.19201691E+02 4
|
||||
C3H7 L 9/84C 3H 7 G 300.000 5000.000 1000.000 1
|
||||
C3H7 L 9/84C 3H 7 0 0G 300.000 5000.000 1000.00 1
|
||||
0.77026987E+01 0.16044203E-01-0.52833220E-05 0.76298590E-09-0.39392284E-13 2
|
||||
0.82984336E+04-0.15480180E+02 0.10515518E+01 0.25991980E-01 0.23800540E-05 3
|
||||
-0.19609569E-07 0.93732470E-11 0.10631863E+05 0.21122559E+02 4
|
||||
CH3CHO L 8/88C 2H 4O 1 G 200.000 6000.000 1000.000 1
|
||||
CH3CHO L 8/88C 2H 4O 1 0G 200.000 6000.000 1000.00 1
|
||||
0.54041108E+01 0.11723059E-01-0.42263137E-05 0.68372451E-09-0.40984863E-13 2
|
||||
-0.22593122E+05-0.34807917E+01 0.47294595E+01-0.31932858E-02 0.47534921E-04 3
|
||||
-0.57458611E-07 0.21931112E-10-0.21572878E+05 0.41030159E+01 4
|
||||
CH2CHO SAND86O 1H 3C 2 G 300.000 5000.000 1000.000 1
|
||||
CH2CHO SAND86O 1H 3C 2 G 300.00 5000.00 1000.00 1
|
||||
0.05975670E+02 0.08130591E-01-0.02743624E-04 0.04070304E-08-0.02176017E-12 2
|
||||
0.04903218E+04-0.05045251E+02 0.03409062E+02 0.10738574E-01 0.01891492E-04 3
|
||||
-0.07158583E-07 0.02867385E-10 0.15214766E+04 0.09558290E+02 4
|
||||
END
|
||||
|
||||
|
||||
|
||||
|
||||
REACTIONS
|
||||
END
|
||||
|
|
@ -1,4 +1,11 @@
|
|||
units(length='cm', time='s', quantity='mol', act_energy='cal/mol')
|
||||
#
|
||||
# Generated from file h2o2.inp
|
||||
# by ck2cti on Mon Aug 25 09:52:58 2003
|
||||
#
|
||||
# Transport data from file ../transport/gri30_tran.dat.
|
||||
|
||||
units(length = "cm", time = "s", quantity = "mol", act_energy = "cal/mol")
|
||||
|
||||
|
||||
ideal_gas(name = "ohmech",
|
||||
elements = " O H Ar ",
|
||||
|
|
@ -6,7 +13,7 @@ ideal_gas(name = "ohmech",
|
|||
reactions = "all",
|
||||
transport = "Mix",
|
||||
initial_state = state(temperature = 300.0,
|
||||
pressure = OneAtm) )
|
||||
pressure = OneAtm) )
|
||||
|
||||
ideal_gas(name = "ohmech-multi",
|
||||
elements = " O H Ar ",
|
||||
|
|
@ -14,255 +21,272 @@ ideal_gas(name = "ohmech-multi",
|
|||
reactions = "all",
|
||||
transport = "Multi",
|
||||
initial_state = state(temperature = 300.0,
|
||||
pressure = OneAtm) )
|
||||
pressure = OneAtm) )
|
||||
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Species data
|
||||
# Species data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
species(name='H2',
|
||||
atoms='H:2',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 2.34433112E+00, 7.98052075E-03, -1.94781510E-05,
|
||||
2.01572094E-08, -7.37611761E-12, -9.17935173E+02,
|
||||
6.83010238E-01]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 3.33727920E+00, -4.94024731E-05, 4.99456778E-07,
|
||||
-1.79566394E-10, 2.00255376E-14, -9.50158922E+02,
|
||||
-3.20502331E+00])),
|
||||
transport=gas_transport(geom='linear',
|
||||
diam=2.92,
|
||||
well_depth=38.0,
|
||||
polar=0.79,
|
||||
rot_relax=280.0),
|
||||
note='TPIS78')
|
||||
species(name = "H2",
|
||||
atoms = " H:2 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 2.344331120E+00, 7.980520750E-03,
|
||||
-1.947815100E-05, 2.015720940E-08, -7.376117610E-12,
|
||||
-9.179351730E+02, 6.830102380E-01] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 3.337279200E+00, -4.940247310E-05,
|
||||
4.994567780E-07, -1.795663940E-10, 2.002553760E-14,
|
||||
-9.501589220E+02, -3.205023310E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 2.92,
|
||||
well_depth = 38.00,
|
||||
polar = 0.79,
|
||||
rot_relax = 280.00),
|
||||
note = "TPIS78"
|
||||
)
|
||||
|
||||
species(name='H',
|
||||
atoms='H:1',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 2.50000000E+00, 7.05332819E-13, -1.99591964E-15,
|
||||
2.30081632E-18, -9.27732332E-22, 2.54736599E+04,
|
||||
-4.46682853E-01]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 2.50000001E+00, -2.30842973E-11, 1.61561948E-14,
|
||||
-4.73515235E-18, 4.98197357E-22, 2.54736599E+04,
|
||||
-4.46682914E-01])),
|
||||
transport=gas_transport(geom='atom',
|
||||
diam=2.05,
|
||||
well_depth=145.0),
|
||||
note='L7/88')
|
||||
species(name = "H",
|
||||
atoms = " H:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 2.500000000E+00, 7.053328190E-13,
|
||||
-1.995919640E-15, 2.300816320E-18, -9.277323320E-22,
|
||||
2.547365990E+04, -4.466828530E-01] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 2.500000010E+00, -2.308429730E-11,
|
||||
1.615619480E-14, -4.735152350E-18, 4.981973570E-22,
|
||||
2.547365990E+04, -4.466829140E-01] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "atom",
|
||||
diam = 2.05,
|
||||
well_depth = 145.00),
|
||||
note = "L 7/88"
|
||||
)
|
||||
|
||||
species(name='O',
|
||||
atoms='O:1',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 3.16826710E+00, -3.27931884E-03, 6.64306396E-06,
|
||||
-6.12806624E-09, 2.11265971E-12, 2.91222592E+04,
|
||||
2.05193346E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 2.56942078E+00, -8.59741137E-05, 4.19484589E-08,
|
||||
-1.00177799E-11, 1.22833691E-15, 2.92175791E+04,
|
||||
4.78433864E+00])),
|
||||
transport=gas_transport(geom='atom',
|
||||
diam=2.75,
|
||||
well_depth=80.0),
|
||||
note='L1/90')
|
||||
species(name = "O",
|
||||
atoms = " O:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 3.168267100E+00, -3.279318840E-03,
|
||||
6.643063960E-06, -6.128066240E-09, 2.112659710E-12,
|
||||
2.912225920E+04, 2.051933460E+00] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 2.569420780E+00, -8.597411370E-05,
|
||||
4.194845890E-08, -1.001777990E-11, 1.228336910E-15,
|
||||
2.921757910E+04, 4.784338640E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "atom",
|
||||
diam = 2.75,
|
||||
well_depth = 80.00),
|
||||
note = "L 1/90"
|
||||
)
|
||||
|
||||
species(name='O2',
|
||||
atoms='O:2',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 3.78245636E+00, -2.99673416E-03, 9.84730201E-06,
|
||||
-9.68129509E-09, 3.24372837E-12, -1.06394356E+03,
|
||||
3.65767573E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 3.28253784E+00, 1.48308754E-03, -7.57966669E-07,
|
||||
2.09470555E-10, -2.16717794E-14, -1.08845772E+03,
|
||||
5.45323129E+00])),
|
||||
transport=gas_transport(geom='linear',
|
||||
diam=3.458,
|
||||
well_depth=107.4,
|
||||
polar=1.6,
|
||||
rot_relax=3.8),
|
||||
note='TPIS89')
|
||||
species(name = "O2",
|
||||
atoms = " O:2 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 3.782456360E+00, -2.996734160E-03,
|
||||
9.847302010E-06, -9.681295090E-09, 3.243728370E-12,
|
||||
-1.063943560E+03, 3.657675730E+00] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 3.282537840E+00, 1.483087540E-03,
|
||||
-7.579666690E-07, 2.094705550E-10, -2.167177940E-14,
|
||||
-1.088457720E+03, 5.453231290E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.46,
|
||||
well_depth = 107.40,
|
||||
polar = 1.60,
|
||||
rot_relax = 3.80),
|
||||
note = "TPIS89"
|
||||
)
|
||||
|
||||
species(name='OH',
|
||||
atoms='H:1 O:1',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 3.99201543E+00, -2.40131752E-03, 4.61793841E-06,
|
||||
-3.88113333E-09, 1.36411470E-12, 3.61508056E+03,
|
||||
-1.03925458E-01]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 3.09288767E+00, 5.48429716E-04, 1.26505228E-07,
|
||||
-8.79461556E-11, 1.17412376E-14, 3.85865700E+03,
|
||||
4.47669610E+00])),
|
||||
transport=gas_transport(geom='linear',
|
||||
diam=2.75,
|
||||
well_depth=80.0),
|
||||
note='RUS78')
|
||||
species(name = "OH",
|
||||
atoms = " O:1 H:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 3.992015430E+00, -2.401317520E-03,
|
||||
4.617938410E-06, -3.881133330E-09, 1.364114700E-12,
|
||||
3.615080560E+03, -1.039254580E-01] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 3.092887670E+00, 5.484297160E-04,
|
||||
1.265052280E-07, -8.794615560E-11, 1.174123760E-14,
|
||||
3.858657000E+03, 4.476696100E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 2.75,
|
||||
well_depth = 80.00),
|
||||
note = "RUS 78"
|
||||
)
|
||||
|
||||
species(name='H2O',
|
||||
atoms='O:1 H:2',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 4.19864056E+00, -2.03643410E-03, 6.52040211E-06,
|
||||
-5.48797062E-09, 1.77197817E-12, -3.02937267E+04,
|
||||
-8.49032208E-01]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 3.03399249E+00, 2.17691804E-03, -1.64072518E-07,
|
||||
-9.70419870E-11, 1.68200992E-14, -3.00042971E+04,
|
||||
4.96677010E+00])),
|
||||
transport=gas_transport(geom='nonlinear',
|
||||
diam=2.605,
|
||||
well_depth=572.4,
|
||||
dipole=1.844,
|
||||
rot_relax=4.0),
|
||||
note='L8/89')
|
||||
species(name = "H2O",
|
||||
atoms = " H:2 O:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 4.198640560E+00, -2.036434100E-03,
|
||||
6.520402110E-06, -5.487970620E-09, 1.771978170E-12,
|
||||
-3.029372670E+04, -8.490322080E-01] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 3.033992490E+00, 2.176918040E-03,
|
||||
-1.640725180E-07, -9.704198700E-11, 1.682009920E-14,
|
||||
-3.000429710E+04, 4.966770100E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 2.60,
|
||||
well_depth = 572.40,
|
||||
dipole = 1.84,
|
||||
rot_relax = 4.00),
|
||||
note = "L 8/89"
|
||||
)
|
||||
|
||||
species(name='HO2',
|
||||
atoms='O:2 H:1',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 4.30179801E+00, -4.74912051E-03, 2.11582891E-05,
|
||||
-2.42763894E-08, 9.29225124E-12, 2.94808040E+02,
|
||||
3.71666245E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 4.01721090E+00, 2.23982013E-03, -6.33658150E-07,
|
||||
1.14246370E-10, -1.07908535E-14, 1.11856713E+02,
|
||||
3.78510215E+00])),
|
||||
transport=gas_transport(geom='nonlinear',
|
||||
diam=3.458,
|
||||
well_depth=107.4,
|
||||
rot_relax=1.0),
|
||||
note='L5/89')
|
||||
species(name = "HO2",
|
||||
atoms = " H:1 O:2 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 4.301798010E+00, -4.749120510E-03,
|
||||
2.115828910E-05, -2.427638940E-08, 9.292251240E-12,
|
||||
2.948080400E+02, 3.716662450E+00] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 4.017210900E+00, 2.239820130E-03,
|
||||
-6.336581500E-07, 1.142463700E-10, -1.079085350E-14,
|
||||
1.118567130E+02, 3.785102150E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.46,
|
||||
well_depth = 107.40,
|
||||
rot_relax = 1.00),
|
||||
note = "L 5/89"
|
||||
)
|
||||
|
||||
species(name = "H2O2",
|
||||
atoms = " H:2 O:2 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 4.276112690E+00, -5.428224170E-04,
|
||||
1.673357010E-05, -2.157708130E-08, 8.624543630E-12,
|
||||
-1.770258210E+04, 3.435050740E+00] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 4.165002850E+00, 4.908316940E-03,
|
||||
-1.901392250E-06, 3.711859860E-10, -2.879083050E-14,
|
||||
-1.786178770E+04, 2.916156620E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.46,
|
||||
well_depth = 107.40,
|
||||
rot_relax = 3.80),
|
||||
note = "L 7/88"
|
||||
)
|
||||
|
||||
species(name = "AR",
|
||||
atoms = " Ar:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-7.453750000E+02, 4.366000000E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-7.453750000E+02, 4.366000000E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "atom",
|
||||
diam = 3.33,
|
||||
well_depth = 136.50),
|
||||
note = "120186"
|
||||
)
|
||||
|
||||
species(name='H2O2',
|
||||
atoms='O:2 H:2',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 4.27611269E+00, -5.42822417E-04, 1.67335701E-05,
|
||||
-2.15770813E-08, 8.62454363E-12, -1.77025821E+04,
|
||||
3.43505074E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 4.16500285E+00, 4.90831694E-03, -1.90139225E-06,
|
||||
3.71185986E-10, -2.87908305E-14, -1.78617877E+04,
|
||||
2.91615662E+00])),
|
||||
transport=gas_transport(geom='nonlinear',
|
||||
diam=3.458,
|
||||
well_depth=107.4,
|
||||
rot_relax=3.8),
|
||||
note='L7/88')
|
||||
|
||||
species(name='AR',
|
||||
atoms='Ar:1',
|
||||
thermo=(NASA([300.00, 1000.00],
|
||||
[ 2.50000000E+00, 0.00000000E+00, 0.00000000E+00,
|
||||
0.00000000E+00, 0.00000000E+00, -7.45375000E+02,
|
||||
4.36600000E+00]),
|
||||
NASA([1000.00, 5000.00],
|
||||
[ 2.50000000E+00, 0.00000000E+00, 0.00000000E+00,
|
||||
0.00000000E+00, 0.00000000E+00, -7.45375000E+02,
|
||||
4.36600000E+00])),
|
||||
transport=gas_transport(geom='atom',
|
||||
diam=3.33,
|
||||
well_depth=136.5),
|
||||
note='120186')
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Reaction data
|
||||
# Reaction data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
# Reaction 1
|
||||
three_body_reaction('2 O + M <=> O2 + M', [1.200000e+17, -1.0, 0.0],
|
||||
efficiencies='AR:0.83 H2:2.4 H2O:15.4')
|
||||
# Reaction 1
|
||||
three_body_reaction( "2 O + M <=> O2 + M", [1.20000E+17, -1, 0],
|
||||
efficiencies = " AR:0.83 H2:2.4 H2O:15.4 ")
|
||||
|
||||
# Reaction 2
|
||||
three_body_reaction('O + H + M <=> OH + M', [5.000000e+17, -1.0, 0.0],
|
||||
efficiencies='AR:0.7 H2:2.0 H2O:6.0')
|
||||
# Reaction 2
|
||||
three_body_reaction( "O + H + M <=> OH + M", [5.00000E+17, -1, 0],
|
||||
efficiencies = " AR:0.7 H2:2 H2O:6 ")
|
||||
|
||||
# Reaction 3
|
||||
reaction('O + H2 <=> H + OH', [3.870000e+04, 2.7, 6260.0])
|
||||
# Reaction 3
|
||||
reaction( "O + H2 <=> H + OH", [3.87000E+04, 2.7, 6260])
|
||||
|
||||
# Reaction 4
|
||||
reaction('O + HO2 <=> OH + O2', [2.000000e+13, 0.0, 0.0])
|
||||
# Reaction 4
|
||||
reaction( "O + HO2 <=> OH + O2", [2.00000E+13, 0, 0])
|
||||
|
||||
# Reaction 5
|
||||
reaction('O + H2O2 <=> OH + HO2', [9.630000e+06, 2.0, 4000.0])
|
||||
# Reaction 5
|
||||
reaction( "O + H2O2 <=> OH + HO2", [9.63000E+06, 2, 4000])
|
||||
|
||||
# Reaction 6
|
||||
three_body_reaction('H + O2 + M <=> HO2 + M', [2.800000e+18, -0.86, 0.0],
|
||||
efficiencies='AR:0.0 H2O:0.0 O2:0.0')
|
||||
# Reaction 6
|
||||
reaction( "H + 2 O2 <=> HO2 + O2", [2.08000E+19, -1.24, 0])
|
||||
|
||||
# Reaction 7
|
||||
reaction('H + 2 O2 <=> HO2 + O2', [2.080000e+19, -1.24, 0.0])
|
||||
# Reaction 7
|
||||
reaction( "H + O2 + H2O <=> HO2 + H2O", [1.12600E+19, -0.76, 0])
|
||||
|
||||
# Reaction 8
|
||||
reaction('H + O2 + H2O <=> HO2 + H2O', [1.126000e+19, -0.76, 0.0])
|
||||
# Reaction 8
|
||||
reaction( "H + O2 + AR <=> HO2 + AR", [7.00000E+17, -0.8, 0])
|
||||
|
||||
# Reaction 9
|
||||
reaction('H + O2 + AR <=> HO2 + AR', [7.000000e+17, -0.8, 0.0])
|
||||
# Reaction 9
|
||||
reaction( "H + O2 <=> O + OH", [2.65000E+16, -0.6707, 17041])
|
||||
|
||||
# Reaction 10
|
||||
reaction('H + O2 <=> O + OH', [2.650000e+16, -0.6707, 17041.0])
|
||||
# Reaction 10
|
||||
three_body_reaction( "2 H + M <=> H2 + M", [1.00000E+18, -1, 0],
|
||||
efficiencies = " AR:0.63 H2:0 H2O:0 ")
|
||||
|
||||
# Reaction 11
|
||||
three_body_reaction('2 H + M <=> H2 + M', [1.000000e+18, -1.0, 0.0],
|
||||
efficiencies='AR:0.63 H2:0.0 H2O:0.0')
|
||||
# Reaction 11
|
||||
reaction( "2 H + H2 <=> 2 H2", [9.00000E+16, -0.6, 0])
|
||||
|
||||
# Reaction 12
|
||||
reaction('2 H + H2 <=> 2 H2', [9.000000e+16, -0.6, 0.0])
|
||||
# Reaction 12
|
||||
reaction( "2 H + H2O <=> H2 + H2O", [6.00000E+19, -1.25, 0])
|
||||
|
||||
# Reaction 13
|
||||
reaction('2 H + H2O <=> H2 + H2O', [6.000000e+19, -1.25, 0.0])
|
||||
# Reaction 13
|
||||
three_body_reaction( "H + OH + M <=> H2O + M", [2.20000E+22, -2, 0],
|
||||
efficiencies = " AR:0.38 H2:0.73 H2O:3.65 ")
|
||||
|
||||
# Reaction 14
|
||||
three_body_reaction('H + OH + M <=> H2O + M', [2.200000e+22, -2.0, 0.0],
|
||||
efficiencies='AR:0.38 H2:0.73 H2O:3.65')
|
||||
# Reaction 14
|
||||
reaction( "H + HO2 <=> O + H2O", [3.97000E+12, 0, 671])
|
||||
|
||||
# Reaction 15
|
||||
reaction('H + HO2 <=> O + H2O', [3.970000e+12, 0.0, 671.0])
|
||||
# Reaction 15
|
||||
reaction( "H + HO2 <=> O2 + H2", [4.48000E+13, 0, 1068])
|
||||
|
||||
# Reaction 16
|
||||
reaction('H + HO2 <=> O2 + H2', [4.480000e+13, 0.0, 1068.0])
|
||||
# Reaction 16
|
||||
reaction( "H + HO2 <=> 2 OH", [8.40000E+13, 0, 635])
|
||||
|
||||
# Reaction 17
|
||||
reaction('H + HO2 <=> 2 OH', [8.400000e+13, 0.0, 635.0])
|
||||
# Reaction 17
|
||||
reaction( "H + H2O2 <=> HO2 + H2", [1.21000E+07, 2, 5200])
|
||||
|
||||
# Reaction 18
|
||||
reaction('H + H2O2 <=> HO2 + H2', [1.210000e+07, 2.0, 5200.0])
|
||||
# Reaction 18
|
||||
reaction( "H + H2O2 <=> OH + H2O", [1.00000E+13, 0, 3600])
|
||||
|
||||
# Reaction 19
|
||||
reaction('H + H2O2 <=> OH + H2O', [1.000000e+13, 0.0, 3600.0])
|
||||
# Reaction 19
|
||||
reaction( "OH + H2 <=> H + H2O", [2.16000E+08, 1.51, 3430])
|
||||
|
||||
# Reaction 20
|
||||
reaction('OH + H2 <=> H + H2O', [2.160000e+08, 1.51, 3430.0])
|
||||
# Reaction 20
|
||||
falloff_reaction( "2 OH (+ M) <=> H2O2 (+ M)",
|
||||
kf = [7.40000E+13, -0.37, 0],
|
||||
kf0 = [2.30000E+18, -0.9, -1700],
|
||||
falloff = Troe(A = 0.7346, T3 = 94, T1 = 1756, T2 = 5182),
|
||||
efficiencies = " AR:0.7 H2:2 H2O:6 ")
|
||||
|
||||
# Reaction 21
|
||||
falloff_reaction('2 OH (+ M) <=> H2O2 (+ M)',
|
||||
kf=[7.400000e+13, -0.37, 0.0],
|
||||
kf0=[2.300000e+18, -0.9, -1700.0],
|
||||
efficiencies='AR:0.7 H2:2.0 H2O:6.0',
|
||||
falloff=Troe(A=0.7346, T3=94.0, T1=1756.0, T2=5182.0))
|
||||
# Reaction 21
|
||||
reaction( "2 OH <=> O + H2O", [3.57000E+04, 2.4, -2110])
|
||||
|
||||
# Reaction 22
|
||||
reaction('2 OH <=> O + H2O', [3.570000e+04, 2.4, -2110.0])
|
||||
# Reaction 22
|
||||
reaction( "OH + HO2 <=> O2 + H2O", [1.45000E+13, 0, -500],
|
||||
options = 'duplicate')
|
||||
|
||||
# Reaction 23
|
||||
reaction('OH + HO2 <=> O2 + H2O', [1.450000e+13, 0.0, -500.0],
|
||||
options='duplicate')
|
||||
# Reaction 23
|
||||
reaction( "OH + H2O2 <=> HO2 + H2O", [2.00000E+12, 0, 427],
|
||||
options = 'duplicate')
|
||||
|
||||
# Reaction 24
|
||||
reaction('OH + H2O2 <=> HO2 + H2O', [2.000000e+12, 0.0, 427.0],
|
||||
options='duplicate')
|
||||
# Reaction 24
|
||||
reaction( "OH + H2O2 <=> HO2 + H2O", [1.70000E+18, 0, 29410],
|
||||
options = 'duplicate')
|
||||
|
||||
# Reaction 25
|
||||
reaction('OH + H2O2 <=> HO2 + H2O', [1.700000e+18, 0.0, 29410.0],
|
||||
options='duplicate')
|
||||
# Reaction 25
|
||||
reaction( "2 HO2 <=> O2 + H2O2", [1.30000E+11, 0, -1630],
|
||||
options = 'duplicate')
|
||||
|
||||
# Reaction 26
|
||||
reaction('2 HO2 <=> O2 + H2O2', [1.300000e+11, 0.0, -1630.0],
|
||||
options='duplicate')
|
||||
# Reaction 26
|
||||
reaction( "2 HO2 <=> O2 + H2O2", [4.20000E+14, 0, 12000],
|
||||
options = 'duplicate')
|
||||
|
||||
# Reaction 27
|
||||
reaction('2 HO2 <=> O2 + H2O2', [4.200000e+14, 0.0, 12000.0],
|
||||
options='duplicate')
|
||||
|
||||
# Reaction 28
|
||||
reaction('OH + HO2 <=> O2 + H2O', [5.000000e+15, 0.0, 17330.0],
|
||||
options='duplicate')
|
||||
# Reaction 27
|
||||
reaction( "OH + HO2 <=> O2 + H2O", [5.00000E+15, 0, 17330],
|
||||
options = 'duplicate')
|
||||
|
|
|
|||
|
|
@ -52,8 +52,6 @@ H2/2.00/ H2O/6.00/ AR/ .70/
|
|||
O+H2<=>H+OH 3.870E+04 2.700 6260.00
|
||||
O+HO2<=>OH+O2 2.000E+13 .000 .00
|
||||
O+H2O2<=>OH+HO2 9.630E+06 2.000 4000.00
|
||||
H+O2+M<=>HO2+M 2.800E+18 -.860 .00
|
||||
O2/ .00/ H2O/ .00/ AR/ .00/
|
||||
H+2O2<=>HO2+O2 2.080E+19 -1.240 .00
|
||||
H+O2+H2O<=>HO2+H2O 11.26E+18 -.760 .00
|
||||
H+O2+AR<=>HO2+AR 7.000E+17 -.800 .00
|
||||
|
|
|
|||
|
|
@ -1,295 +0,0 @@
|
|||
#==============================================================================
|
||||
# Cantera input file for an LCO/graphite lithium-ion battery
|
||||
#
|
||||
# This file includes a full set of thermodynamic and kinetic parameters of a
|
||||
# lithium-ion battery, in particular:
|
||||
# - Active materials: LiCoO2 (LCO) and LiC6 (graphite)
|
||||
# - Organic electrolyte: EC/PC with 1M LiPF6
|
||||
# - Interfaces: LCO/electrolyte and LiC6/electrolyte
|
||||
# - Charge-transfer reactions at the two interfaces
|
||||
#
|
||||
# A MATLAB example using this file for simulating a discharge curve is
|
||||
# samples/matlab/lithium_ion_battery.m
|
||||
#
|
||||
# Reference:
|
||||
# M. Mayur, S. C. DeCaluwe, B. L. Kee, W. G. Bessler, “Modeling and simulation
|
||||
# of the thermodynamics of lithium-ion battery intercalation materials in the
|
||||
# open-source software Cantera,” Electrochim. Acta 323, 134797 (2019),
|
||||
# https://doi.org/10.1016/j.electacta.2019.134797
|
||||
|
||||
#==============================================================================
|
||||
|
||||
#==============================================================================
|
||||
# Bulk phases
|
||||
#==============================================================================
|
||||
#------------------------------------------------------------------------------
|
||||
# Graphite (anode)
|
||||
# Thermodynamic data based on half-cell measurements by K. Kumaresan et al.,
|
||||
# J. Electrochem. Soc. 155, A164-A171 (2008)
|
||||
#------------------------------------------------------------------------------
|
||||
BinarySolutionTabulatedThermo(
|
||||
name = "anode",
|
||||
elements = "Li C",
|
||||
species = "Li[anode] V[anode]",
|
||||
standard_concentration = "unity",
|
||||
tabulated_species = "Li[anode]",
|
||||
tabulated_thermo = table(
|
||||
moleFraction = ([5.75000E-03, 1.77591E-02, 2.97682E-02, 4.17773E-02, 5.37864E-02, 6.57954E-02, 7.78045E-02, 8.98136E-02, 1.01823E-01, 1.13832E-01,
|
||||
1.25841E-01, 1.37850E-01, 1.49859E-01, 1.61868E-01, 1.73877E-01, 1.85886E-01, 1.97896E-01, 2.09904E-01, 2.21914E-01, 2.33923E-01,
|
||||
2.45932E-01, 2.57941E-01, 2.69950E-01, 2.81959E-01, 2.93968E-01, 3.05977E-01, 3.17986E-01, 3.29995E-01, 3.42004E-01, 3.54014E-01,
|
||||
3.66023E-01, 3.78032E-01, 3.90041E-01, 4.02050E-01, 4.14059E-01, 4.26068E-01, 4.38077E-01, 4.50086E-01, 4.62095E-01, 4.74104E-01,
|
||||
4.86114E-01, 4.98123E-01, 5.10132E-01, 5.22141E-01, 5.34150E-01, 5.46159E-01, 5.58168E-01, 5.70177E-01, 5.82186E-01, 5.94195E-01,
|
||||
6.06205E-01, 6.18214E-01, 6.30223E-01, 6.42232E-01, 6.54241E-01, 6.66250E-01, 6.78259E-01, 6.90268E-01, 7.02277E-01, 7.14286E-01,
|
||||
7.26295E-01, 7.38305E-01, 7.50314E-01, 7.62323E-01, 7.74332E-01, 7.86341E-01, 7.98350E-01],
|
||||
"1"),
|
||||
enthalpy = ([-6.40692E+04, -3.78794E+04, -1.99748E+04, -1.10478E+04, -7.04973E+03, -7.13749E+03, -8.79728E+03, -9.93655E+03, -1.03060E+04, -1.00679E+04,
|
||||
-9.69664E+03, -9.31556E+03, -8.90503E+03, -8.57057E+03, -8.38117E+03, -8.31928E+03, -8.31453E+03, -8.32977E+03, -8.33292E+03, -8.32931E+03,
|
||||
-8.31339E+03, -8.21331E+03, -8.08920E+03, -8.00131E+03, -7.92294E+03, -7.81543E+03, -7.77498E+03, -7.79440E+03, -7.78804E+03, -7.73218E+03,
|
||||
-7.69063E+03, -7.69630E+03, -7.63241E+03, -7.41910E+03, -7.06828E+03, -6.64544E+03, -6.17193E+03, -5.67055E+03, -5.14299E+03, -4.55704E+03,
|
||||
-3.94568E+03, -3.35408E+03, -2.87825E+03, -2.57690E+03, -2.43468E+03, -2.33952E+03, -2.23218E+03, -2.11482E+03, -2.03976E+03, -2.01990E+03,
|
||||
-2.01329E+03, -1.97991E+03, -1.92686E+03, -1.86602E+03, -1.81419E+03, -1.77693E+03, -1.74908E+03, -1.71494E+03, -1.67287E+03, -1.63685E+03,
|
||||
-1.59649E+03, -1.52295E+03, -1.39033E+03, -1.11524E+03, -5.34643E+02, 3.73854E+02, 1.60442E+03],
|
||||
"J/mol"),
|
||||
entropy = ([3.05724E+01, 4.04307E+01, 4.75718E+01, 5.25690E+01, 5.10953E+01, 4.43414E+01, 3.71575E+01, 3.23216E+01, 2.91586E+01, 2.70081E+01,
|
||||
2.53501E+01, 2.40845E+01, 2.30042E+01, 2.19373E+01, 2.07212E+01, 1.93057E+01, 1.77319E+01, 1.61153E+01, 1.46399E+01, 1.34767E+01,
|
||||
1.27000E+01, 1.23377E+01, 1.22815E+01, 1.23700E+01, 1.24863E+01, 1.26368E+01, 1.26925E+01, 1.26250E+01, 1.24861E+01, 1.23294E+01,
|
||||
1.21865E+01, 1.20723E+01, 1.21228E+01, 1.24383E+01, 1.30288E+01, 1.37342E+01, 1.44460E+01, 1.50813E+01, 1.56180E+01, 1.62213E+01,
|
||||
1.70474E+01, 1.80584E+01, 1.88377E+01, 1.92094E+01, 1.92957E+01, 1.93172E+01, 1.93033E+01, 1.92971E+01, 1.92977E+01, 1.92978E+01,
|
||||
1.92980E+01, 1.92978E+01, 1.92945E+01, 1.92899E+01, 1.92877E+01, 1.92882E+01, 1.92882E+01, 1.92882E+01, 1.92882E+01, 1.92882E+01,
|
||||
1.92885E+01, 1.92876E+01, 1.92837E+01, 1.92769E+01, 1.92850E+01, 1.93100E+01, 1.93514E+01],
|
||||
"J/mol/K")))
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Lithium cobalt oxide (cathode)
|
||||
# Thermodynamic data based on half-cell measurements by K. Kumaresan et al.,
|
||||
# J. Electrochem. Soc. 155, A164-A171 (2008)
|
||||
#------------------------------------------------------------------------------
|
||||
BinarySolutionTabulatedThermo(
|
||||
name = "cathode",
|
||||
elements = "Li Co O",
|
||||
species = "Li[cathode] V[cathode]",
|
||||
standard_concentration = "unity",
|
||||
tabulated_species = "Li[cathode]",
|
||||
tabulated_thermo = table(
|
||||
moleFraction = ([4.59630E-01, 4.67368E-01, 4.75105E-01, 4.82843E-01, 4.90581E-01, 4.98318E-01, 5.06056E-01, 5.13794E-01, 5.21531E-01, 5.29269E-01,
|
||||
5.37007E-01, 5.44744E-01, 5.52482E-01, 5.60219E-01, 5.67957E-01, 5.75695E-01, 5.83432E-01, 5.91170E-01, 5.98908E-01, 6.06645E-01,
|
||||
6.14383E-01, 6.22121E-01, 6.29858E-01, 6.37596E-01, 6.45334E-01, 6.53071E-01, 6.60809E-01, 6.68547E-01, 6.76284E-01, 6.84022E-01,
|
||||
6.91759E-01, 6.99497E-01, 7.07235E-01, 7.14972E-01, 7.22710E-01, 7.30448E-01, 7.38185E-01, 7.45923E-01, 7.53661E-01, 7.61398E-01,
|
||||
7.69136E-01, 7.76873E-01, 7.84611E-01, 7.92349E-01, 8.00087E-01, 8.07824E-01, 8.15562E-01, 8.23299E-01, 8.31037E-01, 8.38775E-01,
|
||||
8.46512E-01, 8.54250E-01, 8.61988E-01, 8.69725E-01, 8.77463E-01, 8.85201E-01, 8.92938E-01, 9.00676E-01, 9.08413E-01, 9.16151E-01,
|
||||
9.23889E-01, 9.31627E-01, 9.39364E-01, 9.47102E-01, 9.54839E-01, 9.62577E-01, 9.70315E-01, 9.78052E-01, 9.85790E-01],
|
||||
"1"),
|
||||
enthalpy = ([-4.16188E+05, -4.14839E+05, -4.12629E+05, -4.09620E+05, -4.05334E+05, -3.99420E+05, -3.92499E+05, -3.85940E+05, -3.81474E+05, -3.80290E+05,
|
||||
-3.81445E+05, -3.83295E+05, -3.85062E+05, -3.86633E+05, -3.87928E+05, -3.88837E+05, -3.89240E+05, -3.89238E+05, -3.89157E+05, -3.89174E+05,
|
||||
-3.89168E+05, -3.88988E+05, -3.88675E+05, -3.88478E+05, -3.88443E+05, -3.88346E+05, -3.88083E+05, -3.87768E+05, -3.87531E+05, -3.87356E+05,
|
||||
-3.87205E+05, -3.87052E+05, -3.86960E+05, -3.86957E+05, -3.86918E+05, -3.86814E+05, -3.86785E+05, -3.86957E+05, -3.87146E+05, -3.87188E+05,
|
||||
-3.87239E+05, -3.87507E+05, -3.87902E+05, -3.88142E+05, -3.88316E+05, -3.88464E+05, -3.88563E+05, -3.88687E+05, -3.89000E+05, -3.89414E+05,
|
||||
-3.89735E+05, -3.90005E+05, -3.90317E+05, -3.90632E+05, -3.90865E+05, -3.91100E+05, -3.91453E+05, -3.91742E+05, -3.91833E+05, -3.91858E+05,
|
||||
-3.91910E+05, -3.91798E+05, -3.91470E+05, -3.91005E+05, -3.90261E+05, -3.89181E+05, -3.85506E+05, -3.73450E+05, -3.53926E+05],
|
||||
"J/mol"),
|
||||
entropy = ([-2.52348E+01, -2.54629E+01, -2.26068E+01, -1.68899E+01, -6.74549E+00, 9.76522E+00, 3.08711E+01, 4.98756E+01, 5.85766E+01, 5.46784E+01,
|
||||
4.40727E+01, 3.30834E+01, 2.37109E+01, 1.61658E+01, 1.02408E+01, 5.75684E+00, 2.19969E+00, -6.93265E-01, -3.40166E+00, -6.03548E+00,
|
||||
-8.45666E+00, -1.03459E+01, -1.18860E+01, -1.35610E+01, -1.53331E+01, -1.68255E+01, -1.81219E+01, -1.95052E+01, -2.07093E+01, -2.16274E+01,
|
||||
-2.25743E+01, -2.38272E+01, -2.52029E+01, -2.65835E+01, -2.77164E+01, -2.86064E+01, -2.96044E+01, -3.09551E+01, -3.21990E+01, -3.31284E+01,
|
||||
-3.40633E+01, -3.53177E+01, -3.66599E+01, -3.76439E+01, -3.85616E+01, -3.96433E+01, -4.06506E+01, -4.15566E+01, -4.27485E+01, -4.41419E+01,
|
||||
-4.52082E+01, -4.61154E+01, -4.71614E+01, -4.82305E+01, -4.89739E+01, -4.96529E+01, -5.06905E+01, -5.18080E+01, -5.26580E+01, -5.32766E+01,
|
||||
-5.39817E+01, -5.45468E+01, -5.48125E+01, -5.51520E+01, -5.54526E+01, -5.52961E+01, -5.50219E+01, -5.46653E+01, -5.42305E+01],
|
||||
"J/mol/K")))
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Carbonate based electrolyte
|
||||
# Solvent: Ethylene carbonate:Propylene carbonate (1:1 v/v)
|
||||
# Salt: 1M LiPF6
|
||||
#------------------------------------------------------------------------------
|
||||
IdealSolidSolution(
|
||||
name = "electrolyte",
|
||||
elements = "Li P F C H O E",
|
||||
species = "C3H4O3[elyt] C4H6O3[elyt] Li+[elyt] PF6-[elyt]",
|
||||
initial_state = state(mole_fractions = 'C3H4O3[elyt]:0.47901 C4H6O3[elyt]:0.37563 Li+[elyt]:0.07268 PF6-[elyt]:0.07268'),
|
||||
standard_concentration = "unity")
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Electron conductor
|
||||
#------------------------------------------------------------------------------
|
||||
metal(
|
||||
name = "electron",
|
||||
elements = "E",
|
||||
species = "electron",
|
||||
density = (1.0, 'kg/m3'), # dummy entry
|
||||
initial_state = state( mole_fractions = "electron:1.0"))
|
||||
|
||||
|
||||
#==============================================================================
|
||||
# Species
|
||||
#==============================================================================
|
||||
#------------------------------------------------------------------------------
|
||||
# Lithium intercalated in graphite, MW: 79.0070 g/mol.
|
||||
# Note this species includes the carbon host matrix.
|
||||
# Molar enthalpy and entropy are set to 0 because the values given in the
|
||||
# BinarySolidSolutionTabulatedThermo class are used.
|
||||
# Density of graphite: 2270 kg/m3 (W. M. Haynes et al, CRC Handbook of Chemistry
|
||||
# and Physics, 94th edition, CRC press, Boca Raton, London, New York, 2013)
|
||||
# (used to calculate species molar volume as molecular weight (MW)/density).
|
||||
#------------------------------------------------------------------------------
|
||||
species(
|
||||
name = "Li[anode]",
|
||||
atoms = "Li:1 C:6",
|
||||
thermo = const_cp(h0 = (0.0, 'kJ/mol'), s0 = (0.0, 'J/mol/K')),
|
||||
standardState = constantIncompressible(molarVolume = (79.0070/2.270, 'cm3/mol')))
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Vacancy in graphite, MW: 72.0660 g/mol.
|
||||
# Note this species includes the carbon host matrix.
|
||||
# Molar enthalpy and entropy are set to 0 because this is the reference species
|
||||
# for this phase.
|
||||
# Density of graphite: 2270 kg/m3 (W. M. Haynes et al, CRC Handbook of Chemistry
|
||||
# and Physics, 94th edition, CRC press, Boca Raton, London, New York, 2013)
|
||||
# (used to calculate species molar volume as molecular weight (MW)/density).
|
||||
#------------------------------------------------------------------------------
|
||||
species(
|
||||
name = "V[anode]",
|
||||
atoms = "C:6",
|
||||
thermo = const_cp(h0 = (0.0, 'kJ/mol'), s0 = (0.0, 'J/mol/K')),
|
||||
standardState = constantIncompressible(molarVolume = (72.0660/2.270, 'cm3/mol')))
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Lithium cobalt oxide, MW: 97.8730 g/mol.
|
||||
# Note this species includes the cobalt oxide host matrix.
|
||||
# Molar enthalpy and entropy are set to 0 because the values given in the
|
||||
# BinarySolidSolutionTabulatedThermo class are used.
|
||||
# Density of LCO: 4790 kg/m3 (E.J. Cheng et al., J. Asian Ceramic Soc. 5, 113,
|
||||
# 2017) (used to calculate species molar volume as molecular weight/density).
|
||||
#------------------------------------------------------------------------------
|
||||
species(
|
||||
name = "Li[cathode]",
|
||||
atoms = "Li:1 Co:1 O:2",
|
||||
thermo = const_cp(h0 = (0.0, 'kJ/mol'), s0 = (0.0, 'J/mol/K')),
|
||||
standardState = constantIncompressible(molarVolume = (97.8730/4.790, 'cm3/mol')))
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Vacancy in the cobalt oxide, MW: 90.9320 g/mol.
|
||||
# Note this species includes the cobalt oxide host matrix.
|
||||
# Molar enthalpy and entropy are set to 0 because this is the reference species
|
||||
# for this phase.
|
||||
# Density of LCO: 4790 kg/m3 (E.J. Cheng et al., J. Asian Ceramic Soc. 5, 113,
|
||||
# 2017) (used to calculate species molar volume as molecular weight/density).
|
||||
#------------------------------------------------------------------------------
|
||||
species(
|
||||
name = "V[cathode]",
|
||||
atoms = "Co:1 O:2",
|
||||
thermo = const_cp(h0 = (0.0, 'kJ/mol'), s0 = (0.0, 'J/mol/K')),
|
||||
standardState = constantIncompressible(molarVolume = (90.9320/4.790, 'cm3/mol')))
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Ethylene carbonate, MW: 88.0630 g/mol
|
||||
# Density of electrolyte: 1260 kg/m3 (used to calculate species molar volume
|
||||
# as molecular weight (MW)/density)
|
||||
# Molar enthalpy and entropy set to zero (dummy entries as this species does
|
||||
# not participate in chemical reactions)
|
||||
#------------------------------------------------------------------------------
|
||||
species(
|
||||
name = "C3H4O3[elyt]",
|
||||
atoms = "C:3 H:4 O:3",
|
||||
thermo = const_cp(h0 =(0.0, 'J/mol'), s0 = (0.0, 'J/mol/K')),
|
||||
standardState = constantIncompressible(molarVolume = (88.0630/1.260, 'cm3/mol')))
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Propylene carbonate, MW: 102.0898 g/mol
|
||||
# Density of electrolyte: 1260.0 kg/m3 (used to calculate species molar volume
|
||||
# as molecular weight (MW)/density)
|
||||
# Molar enthalpy and entropy set to zero (dummy entries as this species does
|
||||
# not participate in chemical reactions)
|
||||
#------------------------------------------------------------------------------
|
||||
species(
|
||||
name = "C4H6O3[elyt]",
|
||||
atoms = "C:4 H:6 O:3",
|
||||
thermo = const_cp(h0 =(0.0, 'J/mol'), s0 = (0.0, 'J/mol/K')),
|
||||
standardState = constantIncompressible(molarVolume = (102.0898/1.260, 'cm3/mol')))
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Lithium ion, MW: 6.940455 g/mol
|
||||
# Density of electrolyte: 1260.0 kg/m3 (used to calculate species molar volume
|
||||
# as molecular weight (MW)/density)
|
||||
# Molar enthalpy and entropy taken from Li+(aq) from P. Atkins "Physical
|
||||
# Chemistry", Wiley-VCH (2006)
|
||||
#------------------------------------------------------------------------------
|
||||
species(
|
||||
name = "Li+[elyt]",
|
||||
atoms = "Li:1 E:-1",
|
||||
thermo = const_cp(h0 = (-278.49, 'kJ/mol'), s0 = (13.4, 'J/mol/K')),
|
||||
standardState = constantIncompressible(molarVolume = (6.940455/1.260, 'cm3/mol')))
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Hexafluorophosphate ion, MW: 144.964745 g/mol
|
||||
# Density of electrolyte: 1260.0 kg/m3 (used to calculate species molar volume
|
||||
# as molecular weight (MW)/density)
|
||||
# Molar enthalpy and entropy set to zero (dummy entries as this species does
|
||||
# not participate in chemical reactions)
|
||||
#------------------------------------------------------------------------------
|
||||
species(
|
||||
name = "PF6-[elyt]",
|
||||
atoms = "P:1 F:6 E:1",
|
||||
thermo = const_cp(h0 = (0.0, 'J/mol'), s0 = (0.0, 'J/mol/K')),
|
||||
standardState = constantIncompressible(molarVolume = (144.964745/1.260, 'cm3/mol')))
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Electron, MW: 0.000545 g/mol
|
||||
# Molar enthalpy and entropy set to zero (dummy entries because chemical
|
||||
# potential is set to zero for a "metal" phase)
|
||||
#------------------------------------------------------------------------------
|
||||
species(
|
||||
name = "electron",
|
||||
atoms = "E:1",
|
||||
thermo = const_cp(h0 = (0.0, 'kJ/mol'), s0 = (0.0, 'J/mol/K')))
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Dummy species (needed for defining the interfaces)
|
||||
#------------------------------------------------------------------------------
|
||||
species(
|
||||
name = "(dummy)",
|
||||
atoms = "",
|
||||
thermo = const_cp(h0 = (0.0, 'kJ/mol'), s0 = (0.0, 'J/mol/K')))
|
||||
|
||||
|
||||
#==============================================================================
|
||||
# Interfaces for electrochemical reactions
|
||||
#==============================================================================
|
||||
#------------------------------------------------------------------------------
|
||||
# Graphite/electrolyte interface
|
||||
# Species and site density are dummy entries (as we do not consider surface-
|
||||
# adsorbed species)
|
||||
#------------------------------------------------------------------------------
|
||||
ideal_interface(
|
||||
name = "edge_anode_electrolyte",
|
||||
phases = "anode electron electrolyte",
|
||||
reactions = "anode_*",
|
||||
species = "(dummy)",
|
||||
site_density = (1.0e-2, 'mol/cm2'))
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# LCO/electrolyte interface
|
||||
# Species and site density are dummy entries (as we do not consider surface-
|
||||
# adsorbed species)
|
||||
#------------------------------------------------------------------------------
|
||||
ideal_interface(
|
||||
name = "edge_cathode_electrolyte",
|
||||
phases = "cathode electron electrolyte",
|
||||
reactions = "cathode_*",
|
||||
species = "(dummy)",
|
||||
site_density = (1.0e-2, 'mol/cm2'))
|
||||
|
||||
|
||||
#==============================================================================
|
||||
# Electrochemical reactions
|
||||
#
|
||||
# We use Butler-Volmer kinetics by setting rate_coeff_type = "exchangecurrentdensity".
|
||||
# The preexponential factors and activation energies are converted from
|
||||
# Guo et al., J. Electrochem. Soc. 158, A122 (2011)
|
||||
#==============================================================================
|
||||
|
||||
# Graphite/electrolyte interface
|
||||
edge_reaction("Li+[elyt] + V[anode] + electron <=> Li[anode]", [2.028e4, 0.0, (20, 'kJ/mol')], rate_coeff_type = "exchangecurrentdensity", beta = 0.5,id="anode_reaction")
|
||||
|
||||
# LCO/electrolyte interface
|
||||
edge_reaction("Li+[elyt] + V[cathode] + electron <=> Li[cathode]", [5.629e11, 0.0, (58, 'kJ/mol')], rate_coeff_type = "exchangecurrentdensity", beta = 0.5,id="cathode_reaction")
|
||||
|
||||
|
|
@ -2,11 +2,11 @@
|
|||
# SURFACE MECHANISM OF POX of CH4 on PT wire gauze
|
||||
#
|
||||
#***********************************************************************
|
||||
#**** *
|
||||
#**** CH4-O2 SURFACE MECHANISM ON PT *
|
||||
#**** *
|
||||
#**** *
|
||||
#**** CH4-O2 SURFACE MECHANISM ON PT *
|
||||
#**** *
|
||||
#**** Version 1.0 Spring 2005 *
|
||||
#**** *
|
||||
#**** *
|
||||
#**** Raul Quiceno, Olaf Deutschmann, IWR, Heidelberg University, *
|
||||
#**** Germany *
|
||||
#**** Contact: mail@detchem.com (O. Deutschmann) *
|
||||
|
|
@ -30,8 +30,8 @@ units(length = "cm", time = "s", quantity = "mol", act_energy = "J/mol")
|
|||
|
||||
#
|
||||
# Define a gas mixture. This contains only major species, and no
|
||||
# gas-phase reactions.
|
||||
#
|
||||
# gas-phase reactions.
|
||||
#
|
||||
ideal_gas(name = "gas",
|
||||
elements = "O H C N Ar",
|
||||
species = """H2 O2 H2O CH4 CO CO2 AR""",
|
||||
|
|
@ -43,7 +43,7 @@ ideal_gas(name = "gas",
|
|||
|
||||
|
||||
#
|
||||
# The platinum surface.
|
||||
# The platinum surface.
|
||||
ideal_interface(name = "Pt_surf",
|
||||
elements = " Pt H O C ",
|
||||
species = """ PT(S) H(S)
|
||||
|
|
@ -53,7 +53,7 @@ ideal_interface(name = "Pt_surf",
|
|||
site_density = 2.72e-9,
|
||||
reactions = "all",
|
||||
options = ['skip_undeclared_elements',
|
||||
'skip_undeclared_species'],
|
||||
'skip_undeclared_species'],
|
||||
initial_state = state(temperature = 900.0,
|
||||
coverages = 'O(S):0.00, PT(S):0.01, H(S):0.99')
|
||||
)
|
||||
|
|
@ -61,16 +61,16 @@ ideal_interface(name = "Pt_surf",
|
|||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Species data
|
||||
# Species data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
species(name = "CH4",
|
||||
atoms = " C:1 H:4 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 7.787414790E-01, 1.747668350E-02,
|
||||
NASA( [ 300.00, 1000.00], [ 7.787414790E-01, 1.747668350E-02,
|
||||
-2.783409040E-05, 3.049708040E-08, -1.223930680E-11,
|
||||
-9.825228520E+03, 1.372219470E+01] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 1.683478830E+00, 1.023723560E-02,
|
||||
NASA( [ 1000.00, 5000.00], [ 1.683478830E+00, 1.023723560E-02,
|
||||
-3.875128640E-06, 6.785584870E-10, -4.503423120E-14,
|
||||
-1.008078710E+04, 9.623394970E+00] )
|
||||
)
|
||||
|
|
@ -79,10 +79,10 @@ species(name = "CH4",
|
|||
species(name = "O2",
|
||||
atoms = " O:2 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 3.783713500E+00, -3.023363400E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 3.783713500E+00, -3.023363400E-03,
|
||||
9.949275100E-06, -9.818910100E-09, 3.303182500E-12,
|
||||
-1.063810700E+03, 3.641634500E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 3.612213900E+00, 7.485316600E-04,
|
||||
NASA( [ 1000.00, 5000.00], [ 3.612213900E+00, 7.485316600E-04,
|
||||
-1.982064700E-07, 3.374900800E-11, -2.390737400E-15,
|
||||
-1.197815100E+03, 3.670330700E+00] )
|
||||
)
|
||||
|
|
@ -91,10 +91,10 @@ species(name = "O2",
|
|||
species(name = "CO",
|
||||
atoms = " C:1 O:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 3.262451650E+00, 1.511940850E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 3.262451650E+00, 1.511940850E-03,
|
||||
-3.881755220E-06, 5.581944240E-09, -2.474951230E-12,
|
||||
-1.431053910E+04, 4.848896980E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 3.025078060E+00, 1.442688520E-03,
|
||||
NASA( [ 1000.00, 5000.00], [ 3.025078060E+00, 1.442688520E-03,
|
||||
-5.630827790E-07, 1.018581330E-10, -6.910951560E-15,
|
||||
-1.426834960E+04, 6.108217720E+00] )
|
||||
)
|
||||
|
|
@ -103,10 +103,10 @@ species(name = "CO",
|
|||
species(name = "CO2",
|
||||
atoms = " C:1 O:2 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 2.275724650E+00, 9.922072290E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 2.275724650E+00, 9.922072290E-03,
|
||||
-1.040911320E-05, 6.866686780E-09, -2.117280090E-12,
|
||||
-4.837314060E+04, 1.018848800E+01] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 4.453622820E+00, 3.140168730E-03,
|
||||
NASA( [ 1000.00, 5000.00], [ 4.453622820E+00, 3.140168730E-03,
|
||||
-1.278410540E-06, 2.393996670E-10, -1.669033190E-14,
|
||||
-4.896696090E+04, -9.553958770E-01] )
|
||||
)
|
||||
|
|
@ -115,10 +115,10 @@ species(name = "CO2",
|
|||
species(name = "H2",
|
||||
atoms = " H:2 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 3.355351400E+00, 5.013614400E-04,
|
||||
NASA( [ 300.00, 1000.00], [ 3.355351400E+00, 5.013614400E-04,
|
||||
-2.300690800E-07, -4.790532400E-10, 4.852258500E-13,
|
||||
-1.019162600E+03, -3.547722800E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 3.066709500E+00, 5.747375500E-04,
|
||||
NASA( [ 1000.00, 5000.00], [ 3.066709500E+00, 5.747375500E-04,
|
||||
1.393831900E-08, -2.548351800E-11, 2.909857400E-15,
|
||||
-8.654741200E+02, -1.779842400E+00] )
|
||||
)
|
||||
|
|
@ -127,10 +127,10 @@ species(name = "H2",
|
|||
species(name = "H2O",
|
||||
atoms = " H:2 O:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 4.167723400E+00, -1.811497000E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 4.167723400E+00, -1.811497000E-03,
|
||||
5.947128800E-06, -4.869202100E-09, 1.529199100E-12,
|
||||
-3.028996900E+04, -7.313547400E-01] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 2.611047200E+00, 3.156313000E-03,
|
||||
NASA( [ 1000.00, 5000.00], [ 2.611047200E+00, 3.156313000E-03,
|
||||
-9.298543800E-07, 1.333153800E-10, -7.468935100E-15,
|
||||
-2.986816700E+04, 7.209126800E+00] )
|
||||
)
|
||||
|
|
@ -139,10 +139,10 @@ species(name = "H2O",
|
|||
species(name = "AR",
|
||||
atoms = " Ar:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
NASA( [ 300.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-7.453749800E+02, 4.366000600E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
NASA( [ 1000.00, 5000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-7.453750200E+02, 4.366000600E+00] )
|
||||
)
|
||||
|
|
@ -152,10 +152,10 @@ species(name = "AR",
|
|||
species(name = "PT(S)",
|
||||
atoms = " Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 0.000000000E+00, 0.000000000E+00,
|
||||
NASA( [ 300.00, 1000.00], [ 0.000000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 0.000000000E+00, 0.000000000E+00,
|
||||
NASA( [ 1000.00, 3000.00], [ 0.000000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00] )
|
||||
)
|
||||
|
|
@ -164,10 +164,10 @@ species(name = "PT(S)",
|
|||
species(name = "H(S)",
|
||||
atoms = " H:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -1.302987700E+00, 5.417319900E-03,
|
||||
NASA( [ 300.00, 1000.00], [ -1.302987700E+00, 5.417319900E-03,
|
||||
3.127797200E-07, -3.232853300E-09, 1.136282000E-12,
|
||||
-4.227707500E+03, 5.874323800E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 1.069699600E+00, 1.543223000E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 1.069699600E+00, 1.543223000E-03,
|
||||
-1.550092200E-07, -1.657316500E-10, 3.835934700E-14,
|
||||
-5.054612800E+03, -7.155523800E+00] )
|
||||
)
|
||||
|
|
@ -176,10 +176,10 @@ species(name = "H(S)",
|
|||
species(name = "H2O(S)",
|
||||
atoms = " O:1 H:2 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -2.765155300E+00, 1.331511500E-02,
|
||||
NASA( [ 300.00, 1000.00], [ -2.765155300E+00, 1.331511500E-02,
|
||||
1.012769500E-06, -7.182008300E-09, 2.281377600E-12,
|
||||
-3.639805500E+04, 1.209814500E+01] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 2.580305100E+00, 4.957082700E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 2.580305100E+00, 4.957082700E-03,
|
||||
-4.689405600E-07, -5.263313700E-10, 1.199832200E-13,
|
||||
-3.830223400E+04, -1.740632200E+01] )
|
||||
)
|
||||
|
|
@ -188,10 +188,10 @@ species(name = "H2O(S)",
|
|||
species(name = "OH(S)",
|
||||
atoms = " O:1 H:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -2.034088100E+00, 9.366268300E-03,
|
||||
NASA( [ 300.00, 1000.00], [ -2.034088100E+00, 9.366268300E-03,
|
||||
6.627521400E-07, -5.207488700E-09, 1.708873500E-12,
|
||||
-2.531994900E+04, 8.986318600E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 1.824997300E+00, 3.250156500E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 1.824997300E+00, 3.250156500E-03,
|
||||
-3.119754100E-07, -3.460320600E-10, 7.917147200E-14,
|
||||
-2.668549200E+04, -1.228089100E+01] )
|
||||
)
|
||||
|
|
@ -200,10 +200,10 @@ species(name = "OH(S)",
|
|||
species(name = "CO(S)",
|
||||
atoms = " C:1 O:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 4.890746600E+00, 6.813423500E-05,
|
||||
NASA( [ 300.00, 1000.00], [ 4.890746600E+00, 6.813423500E-05,
|
||||
1.976881400E-07, 1.238866900E-09, -9.033924900E-13,
|
||||
-3.229783600E+04, -1.745316100E+01] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 4.708377800E+00, 9.603729700E-04,
|
||||
NASA( [ 1000.00, 3000.00], [ 4.708377800E+00, 9.603729700E-04,
|
||||
-1.180527900E-07, -7.688382600E-11, 1.823200000E-14,
|
||||
-3.231172300E+04, -1.671959300E+01] )
|
||||
)
|
||||
|
|
@ -212,10 +212,10 @@ species(name = "CO(S)",
|
|||
species(name = "CO2(S)",
|
||||
atoms = " C:1 O:2 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 4.690000000E-01, 6.266200000E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 4.690000000E-01, 6.266200000E-03,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-5.045870000E+04, -4.555000000E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 4.690000000E-01, 6.266000000E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 4.690000000E-01, 6.266000000E-03,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-5.045870000E+04, -4.555000000E+00] )
|
||||
)
|
||||
|
|
@ -224,10 +224,10 @@ species(name = "CO2(S)",
|
|||
species(name = "CH3(S)",
|
||||
atoms = " C:1 H:3 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 1.291921700E+00, 7.267560300E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 1.291921700E+00, 7.267560300E-03,
|
||||
9.817947600E-07, -2.047129400E-09, 9.083271700E-14,
|
||||
-2.574561000E+03, -1.198303700E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 3.001616500E+00, 5.408450500E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 3.001616500E+00, 5.408450500E-03,
|
||||
-4.053805800E-07, -5.342246600E-10, 1.145188700E-13,
|
||||
-3.275272200E+03, -1.096598400E+01] )
|
||||
)
|
||||
|
|
@ -236,10 +236,10 @@ species(name = "CH3(S)",
|
|||
species(name = "CH2(S)",
|
||||
atoms = " C:1 H:2 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -1.487640400E-01, 5.139628900E-03,
|
||||
NASA( [ 300.00, 1000.00], [ -1.487640400E-01, 5.139628900E-03,
|
||||
1.121107500E-06, -8.275545200E-10, -4.457234500E-13,
|
||||
1.087870000E+04, 5.745188200E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 7.407612200E-01, 4.803253300E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 7.407612200E-01, 4.803253300E-03,
|
||||
-3.282563300E-07, -4.777978600E-10, 1.007345200E-13,
|
||||
1.044375200E+04, 4.084208600E-01] )
|
||||
)
|
||||
|
|
@ -248,10 +248,10 @@ species(name = "CH2(S)",
|
|||
species(name = "CH(S)",
|
||||
atoms = " C:1 H:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 8.415748500E-01, 1.309538000E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 8.415748500E-01, 1.309538000E-03,
|
||||
2.846457500E-07, 6.386290400E-10, -4.276665800E-13,
|
||||
2.233280100E+04, 1.145230500E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ -4.824247200E-03, 3.044623900E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ -4.824247200E-03, 3.044623900E-03,
|
||||
-1.606609900E-07, -2.904170000E-10, 5.799992400E-14,
|
||||
2.259521900E+04, 5.667781800E+00] )
|
||||
)
|
||||
|
|
@ -260,10 +260,10 @@ species(name = "CH(S)",
|
|||
species(name = "C(S)",
|
||||
atoms = " C:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 5.892401900E-01, 2.501284200E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 5.892401900E-01, 2.501284200E-03,
|
||||
-3.422949800E-07, -1.899434600E-09, 1.019040600E-12,
|
||||
1.023692300E+04, 2.193701700E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 1.579282400E+00, 3.652870100E-04,
|
||||
NASA( [ 1000.00, 3000.00], [ 1.579282400E+00, 3.652870100E-04,
|
||||
-5.065767200E-08, -3.488485500E-11, 8.808969900E-15,
|
||||
9.953575200E+03, -3.024049500E+00] )
|
||||
)
|
||||
|
|
@ -272,17 +272,17 @@ species(name = "C(S)",
|
|||
species(name = "O(S)",
|
||||
atoms = " O:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -9.498690400E-01, 7.404230500E-03,
|
||||
NASA( [ 300.00, 1000.00], [ -9.498690400E-01, 7.404230500E-03,
|
||||
-1.045142400E-06, -6.112042000E-09, 3.378799200E-12,
|
||||
-1.320991200E+04, 3.613790500E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 1.945418000E+00, 9.176164700E-04,
|
||||
NASA( [ 1000.00, 3000.00], [ 1.945418000E+00, 9.176164700E-04,
|
||||
-1.122671900E-07, -9.909962400E-11, 2.430769900E-14,
|
||||
-1.400518700E+04, -1.153166300E+01] )
|
||||
)
|
||||
)
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Reaction data
|
||||
# Reaction data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
# Adsorption reactions
|
||||
|
|
@ -316,12 +316,12 @@ surface_reaction( "CO + PT(S) => CO(S)",
|
|||
|
||||
# Desorption reactions
|
||||
|
||||
surface_reaction( "2 H(S) => H2 + 2 PT(S)",
|
||||
Arrhenius(3.70000E+21, 0, 67400,
|
||||
surface_reaction( "2 H(S) => H2 + 2 PT(S)",
|
||||
Arrhenius(3.70000E+21, 0, 67400,
|
||||
coverage = ['H(S)', 0.0, 0.0, -10000.0]))
|
||||
|
||||
surface_reaction( "2 O(S) => O2 + 2 PT(S)",
|
||||
Arrhenius(3.70000E+21, 0, 235500,
|
||||
surface_reaction( "2 O(S) => O2 + 2 PT(S)",
|
||||
Arrhenius(3.70000E+21, 0, 235500,
|
||||
coverage = ['O(S)', 0.0, 0.0, -188300.0]) )
|
||||
|
||||
surface_reaction( "H2O(S) => H2O + PT(S)", [4.50000E+12, 0, 41800])
|
||||
|
|
@ -355,7 +355,7 @@ surface_reaction( "CO2(S) + PT(S) => CO(S) + O(S)",
|
|||
|
||||
surface_reaction( "CO(S) + OH(S) => CO2(S) + H(S)",
|
||||
Arrhenius(1.0000E+19, 0, 38700,
|
||||
coverage = ['CO(S)', 0.0, 0.0, -30000]))
|
||||
coverage = ['CO(S)', 0.0, 0.0, -30000]))
|
||||
|
||||
surface_reaction( "CO2(S) + H(S) => CO(S) + OH(S)",
|
||||
Arrhenius(1.0000E+19, 0, 8400))
|
||||
|
|
@ -369,7 +369,7 @@ surface_reaction( "CH2(S) + H(S) => CH3(S) + PT(S)",
|
|||
|
||||
surface_reaction( "CH2(S) + PT(S) => CH(S) + H(S)",
|
||||
Arrhenius(7.3100E+22, 0, 58900,
|
||||
coverage = ['C(S)', 0.0, 0.0, 50000]))
|
||||
coverage = ['C(S)', 0.0, 0.0, 50000]))
|
||||
surface_reaction( "CH(S) + H(S) => CH2(S) + PT(S)",
|
||||
Arrhenius(3.0900E+22, 0, 0,
|
||||
coverage = ['H(S)', 0.0, 0.0, -2800]))
|
||||
|
|
|
|||
10
data/inputs/mkxml.in
Executable file
10
data/inputs/mkxml.in
Executable file
|
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
# run ck2cti to convert Chemkin-format files to Cantera format
|
||||
#
|
||||
BUILDBIN="@buildbin@"
|
||||
#
|
||||
$BUILDBIN/ck2cti -i gri30.inp -id gri30 -tr ../transport/gri30_tran.dat > gri30.cti
|
||||
$BUILDBIN/ck2cti -i air.inp -id air -t gri30.inp -tr ../transport/gri30_tran.dat > air.cti
|
||||
$BUILDBIN/ck2cti -i h2o2.inp -id ohmech -tr ../transport/gri30_tran.dat > h2o2.cti
|
||||
$BUILDBIN/ck2cti -i silane.inp -id silane -tr ../transport/misc_tran.dat > silane.cti
|
||||
$BUILDBIN/ck2cti -i argon.inp -id argon -t gri30.inp -tr ../transport/gri30_tran.dat > argon.cti
|
||||
File diff suppressed because it is too large
Load diff
6468
data/inputs/nasa_condensed.xml
Normal file
6468
data/inputs/nasa_condensed.xml
Normal file
File diff suppressed because it is too large
Load diff
12862
data/inputs/nasa_gas.xml
Normal file
12862
data/inputs/nasa_gas.xml
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# see http://reaflow.iwr.uni-heidelberg.de/~Olaf.Deutschmann/ for
|
||||
# see http://reaflow.iwr.uni-heidelberg.de/~Olaf.Deutschmann/ for
|
||||
# more about this mechanism
|
||||
#
|
||||
#---------------------------------------------------------------------!
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
# pp. 1747-1754
|
||||
#----------------------------------------------------------------------
|
||||
#
|
||||
# Converted to Cantera format
|
||||
# Converted to Cantera format
|
||||
# by ck2cti on Thu Aug 21 07:58:45 2003
|
||||
#
|
||||
#----------------------------------------------------------------------
|
||||
|
|
@ -35,13 +35,13 @@ units(length = "cm", time = "s", quantity = "mol", act_energy = "J/mol")
|
|||
# Reactions will be imported from GRI-Mech 3.0, as long as they
|
||||
# don't involve species not declared here. Transport properties
|
||||
# will be computed using a mixture-averaged model.
|
||||
#
|
||||
#
|
||||
ideal_gas(name = "gas",
|
||||
elements = "O H C N Ar",
|
||||
species = """gri30: H2 H O O2 OH
|
||||
H2O HO2 H2O2
|
||||
C CH CH2 CH2(S) CH3 CH4 CO CO2
|
||||
HCO CH2O CH2OH CH3O CH3OH C2H C2H2 C2H3
|
||||
species = """gri30: H2 H O O2 OH
|
||||
H2O HO2 H2O2
|
||||
C CH CH2 CH2(S) CH3 CH4 CO CO2
|
||||
HCO CH2O CH2OH CH3O CH3OH C2H C2H2 C2H3
|
||||
C2H4 C2H5 C2H6 HCCO CH2CO HCCOH AR N2""",
|
||||
transport = 'Mix',
|
||||
reactions = 'gri30: all',
|
||||
|
|
@ -74,10 +74,10 @@ ideal_interface(name = "Pt_surf",
|
|||
species(name = "PT(S)",
|
||||
atoms = " Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 0.000000000E+00, 0.000000000E+00,
|
||||
NASA( [ 300.00, 1000.00], [ 0.000000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 0.000000000E+00, 0.000000000E+00,
|
||||
NASA( [ 1000.00, 3000.00], [ 0.000000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00] )
|
||||
)
|
||||
|
|
@ -86,10 +86,10 @@ species(name = "PT(S)",
|
|||
species(name = "H(S)",
|
||||
atoms = " H:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -1.302987700E+00, 5.417319900E-03,
|
||||
NASA( [ 300.00, 1000.00], [ -1.302987700E+00, 5.417319900E-03,
|
||||
3.127797200E-07, -3.232853300E-09, 1.136282000E-12,
|
||||
-4.227707500E+03, 5.874323800E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 1.069699600E+00, 1.543223000E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 1.069699600E+00, 1.543223000E-03,
|
||||
-1.550092200E-07, -1.657316500E-10, 3.835934700E-14,
|
||||
-5.054612800E+03, -7.155523800E+00] )
|
||||
)
|
||||
|
|
@ -98,10 +98,10 @@ species(name = "H(S)",
|
|||
species(name = "H2O(S)",
|
||||
atoms = " O:1 H:2 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -2.765155300E+00, 1.331511500E-02,
|
||||
NASA( [ 300.00, 1000.00], [ -2.765155300E+00, 1.331511500E-02,
|
||||
1.012769500E-06, -7.182008300E-09, 2.281377600E-12,
|
||||
-3.639805500E+04, 1.209814500E+01] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 2.580305100E+00, 4.957082700E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 2.580305100E+00, 4.957082700E-03,
|
||||
-4.689405600E-07, -5.263313700E-10, 1.199832200E-13,
|
||||
-3.830223400E+04, -1.740632200E+01] )
|
||||
)
|
||||
|
|
@ -110,10 +110,10 @@ species(name = "H2O(S)",
|
|||
species(name = "OH(S)",
|
||||
atoms = " O:1 H:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -2.034088100E+00, 9.366268300E-03,
|
||||
NASA( [ 300.00, 1000.00], [ -2.034088100E+00, 9.366268300E-03,
|
||||
6.627521400E-07, -5.207488700E-09, 1.708873500E-12,
|
||||
-2.531994900E+04, 8.986318600E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 1.824997300E+00, 3.250156500E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 1.824997300E+00, 3.250156500E-03,
|
||||
-3.119754100E-07, -3.460320600E-10, 7.917147200E-14,
|
||||
-2.668549200E+04, -1.228089100E+01] )
|
||||
)
|
||||
|
|
@ -122,10 +122,10 @@ species(name = "OH(S)",
|
|||
species(name = "CO(S)",
|
||||
atoms = " C:1 O:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 4.890746600E+00, 6.813423500E-05,
|
||||
NASA( [ 300.00, 1000.00], [ 4.890746600E+00, 6.813423500E-05,
|
||||
1.976881400E-07, 1.238866900E-09, -9.033924900E-13,
|
||||
-3.229783600E+04, -1.745316100E+01] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 4.708377800E+00, 9.603729700E-04,
|
||||
NASA( [ 1000.00, 3000.00], [ 4.708377800E+00, 9.603729700E-04,
|
||||
-1.180527900E-07, -7.688382600E-11, 1.823200000E-14,
|
||||
-3.231172300E+04, -1.671959300E+01] )
|
||||
)
|
||||
|
|
@ -134,10 +134,10 @@ species(name = "CO(S)",
|
|||
species(name = "CO2(S)",
|
||||
atoms = " C:1 O:2 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 4.690000000E-01, 6.266200000E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 4.690000000E-01, 6.266200000E-03,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-5.045870000E+04, -4.555000000E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 4.690000000E-01, 6.266000000E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 4.690000000E-01, 6.266000000E-03,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-5.045870000E+04, -4.555000000E+00] )
|
||||
)
|
||||
|
|
@ -146,10 +146,10 @@ species(name = "CO2(S)",
|
|||
species(name = "CH3(S)",
|
||||
atoms = " C:1 H:3 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 1.291921700E+00, 7.267560300E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 1.291921700E+00, 7.267560300E-03,
|
||||
9.817947600E-07, -2.047129400E-09, 9.083271700E-14,
|
||||
-2.574561000E+03, -1.198303700E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 3.001616500E+00, 5.408450500E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 3.001616500E+00, 5.408450500E-03,
|
||||
-4.053805800E-07, -5.342246600E-10, 1.145188700E-13,
|
||||
-3.275272200E+03, -1.096598400E+01] )
|
||||
)
|
||||
|
|
@ -158,10 +158,10 @@ species(name = "CH3(S)",
|
|||
species(name = "CH2(S)s",
|
||||
atoms = " C:1 H:2 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -1.487640400E-01, 5.139628900E-03,
|
||||
NASA( [ 300.00, 1000.00], [ -1.487640400E-01, 5.139628900E-03,
|
||||
1.121107500E-06, -8.275545200E-10, -4.457234500E-13,
|
||||
1.087870000E+04, 5.745188200E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 7.407612200E-01, 4.803253300E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 7.407612200E-01, 4.803253300E-03,
|
||||
-3.282563300E-07, -4.777978600E-10, 1.007345200E-13,
|
||||
1.044375200E+04, 4.084208600E-01] )
|
||||
)
|
||||
|
|
@ -170,10 +170,10 @@ species(name = "CH2(S)s",
|
|||
species(name = "CH(S)",
|
||||
atoms = " C:1 H:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 8.415748500E-01, 1.309538000E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 8.415748500E-01, 1.309538000E-03,
|
||||
2.846457500E-07, 6.386290400E-10, -4.276665800E-13,
|
||||
2.233280100E+04, 1.145230500E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ -4.824247200E-03, 3.044623900E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ -4.824247200E-03, 3.044623900E-03,
|
||||
-1.606609900E-07, -2.904170000E-10, 5.799992400E-14,
|
||||
2.259521900E+04, 5.667781800E+00] )
|
||||
)
|
||||
|
|
@ -182,10 +182,10 @@ species(name = "CH(S)",
|
|||
species(name = "C(S)",
|
||||
atoms = " C:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 5.892401900E-01, 2.501284200E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 5.892401900E-01, 2.501284200E-03,
|
||||
-3.422949800E-07, -1.899434600E-09, 1.019040600E-12,
|
||||
1.023692300E+04, 2.193701700E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 1.579282400E+00, 3.652870100E-04,
|
||||
NASA( [ 1000.00, 3000.00], [ 1.579282400E+00, 3.652870100E-04,
|
||||
-5.065767200E-08, -3.488485500E-11, 8.808969900E-15,
|
||||
9.953575200E+03, -3.024049500E+00] )
|
||||
)
|
||||
|
|
@ -194,10 +194,10 @@ species(name = "C(S)",
|
|||
species(name = "O(S)",
|
||||
atoms = " O:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -9.498690400E-01, 7.404230500E-03,
|
||||
NASA( [ 300.00, 1000.00], [ -9.498690400E-01, 7.404230500E-03,
|
||||
-1.045142400E-06, -6.112042000E-09, 3.378799200E-12,
|
||||
-1.320991200E+04, 3.613790500E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 1.945418000E+00, 9.176164700E-04,
|
||||
NASA( [ 1000.00, 3000.00], [ 1.945418000E+00, 9.176164700E-04,
|
||||
-1.122671900E-07, -9.909962400E-11, 2.430769900E-14,
|
||||
-1.400518700E+04, -1.153166300E+01] )
|
||||
)
|
||||
|
|
@ -206,16 +206,16 @@ species(name = "O(S)",
|
|||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Reaction data
|
||||
# Reaction data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
# Reaction 1
|
||||
surface_reaction("H2 + 2 PT(S) => 2 H(S)", [4.45790E+10, 0.5, 0],
|
||||
surface_reaction("H2 + 2 PT(S) => 2 H(S)", [4.45790E+10, 0.5, 0],
|
||||
order = "PT(S):1")
|
||||
|
||||
# Reaction 2
|
||||
surface_reaction( "2 H(S) => H2 + 2 PT(S)",
|
||||
Arrhenius(3.70000E+21, 0, 67400,
|
||||
surface_reaction( "2 H(S) => H2 + 2 PT(S)",
|
||||
Arrhenius(3.70000E+21, 0, 67400,
|
||||
coverage = ['H(S)', 0.0, 0.0, -6000.0]))
|
||||
|
||||
# Reaction 3
|
||||
|
|
@ -230,8 +230,8 @@ surface_reaction( "O2 + 2 PT(S) => 2 O(S)", stick(2.30000E-02, 0, 0),
|
|||
options = 'duplicate')
|
||||
|
||||
# Reaction 6
|
||||
surface_reaction( "2 O(S) => O2 + 2 PT(S)",
|
||||
Arrhenius(3.70000E+21, 0, 213200,
|
||||
surface_reaction( "2 O(S) => O2 + 2 PT(S)",
|
||||
Arrhenius(3.70000E+21, 0, 213200,
|
||||
coverage = ['O(S)', 0.0, 0.0, -60000.0]) )
|
||||
|
||||
# Reaction 7
|
||||
|
|
@ -259,7 +259,7 @@ surface_reaction( "H(S) + OH(S) <=> H2O(S) + PT(S)", [3.70000E+21, 0, 17400])
|
|||
surface_reaction( "OH(S) + OH(S) <=> H2O(S) + O(S)", [3.70000E+21, 0, 48200])
|
||||
|
||||
# Reaction 15
|
||||
surface_reaction( "CO + PT(S) => CO(S)", [1.61800E+20, 0.5, 0],
|
||||
surface_reaction( "CO + PT(S) => CO(S)", [1.61800E+20, 0.5, 0],
|
||||
order = "PT(S):2")
|
||||
|
||||
# Reaction 16
|
||||
|
|
@ -273,7 +273,7 @@ surface_reaction( "CO(S) + O(S) => CO2(S) + PT(S)", [3.70000E+21, 0, 105000])
|
|||
|
||||
# Reaction 19
|
||||
surface_reaction( "CH4 + 2 PT(S) => CH3(S) + H(S)", [4.63340E+20, 0.5, 0],
|
||||
order = "PT(S):2.3")
|
||||
order = "PT(S):2.3")
|
||||
|
||||
# Reaction 20
|
||||
surface_reaction( "CH3(S) + PT(S) => CH2(S)s + H(S)",
|
||||
|
|
@ -290,3 +290,11 @@ surface_reaction( "C(S) + O(S) => CO(S) + PT(S)", [3.70000E+21, 0, 62800])
|
|||
|
||||
# Reaction 24
|
||||
surface_reaction( "CO(S) + PT(S) => C(S) + O(S)", [1.00000E+18, 0, 184000])
|
||||
|
||||
# Reaction 25 (12/28/2009 HKM added: This is a fictious rxn that is added for numerical stability.
|
||||
# The issue is that if multiple surface species have a negative concentration, the
|
||||
# Jacobian for the surface problem will go singular due to the way negative concentrations
|
||||
# are truncated within Cantera. Adding in unimolecular desorption rxns with neglibigle real
|
||||
# effects alleviates the problem.)
|
||||
surface_reaction( "C(S) => C + PT(S)", [3.7E7, 0, 62800])
|
||||
|
||||
|
|
|
|||
|
|
@ -1,251 +1,358 @@
|
|||
units(length='cm', time='s', quantity='mol', act_energy='cal/mol')
|
||||
#
|
||||
# Generated from file silane.inp
|
||||
# by ck2cti on Mon Sep 20 14:24:48 2004
|
||||
#
|
||||
# Transport data from file misc_tran.dat.
|
||||
|
||||
units(length = "cm", time = "s", quantity = "mol", act_energy = "cal/mol")
|
||||
|
||||
|
||||
ideal_gas(name = "silane",
|
||||
elements = " Si H He ",
|
||||
species = """ H2 H HE SIH4 SI SIH SIH2 SIH3 H3SISIH SI2H6
|
||||
H2SISIH2 SI3H8 SI2 SI3 """,
|
||||
reactions = "all",
|
||||
transport = "Mix",
|
||||
initial_state = state(temperature = 300.0,
|
||||
pressure = OneAtm) )
|
||||
|
||||
|
||||
ideal_gas(name='gas',
|
||||
elements="Si H He",
|
||||
species="""H2 H HE SIH4 SI
|
||||
SIH SIH2 SIH3 H3SISIH SI2H6
|
||||
H2SISIH2 SI3H8 SI2 SI3""",
|
||||
reactions='all',
|
||||
initial_state=state(temperature=300.0, pressure=OneAtm))
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Species data
|
||||
# Species data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
species(name='H2',
|
||||
atoms='H:2',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 2.34433112E+00, 7.98052075E-03, -1.94781510E-05,
|
||||
2.01572094E-08, -7.37611761E-12, -9.17935173E+02,
|
||||
6.83010238E-01]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 3.33727920E+00, -4.94024731E-05, 4.99456778E-07,
|
||||
-1.79566394E-10, 2.00255376E-14, -9.50158922E+02,
|
||||
-3.20502331E+00])),
|
||||
note='TPIS78')
|
||||
species(name = "H2",
|
||||
atoms = " H:2 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 2.344331120E+00, 7.980520750E-03,
|
||||
-1.947815100E-05, 2.015720940E-08, -7.376117610E-12,
|
||||
-9.179351730E+02, 6.830102380E-01] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 3.337279200E+00, -4.940247310E-05,
|
||||
4.994567780E-07, -1.795663940E-10, 2.002553760E-14,
|
||||
-9.501589220E+02, -3.205023310E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 2.92,
|
||||
well_depth = 38.00,
|
||||
polar = 0.79,
|
||||
rot_relax = 280.00),
|
||||
note = "TPIS78"
|
||||
)
|
||||
|
||||
species(name='H',
|
||||
atoms='H:1',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 2.50000000E+00, 7.05332819E-13, -1.99591964E-15,
|
||||
2.30081632E-18, -9.27732332E-22, 2.54736599E+04,
|
||||
-4.46682853E-01]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 2.50000001E+00, -2.30842973E-11, 1.61561948E-14,
|
||||
-4.73515235E-18, 4.98197357E-22, 2.54736599E+04,
|
||||
-4.46682914E-01])),
|
||||
note='L7/88')
|
||||
species(name = "H",
|
||||
atoms = " H:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 2.500000000E+00, 7.053328190E-13,
|
||||
-1.995919640E-15, 2.300816320E-18, -9.277323320E-22,
|
||||
2.547365990E+04, -4.466828530E-01] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 2.500000010E+00, -2.308429730E-11,
|
||||
1.615619480E-14, -4.735152350E-18, 4.981973570E-22,
|
||||
2.547365990E+04, -4.466829140E-01] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "atom",
|
||||
diam = 2.05,
|
||||
well_depth = 145.00),
|
||||
note = "L 7/88"
|
||||
)
|
||||
|
||||
species(name='HE',
|
||||
atoms='He:1',
|
||||
thermo=(NASA([300.00, 1000.00],
|
||||
[ 2.50000000E+00, 0.00000000E+00, 0.00000000E+00,
|
||||
0.00000000E+00, 0.00000000E+00, -7.45375000E+02,
|
||||
9.15348800E-01]),
|
||||
NASA([1000.00, 5000.00],
|
||||
[ 2.50000000E+00, 0.00000000E+00, 0.00000000E+00,
|
||||
0.00000000E+00, 0.00000000E+00, -7.45375000E+02,
|
||||
9.15348900E-01])),
|
||||
note='120186')
|
||||
species(name = "HE",
|
||||
atoms = " He:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-7.453750000E+02, 9.153488000E-01] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-7.453750000E+02, 9.153489000E-01] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "atom",
|
||||
diam = 2.58,
|
||||
well_depth = 10.20),
|
||||
note = "120186"
|
||||
)
|
||||
|
||||
species(name='SIH4',
|
||||
atoms='H:4 Si:1',
|
||||
thermo=(NASA([300.00, 1000.00],
|
||||
[ 1.45164040E+00, 1.39873630E-02, -4.23456390E-06,
|
||||
-2.36061420E-09, 1.37120890E-12, 3.11341050E+03,
|
||||
1.23218550E+01]),
|
||||
NASA([1000.00, 2000.00],
|
||||
[ 7.93593800E-01, 1.76718990E-02, -1.13980090E-05,
|
||||
3.59926040E-09, -4.52415710E-13, 3.19821270E+03,
|
||||
1.52422570E+01])),
|
||||
note='90784')
|
||||
species(name = "SIH4",
|
||||
atoms = " Si:1 H:4 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 1.451640400E+00, 1.398736300E-02,
|
||||
-4.234563900E-06, -2.360614200E-09, 1.371208900E-12,
|
||||
3.113410500E+03, 1.232185500E+01] ),
|
||||
NASA( [ 1000.00, 2000.00], [ 7.935938000E-01, 1.767189900E-02,
|
||||
-1.139800900E-05, 3.599260400E-09, -4.524157100E-13,
|
||||
3.198212700E+03, 1.524225700E+01] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 4.08,
|
||||
well_depth = 207.60,
|
||||
rot_relax = 1.00),
|
||||
note = "90784"
|
||||
)
|
||||
|
||||
species(name='SI',
|
||||
atoms='Si:1',
|
||||
thermo=(NASA([300.00, 1000.00],
|
||||
[ 3.17935370E+00, -2.76469920E-03, 4.47840380E-06,
|
||||
-3.28331770E-09, 9.12136310E-13, 5.33390320E+04,
|
||||
2.72732040E+00]),
|
||||
NASA([1000.00, 5000.00],
|
||||
[ 2.65060140E+00, -3.57638520E-04, 2.95922930E-07,
|
||||
-7.28048290E-11, 5.79633290E-15, 5.34370540E+04,
|
||||
5.22040570E+00])),
|
||||
note='J3/67')
|
||||
species(name = "SI",
|
||||
atoms = " Si:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 3.179353700E+00, -2.764699200E-03,
|
||||
4.478403800E-06, -3.283317700E-09, 9.121363100E-13,
|
||||
5.333903200E+04, 2.727320400E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 2.650601400E+00, -3.576385200E-04,
|
||||
2.959229300E-07, -7.280482900E-11, 5.796332900E-15,
|
||||
5.343705400E+04, 5.220405700E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "atom",
|
||||
diam = 2.91,
|
||||
well_depth = 3036.00),
|
||||
note = "J 3/67"
|
||||
)
|
||||
|
||||
species(name='SIH',
|
||||
atoms='H:1 Si:1',
|
||||
thermo=(NASA([300.00, 1000.00],
|
||||
[ 3.83601000E+00, -2.70265700E-03, 6.84907000E-06,
|
||||
-5.42418400E-09, 1.47213100E-12, 4.50759300E+04,
|
||||
9.35077800E-01]),
|
||||
NASA([1000.00, 2000.00],
|
||||
[ 3.11043000E+00, 1.09494600E-03, 2.89862900E-08,
|
||||
-2.74510400E-10, 7.05179900E-14, 4.51689800E+04,
|
||||
4.19348700E+00])),
|
||||
note='121986')
|
||||
species(name = "SIH",
|
||||
atoms = " Si:1 H:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 3.836010000E+00, -2.702657000E-03,
|
||||
6.849070000E-06, -5.424184000E-09, 1.472131000E-12,
|
||||
4.507593000E+04, 9.350778000E-01] ),
|
||||
NASA( [ 1000.00, 2000.00], [ 3.110430000E+00, 1.094946000E-03,
|
||||
2.898629000E-08, -2.745104000E-10, 7.051799000E-14,
|
||||
4.516898000E+04, 4.193487000E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.66,
|
||||
well_depth = 95.80,
|
||||
rot_relax = 1.00),
|
||||
note = "121986"
|
||||
)
|
||||
|
||||
species(name='SIH2',
|
||||
atoms='H:2 Si:1',
|
||||
thermo=(NASA([300.00, 1000.00],
|
||||
[ 3.47509200E+00, 2.13933800E-03, 7.67230600E-07,
|
||||
5.21766800E-10, -9.89882400E-13, 3.14739700E+04,
|
||||
4.43658500E+00]),
|
||||
NASA([1000.00, 3000.00],
|
||||
[ 4.14239000E+00, 2.15019100E-03, -2.19073000E-07,
|
||||
-2.07372500E-10, 4.74101800E-14, 3.11048400E+04,
|
||||
2.93074500E-01])),
|
||||
note='42489')
|
||||
species(name = "SIH2",
|
||||
atoms = " Si:1 H:2 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 3.475092000E+00, 2.139338000E-03,
|
||||
7.672306000E-07, 5.217668000E-10, -9.898824000E-13,
|
||||
3.147397000E+04, 4.436585000E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 4.142390000E+00, 2.150191000E-03,
|
||||
-2.190730000E-07, -2.073725000E-10, 4.741018000E-14,
|
||||
3.110484000E+04, 2.930745000E-01] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.80,
|
||||
well_depth = 133.10,
|
||||
rot_relax = 1.00),
|
||||
note = "42489"
|
||||
)
|
||||
|
||||
species(name='SIH3',
|
||||
atoms='H:3 Si:1',
|
||||
thermo=(NASA([300.00, 1000.00],
|
||||
[ 2.94673300E+00, 6.46676400E-03, 5.99165300E-07,
|
||||
-2.21841300E-09, 3.05267000E-13, 2.27017300E+04,
|
||||
7.34794800E+00]),
|
||||
NASA([1000.00, 3000.00],
|
||||
[ 5.01590600E+00, 3.73275000E-03, -3.60905300E-07,
|
||||
-3.72919300E-10, 8.46849000E-14, 2.19023300E+04,
|
||||
-4.29136800E+00])),
|
||||
note='42489')
|
||||
species(name = "SIH3",
|
||||
atoms = " Si:1 H:3 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 2.946733000E+00, 6.466764000E-03,
|
||||
5.991653000E-07, -2.218413000E-09, 3.052670000E-13,
|
||||
2.270173000E+04, 7.347948000E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 5.015906000E+00, 3.732750000E-03,
|
||||
-3.609053000E-07, -3.729193000E-10, 8.468490000E-14,
|
||||
2.190233000E+04, -4.291368000E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.94,
|
||||
well_depth = 170.30,
|
||||
rot_relax = 1.00),
|
||||
note = "42489"
|
||||
)
|
||||
|
||||
species(name='H3SISIH',
|
||||
atoms='H:4 Si:2',
|
||||
thermo=(NASA([300.00, 1500.00],
|
||||
[ 3.69870700E+00, 1.87018000E-02, -1.43070400E-05,
|
||||
6.00583600E-09, -1.11629300E-12, 3.59082500E+04,
|
||||
8.82519100E+00]),
|
||||
NASA([1500.00, 4000.00],
|
||||
[ 1.12720200E+01, 2.53814500E-03, -2.99847200E-07,
|
||||
-9.46536700E-11, 1.85505300E-14, 3.29716900E+04,
|
||||
-3.26459800E+01])),
|
||||
note='111191')
|
||||
species(name = "H3SISIH",
|
||||
atoms = " H:4 Si:2 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1500.00], [ 3.698707000E+00, 1.870180000E-02,
|
||||
-1.430704000E-05, 6.005836000E-09, -1.116293000E-12,
|
||||
3.590825000E+04, 8.825191000E+00] ),
|
||||
NASA( [ 1500.00, 4000.00], [ 1.127202000E+01, 2.538145000E-03,
|
||||
-2.998472000E-07, -9.465367000E-11, 1.855053000E-14,
|
||||
3.297169000E+04, -3.264598000E+01] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 4.60,
|
||||
well_depth = 312.60,
|
||||
rot_relax = 1.00),
|
||||
note = "111191"
|
||||
)
|
||||
|
||||
species(name='SI2H6',
|
||||
atoms='H:6 Si:2',
|
||||
thermo=(NASA([300.00, 1000.00],
|
||||
[ 6.73479830E-01, 4.09315310E-02, -4.48412550E-05,
|
||||
2.99522320E-08, -8.90108540E-12, 7.93278750E+03,
|
||||
1.86274030E+01]),
|
||||
NASA([1000.00, 2000.00],
|
||||
[ 3.40749360E+00, 2.72064790E-02, -1.77132040E-05,
|
||||
5.63911770E-09, -7.13786820E-13, 7.53218420E+03,
|
||||
6.13217540E+00])),
|
||||
note='90784')
|
||||
species(name = "SI2H6",
|
||||
atoms = " Si:2 H:6 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 6.734798300E-01, 4.093153100E-02,
|
||||
-4.484125500E-05, 2.995223200E-08, -8.901085400E-12,
|
||||
7.932787500E+03, 1.862740300E+01] ),
|
||||
NASA( [ 1000.00, 2000.00], [ 3.407493600E+00, 2.720647900E-02,
|
||||
-1.771320400E-05, 5.639117700E-09, -7.137868200E-13,
|
||||
7.532184200E+03, 6.132175400E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 4.83,
|
||||
well_depth = 301.30,
|
||||
rot_relax = 1.00),
|
||||
note = "90784"
|
||||
)
|
||||
|
||||
species(name='H2SISIH2',
|
||||
atoms='H:4 Si:2',
|
||||
thermo=(NASA([300.00, 1000.00],
|
||||
[ 5.13318600E+00, 1.25285500E-02, -4.62042100E-07,
|
||||
-6.60607500E-09, 2.86434500E-12, 2.95691500E+04,
|
||||
7.60513300E-01]),
|
||||
NASA([1000.00, 3000.00],
|
||||
[ 8.98681700E+00, 5.40504700E-03, -5.21402200E-07,
|
||||
-5.31374200E-10, 1.18872700E-13, 2.83274800E+04,
|
||||
-2.00447800E+01])),
|
||||
note='42489')
|
||||
species(name = "H2SISIH2",
|
||||
atoms = " Si:2 H:4 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 5.133186000E+00, 1.252855000E-02,
|
||||
-4.620421000E-07, -6.606075000E-09, 2.864345000E-12,
|
||||
2.956915000E+04, 7.605133000E-01] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 8.986817000E+00, 5.405047000E-03,
|
||||
-5.214022000E-07, -5.313742000E-10, 1.188727000E-13,
|
||||
2.832748000E+04, -2.004478000E+01] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 4.60,
|
||||
well_depth = 312.60,
|
||||
rot_relax = 1.00),
|
||||
note = "42489"
|
||||
)
|
||||
|
||||
species(name='SI3H8',
|
||||
atoms='H:8 Si:3',
|
||||
thermo=(NASA([300.00, 1000.00],
|
||||
[ 7.71968460E-01, 6.34427400E-02, -7.67261090E-05,
|
||||
5.45437150E-08, -1.66117290E-11, 1.20712630E+04,
|
||||
2.15325070E+01]),
|
||||
NASA([1000.00, 2000.00],
|
||||
[ 6.09333410E+00, 3.65801120E-02, -2.38923610E-05,
|
||||
7.62719320E-09, -9.67693840E-13, 1.12972050E+04,
|
||||
-2.74756540E+00])),
|
||||
note='90784')
|
||||
species(name = "SI3H8",
|
||||
atoms = " Si:3 H:8 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 7.719684600E-01, 6.344274000E-02,
|
||||
-7.672610900E-05, 5.454371500E-08, -1.661172900E-11,
|
||||
1.207126300E+04, 2.153250700E+01] ),
|
||||
NASA( [ 1000.00, 2000.00], [ 6.093334100E+00, 3.658011200E-02,
|
||||
-2.389236100E-05, 7.627193200E-09, -9.676938400E-13,
|
||||
1.129720500E+04, -2.747565400E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 5.56,
|
||||
well_depth = 331.20,
|
||||
rot_relax = 1.00),
|
||||
note = "90784"
|
||||
)
|
||||
|
||||
species(name = "SI2",
|
||||
atoms = " Si:2 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 2.967197600E+00, 6.311955800E-03,
|
||||
-1.097079000E-05, 8.927868000E-09, -2.787368900E-12,
|
||||
6.987073800E+04, 9.278950300E+00] ),
|
||||
NASA( [ 1000.00, 2000.00], [ 4.144677900E+00, 6.523467700E-04,
|
||||
-5.010852000E-07, 1.806284300E-10, -2.516111100E-14,
|
||||
6.969470700E+04, 3.862736600E+00] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "linear",
|
||||
diam = 3.28,
|
||||
well_depth = 3036.00,
|
||||
rot_relax = 1.00),
|
||||
note = "90784"
|
||||
)
|
||||
|
||||
species(name = "SI3",
|
||||
atoms = " Si:3 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 4.597912900E+00, 1.071527400E-02,
|
||||
-1.610042200E-05, 1.096920700E-08, -2.783287500E-12,
|
||||
7.476632400E+04, 3.442167100E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 7.421336000E+00, -1.170994800E-04,
|
||||
8.982077500E-08, 7.193596400E-12, -2.567083700E-15,
|
||||
7.414669900E+04, -1.036527400E+01] )
|
||||
),
|
||||
transport = gas_transport(
|
||||
geom = "nonlinear",
|
||||
diam = 3.55,
|
||||
well_depth = 3036.00,
|
||||
rot_relax = 1.00),
|
||||
note = "J 3/67"
|
||||
)
|
||||
|
||||
species(name='SI2',
|
||||
atoms='Si:2',
|
||||
thermo=(NASA([300.00, 1000.00],
|
||||
[ 2.96719760E+00, 6.31195580E-03, -1.09707900E-05,
|
||||
8.92786800E-09, -2.78736890E-12, 6.98707380E+04,
|
||||
9.27895030E+00]),
|
||||
NASA([1000.00, 2000.00],
|
||||
[ 4.14467790E+00, 6.52346770E-04, -5.01085200E-07,
|
||||
1.80628430E-10, -2.51611110E-14, 6.96947070E+04,
|
||||
3.86273660E+00])),
|
||||
note='90784')
|
||||
|
||||
species(name='SI3',
|
||||
atoms='Si:3',
|
||||
thermo=(NASA([300.00, 1000.00],
|
||||
[ 4.59791290E+00, 1.07152740E-02, -1.61004220E-05,
|
||||
1.09692070E-08, -2.78328750E-12, 7.47663240E+04,
|
||||
3.44216710E+00]),
|
||||
NASA([1000.00, 5000.00],
|
||||
[ 7.42133600E+00, -1.17099480E-04, 8.98207750E-08,
|
||||
7.19359640E-12, -2.56708370E-15, 7.41466990E+04,
|
||||
-1.03652740E+01])),
|
||||
note='J3/67')
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Reaction data
|
||||
# Reaction data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
# Reaction 1
|
||||
reaction('SIH4 + H <=> SIH3 + H2', [7.800000e+14, 0.0, 2260.0])
|
||||
# Reaction 1
|
||||
# Roth
|
||||
reaction( "SIH4 + H <=> SIH3 + H2", [7.80000E+14, 0, 2260])
|
||||
|
||||
# Reaction 2
|
||||
reaction('SIH4 <=> SIH3 + H', [3.910000e+15, 0.0, 89356.0])
|
||||
# Reaction 2
|
||||
# 94TAK/MOM tst calc
|
||||
three_body_reaction( "SIH4 + M <=> SIH3 + H + M", [3.91000E+15, 0, 89356])
|
||||
|
||||
# Reaction 3
|
||||
reaction('SIH3 + H <=> SIH2 + H2', [7.800000e+14, 0.0, 2260.0])
|
||||
# Reaction 3
|
||||
# assume same as SIH4
|
||||
reaction( "SIH3 + H <=> SIH2 + H2", [7.80000E+14, 0, 2260])
|
||||
|
||||
# Reaction 4
|
||||
reaction('SI + SI <=> SI2', [2.470000e+16, 0.0, 1178.0])
|
||||
# Reaction 4
|
||||
# 90MAR/RAF
|
||||
three_body_reaction( "SI + SI + M <=> SI2 + M", [2.47000E+16, 0, 1178])
|
||||
|
||||
# Reaction 5
|
||||
reaction('SIH4 + SIH2 <=> H3SISIH + H2', [1.300000e+13, 0.0, 0.0])
|
||||
# Reaction 5
|
||||
# R8
|
||||
reaction( "SIH4 + SIH2 <=> H3SISIH + H2", [1.30000E+13, 0, 0])
|
||||
|
||||
# Reaction 6
|
||||
reaction('SIH + H2 <=> SIH2 + H', [4.800000e+14, 0.0, 23.64])
|
||||
# Reaction 6
|
||||
# R11
|
||||
reaction( "SIH + H2 <=> SIH2 + H", [4.80000E+14, 0, 23.64])
|
||||
|
||||
# Reaction 7
|
||||
reaction('SIH + SIH4 <=> H3SISIH + H', [1.600000e+14, 0.0, 0.0])
|
||||
# Reaction 7
|
||||
# R12
|
||||
reaction( "SIH + SIH4 <=> H3SISIH + H", [1.60000E+14, 0, 0])
|
||||
|
||||
# Reaction 8
|
||||
reaction('SI + H2 <=> SIH + H', [1.500000e+15, 0.0, 31.8])
|
||||
# Reaction 8
|
||||
# R13
|
||||
reaction( "SI + H2 <=> SIH + H", [1.50000E+15, 0, 31.8])
|
||||
|
||||
# Reaction 9
|
||||
falloff_reaction('SIH4 (+ M) <=> SIH2 + H2 (+ M)',
|
||||
kf=[3.119000e+09, 1.669, 54710.0],
|
||||
kf0=[5.214000e+29, -3.545, 57550.0],
|
||||
falloff=Troe(A=-0.4984, T3=888.3, T1=209.4, T2=2760.0),
|
||||
efficiencies='SIH4:4.0 SI2H6:4.0')
|
||||
# Reaction 9
|
||||
# R1
|
||||
falloff_reaction( "SIH4 (+ M) <=> SIH2 + H2 (+ M)",
|
||||
kf = [3.11900E+09, 1.669, 54710],
|
||||
kf0 = [5.21400E+29, -3.545, 57550],
|
||||
falloff = Troe(A = -0.4984, T3 = 888.3, T1 = 209.4, T2 = 2760),
|
||||
efficiencies = " SI2H6:4 SIH4:4 ")
|
||||
|
||||
# Reaction 10
|
||||
falloff_reaction('H3SISIH (+ M) <=> H2SISIH2 (+ M)',
|
||||
kf=[2.540000e+13, -0.2239, 5381.0],
|
||||
kf0=[1.099000e+33, -5.765, 9152.0],
|
||||
falloff=Troe(A=-0.4202, T3=214.5, T1=103.0, T2=136.3),
|
||||
efficiencies='SIH4:4.0 SI2H6:4.0')
|
||||
# Reaction 10
|
||||
# HF(SiH2)=64.3, anh_inc.16b, beta(Ar,300) = 0.25 fit from 300 to 1200K
|
||||
# A6
|
||||
falloff_reaction( "H3SISIH (+ M) <=> H2SISIH2 (+ M)",
|
||||
kf = [2.54000E+13, -0.2239, 5381],
|
||||
kf0 = [1.09900E+33, -5.765, 9152],
|
||||
falloff = Troe(A = -0.4202, T3 = 214.5, T1 = 103, T2 = 136.3),
|
||||
efficiencies = " SI2H6:4 SIH4:4 ")
|
||||
|
||||
# Reaction 11
|
||||
falloff_reaction('SI3H8 (+ M) <=> SIH4 + H3SISIH (+ M)',
|
||||
kf=[3.730000e+12, 0.992, 50850.0],
|
||||
kf0=[4.360000e+76, -17.26, 59303.0],
|
||||
falloff=Troe(A=0.4157, T3=365.3, T1=3102.0, T2=9.724),
|
||||
efficiencies='SIH4:4.0 SI2H6:4.0')
|
||||
# Reaction 11
|
||||
# RRKM fits 3/18/93 by MEC
|
||||
falloff_reaction( "SI3H8 (+ M) <=> SIH4 + H3SISIH (+ M)",
|
||||
kf = [3.73000E+12, 0.992, 50850],
|
||||
kf0 = [4.36000E+76, -17.26, 59303],
|
||||
falloff = Troe(A = 0.4157, T3 = 365.3, T1 = 3102, T2 = 9.724),
|
||||
efficiencies = " SI2H6:4 SIH4:4 ")
|
||||
|
||||
# Reaction 12
|
||||
falloff_reaction('SI3H8 (+ M) <=> SIH2 + SI2H6 (+ M)',
|
||||
kf=[6.970000e+12, 0.9691, 52677.0],
|
||||
kf0=[1.730000e+69, -15.07, 60491.0],
|
||||
falloff=Troe(A=-3.47e-05, T3=442.0, T1=2412.0, T2=128.3),
|
||||
efficiencies='SIH4:4.0 SI2H6:4.0')
|
||||
# Reaction 12
|
||||
falloff_reaction( "SI3H8 (+ M) <=> SIH2 + SI2H6 (+ M)",
|
||||
kf = [6.97000E+12, 0.9691, 52677],
|
||||
kf0 = [1.73000E+69, -15.07, 60491],
|
||||
falloff = Troe(A = -3.47e-05, T3 = 442, T1 = 2412, T2 = 128.3),
|
||||
efficiencies = " SI2H6:4 SIH4:4 ")
|
||||
|
||||
# Reaction 13
|
||||
falloff_reaction('SI2H6 (+ M) <=> H2 + H3SISIH (+ M)',
|
||||
kf=[9.086000e+09, 1.834, 54197.0],
|
||||
kf0=[1.945000e+44, -7.772, 59023.0],
|
||||
falloff=Troe(A=-0.1224, T3=793.3, T1=2400.0, T2=11.39),
|
||||
efficiencies='SIH4:4.0 SI2H6:4.0')
|
||||
# Reaction 13
|
||||
falloff_reaction( "SI2H6 (+ M) <=> H2 + H3SISIH (+ M)",
|
||||
kf = [9.08600E+09, 1.834, 54197],
|
||||
kf0 = [1.94500E+44, -7.772, 59023],
|
||||
falloff = Troe(A = -0.1224, T3 = 793.3, T1 = 2400, T2 = 11.39),
|
||||
efficiencies = " SI2H6:4 SIH4:4 ")
|
||||
|
||||
# Reaction 14
|
||||
falloff_reaction('SI2H6 (+ M) <=> SIH4 + SIH2 (+ M)',
|
||||
kf=[1.810000e+10, 1.747, 50203.0],
|
||||
kf0=[5.090000e+53, -10.37, 56034.0],
|
||||
falloff=Troe(A=4.375e-05, T3=438.5, T1=2726.0, T2=438.2),
|
||||
efficiencies='SIH4:4.0 SI2H6:4.0')
|
||||
# Reaction 14
|
||||
# A3
|
||||
falloff_reaction( "SI2H6 (+ M) <=> SIH4 + SIH2 (+ M)",
|
||||
kf = [1.81000E+10, 1.747, 50203],
|
||||
kf0 = [5.09000E+53, -10.37, 56034],
|
||||
falloff = Troe(A = 4.375e-05, T3 = 438.5, T1 = 2726, T2 = 438.2),
|
||||
efficiencies = " SI2H6:4 SIH4:4 ")
|
||||
|
|
|
|||
|
|
@ -13,10 +13,10 @@ stoichiometric_solid(name = "silicon",
|
|||
species(name = "Si(cr)",
|
||||
atoms = " Si:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ -1.291769120E-01, 1.472031390E-02,
|
||||
NASA( [ 200.00, 1000.00], [ -1.291769120E-01, 1.472031390E-02,
|
||||
-2.765101600E-05, 2.418782510E-08, -7.934529120E-12,
|
||||
-4.155164170E+02, -3.595700080E-01] ),
|
||||
NASA( [ 1000.00, 1690.00], [ 1.755473820E+00, 3.172854970E-03,
|
||||
NASA( [ 1000.00, 1690.00], [ 1.755473820E+00, 3.172854970E-03,
|
||||
-2.782364020E-06, 1.264580650E-09, -2.171284640E-13,
|
||||
-6.286573630E+02, -8.553411770E+00] )
|
||||
)
|
||||
|
|
|
|||
|
|
@ -13,10 +13,10 @@ stoichiometric_solid(name = "silicon_carbide",
|
|||
species(name = "SiC(b)",
|
||||
atoms = " Si:1 C:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -2.471590700E+00, 3.069378300E-02,
|
||||
NASA( [ 300.00, 1000.00], [ -2.471590700E+00, 3.069378300E-02,
|
||||
-4.926308500E-05, 3.862638900E-08, -1.176162100E-11,
|
||||
-9.069126000E+03, 8.800921400E+00] ),
|
||||
NASA( [ 1000.00, 4000.00], [ 3.797480900E+00, 3.187288600E-03,
|
||||
NASA( [ 1000.00, 4000.00], [ 3.797480900E+00, 3.187288600E-03,
|
||||
-1.450233400E-06, 3.154974400E-10, -2.615899100E-14,
|
||||
-1.029193700E+04, -2.106779100E+01] )
|
||||
)
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ stoichiometric_liquid(name = "liquid_water",
|
|||
species(name = "H2O(S)",
|
||||
atoms = " H:2 O:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 273.15], [ 5.296779700E+00, -6.757492470E-02,
|
||||
NASA( [ 200.00, 273.15], [ 5.296779700E+00, -6.757492470E-02,
|
||||
5.169421090E-04, -1.438533600E-06, 1.525647940E-09,
|
||||
-3.622665570E+04, -1.792204280E+01] )
|
||||
)
|
||||
|
|
@ -33,7 +33,7 @@ species(name = "H2O(S)",
|
|||
species(name = "H2O(L)",
|
||||
atoms = " H:2 O:1 ",
|
||||
thermo = (
|
||||
NASA( [ 273.15, 600.00], [ 7.255750050E+01, -6.624454020E-01,
|
||||
NASA( [ 273.15, 600.00], [ 7.255750050E+01, -6.624454020E-01,
|
||||
2.561987460E-03, -4.365919230E-06, 2.781789810E-09,
|
||||
-4.188654990E+04, -2.882801370E+02] )
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1849,7 +1849,7 @@ LiO J 3/64LI 1.O 1. 0. 0.G 300.000 5000.000 22.94040 1
|
|||
LiO- J12/67LI 1.O 1.E 1. 0.G 300.000 5000.000 22.94095 1
|
||||
4.18102170E+00 4.17850000E-04-1.50248450E-07 2.83977320E-11-1.97891810E-15 2
|
||||
-9.38497020E+03-1.42392337E-01 2.85158660E+00 5.01698800E-03-5.95474750E-06 3
|
||||
3.03994510E-09-4.78729690E-13-9.07780760E+03 6.45947067E+00-8.05144594E+03 4
|
||||
03994510E-09-4.78729690E-13-9.07780760E+03 6.45947067E+00-8.05144594E+03 4
|
||||
LiOH J 6/71LI 1.O 1.H 1. 0.G 300.000 5000.000 23.94834 1
|
||||
5.50969570E+00 1.36854640E-03-3.94414690E-07 5.23321950E-11-2.59586760E-15 2
|
||||
-2.98992310E+04-6.50701600E+00 3.34623000E+00 1.17872530E-02-1.82526570E-05 3
|
||||
|
|
|
|||
1
doc/Makefile.am
Normal file
1
doc/Makefile.am
Normal file
|
|
@ -0,0 +1 @@
|
|||
SUBDIR = doxygen
|
||||
217
doc/SConscript
217
doc/SConscript
|
|
@ -1,107 +1,17 @@
|
|||
from __future__ import print_function
|
||||
from buildutils import *
|
||||
|
||||
Import('env', 'build', 'install')
|
||||
|
||||
localenv = env.Clone()
|
||||
|
||||
from collections import namedtuple
|
||||
Page = namedtuple('Page', ['name', 'title', 'objects'])
|
||||
|
||||
|
||||
# Set up functions to pseudo-autodoc the MATLAB toolbox
|
||||
def extract_matlab_docstring(mfile, level):
|
||||
"""
|
||||
Return the docstring from mfile, assuming that it consists of the
|
||||
first uninterrupted comment block.
|
||||
|
||||
:param mfile:
|
||||
File name of the matlab file from which the documentation will be
|
||||
read
|
||||
:param level:
|
||||
Level of documentation. Class = 0, Function = 1
|
||||
"""
|
||||
# Set the start of the docstring based on the level passed in. This is only
|
||||
# necessary for the old-style MATLAB classes, where each method is its own
|
||||
# file.
|
||||
if level == 0:
|
||||
docstring = ".. mat:class:: "
|
||||
elif level == 1:
|
||||
docstring = " .. mat:function:: "
|
||||
else:
|
||||
print("Unknown level for MATLAB documentation.")
|
||||
sys.exit(1)
|
||||
|
||||
# The leader is the number of spaces at the beginning of a regular line
|
||||
# of documentation.
|
||||
leader = ' '*4*(level + 1)
|
||||
|
||||
with open(mfile, 'r') as in_file:
|
||||
# The function name is read from the first line
|
||||
docstring += get_function_name(in_file.readline()) + '\n'
|
||||
|
||||
# By convention, the second line (called H1 in the MATLAB documentation)
|
||||
# is read by various MATLAB functions, so it should be in the format
|
||||
# MATLAB expects - FUNCTIONNAME Summary. We read in this line and
|
||||
# add the Summary to the docstring. If the line doesn't match the
|
||||
# format, just write it to the docstring as is.
|
||||
line = in_file.readline()
|
||||
try:
|
||||
docstring += leader + line.split(' ')[1] + '\n'
|
||||
except IndexError:
|
||||
docstring += line + '\n'
|
||||
|
||||
# Skip the next line, which is a duplicate of the first. It is here
|
||||
# because MATLAB doesn't show the function definition in its help.
|
||||
in_file.readline()
|
||||
|
||||
# For the rest of the lines in the file, get the line if it is
|
||||
# in the first unbroken comment section and add it to the docstring.
|
||||
for line in in_file.readlines():
|
||||
try:
|
||||
if line.lstrip().startswith('%'):
|
||||
docstring += leader + line.lstrip()[2:-1] + '\n'
|
||||
else:
|
||||
break
|
||||
except IndexError:
|
||||
docstring += '\n'
|
||||
|
||||
return docstring + '\n'
|
||||
|
||||
|
||||
def get_function_name(str):
|
||||
"""
|
||||
Return the Matlab function or classdef signature, assuming that
|
||||
the string starts with either 'function ' or 'classdef '.
|
||||
"""
|
||||
if str.startswith('function '):
|
||||
sig = str[len('function '):]
|
||||
elif str.startswith('classdef '):
|
||||
sig = str[len('classdef '):]
|
||||
else:
|
||||
print("Unknown function declaration in MATLAB document", str)
|
||||
|
||||
# Split the function signature on the equals sign, if it exists.
|
||||
# We don't care about what comes before the equals sign, since
|
||||
# if a function returns, the docs will tell us. If there is no
|
||||
# =, return the whole signature.
|
||||
if '=' in sig:
|
||||
idx = sig.index('=')
|
||||
return sig[idx+2:]
|
||||
else:
|
||||
return sig
|
||||
|
||||
if localenv['doxygen_docs']:
|
||||
docs = build(localenv.Command('#build/docs/doxygen/html/index.html',
|
||||
'doxygen/Doxyfile', 'doxygen $SOURCE'))
|
||||
env.Depends(docs, env.Glob('#doc/doxygen/*') +
|
||||
mglob(env, '#include/cantera', 'h') +
|
||||
mglob(env, '#include/cantera/*', 'h') +
|
||||
mglob(env, '#src/cantera/*', 'h', 'cpp'))
|
||||
if localenv['graphvizdir']:
|
||||
localenv.Append(PATH=localenv['graphvizdir'])
|
||||
|
||||
env.Alias('doxygen', docs)
|
||||
install(localenv.RecursiveInstall, '$inst_docdir/doxygen/html',
|
||||
'#/build/docs/doxygen/html', exclude=['\\.map', '\\.md5'])
|
||||
build(localenv.Command('#build/docs/doxygen/html/index.html',
|
||||
'doxygen/Doxyfile', 'doxygen $SOURCE'))
|
||||
install(pjoin('$inst_docdir', 'doxygen/html'),
|
||||
mglob(localenv, '#/build/docs/doxygen/html', 'html', 'svg', 'css', 'png'))
|
||||
|
||||
if localenv['sphinx_docs']:
|
||||
localenv['SPHINXBUILD'] = Dir('#build/docs/sphinx')
|
||||
|
|
@ -110,100 +20,29 @@ if localenv['sphinx_docs']:
|
|||
sphinxdocs = build(localenv.Command('${SPHINXBUILD}/html/index.html',
|
||||
'sphinx/conf.py',
|
||||
'${sphinx_cmd} -b html -d ${SPHINXBUILD}/doctrees ${SPHINXSRC} ${SPHINXBUILD}/html'))
|
||||
env.Alias('sphinx', sphinxdocs)
|
||||
|
||||
# Create a list of MATLAB classes to document. This uses the NamedTuple
|
||||
# structure defined at the top of the file. The @Data and @Utilities
|
||||
# classes are fake classes for the purposes of documentation only. Each
|
||||
# Page represents one html page of the documentation.
|
||||
pages = [
|
||||
Page('importing', 'Objects Representing Phases',
|
||||
['@Solution', '@Mixture', '@Interface', '@Pure Fluid Phases']),
|
||||
Page('thermodynamics', 'Thermodynamic Properties',
|
||||
['@ThermoPhase']),
|
||||
Page('kinetics', 'Chemical Kinetics', ['@Kinetics']),
|
||||
Page('transport', 'Transport Properties', ['@Transport']),
|
||||
Page('zero-dim', 'Zero-Dimensional Reactor Networks',
|
||||
['@Func', '@Reactor', '@ReactorNet', '@FlowDevice', '@Wall']),
|
||||
Page('one-dim', 'One-Dimensional Reacting Flows', ['1D/@Domain1D', '1D/@Stack']),
|
||||
Page('data', 'Physical Constants', ['@Data']),
|
||||
Page('utilities', 'Utility Functions', ['@Utilities', '@XML_Node']),
|
||||
]
|
||||
# Python examples: Create individual documentation pages with the source
|
||||
# for each example
|
||||
example_root = Dir('#interfaces/cython/cantera/examples').abspath
|
||||
for subdir in subdirs(example_root):
|
||||
for f in mglob(env, pjoin(example_root, subdir), 'py'):
|
||||
tmpenv = env.Clone()
|
||||
tmpenv['script_name'] = f.name
|
||||
tmpenv['script_path'] = '../../../../interfaces/cython/cantera/examples/%s/%s' % (subdir, f.name)
|
||||
b = tmpenv.SubstFile('#doc/sphinx/cython/examples/%s_%s.rst' % (subdir, f.name[:-3]),
|
||||
'#doc/sphinx/cython/examples/example-script.rst.in')
|
||||
build(b)
|
||||
localenv.Depends(sphinxdocs, b)
|
||||
|
||||
# Create a dictionary of extra files associated with each class. These
|
||||
# files are listed relative to the top directory interfaces/matlab/cantera
|
||||
extra = {
|
||||
'@Solution': ['IdealGasMix.m', 'GRI30.m', 'Air.m'],
|
||||
'@Pure Fluid Phases': ['CarbonDioxide.m', 'HFC134a.m', 'Hydrogen.m',
|
||||
'Methane.m', 'Nitrogen.m', 'Oxygen.m', 'Water.m'],
|
||||
'@Func': ['gaussian.m', 'polynom.m'],
|
||||
'@Reactor': ['ConstPressureReactor.m',
|
||||
'FlowReactor.m', 'IdealGasConstPressureReactor.m',
|
||||
'IdealGasReactor.m', 'Reservoir.m'],
|
||||
'@FlowDevice': ['MassFlowController.m', 'Valve.m'],
|
||||
'1D/@Domain1D': ['1D/AxiStagnFlow.m', '1D/AxisymmetricFlow.m',
|
||||
'1D/Inlet.m', '1D/Outlet.m', '1D/OutletRes.m',
|
||||
'1D/Surface.m', '1D/SymmPlane.m'],
|
||||
'1D/@Stack': ['1D/FreeFlame.m', '1D/CounterFlowDiffusionFlame.m'],
|
||||
'@Interface': ['importEdge.m', 'importInterface.m'],
|
||||
'@Data': ['gasconstant.m', 'oneatm.m'],
|
||||
'@Utilities': ['adddir.m', 'ck2cti.m', 'cleanup.m', 'geterr.m',
|
||||
'getDataDirectories.m', 'canteraVersion.m',
|
||||
'canteraGitCommit.m']
|
||||
}
|
||||
|
||||
# These files do not need to be documented in the MATLAB classes because they
|
||||
# are generics that are overloaded per-class. Since the loop checks for these
|
||||
# strings in each file name, hndl.m is the same as *hndl.m* (to use globbing
|
||||
# notation).
|
||||
nodoc_matlab_files = ['clear.m', 'display.m', 'hndl.m', 'private', 'subsref.m']
|
||||
|
||||
# Loop through the pages list to document each class
|
||||
for page in pages:
|
||||
tempenv = env.Clone()
|
||||
|
||||
# Set the title header
|
||||
title = page.title
|
||||
tempenv['title'] = '='*len(title) + '\n' + title + '\n' + '='*len(title)
|
||||
doc = ''
|
||||
|
||||
# The base directory of the MATLAB toolbox relative to the sphinx build directory
|
||||
base = '../interfaces/matlab/toolbox'
|
||||
for obj in page.objects:
|
||||
all_files = []
|
||||
# Set the subheader based on the class name
|
||||
doc += obj.split('@')[1] + '\n' + '-'*len(obj.split('@')[1]) + '\n\n'
|
||||
if os.path.isdir(pjoin(base,obj)):
|
||||
# Get a list of the functions in this class as long as its a file we care about
|
||||
functions = [name for name in os.listdir(pjoin(base,obj)) if not any(x in name for x in nodoc_matlab_files)]
|
||||
|
||||
# Add the docstring for the class name at level 0
|
||||
class_file = functions.pop(functions.index(obj.split('@')[1]+'.m'))
|
||||
doc += extract_matlab_docstring(os.path.relpath(pjoin(base,obj,class_file)), 0)
|
||||
|
||||
# Get the extra files from the extra dictionary and sort them with
|
||||
# the regular functions.
|
||||
extra_files = extra.get(obj,[])
|
||||
all_files += sorted(functions + extra_files)
|
||||
else:
|
||||
all_files = extra.get(obj,[])
|
||||
|
||||
for file in all_files:
|
||||
if file in functions:
|
||||
doc += extract_matlab_docstring(os.path.relpath(pjoin(base,obj,file)), 1)
|
||||
else:
|
||||
doc += extract_matlab_docstring(os.path.relpath(pjoin(base,file)), 1)
|
||||
|
||||
tempenv['matlab_docstrings'] = doc
|
||||
# Substitute the docstrings into the proper file. Since the docs change
|
||||
# every time the source is changed, we don't want to have to commit the
|
||||
# change in the rst file as well as the source - too much code churn. So
|
||||
# we use a template and a SubstFile directive.
|
||||
c = tempenv.SubstFile('#doc/sphinx/matlab/%s.rst' % page.name,
|
||||
'#doc/sphinx/matlab/matlab-template.rst.in')
|
||||
build(c)
|
||||
localenv.Depends(sphinxdocs, c)
|
||||
# Matlab examples: create individual documentation pages with the source
|
||||
# for each example
|
||||
for f in mglob(env, '#samples/matlab', 'm'):
|
||||
tmpenv = env.Clone()
|
||||
tmpenv['script_name'] = f.name
|
||||
tmpenv['script_path'] = '../../../../samples/matlab/%s' % f.name
|
||||
b = tmpenv.SubstFile('#doc/sphinx/matlab/examples/%s.rst' % f.name[:-2],
|
||||
'#doc/sphinx/matlab/examples/example-script.rst.in')
|
||||
build(b)
|
||||
localenv.Depends(sphinxdocs, b)
|
||||
|
||||
localenv.AlwaysBuild(sphinxdocs)
|
||||
install(localenv.RecursiveInstall, '$inst_docdir/sphinx/html',
|
||||
'#/build/docs/sphinx/html')
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -15,7 +15,7 @@
|
|||
#---------------------------------------------------------------------------
|
||||
|
||||
USE_MATHJAX = YES
|
||||
MATHJAX_RELPATH = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5
|
||||
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
|
||||
|
||||
# This tag specifies the encoding used for all characters in the config file
|
||||
# that follow. The default is UTF-8 which is also the encoding used for all
|
||||
|
|
@ -34,7 +34,13 @@ PROJECT_NAME = Cantera
|
|||
# This could be handy for archiving the generated documentation or
|
||||
# if some version control system is used.
|
||||
|
||||
PROJECT_NUMBER = 2.5.0a3
|
||||
PROJECT_NUMBER = 2.1.2
|
||||
|
||||
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
|
||||
# base path where the generated documentation will be put.
|
||||
# If a relative path is entered, it will be relative to the location
|
||||
# where doxygen was started. If left blank the current directory will be used.
|
||||
|
||||
|
||||
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
|
||||
# base path where the generated documentation will be put.
|
||||
|
|
@ -50,7 +56,7 @@ OUTPUT_DIRECTORY = build/docs/doxygen
|
|||
# source files, where putting all generated files in the same directory would
|
||||
# otherwise cause performance problems for the file system.
|
||||
|
||||
CREATE_SUBDIRS = YES
|
||||
CREATE_SUBDIRS = NO
|
||||
|
||||
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
|
||||
# documentation generated by doxygen is written. Doxygen will use this
|
||||
|
|
@ -565,11 +571,13 @@ WARN_LOGFILE =
|
|||
# directories like "/usr/src/myproject". Separate the files or directories
|
||||
# with spaces.
|
||||
|
||||
INPUT = src/base \
|
||||
INPUT = src/apps \
|
||||
src/base \
|
||||
src/equil \
|
||||
src/kinetics \
|
||||
src/numerics \
|
||||
src/oneD \
|
||||
src/spectra \
|
||||
src/thermo \
|
||||
src/tpx \
|
||||
src/transport \
|
||||
|
|
@ -604,7 +612,7 @@ RECURSIVE = YES
|
|||
# excluded from the INPUT source files. This way you can easily exclude a
|
||||
# subdirectory from a directory tree whose root is specified with the INPUT tag.
|
||||
|
||||
EXCLUDE = include/cantera/ext
|
||||
EXCLUDE =
|
||||
|
||||
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
|
||||
# directories that are symbolic links (a Unix filesystem feature) are excluded
|
||||
|
|
@ -618,7 +626,7 @@ EXCLUDE_SYMLINKS = NO
|
|||
# against the file with absolute path, so to exclude all test directories
|
||||
# for example use the pattern */test/*
|
||||
|
||||
EXCLUDE_PATTERNS =
|
||||
EXCLUDE_PATTERNS = */build/*
|
||||
|
||||
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
|
||||
# (namespaces, classes, functions, etc.) that should be excluded from the
|
||||
|
|
@ -634,7 +642,8 @@ EXCLUDE_SYMBOLS = std::*
|
|||
|
||||
EXAMPLE_PATH = samples \
|
||||
data/inputs \
|
||||
doc/doxygen
|
||||
doc/doxygen \
|
||||
doc/sphinx/cxx-guide
|
||||
|
||||
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
|
||||
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
|
||||
|
|
@ -850,7 +859,7 @@ DOCSET_BUNDLE_ID = org.doxygen.Project
|
|||
# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
|
||||
# of the generated HTML documentation.
|
||||
|
||||
GENERATE_HTMLHELP = NO
|
||||
GENERATE_HTMLHELP = YES
|
||||
|
||||
# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
|
||||
# be used to specify the file name of the resulting .chm file. You
|
||||
|
|
@ -994,7 +1003,7 @@ FORMULA_FONTSIZE = 10
|
|||
# typically be disabled. For large projects the javascript based search engine
|
||||
# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
|
||||
|
||||
SEARCHENGINE = YES
|
||||
SEARCHENGINE = NO
|
||||
|
||||
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be implemented using a PHP enabled web server instead of at the web client using Javascript. Doxygen will generate the search PHP script and index
|
||||
# file to put on the web server. The advantage of the server based approach is that it scales better to large projects and allows full text search. The disadvances is that it is more difficult to setup
|
||||
|
|
@ -1163,7 +1172,7 @@ MAN_LINKS = NO
|
|||
# generate an XML file that captures the structure of
|
||||
# the code including all documentation.
|
||||
|
||||
GENERATE_XML = YES
|
||||
GENERATE_XML = NO
|
||||
|
||||
# The XML_OUTPUT tag is used to specify where the XML pages will be put.
|
||||
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
|
||||
|
|
@ -1171,6 +1180,18 @@ GENERATE_XML = YES
|
|||
|
||||
XML_OUTPUT = xml
|
||||
|
||||
# The XML_SCHEMA tag can be used to specify an XML schema,
|
||||
# which can be used by a validating XML parser to check the
|
||||
# syntax of the XML files.
|
||||
|
||||
XML_SCHEMA =
|
||||
|
||||
# The XML_DTD tag can be used to specify an XML DTD,
|
||||
# which can be used by a validating XML parser to check the
|
||||
# syntax of the XML files.
|
||||
|
||||
XML_DTD =
|
||||
|
||||
# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
|
||||
# dump the program listings (including syntax highlighting
|
||||
# and cross-referencing information) to the XML output. Note that
|
||||
|
|
@ -1377,6 +1398,17 @@ HIDE_UNDOC_RELATIONS = YES
|
|||
|
||||
HAVE_DOT = YES
|
||||
|
||||
# By default doxygen will write a font called FreeSans.ttf to the output
|
||||
# directory and reference it in all dot files that doxygen generates. This
|
||||
# font does not include all possible unicode characters however, so when you need
|
||||
# these (or just want a differently looking font) you can specify the font name
|
||||
# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
|
||||
# which can be done by putting it in a standard location or by setting the
|
||||
# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
|
||||
# containing the font.
|
||||
|
||||
DOT_FONTNAME = FreeSans
|
||||
|
||||
# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
|
||||
# The default size is 10pt.
|
||||
|
||||
|
|
|
|||
1582
doc/doxygen/Doxyfile.tested
Normal file
1582
doc/doxygen/Doxyfile.tested
Normal file
File diff suppressed because it is too large
Load diff
7
doc/doxygen/Makefile.am
Normal file
7
doc/doxygen/Makefile.am
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
EXTRA_DIST = Cantera.txt cantera.page cantera.doc cantera.sty cantera.dox Makefile.am
|
||||
|
||||
DISTDIRS=txt_common
|
||||
|
||||
dist-hook:
|
||||
rm -rf `find $(distdir)/ -name .svn`
|
||||
rm -rf `find $(distdir)/ -name .deps`
|
||||
171
doc/doxygen/aminclude.am
Normal file
171
doc/doxygen/aminclude.am
Normal file
|
|
@ -0,0 +1,171 @@
|
|||
#-----------------------------------
|
||||
# PECOS - add any additional doxygen
|
||||
# dependencies here.
|
||||
#-----------------------------------
|
||||
|
||||
PECOS_extra_dependencies = doc/doxygen/cantera.page \
|
||||
doc/doxygen/txt_common/about.page \
|
||||
doc/doxygen/txt_common/gpl.page \
|
||||
doc/doxygen/txt_common/acknowledgment.page
|
||||
|
||||
## --------------------------------- ##
|
||||
## Format-independent Doxygen rules. ##
|
||||
## --------------------------------- ##
|
||||
|
||||
if DX_COND_doc
|
||||
|
||||
## ------------------------------- ##
|
||||
## Rules specific for HTML output. ##
|
||||
## ------------------------------- ##
|
||||
|
||||
if DX_COND_html
|
||||
|
||||
DX_CLEAN_HTML = @DX_DOCDIR@/html
|
||||
|
||||
endif DX_COND_html
|
||||
|
||||
## ------------------------------ ##
|
||||
## Rules specific for CHM output. ##
|
||||
## ------------------------------ ##
|
||||
|
||||
if DX_COND_chm
|
||||
|
||||
DX_CLEAN_CHM = @DX_DOCDIR@/chm
|
||||
|
||||
if DX_COND_chi
|
||||
|
||||
DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi
|
||||
|
||||
endif DX_COND_chi
|
||||
|
||||
endif DX_COND_chm
|
||||
|
||||
## ------------------------------ ##
|
||||
## Rules specific for MAN output. ##
|
||||
## ------------------------------ ##
|
||||
|
||||
if DX_COND_man
|
||||
|
||||
DX_CLEAN_MAN = @DX_DOCDIR@/man
|
||||
|
||||
endif DX_COND_man
|
||||
|
||||
## ------------------------------ ##
|
||||
## Rules specific for RTF output. ##
|
||||
## ------------------------------ ##
|
||||
|
||||
if DX_COND_rtf
|
||||
|
||||
DX_CLEAN_RTF = @DX_DOCDIR@/rtf
|
||||
|
||||
endif DX_COND_rtf
|
||||
|
||||
## ------------------------------ ##
|
||||
## Rules specific for XML output. ##
|
||||
## ------------------------------ ##
|
||||
|
||||
if DX_COND_xml
|
||||
|
||||
DX_CLEAN_XML = @DX_DOCDIR@/xml
|
||||
|
||||
endif DX_COND_xml
|
||||
|
||||
## ----------------------------- ##
|
||||
## Rules specific for PS output. ##
|
||||
## ----------------------------- ##
|
||||
|
||||
if DX_COND_ps
|
||||
|
||||
DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps
|
||||
|
||||
DX_PS_GOAL = doxygen-ps
|
||||
|
||||
doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps
|
||||
|
||||
@DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag
|
||||
cd @DX_DOCDIR@/latex; \
|
||||
rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
|
||||
$(DX_LATEX) refman.tex; \
|
||||
$(MAKEINDEX_PATH) refman.idx; \
|
||||
$(DX_LATEX) refman.tex; \
|
||||
countdown=5; \
|
||||
while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
|
||||
refman.log > /dev/null 2>&1 \
|
||||
&& test $$countdown -gt 0; do \
|
||||
$(DX_LATEX) refman.tex; \
|
||||
countdown=`expr $$countdown - 1`; \
|
||||
done; \
|
||||
$(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi
|
||||
|
||||
endif DX_COND_ps
|
||||
|
||||
## ------------------------------ ##
|
||||
## Rules specific for PDF output. ##
|
||||
## ------------------------------ ##
|
||||
|
||||
if DX_COND_pdf
|
||||
|
||||
DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf
|
||||
|
||||
DX_PDF_GOAL = doxygen-pdf
|
||||
|
||||
doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf
|
||||
|
||||
@DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag
|
||||
cd @DX_DOCDIR@/latex; \
|
||||
rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
|
||||
$(DX_PDFLATEX) refman.tex; \
|
||||
$(DX_MAKEINDEX) refman.idx; \
|
||||
$(DX_PDFLATEX) refman.tex; \
|
||||
countdown=5; \
|
||||
while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
|
||||
refman.log > /dev/null 2>&1 \
|
||||
&& test $$countdown -gt 0; do \
|
||||
$(DX_PDFLATEX) refman.tex; \
|
||||
countdown=`expr $$countdown - 1`; \
|
||||
done; \
|
||||
mv refman.pdf ../@PACKAGE@.pdf
|
||||
|
||||
endif DX_COND_pdf
|
||||
|
||||
## ------------------------------------------------- ##
|
||||
## Rules specific for LaTeX (shared for PS and PDF). ##
|
||||
## ------------------------------------------------- ##
|
||||
|
||||
if DX_COND_latex
|
||||
|
||||
DX_CLEAN_LATEX = @DX_DOCDIR@/latex
|
||||
|
||||
endif DX_COND_latex
|
||||
|
||||
.PHONY: doxygen-run doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL)
|
||||
|
||||
.INTERMEDIATE: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)
|
||||
|
||||
doxygen-run: @DX_DOCDIR@/@PACKAGE@.tag
|
||||
|
||||
doxygen-doc: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)
|
||||
|
||||
doc: doxygen-doc
|
||||
docs: doxygen-doc
|
||||
|
||||
@DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS) $(PECOS_extra_dependencies)
|
||||
rm -rf @DX_DOCDIR@
|
||||
$(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)
|
||||
|
||||
DX_CLEANFILES = \
|
||||
@DX_DOCDIR@/@PACKAGE@.tag \
|
||||
-r \
|
||||
$(DX_CLEAN_HTML) \
|
||||
$(DX_CLEAN_CHM) \
|
||||
$(DX_CLEAN_CHI) \
|
||||
$(DX_CLEAN_MAN) \
|
||||
$(DX_CLEAN_RTF) \
|
||||
$(DX_CLEAN_XML) \
|
||||
$(DX_CLEAN_PS) \
|
||||
$(DX_CLEAN_PDF) \
|
||||
$(DX_CLEAN_LATEX)
|
||||
|
||||
# Additional PECOS dependencies
|
||||
|
||||
endif DX_COND_doc
|
||||
1540
doc/doxygen/cantera.dox
Normal file
1540
doc/doxygen/cantera.dox
Normal file
File diff suppressed because it is too large
Load diff
88
doc/doxygen/cantera.page
Normal file
88
doc/doxygen/cantera.page
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
/*! \mainpage The cantera Library
|
||||
|
||||
<b>Version \version</b>, Build Date: \builddate
|
||||
|
||||
Built by: \builduser on \buildhost
|
||||
<hr>
|
||||
|
||||
\section overview Overview
|
||||
|
||||
Thank you for your interest in cantera. To aid in usage, this manual is
|
||||
further divided into the following subsections:
|
||||
|
||||
<ul>
|
||||
<li> \subpage model "Library Overview" </li>
|
||||
<li> \subpage install "Installation/Linkage" </li>
|
||||
<li> \link cantera.h C/C++ Interface \endlink </li>
|
||||
<li> \subpage apif "Fortran Interface" </li>
|
||||
<li> \link tut "Tutorial" </li>
|
||||
</ul>
|
||||
|
||||
<!-- \subpage apiF Fortran API -->
|
||||
<!-- \subpage examples Examples -->
|
||||
|
||||
\section bugs Reporting Bugs
|
||||
|
||||
Bugs in the code and errors or omissions in the documentation can be
|
||||
reported to nick@ices.utexas.edu. Requests and contributions are
|
||||
welcome at the same e-mail address. All bug reports should include:
|
||||
<ul>
|
||||
<li>the version number of the library,
|
||||
<li>the hardware and operating system,
|
||||
<li>the compiler used, including version number and compilation options,
|
||||
<li>a description of the bug behavior, and ideally,
|
||||
<li>a short program which reproduces the bug.
|
||||
</ul>
|
||||
|
||||
\section licence License
|
||||
Copyright (C) 2010 The PECOS Development Team
|
||||
\copydoc LicenseLGPL
|
||||
|
||||
\section acknowledgements Acknowledgments
|
||||
\copydoc Acknowledgments
|
||||
|
||||
\section pecos-center More Information About PECOS
|
||||
\copydoc About2
|
||||
|
||||
*/
|
||||
|
||||
|
||||
/*! \page model Library Overview
|
||||
|
||||
\copydoc LicenseLGPL
|
||||
|
||||
This is a chemical kinetics library.
|
||||
|
||||
<h2>Chemical Kinetics Overview</h2>
|
||||
|
||||
This library is designed to simplify the process of accessing chemical kinetics.
|
||||
|
||||
<h2>PECOS Center Background</h2>
|
||||
|
||||
The Center for Predictive Engineering and COmputational Sciences (PECOS) is a DOE-funded Center
|
||||
of Excellence within the Institute for Computational Engineering and Sciences (ICES)
|
||||
at The University of Texas at Austin. PECOS is one of five such centers sponsored under
|
||||
the Predictive Science Academic Alliance Program (PSAAP) of the National Nuclear Security
|
||||
Administration’s Advanced Simulation and Computing Program.
|
||||
|
||||
PECOS brings together an interdisciplinary, multi-university team with partners at the
|
||||
DOE National Labs and NASA. The goal of the PECOS Center is to develop the next generation
|
||||
of advanced computational methods for predictive simulation of multiscale, multiphysics phenomena,
|
||||
and to apply these methods to the analysis of vehicles reentering the atmosphere. In pursuing
|
||||
this research, PECOS is advancing the science and modeling of atmospheric reentry, and
|
||||
the science of predictive simulation.
|
||||
|
||||
<h2> Developers </h2>
|
||||
|
||||
Developers of the library include:
|
||||
|
||||
|
||||
Sylvain Plessis
|
||||
|
||||
<a href="mailto:nick@ices.utexas.edu">Nicholas Malaya</a>
|
||||
|
||||
Chris Simmons
|
||||
|
||||
<h2> Citing </h2>
|
||||
|
||||
Please add the following citation.
|
||||
20
doc/doxygen/cantera.sty
Normal file
20
doc/doxygen/cantera.sty
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
\typeout{Document Style `masa'. Released 04 March 2011}
|
||||
\usepackage{pdflscape}
|
||||
\usepackage[authoryear]{natbib}
|
||||
%\usepackage[utf8x]{inputenc}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{amsfonts}
|
||||
\usepackage{geometry}
|
||||
|
||||
\newcommand{\D}{\partial}
|
||||
\newcommand{\Diff}[2] {\dfrac{\partial( #1)}{\partial #2}}
|
||||
\newcommand{\diff}[2] {\dfrac{\partial #1}{\partial #2}}
|
||||
\newcommand{\bv}[1]{\ensuremath{\mbox{\boldmath$ #1 $}}}
|
||||
\newcommand{\gv}[1]{\ensuremath{\mbox{\boldmath$ #1 $}}}
|
||||
\newcommand{\grad}[1]{\gv{\nabla} #1}
|
||||
\newcommand{\Rho}{\,\mathtt{Rho}}
|
||||
\newcommand{\PP}{\,\mathtt{P}}
|
||||
%\newcommand{\U}{\,\mathtt{U}}
|
||||
\newcommand{\V}{\,\mathtt{V}}
|
||||
\newcommand{\W}{\,\mathtt{W}}
|
||||
\newcommand{\Lo}{\,\mathcal{L}}
|
||||
|
|
@ -89,9 +89,13 @@
|
|||
* class listed above. These classes assume that there exists a standard state
|
||||
* for each species in the phase, where the Thermodynamic functions are specified
|
||||
* as a function of temperature and pressure. Standard state objects for each
|
||||
* species are all derived from the PDSS virtual base class. In turn, these
|
||||
* standard states may employ reference state calculation to aid in their
|
||||
* calculations. However, there are some PDSS objects which do not employ
|
||||
* species are all derived from the PDSS virtual base class. Calculators for these
|
||||
* standard state, which coordinate the calculation for all of the species
|
||||
* in a phase, are all derived from the virtual base class VPSSMgr.
|
||||
* In turn, these standard states may employ reference state calculation to
|
||||
* aid in their calculations. And the VPSSMgr calculators may also employ
|
||||
* SimpleThermo calculators to help in calculating the properties for all of the
|
||||
* species in a phase. However, there are some PDSS objects which do not employ
|
||||
* reference state calculations. An example of this is real equation of state for
|
||||
* liquid water used within the calculation of brine thermodynamics.
|
||||
* In general, the independent variables that completely describe the state of the
|
||||
|
|
@ -136,7 +140,7 @@
|
|||
* phase density or the phase pressure.
|
||||
* Lists of classes in this group are given below.
|
||||
*
|
||||
* - StoichSubstance in StoichSubstance.h
|
||||
* - StoichSubstanceSSTP in StoichSubstanceSSTP.h
|
||||
* - WaterSSTP in WaterSSTP.h
|
||||
*
|
||||
* The reader may note that there are duplications in functionality in the
|
||||
|
|
@ -493,6 +497,15 @@
|
|||
* pick a manager, i.e., a derivative of the SpeciesThermo
|
||||
* object, to use.
|
||||
*
|
||||
* If a temperature and pressure dependent standard state is needed
|
||||
* then a call to VPSSMgrFactory::newVPSSMgr()
|
||||
* is made in order
|
||||
* pick a manager, i.e., a derivative of the VPSSMgr
|
||||
* object, to use. Along with the VPSSMgr designation comes a
|
||||
* determination of whether there is an accompanying SpeciesThermo
|
||||
* and what type of SpeciesThermo object to use in the
|
||||
* VPSSMgr calculations.
|
||||
*
|
||||
* Once these determinations are made, the %ThermoPhase object is
|
||||
* ready to start reading in the species information, which includes
|
||||
* all of the available standard state information about the
|
||||
|
|
@ -511,9 +524,16 @@
|
|||
* call to read the XML data from the input file and install the
|
||||
* correct SpeciesThermoInterpType object into the SpeciesThermo object.
|
||||
*
|
||||
* Within installSpecies(), for standard states, derived PDSS object is created
|
||||
* and installed into the VPStandardStateTP list containing all of the PDSS
|
||||
* objects for that phase.
|
||||
* Within installSpecies(), for standard states, the routine,
|
||||
* SpeciesThermoFactory::installVPThermoForSpecies() is
|
||||
* called. However, this is just a shell routine for calling
|
||||
* the VPSSMgr's derived VPSSMgr::createInstallPDSS() routine.
|
||||
* Within the VPSSMgr::createInstallPDSS() routine of the derived VPSSMgr's
|
||||
* object, the XML data from the input file is read and the
|
||||
* calculations for the species standard state is installed.
|
||||
* Additionally, the derived PDSS object is created and installed
|
||||
* into the VPStandardStateTP list containing all of the PDSS objects
|
||||
* for that phase.
|
||||
*
|
||||
* Now that all of the species standard states are read in and
|
||||
* installed into the ThermoPhase object, control once again
|
||||
|
|
@ -554,6 +574,9 @@
|
|||
* In general, factory routines throw specific errors when encountering
|
||||
* unknown thermodynamics models in XML files. All of the error classes
|
||||
* derive from the class, CanteraError.
|
||||
* The newVPSSMgr() routines throws the UnknownVPSSMgr class error when
|
||||
* they encounter an unknown string in the XML input file specifying the
|
||||
* VPSSMgr class to use.
|
||||
*
|
||||
* Many of the important member functions in factory routines are
|
||||
* virtual classes. This means that a user may write their own
|
||||
|
|
|
|||
39
doc/doxygen/txt_common/about.page
Normal file
39
doc/doxygen/txt_common/about.page
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
/*! \page About
|
||||
|
||||
\htmlonly
|
||||
<table border="0" width="660" >
|
||||
<tr><td width=95> <img src="circle-logo-small.png" /> </td>
|
||||
<td>
|
||||
The <a href="http://pecos.ices.utexas.edu">Center for
|
||||
Predictive Engineering and Computational Sciences</a> (PECOS)
|
||||
is one of five US centers sponsored under the Predictive
|
||||
Science Academic Alliance Program (PSAAP) of the National
|
||||
Nuclear Security Administration's Advanced Simulation and
|
||||
Computing Program. The PECOS center is housed within
|
||||
the <a href="http://www.ices.utexas.edu">Institute for
|
||||
Computational Engineering and Sciences (ICES) </a> at the
|
||||
<a href="http://www.utexas.edu">University of Texas at
|
||||
Austin</a>. For additional information or questions regarding
|
||||
the PECOS center, please contact <a href="mailto:info@pecos.ices.utexas.edu">info@pecos.ices.utexas.edu</a>.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
\endhtmlonly
|
||||
|
||||
\latexonly
|
||||
\begin{tabular}{m{2.2cm} m{0.80\textwidth} }
|
||||
\includegraphics[width=2cm]{../../doxygen/fig_common/circle-logo.pdf} &
|
||||
The \href{http://pecos.ices.utexas.edu}{Center for Predictive
|
||||
Engineering and Computational Sciences} (PECOS) is one of five US
|
||||
centers sponsored under the Predictive Science Academic Alliance
|
||||
Program (PSAAP) of the National Nuclear Security Administration's
|
||||
Advanced Simulation and Computing Program. The PECOS center is housed
|
||||
within the \href{http://www.ices.utexas.edu}{Institute for
|
||||
Computational Engineering and Sciences} (ICES) at the
|
||||
\href{http://www.utexas.edu"}{University of Texas at Austin}. For
|
||||
additional information or questions regarding the PECOS center, please
|
||||
contact info@pecos.ices.utexas.edu.
|
||||
\end{tabular}
|
||||
\endlatexonly
|
||||
|
||||
*/
|
||||
39
doc/doxygen/txt_common/about_vpath.page.in
Normal file
39
doc/doxygen/txt_common/about_vpath.page.in
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
/*! \page About2
|
||||
|
||||
\htmlonly
|
||||
<table border="0" width="660" >
|
||||
<tr><td width=95> <img src="circle-logo-small.png" /> </td>
|
||||
<td>
|
||||
The <a href="http://pecos.ices.utexas.edu">Center for
|
||||
Predictive Engineering and Computational Sciences</a> (PECOS)
|
||||
is one of five US centers sponsored under the Predictive
|
||||
Science Academic Alliance Program (PSAAP) of the National
|
||||
Nuclear Security Administration's Advanced Simulation and
|
||||
Computing Program. The PECOS center is housed within
|
||||
the <a href="http://www.ices.utexas.edu">Institute for
|
||||
Computational Engineering and Sciences (ICES) </a> at the
|
||||
<a href="http://www.utexas.edu">University of Texas at
|
||||
Austin</a>. For additional information or questions regarding
|
||||
the PECOS center, please contact <a href="mailto:info@pecos.ices.utexas.edu">info@pecos.ices.utexas.edu</a>.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
\endhtmlonly
|
||||
|
||||
\latexonly
|
||||
\begin{tabular}{m{2.2cm} m{0.80\textwidth} }
|
||||
\includegraphics[width=2cm]{@abs_top_srcdir@/doxygen/fig_common/circle-logo.pdf} &
|
||||
The \href{http://pecos.ices.utexas.edu}{Center for Predictive
|
||||
Engineering and Computational Sciences} (PECOS) is one of five US
|
||||
centers sponsored under the Predictive Science Academic Alliance
|
||||
Program (PSAAP) of the National Nuclear Security Administration's
|
||||
Advanced Simulation and Computing Program. The PECOS center is housed
|
||||
within the \href{http://www.ices.utexas.edu}{Institute for
|
||||
Computational Engineering and Sciences} (ICES) at the
|
||||
\href{http://www.utexas.edu"}{University of Texas at Austin}. For
|
||||
additional information or questions regarding the PECOS center, please
|
||||
contact info@pecos.ices.utexas.edu.
|
||||
\end{tabular}
|
||||
\endlatexonly
|
||||
|
||||
*/
|
||||
7
doc/doxygen/txt_common/acknowledgment.page
Normal file
7
doc/doxygen/txt_common/acknowledgment.page
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
/*! \page Acknowledgments
|
||||
|
||||
This material is based in part upon work supported by the Department
|
||||
of Energy National Nuclear Security Administration under Award
|
||||
Number \e DE-FC52-08NA28615.
|
||||
|
||||
*/
|
||||
8
doc/doxygen/txt_common/footer.html
Normal file
8
doc/doxygen/txt_common/footer.html
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<hr size="1"/><address style="text-align: right;"><small>
|
||||
Generated on $datetime for $projectname
|
||||
by <a href="http://www.doxygen.org/index.html">
|
||||
<em>doxygen</em></a>
|
||||
$doxygenversion</small></address>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
13
doc/doxygen/txt_common/gpl.page
Normal file
13
doc/doxygen/txt_common/gpl.page
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
/*! \page License
|
||||
|
||||
<br>
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the Version 2 GNU General Public License as published by
|
||||
the Free Software Foundation.<br>
|
||||
<br>
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
<a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU General Public License</a>
|
||||
for more details.
|
||||
*/
|
||||
13
doc/doxygen/txt_common/lgpl.page
Normal file
13
doc/doxygen/txt_common/lgpl.page
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
/*! \page LicenseLGPL
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the Version 2.1 GNU Lesser General
|
||||
Public License as published by the Free Software Foundation.
|
||||
|
||||
This library is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
<a href="http://www.gnu.org/licenses/lgpl-2.1.txt">GNU Lesser General
|
||||
Public License </a> for more details.
|
||||
|
||||
*/
|
||||
11
doc/doxygen/txt_common/noop.page
Normal file
11
doc/doxygen/txt_common/noop.page
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
/*! \page NOOP
|
||||
|
||||
Note: This page does not contain any useful documentation (sorry). It
|
||||
is used to include graphics to trick doxygen into copying them for us.
|
||||
We apologize for the hackery in advance.
|
||||
|
||||
\image html circle-logo-small.png
|
||||
|
||||
\b 42.
|
||||
|
||||
*/
|
||||
BIN
doc/sphinx/_static/cantera-logo.png
Normal file
BIN
doc/sphinx/_static/cantera-logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
BIN
doc/sphinx/_static/favicon.ico
Normal file
BIN
doc/sphinx/_static/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 13 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 3 KiB |
507
doc/sphinx/_static/site.css
Normal file
507
doc/sphinx/_static/site.css
Normal file
|
|
@ -0,0 +1,507 @@
|
|||
/**
|
||||
* Alternate Sphinx design
|
||||
* Originally created by Armin Ronacher for Werkzeug, adapted by Georg Brandl.
|
||||
*/
|
||||
|
||||
body {
|
||||
font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva', 'Verdana', sans-serif;
|
||||
font-size: 14px;
|
||||
letter-spacing: -0.01em;
|
||||
line-height: 150%;
|
||||
text-align: center;
|
||||
/*background-color: #AFC1C4; */
|
||||
background-color: #BFD1D4;
|
||||
color: black;
|
||||
padding: 0;
|
||||
border: 1px solid #aaa;
|
||||
|
||||
margin: 0px 80px 0px 80px;
|
||||
min-width: 740px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #CA7900;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #2491CF;
|
||||
}
|
||||
|
||||
pre {
|
||||
font-family: 'Consolas', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
|
||||
font-size: 0.95em;
|
||||
letter-spacing: 0.015em;
|
||||
padding: 0.5em;
|
||||
border: 1px solid #ccc;
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
|
||||
td.linenos pre {
|
||||
padding: 0.5em 0;
|
||||
border: 0;
|
||||
background-color: transparent;
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
table.highlighttable {
|
||||
margin-left: 0.5em;
|
||||
}
|
||||
|
||||
table.highlighttable td {
|
||||
padding: 0 0.5em 0 0.5em;
|
||||
}
|
||||
|
||||
cite, code, tt {
|
||||
font-family: 'Consolas', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
|
||||
font-size: 0.95em;
|
||||
letter-spacing: 0.01em;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 1px solid #abc;
|
||||
margin: 2em;
|
||||
}
|
||||
|
||||
tt {
|
||||
background-color: #f2f2f2;
|
||||
border-bottom: 1px solid #ddd;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
tt.descname {
|
||||
background-color: transparent;
|
||||
font-weight: bold;
|
||||
font-size: 1.2em;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
tt.descclassname {
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
tt.xref {
|
||||
background-color: transparent;
|
||||
font-weight: bold;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
a tt {
|
||||
background-color: transparent;
|
||||
font-weight: bold;
|
||||
border: 0;
|
||||
color: #CA7900;
|
||||
}
|
||||
|
||||
a tt:hover {
|
||||
color: #2491CF;
|
||||
}
|
||||
|
||||
dl {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
dd p {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
dd ul, dd table {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-top: 3px;
|
||||
margin-bottom: 10px;
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.refcount {
|
||||
color: #060;
|
||||
}
|
||||
|
||||
dt:target,
|
||||
.highlight {
|
||||
background-color: #fbe54e;
|
||||
}
|
||||
|
||||
dl.class, dl.function {
|
||||
border-top: 2px solid #888;
|
||||
}
|
||||
|
||||
dl.method, dl.attribute {
|
||||
border-top: 1px solid #aaa;
|
||||
}
|
||||
|
||||
dl.glossary dt {
|
||||
font-weight: bold;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
pre {
|
||||
line-height: 120%;
|
||||
}
|
||||
|
||||
pre a {
|
||||
color: inherit;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.first {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
|
||||
div.document {
|
||||
background-color: white;
|
||||
text-align: left;
|
||||
background-image: url(contents.png);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
|
||||
/*
|
||||
div.documentwrapper {
|
||||
width: 100%;
|
||||
}
|
||||
*/
|
||||
|
||||
div.clearer {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
div.related h3 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.related ul {
|
||||
background-image: url(navigation.png);
|
||||
height: 2em;
|
||||
list-style: none;
|
||||
border-top: 1px solid #ddd;
|
||||
border-bottom: 1px solid #ddd;
|
||||
margin: 0;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
div.related ul li {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 2em;
|
||||
float: left;
|
||||
}
|
||||
|
||||
div.related ul li.right {
|
||||
float: right;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
div.related ul li a {
|
||||
margin: 0;
|
||||
padding: 0 5px 0 5px;
|
||||
line-height: 1.75em;
|
||||
color: #EE9816;
|
||||
}
|
||||
|
||||
div.related ul li a:hover {
|
||||
color: #3CA8E7;
|
||||
}
|
||||
|
||||
div.body {
|
||||
margin: 0;
|
||||
padding: 0.5em 20px 20px 20px;
|
||||
}
|
||||
|
||||
div.bodywrapper {
|
||||
margin: 0 240px 0 0;
|
||||
border-right: 1px solid #ccc;
|
||||
}
|
||||
|
||||
div.body a {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
div.sphinxsidebar {
|
||||
margin: 0;
|
||||
padding: 0.5em 15px 15px 0;
|
||||
width: 210px;
|
||||
float: right;
|
||||
text-align: left;
|
||||
/* margin-left: -100%; */
|
||||
}
|
||||
|
||||
div.sphinxsidebar h4, div.sphinxsidebar h3 {
|
||||
margin: 1em 0 0.5em 0;
|
||||
font-size: 0.9em;
|
||||
padding: 0.1em 0 0.1em 0.5em;
|
||||
color: white;
|
||||
border: 1px solid #86989B;
|
||||
background-color: #AFC1C4;
|
||||
}
|
||||
|
||||
div.sphinxsidebar ul {
|
||||
padding-left: 1.5em;
|
||||
margin-top: 7px;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
line-height: 130%;
|
||||
}
|
||||
|
||||
div.sphinxsidebar ul ul {
|
||||
list-style: square;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0.8em 0 0.5em 0;
|
||||
}
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin: 0;
|
||||
padding: 0.7em 0 0.3em 0;
|
||||
font-size: 1.5em;
|
||||
color: #11557C;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin: 1.3em 0 0.2em 0;
|
||||
font-size: 1.35em;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
h3 {
|
||||
margin: 1em 0 -0.3em 0;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
|
||||
color: black!important;
|
||||
}
|
||||
|
||||
h1 a.anchor, h2 a.anchor, h3 a.anchor, h4 a.anchor, h5 a.anchor, h6 a.anchor {
|
||||
display: none;
|
||||
margin: 0 0 0 0.3em;
|
||||
padding: 0 0.2em 0 0.2em;
|
||||
color: #aaa!important;
|
||||
}
|
||||
|
||||
h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor,
|
||||
h5:hover a.anchor, h6:hover a.anchor {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
h1 a.anchor:hover, h2 a.anchor:hover, h3 a.anchor:hover, h4 a.anchor:hover,
|
||||
h5 a.anchor:hover, h6 a.anchor:hover {
|
||||
color: #777;
|
||||
background-color: #eee;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
margin: 0 -0.5em 0 -0.5em;
|
||||
}
|
||||
|
||||
table td, table th {
|
||||
padding: 0.2em 0.5em 0.2em 0.5em;
|
||||
}
|
||||
|
||||
div.footer {
|
||||
background-color: #E3EFF1;
|
||||
color: #86989B;
|
||||
padding: 3px 8px 3px 0;
|
||||
clear: both;
|
||||
font-size: 0.8em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.footer a {
|
||||
color: #86989B;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
div.pagination {
|
||||
margin-top: 2em;
|
||||
padding-top: 0.5em;
|
||||
border-top: 1px solid black;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.sphinxsidebar ul.toc {
|
||||
margin: 1em 0 1em 0;
|
||||
padding: 0 0 0 0.5em;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
div.sphinxsidebar ul.toc li {
|
||||
margin: 0.5em 0 0.5em 0;
|
||||
font-size: 0.9em;
|
||||
line-height: 130%;
|
||||
}
|
||||
|
||||
div.sphinxsidebar ul.toc li p {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
div.sphinxsidebar ul.toc ul {
|
||||
margin: 0.2em 0 0.2em 0;
|
||||
padding: 0 0 0 1.8em;
|
||||
}
|
||||
|
||||
div.sphinxsidebar ul.toc ul li {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
div.admonition, div.warning {
|
||||
font-size: 0.9em;
|
||||
margin: 1em 0 0 0;
|
||||
border: 1px solid #86989B;
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
|
||||
div.admonition p, div.warning p {
|
||||
margin: 0.5em 1em 0.5em 1em;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
div.admonition pre, div.warning pre {
|
||||
margin: 0.4em 1em 0.4em 1em;
|
||||
}
|
||||
|
||||
div.admonition p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
margin: 0;
|
||||
padding: 0.1em 0 0.1em 0.5em;
|
||||
color: white;
|
||||
border-bottom: 1px solid #86989B;
|
||||
font-weight: bold;
|
||||
background-color: #AFC1C4;
|
||||
}
|
||||
|
||||
div.warning {
|
||||
border: 1px solid #940000;
|
||||
}
|
||||
|
||||
div.warning p.admonition-title {
|
||||
background-color: #CF0000;
|
||||
border-bottom-color: #940000;
|
||||
}
|
||||
|
||||
div.admonition ul, div.admonition ol,
|
||||
div.warning ul, div.warning ol {
|
||||
margin: 0.1em 0.5em 0.5em 3em;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
div.versioninfo {
|
||||
margin: 1em 0 0 0;
|
||||
border: 1px solid #ccc;
|
||||
background-color: #DDEAF0;
|
||||
padding: 8px;
|
||||
line-height: 1.3em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
|
||||
a.headerlink {
|
||||
color: #c60f0f!important;
|
||||
font-size: 1em;
|
||||
margin-left: 6px;
|
||||
padding: 0 4px 0 4px;
|
||||
text-decoration: none!important;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
h1:hover > a.headerlink,
|
||||
h2:hover > a.headerlink,
|
||||
h3:hover > a.headerlink,
|
||||
h4:hover > a.headerlink,
|
||||
h5:hover > a.headerlink,
|
||||
h6:hover > a.headerlink,
|
||||
dt:hover > a.headerlink {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
a.headerlink:hover {
|
||||
background-color: #ccc;
|
||||
color: white!important;
|
||||
}
|
||||
|
||||
table.indextable td {
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
table.indextable dl, table.indextable dd {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
table.indextable tr.pcap {
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
table.indextable tr.cap {
|
||||
margin-top: 10px;
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
|
||||
img.toggler {
|
||||
margin-right: 3px;
|
||||
margin-top: 3px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
img.inheritance {
|
||||
border: 0px
|
||||
}
|
||||
|
||||
form.pfform {
|
||||
margin: 10px 0 20px 0;
|
||||
}
|
||||
|
||||
table.contentstable {
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
table.contentstable p.biglink {
|
||||
line-height: 150%;
|
||||
}
|
||||
|
||||
a.biglink {
|
||||
font-size: 1.3em;
|
||||
}
|
||||
|
||||
span.linkdescr {
|
||||
font-style: italic;
|
||||
padding-top: 5px;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
ul.search {
|
||||
margin: 10px 0 0 20px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
ul.search li {
|
||||
padding: 5px 0 5px 20px;
|
||||
background-image: url(file.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0 7px;
|
||||
}
|
||||
|
||||
ul.search li a {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
ul.search li div.context {
|
||||
color: #888;
|
||||
margin: 2px 0 0 30px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
ul.keywordmatches li.goodmatch a {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
|
@ -1,162 +1,10 @@
|
|||
{%- set render_sidebar = (not embedded) and (not theme_nosidebar|tobool) and (sidebars != []) %}
|
||||
{% block doctype %}
|
||||
<!DOCTYPE html>
|
||||
{% extends "!layout.html" %}
|
||||
|
||||
|
||||
{% block relbar1 %}
|
||||
<div style="background-color: white; text-align: left; padding: 10px 10px 15px 15px">
|
||||
<a href="{{ pathto('index') }}">
|
||||
<img src="{{pathto("_static/cantera-logo.png", 1) }}" border="0" alt="Cantera"/></a>
|
||||
</div>
|
||||
{{ super() }}
|
||||
{% endblock %}
|
||||
<html prefix="
|
||||
og: http://ogp.me/ns# article: http://ogp.me/ns/article#
|
||||
"
|
||||
lang="en">
|
||||
|
||||
{%- macro script() %}
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="{{ pathto('', 1) }}" src="{{ pathto('_static/documentation_options.js', 1) }}"></script>
|
||||
{%- for scriptfile in script_files %}
|
||||
{%- if scriptfile.startswith("https://cdn.jsdelivr.net") %}
|
||||
<script defer type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
|
||||
{%- else %}
|
||||
<script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endmacro %}
|
||||
|
||||
|
||||
{%- macro css() %}
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" media="none" onload="this.media='all'" integrity="sha384-Smlep5jCw/wG7hdkwQ/Z5nLIefveQRIY9nfy6xoR1uRYBtpZgI6339F5dgvm/e9B" crossorigin="anonymous" />
|
||||
<link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" />
|
||||
<link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" />
|
||||
{%- for css in css_files %}
|
||||
{%- if css|attr("rel") %}
|
||||
<link rel="{{ css.rel }}" href="{{ pathto(css.filename, 1) }}" media="none" onload="this.media='all'" type="text/css"{% if css.title is not none %} title="{{ css.title }}"{% endif %} />
|
||||
{%- else %}
|
||||
<link rel="stylesheet" href="{{ pathto(css, 1) }}" media="none" onload="this.media='all'" type="text/css" />
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro sidebar() %}
|
||||
{%- if render_sidebar %}
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
{%- for sidebartemplate in sidebars %}
|
||||
{%- include sidebartemplate %}
|
||||
{%- endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{%- endif %}
|
||||
{%- endmacro %}
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{{ title|e }} | Cantera </title>
|
||||
|
||||
{%- block csss %}
|
||||
{{- css() }}
|
||||
{%- endblock %}
|
||||
{%- if not embedded %}
|
||||
{%- block scripts %}
|
||||
{{- script() }}
|
||||
{%- endblock %}
|
||||
{%- if use_opensearch %}
|
||||
<link rel="search" type="application/opensearchdescription+xml"
|
||||
title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}"
|
||||
href="{{ pathto('_static/opensearch.xml', 1) }}"/>
|
||||
{%- endif %}
|
||||
<link rel="shortcut icon" href="/assets/img/favicon.ico" sizes="16x16"/>
|
||||
{%- endif %}
|
||||
{% if theme_canonical_url %}
|
||||
<link rel="canonical" href="{{ theme_canonical_url }}{{ pagename }}.html"/>
|
||||
{% endif %}
|
||||
{%- if hasdoc('search') %}
|
||||
<link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" />
|
||||
{%- endif %}
|
||||
{%- if hasdoc('copyright') %}
|
||||
<link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" />
|
||||
{%- endif %}
|
||||
{%- block extrahead %} {% endblock %}
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="sr-only sr-only-focusable">Skip to main content</a>
|
||||
|
||||
<!-- Menubar -->
|
||||
|
||||
<nav class="navbar navbar-expand-md navbar-light bg-light static-top mb-4">
|
||||
<div class="container"><!-- This keeps the margins nice -->
|
||||
<a class="navbar-brand" href="/index.html">
|
||||
<img src="/assets/img/cantera-logo.png" alt="Cantera" id="logo" class="d-inline-block align-top">
|
||||
</a>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#bs-navbar" aria-controls="bs-navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
|
||||
<div class="collapse navbar-collapse" id="bs-navbar">
|
||||
<ul class="navbar-nav ml-auto">
|
||||
<li class="nav-item">
|
||||
<a href="/install/index.html" class="nav-link">Install</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="/tutorials/index.html" class="nav-link">Tutorials</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="/examples/index.html" class="nav-link">Examples</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="/community.html" class="nav-link">Community</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="/science/index.html" class="nav-link">Science</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="/documentation/index.html" class="nav-link">Documentation</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="/blog/index.html" class="nav-link">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- /.navbar-collapse -->
|
||||
</div><!-- /.container -->
|
||||
</nav>
|
||||
<!-- End of Menubar -->
|
||||
|
||||
<div class="container" id="content">
|
||||
<div class="body-content">
|
||||
<!--Body content-->
|
||||
{% block content %}
|
||||
<div class="document">
|
||||
{% block document %}
|
||||
<div class="documentwrapper">
|
||||
{%- if render_sidebar %}
|
||||
<div class="bodywrapper">
|
||||
{%- endif %}
|
||||
<div class="body" role="main">
|
||||
{% block body %} {% endblock %}
|
||||
</div>
|
||||
{%- if render_sidebar %}
|
||||
</div>
|
||||
{%- endif %}
|
||||
</div>
|
||||
{% endblock %} <!-- end of block document -->
|
||||
{%- block sidebar2 %}{{ sidebar() }}{% endblock %}
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
{% endblock %} <!--End of block content-->
|
||||
|
||||
<div class="footer">
|
||||
{% if show_copyright %}©{{ copyright }}.{% endif %}
|
||||
{% if theme_show_powered_by|lower == 'true' %}
|
||||
{% if show_copyright %}|{% endif %}
|
||||
Powered by <a href="http://sphinx-doc.org/">Sphinx {{ sphinx_version }}</a>
|
||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster {{ alabaster_version }}</a>
|
||||
{% endif %}
|
||||
{%- if show_source and has_source and sourcename %}
|
||||
{% if show_copyright or theme_show_powered_by %}|{% endif %}
|
||||
<a href="{{ pathto('_sources/' + sourcename, true)|e }}"
|
||||
rel="nofollow">{{ _('Page source') }}</a>
|
||||
{%- endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha256-98vAGjEDGN79TjHkYWVD4s87rvWkdWLHPs5MC3FvFX4=" crossorigin="anonymous"></script>
|
||||
<script async="async" src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js" integrity="sha384-o+RDsa0aLu++PJvFqy8fFScvbHFLtbvScb8AjopnFD+iEQ7wo/CG0xlczd+2O/em" crossorigin="anonymous"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
<div id="numfocus">
|
||||
<h3>Donate to Cantera</h3>
|
||||
<a href="https://numfocus.salsalabs.org/donate-to-cantera/index.html">
|
||||
<img src="{{pathto("_static/powered_by_NumFOCUS.png", 1) }}" border="0" alt="NumFOCUS"/></a>
|
||||
</div>
|
||||
522
doc/sphinx/compiling.rst
Normal file
522
doc/sphinx/compiling.rst
Normal file
|
|
@ -0,0 +1,522 @@
|
|||
.. _sec-compiling:
|
||||
|
||||
*************************
|
||||
Cantera Compilation Guide
|
||||
*************************
|
||||
|
||||
.. toctree::
|
||||
:hidden:
|
||||
|
||||
SCons Configuration Options <configuring>
|
||||
|
||||
This guide contains instructions for compiling Cantera on the following
|
||||
operating systems:
|
||||
|
||||
* Linux
|
||||
|
||||
* Ubuntu 10.04 LTS (Lucid Lynx) or newer
|
||||
* Debian 5.0 (Lenny) or newer
|
||||
|
||||
* Windows Vista or Windows 7 (32-bit or 64-bit versions)
|
||||
* OS X 10.6 (Snow Leopard) or newer
|
||||
|
||||
In addition to the above operating systems, Cantera should work on any
|
||||
Unix-like system where the necessary prerequisites are available, but some
|
||||
additional configuration may be required.
|
||||
|
||||
Installation Prerequisites
|
||||
==========================
|
||||
|
||||
Linux
|
||||
-----
|
||||
|
||||
* For Ubuntu or Debian users, the following packages should be installed using
|
||||
your choice of package manager::
|
||||
|
||||
g++ python scons libboost-all-dev libsundials-serial-dev subversion
|
||||
|
||||
* Building the python module also requires::
|
||||
|
||||
cython python-dev python-numpy python-numpy-dev
|
||||
|
||||
* The minimum compatible Cython version is 0.17. If your distribution does not
|
||||
contain a suitable version, you may be able to install a more recent version
|
||||
using `easy_install` or `pip`.
|
||||
|
||||
* Building the Fortran interface also requires gfortran or another supported
|
||||
Fortran compiler.
|
||||
* Users of other distributions should install the equivalent packages, which
|
||||
may have slightly different names.
|
||||
|
||||
Windows
|
||||
-------
|
||||
|
||||
There are a number of requirements for the versions of software to install
|
||||
depending on which interfaces (Python, Matlab) you want to build and what
|
||||
architecture (32-bit or 64-bit) you want to use. See :ref:`sec-dependencies` for
|
||||
the full list of dependencies.
|
||||
|
||||
* If you want to build the Python module, you must use the same version of the
|
||||
Microsoft compiler as was used to compile Python. For Python 2.6 and Python
|
||||
2.7, this means that you must use Visual Studio 2008 or the equivalent
|
||||
version of the Windows SDK (see link below). For Python 3.3, you should use
|
||||
Visual Studio 2010, or the corresponding version of the Windows SDK.
|
||||
* Note that the the "Express" editions of Visual Studio do not include a
|
||||
64-bit compiler, so if you want to build 64-bit Cantera, you will also need
|
||||
to install the Windows SDK.
|
||||
* The build process will produce a Python module compatible with the version of
|
||||
Python used for the compilation. To generate different modules for other
|
||||
versions of Python, you will need to install those versions of Python and
|
||||
recompile.
|
||||
* If you want to build the Matlab toolbox and you have a 64-bit copy of
|
||||
Windows, by default you will be using a 64-bit copy of Matlab, and therefore
|
||||
you need to compile Cantera in 64-bit mode. For simplicity, it is highly
|
||||
recommended that you use a 64-bit version of Python to handle this
|
||||
automatically.
|
||||
* There is no 64-bit installer for SCons under Windows, so you will need to
|
||||
download the ZIP version. After extracting it, start a command prompt in the
|
||||
unzipped folder and run::
|
||||
|
||||
python setup.py install
|
||||
|
||||
* It is generally helpful to have SCons and Python in your PATH. This can
|
||||
usually be accomplished by adding the top-level Python directory
|
||||
(e.g. ``C:\Python27``) to your PATH. This is accessible from::
|
||||
|
||||
Control Panel > System and Security > System > Advanced System Settings > Environment Variables
|
||||
|
||||
OS X
|
||||
----
|
||||
|
||||
* Download and install Xcode from the
|
||||
`Apple Developer site <https://developer.apple.com/xcode/index.php>`_
|
||||
* Cantera can be compiled with the command line tools that ship with either
|
||||
Xcode 3.x or Xcode 4.x.
|
||||
* If you don't have numpy version >= 1.3, you can install a recent version with::
|
||||
|
||||
sudo easy_install -U numpy
|
||||
|
||||
* If you want to build Cantera with Fortran 90 support, download gfortran from::
|
||||
|
||||
http://gcc.gnu.org/wiki/GFortranBinaries#MacOS
|
||||
|
||||
* Download scons-2.1.0.tar.gz from scons.org and extract the contents. Install with either::
|
||||
|
||||
sudo python setup.py install
|
||||
|
||||
to install for all users, or::
|
||||
|
||||
python setup.py install --user
|
||||
|
||||
to install to a location in your home directory.
|
||||
|
||||
Downloading the Cantera source code
|
||||
===================================
|
||||
|
||||
Stable Release
|
||||
--------------
|
||||
|
||||
* Option 1: Download the most recent source tarball from `SourceForge
|
||||
<https://sourceforge.net/projects/cantera/files/cantera/>`_ and extract the
|
||||
contents.
|
||||
|
||||
* Option 2: Check out the code using Subversion::
|
||||
|
||||
svn checkout http://cantera.googlecode.com/svn/cantera/branches/2.1/ cantera
|
||||
|
||||
* Option 3: Check out the code using Git::
|
||||
|
||||
git svn clone --stdlayout http://cantera.googlecode.com/svn/cantera cantera
|
||||
git checkout 2.1
|
||||
|
||||
Development Version
|
||||
-------------------
|
||||
|
||||
* Option 1: Check out the code using Subversion::
|
||||
|
||||
svn checkout http://cantera.googlecode.com/svn/cantera/trunk/ cantera
|
||||
|
||||
* Option 2: Check out the code using Git::
|
||||
|
||||
git svn clone --stdlayout http://cantera.googlecode.com/svn/cantera cantera
|
||||
|
||||
Determine configuration options
|
||||
===============================
|
||||
|
||||
General
|
||||
-------
|
||||
|
||||
* run ``scons help`` to see a list all configuration options for Cantera, or
|
||||
see :ref:`scons-config`.
|
||||
* If the prerequisites are installed in standard locations, the default values
|
||||
should work.
|
||||
* If you installed Sundials to a non-standard location (e.g. the libraries
|
||||
aren't in /usr/lib), you will need to specify the options::
|
||||
|
||||
sundials_include=/path/to/sundials/include
|
||||
sundials_libdir=/path/to/sundials/lib
|
||||
|
||||
* If you want to build the Matlab toolbox, you will need to specify the path
|
||||
to the Matlab installation, e.g.::
|
||||
|
||||
matlab_path=/opt/MATLAB/R2011a
|
||||
matlab_path="C:\Program Files\MATLAB\R2011a"
|
||||
matlab_path=/Applications/MATLAB_R2011a.app
|
||||
|
||||
The above paths are typical defaults on Linux, Windows, and OS X,
|
||||
respectively.
|
||||
* SCons saves configuration options specified on the command line in the file
|
||||
**cantera.conf** in the root directory of the source tree, so generally it is
|
||||
not necessary to respecify configuration options when rebuilding Cantera. To
|
||||
unset a previously set configuration option, either remove the corresponding
|
||||
line from cantera.conf or use the syntax::
|
||||
|
||||
option_name=
|
||||
|
||||
Python Module
|
||||
-------------
|
||||
|
||||
Cantera 2.1 introduces a new Python module implemented using Cython. This new
|
||||
module provides support for both Python 2.x and Python 3.x. It also features a
|
||||
redesigned API that simplifies many operations and aims to provide a more
|
||||
"Pythonic" interface to Cantera.
|
||||
|
||||
Building the new Python module requires the Cython package for Python.
|
||||
|
||||
For compatibility, the legacy Python module is still available, though it will not
|
||||
receive feature updates, and will be removed in a future Cantera release. Users
|
||||
are encouraged to switch to the new Python module when possible.
|
||||
|
||||
The Cython module is compatible with the following Python versions: 2.6, 2.7,
|
||||
3.1, 3.2, and 3.3. Support for Python 2.6 and Python 3.1 requires the ``scipy``
|
||||
and ``unittest2`` packages to be installed as well (see :ref:`sec-dependencies`)
|
||||
to provide certain features that are included in the standard
|
||||
library in more recent versions.
|
||||
|
||||
Building for Python 2
|
||||
.....................
|
||||
|
||||
By default, SCons will attempt to build the new Python module. To build the
|
||||
legacy Python module instead, use the SCons option ``python_package=full``.
|
||||
|
||||
Building for Python 3
|
||||
.....................
|
||||
|
||||
If SCons detects a Python 3 interpreter installed in a default location
|
||||
(i.e. ``python3`` is on the path), it will try to build the new Python module
|
||||
for Python 3. The following SCons options control how the Python 3 module is
|
||||
built::
|
||||
|
||||
python3_package=[y|n]
|
||||
python3_cmd=/path/to/python3/interpreter
|
||||
python3_array_home=/path/to/numpy
|
||||
python3_prefix=/path/to/cantera/module
|
||||
|
||||
Note that even when building the Python 3 Cantera module, you should still use
|
||||
Python 2 with SCons, as SCons does not currently support Python 3.
|
||||
|
||||
Windows (MSVC)
|
||||
--------------
|
||||
|
||||
* In Windows there aren't any proper default locations for many of the packages
|
||||
that Cantera depends on, so you will need to specify these paths explicitly.
|
||||
* Remember to put double quotes around any paths with spaces in them, e.g.
|
||||
"C:\Program Files".
|
||||
* By default, SCons attempts to use the same architecture and version of the
|
||||
Microsoft compiler as was used to compile Python, typically Visual Studio
|
||||
2008 or the equivalent version of the Windows SDK. If you aren't building the
|
||||
Python module, you can override this with the configuration options
|
||||
``target_arch`` and ``msvc_version``.
|
||||
|
||||
.. note::
|
||||
|
||||
The ``cantera.conf`` file uses the backslash character ``\`` as an escape
|
||||
character. When modifying this file, backslashes in paths need to be escaped
|
||||
like this: ``boost_inc_dir = 'C:\\Program Files (x86)\\boost\\include'``
|
||||
This does not apply to paths specified on the command line. Alternatively,
|
||||
you can use forward slashes in paths.
|
||||
|
||||
|
||||
Windows (MinGW)
|
||||
---------------
|
||||
|
||||
* To compile with MinGW, use the SCons command line option::
|
||||
|
||||
toolchain=mingw
|
||||
|
||||
* The version of MinGW from http://www.mingw.org is 32-bit only, and therefore
|
||||
cannot be used to build a 64-bit Python module.
|
||||
|
||||
OS X
|
||||
----
|
||||
|
||||
* The available compilers to compile Cantera will depend on the version of
|
||||
Xcode that is installed.
|
||||
|
||||
* If Xcode 3 is installed, you can use either GCC by leaving the ``CC`` and
|
||||
``CXX`` options unspecified, or setting them to::
|
||||
|
||||
CC=gcc CXX=g++
|
||||
|
||||
You can also use LLVM with the GCC frontend by specifying::
|
||||
|
||||
CC=llvm-gcc CXX=llvm-g++
|
||||
|
||||
* If Xcode 4 is installed, then you can either use LLVM-GCC as above or
|
||||
Clang by specifying::
|
||||
|
||||
CC=clang CXX=clang++
|
||||
|
||||
* The Accelerate framework provides optimized versions of BLAS and LAPACK, so
|
||||
the ``blas_lapack_libs`` option should generally be left unspecified.
|
||||
|
||||
Intel Compilers
|
||||
---------------
|
||||
* Before compiling Cantera, you may need to set up the appropriate environment
|
||||
variables for the Intel compiler suite, e.g.::
|
||||
|
||||
source /opt/intel/bin/compilervars.sh intel64
|
||||
|
||||
* For the Intel compiler to work with SCons, these environment variables need
|
||||
to be passed through SCons by using the command line option::
|
||||
|
||||
env_vars=all
|
||||
|
||||
* If you want to use the Intel MKL versions of BLAS and LAPACK, you will need
|
||||
to provide additional options. The following are typically correct on
|
||||
64-bit Linux systems::
|
||||
|
||||
blas_lapack_libs=mkl_rt blas_lapack_dir=$(MKLROOT)/lib/intel64
|
||||
|
||||
Your final SCons call might then look something like::
|
||||
|
||||
scons build env_vars=all CC=icc CXX=icpc F90=ifort F77=ifort blas_lapack_libs=mkl_rt blas_lapack_dir=$(MKLROOT)/lib/intel64
|
||||
|
||||
When installing Cantera after building with the Intel compiler, the normal
|
||||
method of using ``sudo`` to install Cantera will not work because ``sudo``
|
||||
does not pass the environment variables needed by the Intel compiler.
|
||||
Instead, you will need to do something like::
|
||||
|
||||
scons build ...
|
||||
sudo -s
|
||||
source /path/to/compilervars.sh intel64
|
||||
scons install
|
||||
exit
|
||||
|
||||
Compile Cantera & Test
|
||||
======================
|
||||
|
||||
* Run scons with the list of desired configuration options, e.g.::
|
||||
|
||||
scons build optimize=n blas_lapack_libs=blas,lapack prefix=/opt/cantera
|
||||
|
||||
* If Cantera compiles successfully, you should see a message that looks like::
|
||||
|
||||
*******************************************************
|
||||
Compilation completed successfully.
|
||||
|
||||
- To run the test suite, type 'scons test'.
|
||||
- To install, type '[sudo] scons install'.
|
||||
*******************************************************
|
||||
|
||||
* If you do not see this message, check the output for errors to see what went
|
||||
wrong.
|
||||
* Cantera has a series of tests that can be run with the command::
|
||||
|
||||
scons test
|
||||
|
||||
* When the tests finish, you should see a summary indicating the number of
|
||||
tests that passed and failed.
|
||||
|
||||
* If you have tests that fail, try looking at the following to determine the
|
||||
source of the error:
|
||||
|
||||
* Messages printed to the console while running scons test
|
||||
* Output files generated by the tests
|
||||
|
||||
MinGW Compilation problems
|
||||
--------------------------
|
||||
|
||||
* If you get a compiler error while compiling some of the "f2c" code, then your
|
||||
version of MinGW has a problem with the order of its internal include paths,
|
||||
such that it sees the GCC float.h before its own special version. To fix this
|
||||
problem edit the GCC float.h located at (roughly)::
|
||||
|
||||
c:\MinGW\lib\gcc\mingw32\4.6.1\include\float.h
|
||||
|
||||
and add the following just before the end (before the final #endif)
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
#ifndef _MINGW_FLOAT_H_
|
||||
#include_next <float.h>
|
||||
#endif
|
||||
|
||||
.. _sec-dependencies:
|
||||
|
||||
Software used by Cantera
|
||||
========================
|
||||
|
||||
This section lists the versions of third-party software that are required to
|
||||
build and use Cantera.
|
||||
|
||||
Compilers
|
||||
---------
|
||||
|
||||
You must have one of the following C++ compilers installed on your system. A
|
||||
Fortran compiler is required only if you plan to use Cantera from a Fortran
|
||||
program.
|
||||
|
||||
* GNU compilers (C/C++/Fortran)
|
||||
|
||||
* Known to work with version 4.6; Expected to work with version >= 4.3
|
||||
|
||||
* Clang/LLVM (C/C++)
|
||||
|
||||
* Known to work with version 2.9
|
||||
* This is the version included with Apple Xcode 4.x
|
||||
|
||||
* Intel compilers (C/C++/Fortran)
|
||||
|
||||
* Known to work with version 11.0 and 12.1; Expected to work with
|
||||
versions >= 11.0
|
||||
|
||||
* Microsoft compilers (C/C++)
|
||||
|
||||
* Known to work with version 9.0 (Visual Studio 2008) and version 10.0
|
||||
(Visual Studio 2010). Expected to work with version 11.0 (Visual Studio
|
||||
2012).
|
||||
* If you are building the Python module, you must use the same version and
|
||||
architecture (32- or 64-bit) as your copy of Python was compiled with:
|
||||
Visual Studio 2008 for Python 2.6, 2.7, and 3.2, or Visual Studio 2010 for
|
||||
Python 3.3.
|
||||
* The "Express" editions of Visual Studio 2008 and 2010 do not include a
|
||||
64-bit compiler. To compile Cantera with 64-bit support, you must install
|
||||
the corresponding version of the Windows SDK, available as a free
|
||||
download.
|
||||
* Windows SDK, equivalent to Visual Studio 2008:
|
||||
http://www.microsoft.com/download/en/details.aspx?id=3138
|
||||
* Windows SDK, equivalent to Visual Studio 2010:
|
||||
http://www.microsoft.com/en-us/download/details.aspx?id=8279
|
||||
|
||||
* MinGW (C/C++/Fortran)
|
||||
|
||||
* http://www.mingw.org
|
||||
* Known to work with version 4.6.
|
||||
* Supported versions of MinGW should be the same as the supported versions of
|
||||
GCC.
|
||||
|
||||
Other Required Software
|
||||
-----------------------
|
||||
|
||||
* Subversion
|
||||
|
||||
* For Windows: http://tortoisesvn.net/downloads.html
|
||||
* Known to work with versions >= 1.6
|
||||
|
||||
* SCons:
|
||||
|
||||
* http://www.scons.org/download.php
|
||||
* Known to work with SCons 2.1.0; Expected to work with versions >= 1.0.0
|
||||
|
||||
* Python:
|
||||
|
||||
* http://python.org/download/
|
||||
* Known to work with 2.6 and 2.7; Expected to work with versions >= 2.5
|
||||
* The Cython module supports Python 2.x and 3.x. However, SCons requires
|
||||
Python 2.x, so compilation of the Cython module requires two Python
|
||||
installations.
|
||||
|
||||
* Boost
|
||||
|
||||
* http://www.boost.org/users/download/
|
||||
* Known to work with version 1.46; Expected to work with versions >= 1.40
|
||||
* Only the "header-only" portions of Boost are required. Cantera does not
|
||||
currently depend on any of the compiled Boost libraries.
|
||||
|
||||
Optional Programs
|
||||
-----------------
|
||||
|
||||
* Numpy
|
||||
|
||||
* Required to build the Cantera Python module.
|
||||
* http://sourceforge.net/projects/numpy/
|
||||
* Known to work with versions 1.3 and 1.6; Expected to work with version >= 1.1
|
||||
* Test suite requires version >= 1.3
|
||||
|
||||
* `Cython <http://cython.org/>`_
|
||||
|
||||
* Required to build the Python module
|
||||
* Known to work with versions 0.17 and 0.18. Expected to work with
|
||||
versions >= 0.17.
|
||||
* Supports Python 2.7 and 3.2. Expected to work with versions >= 3.2.
|
||||
|
||||
* `3to2 <http://pypi.python.org/pypi/3to2>`_
|
||||
|
||||
* Used to convert Cython examples to Python 2 syntax.
|
||||
* Known to work with version 1.0
|
||||
|
||||
* `Scipy <http://scipy.org/install.html>`_
|
||||
|
||||
* Required in order to use the new Python module with Python 2.6 or 3.1.
|
||||
|
||||
* Unittest2
|
||||
|
||||
* Required in order to run the test suite for the new Python module with
|
||||
Python 2.6 or Python 3.1.
|
||||
* https://pypi.python.org/pypi/unittest2 (Python 2.6)
|
||||
* https://pypi.python.org/pypi/unittest2py3k (Python 3.1)
|
||||
|
||||
* Matlab
|
||||
|
||||
* Required to build the Cantera Matlab toolbox.
|
||||
* Known to work with 2009a, 2010a, and 2011b. Expected to work with
|
||||
versions >= 2009a.
|
||||
|
||||
* Sundials
|
||||
|
||||
* Required to enable some features such as sensitivity analysis.
|
||||
* Strongly recommended if using reactor network or 1D simulation capabilities.
|
||||
* https://computation.llnl.gov/casc/sundials/download/download.html
|
||||
* Known to work with versions 2.4 and 2.5; Support for versions 2.3
|
||||
and 2.2 is deprecated.
|
||||
* To use Sundials with Cantera, you may need to compile it with the
|
||||
``-fPIC`` flag. You can specify this flag when configuring Sundials::
|
||||
|
||||
configure --with-cflags=-fPIC
|
||||
|
||||
* `Windows Installer XML (WiX) toolset <http://wix.sourceforge.net/>`_
|
||||
.. note:: If you are compiling Sundials 2.5.0 on Windows using CMake, you need
|
||||
to edit the ``CMakeLists.txt`` file first and change the lines::
|
||||
|
||||
SET(PACKAGE_STRING "SUNDIALS 2.4.0")
|
||||
SET(PACKAGE_VERSION "2.4.0")
|
||||
|
||||
to read::
|
||||
|
||||
SET(PACKAGE_STRING "SUNDIALS 2.5.0")
|
||||
SET(PACKAGE_VERSION "2.5.0")
|
||||
|
||||
instead, so that Cantera can correctly identify the version of
|
||||
Sundials.
|
||||
|
||||
|
||||
* Required to build MSI installers on Windows.
|
||||
* Known to work with version 3.5.
|
||||
|
||||
* `Distribute <http://pypi.python.org/pypi/distribute>`_ (Python)
|
||||
|
||||
* Provides the ``easy_install`` command which can be used to install most of
|
||||
the other Python modules.
|
||||
|
||||
* Packages required for building Sphinx documentation
|
||||
|
||||
* `Sphinx <http://sphinx.pocoo.org/>`_ (install with ``easy_install -U Sphinx``)
|
||||
* `Pygments <http://pygments.org/>`_ (install with ``easy_install -U pygments``)
|
||||
* `pyparsing <http://sourceforge.net/projects/pyparsing/>`_ (install with ``easy_install -U pyparsing``)
|
||||
* `doxylink <http://pypi.python.org/pypi/sphinxcontrib-doxylink/>`_ (install with ``easy_install sphinxcontrib-doxylink``)
|
||||
|
||||
* `Doxygen <http://www.stack.nl/~dimitri/doxygen/>`_
|
||||
|
||||
* Required for building the C++ API Documentation
|
||||
* Version 1.8 or newer is recommended.
|
||||
|
|
@ -11,12 +11,16 @@
|
|||
# All configuration values have a default; values that are commented out
|
||||
# serve to show the default.
|
||||
|
||||
import sys, os, re
|
||||
import sys, os
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
sys.path.insert(0, os.path.abspath('../../build/python'))
|
||||
if sys.version_info[0] == 3:
|
||||
sys.path.insert(0, os.path.abspath('../../build/python3'))
|
||||
else:
|
||||
sys.path.insert(0, os.path.abspath('../../build/python2'))
|
||||
sys.path.insert(0, os.path.abspath('../../interfaces/python'))
|
||||
|
||||
sys.path.append(os.path.abspath('.'))
|
||||
sys.path.append(os.path.abspath('./exts'))
|
||||
|
|
@ -28,34 +32,25 @@ sys.path.append(os.path.abspath('./exts'))
|
|||
|
||||
# Add any Sphinx extension module names here, as strings. They can be extensions
|
||||
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||
|
||||
# sphinxcontrib.matlab has been added to add the MATLAB domain for the
|
||||
# documentation of the MATLAB functions. It is a new requirement to build the
|
||||
# documentation in 2.2. It should be loaded before sphinx.ext.autodoc because
|
||||
# loading it after gives errors when autodocumenting the Python interface.
|
||||
extensions = [
|
||||
'sphinxcontrib.matlab',
|
||||
'sphinx.ext.autodoc',
|
||||
extensions = ['sphinx.ext.autodoc',
|
||||
'sphinx.ext.todo',
|
||||
'sphinx.ext.autosummary',
|
||||
'sphinxcontrib.doxylink',
|
||||
'sphinxcontrib.katex', # Use KaTeX because it's faster and the main site uses it
|
||||
]
|
||||
'mathjax',
|
||||
'sphinxcontrib.doxylink']
|
||||
|
||||
katex_version = '0.10.0-beta'
|
||||
# @todo: Sphinx version 1.1 adds support for MathJax, so we can remove the
|
||||
# custom extension for that once that version becomes more standard
|
||||
|
||||
autodoc_default_flags = ['members','show-inheritance','undoc-members']
|
||||
|
||||
autoclass_content = 'both'
|
||||
|
||||
doxylink = {
|
||||
'ct': (os.path.abspath('../../build/docs/Cantera.tag'),
|
||||
'../../doxygen/html/')
|
||||
}
|
||||
mathjax_path = 'http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default'
|
||||
|
||||
# Ensure that the primary domain is the Python domain, since we've added the
|
||||
# MATLAB domain with sphinxcontrib.matlab
|
||||
primary_domain = 'py'
|
||||
doxylink = {
|
||||
'ct' : (os.path.abspath('../../build/docs/Cantera.tag'),
|
||||
'../../doxygen/html/')
|
||||
}
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
|
@ -70,18 +65,17 @@ source_suffix = '.rst'
|
|||
master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = 'Cantera'
|
||||
copyright = '2001-2018, Cantera Developers'
|
||||
project = u'Cantera'
|
||||
copyright = u'2012, Cantera Developers'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
# built documents.
|
||||
|
||||
configh = open('../../include/cantera/base/config.h').read()
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = re.search('CANTERA_SHORT_VERSION "(.*?)"', configh).group(1)
|
||||
version = '2.1'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = re.search('CANTERA_VERSION "(.*?)"', configh).group(1)
|
||||
release = '2.1.2'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
|
@ -96,6 +90,9 @@ release = re.search('CANTERA_VERSION "(.*?)"', configh).group(1)
|
|||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
exclude_patterns = []
|
||||
if sys.version_info[0] == 3:
|
||||
exclude_patterns.append('python/*')
|
||||
|
||||
|
||||
# The reST default role (used for this markup: `text`) to use for all documents.
|
||||
default_role = 'py:obj'
|
||||
|
|
@ -122,47 +119,15 @@ pygments_style = 'sphinx'
|
|||
|
||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||
# a list of builtin themes.
|
||||
html_theme = 'cttheme'
|
||||
html_sidebars = {
|
||||
'**': ['localtoc.html', 'relations.html', 'sourcelink.html', 'searchbox.html', 'numfocus.html'],
|
||||
}
|
||||
html_theme = 'sphinxdoc'
|
||||
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
# documentation.
|
||||
|
||||
# Copy the Bootstrap 4 font families.
|
||||
font_families = [
|
||||
# Default on Apple
|
||||
'-apple-system',
|
||||
# Default for older versions of Chrome on Mac
|
||||
'BlinkMacSystemFont',
|
||||
# Windows
|
||||
'"Segoe UI"',
|
||||
# Android
|
||||
'Roboto',
|
||||
# Standard fallbacks
|
||||
'"Helvetica Neue"', 'Arial', 'sans-serif',
|
||||
# Emoji fonts
|
||||
'"Apple Color Emoji"', '"Segoe UI Emoji"', '"Segoe UI Symbol"']
|
||||
|
||||
code_font_families = [
|
||||
'SFMono-Regular',
|
||||
'Menlo',
|
||||
'Monaco',
|
||||
'Consolas',
|
||||
'"Liberation Mono"',
|
||||
'"Courier New"', 'monospace'
|
||||
]
|
||||
html_theme_options = {
|
||||
'font_family': ','.join(font_families),
|
||||
'head_font_family': ','.join(font_families),
|
||||
'caption_font_family': ','.join(font_families),
|
||||
'code_font_family': ','.join(code_font_families),
|
||||
}
|
||||
#html_theme_options = {}
|
||||
|
||||
# Add any paths that contain custom themes here, relative to this directory.
|
||||
html_theme_path = ['.']
|
||||
#html_theme_path = []
|
||||
|
||||
# The name for this set of Sphinx documents. If None, it defaults to
|
||||
# "<project> v<release> documentation".
|
||||
|
|
@ -178,13 +143,14 @@ html_short_title = "Cantera"
|
|||
# The name of an image file (within the static path) to use as favicon of the
|
||||
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
||||
# pixels large.
|
||||
# html_favicon = "_static/favicon.ico"
|
||||
html_favicon = "_static/favicon.ico"
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
html_static_path = ['_static']
|
||||
|
||||
html_style = 'site.css'
|
||||
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
||||
# using the given strftime format.
|
||||
#html_last_updated_fmt = '%b %d, %Y'
|
||||
|
|
@ -241,8 +207,8 @@ htmlhelp_basename = 'Canteradoc'
|
|||
# Grouping the document tree into LaTeX files. List of tuples
|
||||
# (source start file, target name, title, author, documentclass [howto/manual]).
|
||||
latex_documents = [
|
||||
('index', 'Cantera.tex', 'Cantera Documentation',
|
||||
'Cantera Developers', 'manual'),
|
||||
('index', 'Cantera.tex', u'Cantera Documentation',
|
||||
u'Cantera Developers', 'manual'),
|
||||
]
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of
|
||||
|
|
@ -274,6 +240,6 @@ latex_documents = [
|
|||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
('index', 'cantera', 'Cantera Documentation',
|
||||
['Cantera Developers'], 1)
|
||||
('index', 'cantera', u'Cantera Documentation',
|
||||
[u'Cantera Developers'], 1)
|
||||
]
|
||||
|
|
|
|||
15
doc/sphinx/configuring.rst
Normal file
15
doc/sphinx/configuring.rst
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
.. _scons-config:
|
||||
|
||||
*******************
|
||||
Configuring Cantera
|
||||
*******************
|
||||
|
||||
This document lists the options available for compiling Cantera with SCons.
|
||||
|
||||
These options may be seen by running the command::
|
||||
|
||||
scons help
|
||||
|
||||
from the command prompt.
|
||||
|
||||
.. literalinclude:: scons-options.txt
|
||||
|
|
@ -3,133 +3,132 @@
|
|||
CTI Class Reference
|
||||
*******************
|
||||
|
||||
.. py:module:: cantera.ctml_writer
|
||||
|
||||
.. py:currentmodule:: cantera.ctml_writer
|
||||
.. py:module:: ctml_writer
|
||||
|
||||
Basic Classes & Functions
|
||||
=========================
|
||||
|
||||
.. autofunction:: units
|
||||
.. autofunction:: ctml_writer.units
|
||||
|
||||
.. autofunction:: validate
|
||||
|
||||
.. autoclass:: state
|
||||
.. autoclass:: ctml_writer.state
|
||||
:no-undoc-members:
|
||||
|
||||
Phases of Matter
|
||||
================
|
||||
|
||||
.. autoclass:: phase
|
||||
.. autoclass:: ctml_writer.phase
|
||||
:no-members:
|
||||
|
||||
.. autoclass:: ideal_gas
|
||||
.. autoclass:: ctml_writer.ideal_gas
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: stoichiometric_solid
|
||||
.. autoclass:: ctml_writer.stoichiometric_solid
|
||||
:no-members:
|
||||
|
||||
.. autoclass:: stoichiometric_liquid
|
||||
.. autoclass:: ctml_writer.stoichiometric_liquid
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: metal
|
||||
.. autoclass:: ctml_writer.metal
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: semiconductor
|
||||
.. autoclass:: ctml_writer.semiconductor
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: incompressible_solid
|
||||
.. autoclass:: ctml_writer.incompressible_solid
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: lattice
|
||||
.. autoclass:: ctml_writer.lattice
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: lattice_solid
|
||||
.. autoclass:: ctml_writer.lattice_solid
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: liquid_vapor
|
||||
.. autoclass:: ctml_writer.liquid_vapor
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: ideal_interface
|
||||
.. autoclass:: ctml_writer.redlich_kwong
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: edge
|
||||
.. autoclass:: ctml_writer.ideal_interface
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: ctml_writer.edge
|
||||
:no-undoc-members:
|
||||
|
||||
Elements and Species
|
||||
====================
|
||||
|
||||
.. autoclass:: element
|
||||
.. autoclass:: ctml_writer.element
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: species
|
||||
.. autoclass:: ctml_writer.species
|
||||
:no-undoc-members:
|
||||
|
||||
Thermodynamic Properties
|
||||
========================
|
||||
|
||||
.. autoclass:: Mu0_table
|
||||
.. autoclass:: ctml_writer.Mu0_table
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: NASA
|
||||
.. autoclass:: ctml_writer.NASA
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: NASA9
|
||||
.. autoclass:: ctml_writer.NASA9
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: Shomate
|
||||
.. autoclass:: ctml_writer.Shomate
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: const_cp
|
||||
.. autoclass:: ctml_writer.Adsorbate
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: ctml_writer.const_cp
|
||||
:no-undoc-members:
|
||||
|
||||
Transport Properties
|
||||
====================
|
||||
|
||||
.. autoclass:: gas_transport
|
||||
.. autoclass:: ctml_writer.gas_transport
|
||||
:no-undoc-members:
|
||||
|
||||
Reactions
|
||||
=========
|
||||
|
||||
.. autoclass:: reaction
|
||||
.. autoclass:: ctml_writer.reaction
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: Arrhenius
|
||||
.. autoclass:: ctml_writer.Arrhenius
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: three_body_reaction
|
||||
.. autoclass:: ctml_writer.three_body_reaction
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: falloff_reaction
|
||||
.. autoclass:: ctml_writer.falloff_reaction
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: chemically_activated_reaction
|
||||
.. autoclass:: ctml_writer.chemically_activated_reaction
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: pdep_arrhenius
|
||||
.. autoclass:: ctml_writer.pdep_arrhenius
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: chebyshev_reaction
|
||||
.. autoclass:: ctml_writer.chebyshev_reaction
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: surface_reaction
|
||||
.. autoclass:: ctml_writer.surface_reaction
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: edge_reaction
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: stick
|
||||
.. autoclass:: ctml_writer.edge_reaction
|
||||
:no-undoc-members:
|
||||
|
||||
Falloff Parameterizations
|
||||
-------------------------
|
||||
|
||||
.. autoclass:: Troe
|
||||
.. autoclass:: ctml_writer.Troe
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: SRI
|
||||
.. autoclass:: ctml_writer.SRI
|
||||
:no-undoc-members:
|
||||
|
||||
.. autoclass:: Lindemann
|
||||
.. autoclass:: ctml_writer.Lindemann
|
||||
:no-undoc-members:
|
||||
|
|
|
|||
4
doc/sphinx/cti/example-combustion.rst
Normal file
4
doc/sphinx/cti/example-combustion.rst
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
============================
|
||||
Example: Hydrogen Combustion
|
||||
============================
|
||||
|
||||
19
doc/sphinx/cti/index.rst
Normal file
19
doc/sphinx/cti/index.rst
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
|
||||
.. _sec-defining-phases:
|
||||
|
||||
***************
|
||||
Defining Phases
|
||||
***************
|
||||
|
||||
*A guide to Cantera's input file format*
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
intro
|
||||
input-files
|
||||
phases
|
||||
species
|
||||
reactions
|
||||
classes
|
||||
example-combustion
|
||||
478
doc/sphinx/cti/input-files.rst
Normal file
478
doc/sphinx/cti/input-files.rst
Normal file
|
|
@ -0,0 +1,478 @@
|
|||
.. py:currentmodule:: ctml_writer
|
||||
|
||||
.. _sec-input-files:
|
||||
|
||||
************************
|
||||
Working with Input Files
|
||||
************************
|
||||
|
||||
Before we can describe how to define phases, interfaces, and their components
|
||||
(elements, species, and reactions), we need to go over a few points about the
|
||||
mechanics of writing and processing input files.
|
||||
|
||||
Input File Syntax
|
||||
=================
|
||||
|
||||
An input file consists of *entries* and *directives*, both of which have a
|
||||
syntax much like functions. An entry defines an object---for example, a
|
||||
reaction, or a species, or a phase. A directive sets options that affect how the
|
||||
entry parameters are interpreted, such as the default unit system, or how
|
||||
certain errors should be handled.
|
||||
|
||||
Cantera's input files follow the syntax rules for Python, so if you're familiar
|
||||
with Python syntax you already understand many of the details and can probably
|
||||
skip ahead to :ref:`sec-dimensions`.
|
||||
|
||||
Entries have fields that can be assigned values. A species entry is shown below
|
||||
that has fields *name* and *atoms* (plus several others)::
|
||||
|
||||
species(name='C60', atoms='C:60')
|
||||
|
||||
Most entries have some fields that are required; these must be assigned values,
|
||||
or else processing of the file will abort and an error message will be
|
||||
printed. Other fields may be optional, and take default values if not assigned.
|
||||
|
||||
An entry may be either a *top-level entry* or an *embedded entry*. Top-level
|
||||
entries specify a phase, an interface, an element, a species, or a reaction, and
|
||||
begin in the first (leftmost) column. Embedded entries specify a model, or a
|
||||
group of parameters for a top-level entry, and are usually embedded in a field
|
||||
of another entry.
|
||||
|
||||
The fields of an entry are specified in the form ``<field_name> = <value>``, and may
|
||||
be listed on one line, or extend across several. For example, two entries for
|
||||
graphite are shown below. The first is compact::
|
||||
|
||||
stoichiometric_solid(name='graphite', species='C(gr)', elements='C', density=(2.2, 'g/cm3')))
|
||||
|
||||
and the second is formatted to be easier to read::
|
||||
|
||||
stoichiometric_solid(
|
||||
name = 'graphite',
|
||||
elements = 'C',
|
||||
species = 'C(gr)',
|
||||
density = (2.2, 'g/cm3')
|
||||
)
|
||||
|
||||
Both are completely equivalent.
|
||||
|
||||
The species ``C(gr)`` that appears in the definition of the graphite phase is
|
||||
also defined by a top-level entry. If the heat capacity of graphite is
|
||||
approximated as constant, then the following definition could be used::
|
||||
|
||||
species(name='C(gr)',
|
||||
atoms='C:1',
|
||||
thermo=const_cp(t0=298.15,
|
||||
h0=0.0,
|
||||
s0=(5.6, 'J/mol/K'), # NIST
|
||||
cp0=(8.43, 'J/mol/K'))) # Taylor and Groot (1980)
|
||||
|
||||
Note that the thermo field is assigned an embedded entry of type
|
||||
:class:`const_cp`. Entries are stored as they are encountered when the file is
|
||||
read, and only processed once the end of the file has been reached. Therefore,
|
||||
the order in which they appear is unimportant.
|
||||
|
||||
Comments
|
||||
--------
|
||||
|
||||
The character ``#`` is the comment character. Everything to the right of this
|
||||
character on a line is ignored::
|
||||
|
||||
# set the default units
|
||||
units(length = 'cm', # use centimeters for length
|
||||
quantity = 'mol') # use moles for quantity
|
||||
|
||||
Strings
|
||||
-------
|
||||
|
||||
Strings may be enclosed in single quotes or double quotes, but they must
|
||||
match. To create a string containing single quotes, enclose it in double quotes,
|
||||
and vice versa. If you want to create a string to extend over multiple lines,
|
||||
enclose it in triple quotes::
|
||||
|
||||
string1 = 'A string.'
|
||||
string2 = "Also a 'string'"
|
||||
string3 = """This is
|
||||
a
|
||||
string too."""
|
||||
|
||||
The multi-line form is useful when specifying a phase containing a large number
|
||||
of species::
|
||||
|
||||
species = """ H2 H O O2 OH H2O HO2 H2O2 C CH
|
||||
CH2 CH2(S) CH3 CH4 CO CO2 HCO CH2O CH2OH CH3O
|
||||
CH3OH C2H C2H2 C2H3 C2H4 C2H5 C2H6 HCCO CH2CO HCCOH
|
||||
N NH NH2 NH3 NNH NO NO2 N2O HNO CN
|
||||
HCN H2CN HCNN HCNO HOCN HNCO NCO N2 AR C3H7
|
||||
C3H8 CH2CHO CH3CHO """
|
||||
|
||||
Sequences
|
||||
---------
|
||||
|
||||
A sequence of multiple items is specified by separating the items by commas and
|
||||
enclosing them in square brackets or parentheses. The individual items can have
|
||||
any type---strings, integers, floating-point numbers (or even entries or other
|
||||
lists). Square brackets are often preferred, since parentheses are also used for
|
||||
other purposes in the input file, but either can be used::
|
||||
|
||||
s0 = (3.5, 'J/mol/K') # these are
|
||||
s0 = [3.5, 'J/mol/K'] # equivalent
|
||||
|
||||
Variables
|
||||
---------
|
||||
|
||||
Another way to specify the species C(gr) is shown here::
|
||||
|
||||
graphite_thermo = const_cp(t0=298.15,
|
||||
h0=0.0,
|
||||
s0=(5.6, 'J/mol/K'), # NIST
|
||||
cp0=(8.43, 'J/mol/K')) # Taylor and Groot (1980)
|
||||
|
||||
species(name='C(gr)', atoms='C:1', thermo=graphite_thermo)
|
||||
|
||||
In this form, the ``const_cp`` entry is stored in a variable, instead of being
|
||||
directly embedded within the species entry. The *thermo* field is assigned this
|
||||
variable.
|
||||
|
||||
Variables can also be used for any other parameter type. For example, if you are
|
||||
defining several phases in the file, and you want to set them all to the same
|
||||
initial pressure, you could define a pressure variable::
|
||||
|
||||
P_initial = (2.0, 'atm')
|
||||
|
||||
and then set the pressure field in each embedded state entry to this variable.
|
||||
|
||||
Omitting Field Names
|
||||
--------------------
|
||||
|
||||
Field names may be omitted if the values are entered in the order specified in
|
||||
the entry declaration. (Entry declarations are the text printed on a colored
|
||||
background in the following chapters.) It is also possible to omit only some of
|
||||
the field names, as long as these fields are listed first, in order, before any
|
||||
named fields.
|
||||
|
||||
For example, The first four entries below are equivalent, while the last two are
|
||||
incorrect and would generate an error when processed::
|
||||
|
||||
element(symbol="Ar", atomic_mass=39.948) # OK
|
||||
element(atomic_mass=39.948, symbol='Ar') # OK
|
||||
element('Ar', atomic_mass=39.948) # OK
|
||||
element("Ar", 39.948) # OK
|
||||
|
||||
element(39.948, "Ar") # error
|
||||
element(symbol="Ar", 39.948) # error
|
||||
|
||||
.. _sec-dimensions:
|
||||
|
||||
Dimensional Values
|
||||
==================
|
||||
|
||||
Many fields have numerical values that represent dimensional quantities---a
|
||||
pressure, or a density, for example. If these are entered without specifying the
|
||||
units, the default units (set by the :class:`units` directive described in
|
||||
:ref:`sec-default-units`) will be used. However, it is also possible to specify
|
||||
the units for each individual dimensional quantity (unless stated
|
||||
otherwise). All that is required is to group the value in parentheses or square
|
||||
brackets with a string specifying the units::
|
||||
|
||||
pressure = 1.0e5 # default is Pascals
|
||||
pressure = (1.0, 'bar') # this is equivalent
|
||||
density = (4.0, 'g/cm3')
|
||||
density = 4000.0 # kg/m3
|
||||
|
||||
Compound unit strings may be used, as long as a few rules are followed:
|
||||
|
||||
1. Units in the denominator follow ``/``.
|
||||
2. Units in the numerator follow ``-``, except for the first one.
|
||||
3. Numerical exponents follow the unit string without a ``^`` character, and must
|
||||
be in the range 2--6. Negative values are not allowed.
|
||||
|
||||
Examples of compound units::
|
||||
|
||||
A = (1.0e20, 'cm6/mol2/s') # OK
|
||||
h = (6.626e-34, 'J-s') # OK
|
||||
density = (3.0, 'g/cm3') # OK
|
||||
A = (1.0e20, 'cm^6/mol/s') # error (^)
|
||||
A = (1.0e20, 'cm6/mol2-s') # error ('s' should be in denominator)
|
||||
density = (3.0, 'g-cm-3') # error (negative exponent)
|
||||
|
||||
.. _sec-default-units:
|
||||
|
||||
Setting the Default Units
|
||||
-------------------------
|
||||
|
||||
The default unit system may be set with the :func:`units` directive. Note
|
||||
that unit conversions are not done until the entire file has been read. Only one
|
||||
units directive should be present in a file, and the defaults it specifies apply
|
||||
to the entire file. If the file does not contain a units directive, the default
|
||||
units are meters, kilograms, kilomoles, and seconds.
|
||||
|
||||
Shown below are two equivalent ways of specifying the site density for an
|
||||
interface. In the first version, the site density is specified without a units
|
||||
string, and so its units are constructed from the default units for quantity and
|
||||
length, which are set with a units directive::
|
||||
|
||||
units(length = 'cm', quantity = 'molec')
|
||||
interface(name = 'Si-100',
|
||||
site_density = 1.0e15, # molecules/cm2 (default units)
|
||||
...)
|
||||
|
||||
The second version uses a different default unit system, but overrides the
|
||||
default units by specifying an explicit units string for the site density::
|
||||
|
||||
units(length = 'cm', quantity = 'mol')
|
||||
interface(name = 'Si-100',
|
||||
site_density = (1.0e15, 'molec/cm2') # override default units
|
||||
...)
|
||||
|
||||
The second version is equivalent to the first, but would be very different if
|
||||
the units of the site density were not specified!
|
||||
|
||||
The *length*, *quantity* and *time* units are used to construct the units for
|
||||
reaction pre-exponential factors. The *energy* units are used for molar
|
||||
thermodynamic properties, in combination with the units for *quantity*.
|
||||
|
||||
Since activation energies are often specified in units other than those used for
|
||||
thermodynamic properties, a separate field is devoted to the default units for
|
||||
activation energies::
|
||||
|
||||
units(length = 'cm', quantity = 'mol', act_energy = 'kcal/mol')
|
||||
kf = Arrhenius(A = 1.0e14, b = 0.0, E = 54.0) # E is 54 kcal/mol
|
||||
|
||||
See :func:`units` for the declaration of the units directive.
|
||||
|
||||
Recognized Units
|
||||
----------------
|
||||
|
||||
Cantera recognizes the following units in various contexts:
|
||||
|
||||
=========== ==============
|
||||
field allowed values
|
||||
=========== ==============
|
||||
length ``'cm', 'm', 'mm'``
|
||||
quantity ``'mol', 'kmol', 'molec'``
|
||||
time ``'s', 'min', 'hr', 'ms'``
|
||||
energy ``'J', 'kJ', 'cal', 'kcal'``
|
||||
act_energy ``'kJ/mol', 'J/mol', 'J/kmol', 'kcal/mol', 'cal/mol', 'eV', 'K'``
|
||||
pressure ``'Pa', 'atm', 'bar'``
|
||||
=========== ==============
|
||||
|
||||
Processing Input Files
|
||||
======================
|
||||
|
||||
A Two-step Process
|
||||
------------------
|
||||
|
||||
From the point of view of the user, it appears that a Cantera application that
|
||||
imports a phase definition reads the input file, and uses the information there
|
||||
to construct the object representing the phase or interface in the
|
||||
application. While this is the net effect, it is actually a two-step
|
||||
process. When a function like importPhase is called to import a phase definition
|
||||
from a file, a preprocessor runs automatically to read the input file and create
|
||||
a data file that contains the same information but in an XML-based format called
|
||||
CTML. After the preprocessor finishes, Cantera imports the phase definition from
|
||||
the CTML data file.
|
||||
|
||||
The CTML file is saved in the same directory as the input file, and has the same
|
||||
name but with the extension changed to ``.xml``. If the input file has the name
|
||||
``propane.cti``, for example, then the CTML file will be placed in the same
|
||||
directory with name ``propane.xml``. If you like, once the CTML file has been
|
||||
created, you can specify it rather than the ``.cti`` input file in calls to
|
||||
importPhase (or similar functions). This is slightly faster, since the
|
||||
preprocessing step can be skipped. It also allows Cantera simulations to be run
|
||||
on systems that do not have Python, which Cantera uses in the preprocessing step
|
||||
but does not require to read CTML files.
|
||||
|
||||
Two File Formats
|
||||
----------------
|
||||
|
||||
Why two file formats? There are several reasons. XML is a widely-used standard
|
||||
for data files, and it is designed to be relatively easy to parse. This makes it
|
||||
possible for other applications to use Cantera CTML data files, without
|
||||
requiring the substantial chemical knowledge that would be required to use .cti
|
||||
files. For example, "web services" (small applications that run remotely over a
|
||||
network) are often designed to accept XML input data over the network, perform a
|
||||
calculation, and send the output in XML back across the network. Supporting an
|
||||
XML-based data file format facilitates using Cantera in web services or other
|
||||
network computing applications.
|
||||
|
||||
The difference between the high-level description in a .cti input file and the
|
||||
lower-level description in the CTML file may be illustrated by how reactions are
|
||||
handled. In the input file, the reaction stoichiometry and its reversibility or
|
||||
irreversibility are determined from the reaction equation. For example::
|
||||
|
||||
O + HCCO <=> H + 2 CO
|
||||
|
||||
specifies a reversible reaction between an oxygen atom and the ketenyl radical
|
||||
HCCO to produce one hydrogen atom and two carbon monoxide molecules. If ``<=>``
|
||||
were replaced with ``=>``, then it would specify that the reaction should be
|
||||
treated as irreversible.
|
||||
|
||||
Of course, this convention is not spelled out in the input file---the parser
|
||||
simply has to know it, and has to also know that a "reactant" appears on the
|
||||
left side of the equation, a "product" on the right, that the optional number in
|
||||
front of a species name is its stoichiometric coefficient (but if missing the
|
||||
value is one), etc. The preprocessor does know all this, but we cannot expect
|
||||
the same level of knowledge of chemical conventions by a generic XML parser.
|
||||
|
||||
Therefore, in the CTML file, reactions are explicitly specified to be reversible
|
||||
or irreversible, and the reactants and products are explicitly listed with their
|
||||
stoichiometric coefficients. The XML file is, in a sense, a "dumbed-down"
|
||||
version of the input file, spelling out explicitly things that are only implied
|
||||
in the input file syntax, so that "dumb" (i.e., easy to write) parsers can be
|
||||
used to read the data with minimal risk of misinterpretation.
|
||||
|
||||
The reaction definition::
|
||||
|
||||
reaction( "O + HCCO <=> H + 2 CO", [1.00000E+14, 0, 0])
|
||||
|
||||
in the input file is translated by the preprocessor to the following CTML text:
|
||||
|
||||
.. code-block:: xml
|
||||
|
||||
<reaction id="0028" reversible="yes">
|
||||
<equation>O + HCCO [=] H + 2 CO</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A units="cm3/mol/s"> 1.000000E+14</A>
|
||||
<b>0</b>
|
||||
<E units="cal/mol">0.000000</E>
|
||||
</Arrhenius>
|
||||
</rateCoeff>
|
||||
<reactants>HCCO:1 O:1</reactants>
|
||||
<products>H:1 CO:2</products>
|
||||
</reaction>
|
||||
|
||||
The CTML version is much more verbose, and would be much more tedious to write
|
||||
by hand, but is much easier to parse, particularly since it is not necessary to
|
||||
write a custom parser---virtually any standard XML parser, of which there are
|
||||
many, can be used to read the CTML data.
|
||||
|
||||
So in general files that are easy for knowledgable users (you) to write are more
|
||||
difficult for machines to parse, because they make use of high-level
|
||||
application-specific knowledge and conventions to simplify the
|
||||
notation. Conversely, files that are designed to be easily parsed are tedious to
|
||||
write because so much has to be spelled out explicitly. A natural solution is to
|
||||
use two formats, one designed for writing by humans, the other for reading by
|
||||
machines, and provide a preprocessor to convert the human-friendly format to the
|
||||
machine-friendly one.
|
||||
|
||||
Preprocessor Internals: the ``ctml_writer`` Module
|
||||
-------------------------------------------------
|
||||
|
||||
If you are interested in seeing the internals of how the preprocessing works,
|
||||
take a look at file ``ctml_writer.py`` in the Cantera Python package. Or simply
|
||||
start Python, and type::
|
||||
|
||||
>>> import ctml_writer
|
||||
>>> help(ctml_writer)
|
||||
|
||||
The ``ctml_writer.py`` module can also be run as a script to convert input .cti
|
||||
files to CTML. For example, if you have an input file ``phasedefs.cti``, then
|
||||
simply type at the command line::
|
||||
|
||||
python ctml_writer.py phasedefs.cti
|
||||
|
||||
to create CTML file ``phasedefs.xml``.
|
||||
|
||||
Of course, most of the time creation of the CTML file will happen behind the
|
||||
scenes, and you will not need to be concerned with CTML files at all.
|
||||
|
||||
Error Handling
|
||||
==============
|
||||
|
||||
During processing of an input file, errors may be encountered. These could be
|
||||
syntax errors, or could be ones that are flagged as errors by Cantera due to
|
||||
some apparent inconsistency in the data---an unphysical value, a species that
|
||||
contains an undeclared element, a reaction that contains an undeclared species,
|
||||
missing species or element definitions, multiple definitions of elements,
|
||||
species, or reactions, and so on.
|
||||
|
||||
Syntax Errors
|
||||
-------------
|
||||
|
||||
Syntax errors are caught by the Python preprocessor, not by Cantera, and must be
|
||||
corrected before proceeding further. Python prints a "traceback" that allows
|
||||
you to find the line that contains the error. For example, consider the
|
||||
following input file, which is intended to create a gas with the species and
|
||||
reactions of GRI-Mech 3.0, but has a misspelled the field name ``reactions``::
|
||||
|
||||
ideal_gas(name = 'gas',
|
||||
elements = 'H O',
|
||||
species = 'gri30: all',
|
||||
reactionss = 'gri30: all')
|
||||
|
||||
When this definition is imported into an application, an error message like the
|
||||
following would be printed to the screen, and execution of the program or script
|
||||
would terminate. ::
|
||||
|
||||
Traceback (most recent call last):
|
||||
File "<stdin>", line 1, in <module>
|
||||
File "/some/path/Cantera/importFromFile.py", line 18, in importPhase
|
||||
return importPhases(file, [name], loglevel, debug)[0]
|
||||
File "/some/path/Cantera/importFromFile.py", line 25, in importPhases
|
||||
s.append(solution.Solution(src=file,id=nm,loglevel=loglevel,debug=debug))
|
||||
File "/some/path/solution.py", line 39, in __init__
|
||||
preprocess = 1, debug = debug)
|
||||
File "/some/path/Cantera/XML.py", line 35, in __init__
|
||||
self._xml_id = _cantera.xml_get_XML_File(src, debug)
|
||||
cantera.error:
|
||||
|
||||
************************************************
|
||||
Cantera Error!
|
||||
************************************************
|
||||
|
||||
Procedure: ct2ctml
|
||||
Error: Error converting input file "./gas.cti" to CTML.
|
||||
Python command was: '/usr/bin/python'
|
||||
The exit code was: 4
|
||||
-------------- start of converter log --------------
|
||||
TypeError on line 4 of './gas.cti':
|
||||
__init__() got an unexpected keyword argument 'reactionss'
|
||||
|
||||
| Line |
|
||||
| 1 | ideal_gas(name = 'gas',
|
||||
| 2 | elements = 'H O',
|
||||
| 3 | species = 'gri30: all',
|
||||
> 4 > reactionss = 'gri30: all')
|
||||
| 5 |
|
||||
--------------- end of converter log ---------------
|
||||
|
||||
The top part of the error message shows the chain of functions that were called
|
||||
before the error was encountered. For the most part, these are internal Cantera
|
||||
functions not of direct concern here. The relevant part of this error message is
|
||||
the part starting with the "Cantera Error" heading, and specifically the
|
||||
contents of the *converter log* section. This message says that that on line 4
|
||||
of ``gas.cti``, the the keyword argument ``reactionss`` was not
|
||||
recognized. Seeing this message, it is clear that the problem is that
|
||||
*reactions* is misspelled.
|
||||
|
||||
Cantera Errors
|
||||
--------------
|
||||
|
||||
Now let's consider the other class of errors---ones that Cantera, not Python,
|
||||
detects. Continuing the example above, suppose that the misspelling is
|
||||
corrected, and the input file processed again. Again an error message results,
|
||||
but this time it is from Cantera::
|
||||
|
||||
cantera.error:
|
||||
Procedure: installSpecies
|
||||
Error: species C contains undeclared element C
|
||||
|
||||
The problem is that the phase definition specifies that all species are to be
|
||||
imported from dataset gri30, but only the elements H and O are declared. The
|
||||
gri30 datset contains species composed of the elements H, O, C, N, and Ar. If
|
||||
the definition is modified to declare these additional elements::
|
||||
|
||||
ideal_gas(name = 'gas',
|
||||
elements = 'H O C N Ar',
|
||||
species = 'gri30: all',
|
||||
reactions = 'gri30: all')
|
||||
|
||||
it may be imported successfully.
|
||||
|
||||
Errors of this type do not have to be fatal, as long as you tell Cantera how you
|
||||
want to handle them. You can, for example, instruct Cantera to quitely skip
|
||||
importing any species that contain undeclared elements, instead of flagging them
|
||||
as errors. You can also specify that reactions containing undeclared species
|
||||
(also usually an error) should be skipped. This allows you to very easily
|
||||
extract a portion of a large reaction mechanism, as described in :ref:`sec-phase-options`.
|
||||
40
doc/sphinx/cti/intro.rst
Normal file
40
doc/sphinx/cti/intro.rst
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
************
|
||||
Introduction
|
||||
************
|
||||
|
||||
Virtually every Cantera simulation involves one or more phases of
|
||||
matter. Depending on the calculation being performed, it may be necessary to
|
||||
evaluate thermodynamic properties, transport properties, and/or homogeneous
|
||||
reaction rates for the phase(s) present. In problems with multiple phases, the
|
||||
properties of the interfaces between phases, and the heterogeneous reaction
|
||||
rates at these interfaces, may also be required.
|
||||
|
||||
Before the properties can be evaluated, each phase must be defined, meaning that
|
||||
the models to use to compute its properties and reaction rates must be
|
||||
specified, along with any parameters the models require. For example, a solid
|
||||
phase might be defined as being incompressible, with a specified density and
|
||||
composition. A gaseous phase for a combustion simulation might be defined as an
|
||||
ideal gas consisting of a mixture of many species that react with one another
|
||||
via a specified set of reactions.
|
||||
|
||||
For phases containing multiple species and reactions, a large amount of data is
|
||||
required to define the phase, since the contribution of each species to the
|
||||
thermodynamic and transport properties must be specified, and rate information
|
||||
must be given for each reaction. While this could be done directly in an
|
||||
application program, a better approach is put the phase and interface
|
||||
definitions in a text file that can be read by the application, so that a given
|
||||
phase model can be re-used for other simulations.
|
||||
|
||||
This guide describes how to write such files to define phases and interfaces for
|
||||
use in Cantera simulations. Section :ref:`sec-input-files` contains a summary of
|
||||
some basic rules for writing input files, a discussion of how they are
|
||||
processed, and of how errors are handled. In Section :ref:`sec-phases`, we will
|
||||
go over how to define phases and interfaces, including how to import species and
|
||||
reactions from external files. Then in :ref:`sec-species` and
|
||||
:ref:`sec-reactions`, we'll look in depth at how to specify the component parts
|
||||
of phase and interface models---the elements, species, and reactions.
|
||||
|
||||
.. In Section ##REF##, we'll put it all together, and present some complete,
|
||||
realistic example problems, showing the input file containing the definitions
|
||||
of all phases and interfaces, the application code to use the input file to
|
||||
solve a problem, and the resulting output.
|
||||
502
doc/sphinx/cti/phases.rst
Normal file
502
doc/sphinx/cti/phases.rst
Normal file
|
|
@ -0,0 +1,502 @@
|
|||
.. py:currentmodule:: ctml_writer
|
||||
|
||||
.. _sec-phases:
|
||||
|
||||
***************************
|
||||
Phases and their Interfaces
|
||||
***************************
|
||||
|
||||
Now that we have covered how to write syntactically-correct input files, we can
|
||||
turn our attention to the content of the file. We'll start by describing the
|
||||
entries for phases of various types, and the look at how to define interfaces
|
||||
between phases.
|
||||
|
||||
Phases
|
||||
======
|
||||
|
||||
For each phase that appears in a problem, a corresponding entry should be
|
||||
present in the input file(s). For example, suppose we want to conduct a
|
||||
simulation with detailed chemistry of an idealized solid-oxide fuel cell shown
|
||||
below. The problem involves three solid phases (A nickel anode, a
|
||||
platinum cathode, and an oxygen-conducting yttrium-stabilized zirconia
|
||||
electrolyte), and two different gas phases (a fuel mixture on the anode side,
|
||||
and air on the cathode side). The problem also involves a number of interfaces
|
||||
at which heterogeneous chemistry may occur---two gas-metal interfaces, two
|
||||
gas-electrolyte interfaces, and two metal-electrolyte interfaces.
|
||||
|
||||
.. figure:: /_static/images/sofc-phases.png
|
||||
:align: center
|
||||
|
||||
**Phases entering into a hypothetical microkinetic simulation of an
|
||||
idealized solid-oxide fuel cell.**
|
||||
|
||||
How to carry out this fuel cell simulation is beyond the scope of this document;
|
||||
we introduce it here only to give an example of the types of phases and
|
||||
interfaces that might need to be defined in order to carry out a simulation. (Of
|
||||
course, many simulations with Cantera only require defining a single phase.)
|
||||
|
||||
There are several different types of entries, corresponding to different types
|
||||
of phases. Phases are created using one of the directives corresponding to an
|
||||
implemented phase type:
|
||||
|
||||
* :class:`ideal_gas`
|
||||
* :class:`stoichiometric_solid`
|
||||
* :class:`stoichiometric_liquid`
|
||||
* :class:`metal`
|
||||
* :class:`semiconductor`
|
||||
* :class:`incompressible_solid`
|
||||
* :class:`lattice`
|
||||
* :class:`lattice_solid`
|
||||
* :class:`liquid_vapor`
|
||||
* :class:`redlich_kwong`
|
||||
* :class:`ideal_interface`
|
||||
* :class:`edge`
|
||||
|
||||
These phase typese share many common features, however, and so we will begin by
|
||||
discussing those aspects common to all entries for phases. The :class:`phase`
|
||||
class contains the features common to all phase types.
|
||||
|
||||
Phase Attributes
|
||||
----------------
|
||||
|
||||
Phase Name
|
||||
^^^^^^^^^^
|
||||
|
||||
The ``name`` field is a string that identifies the phase. It must not contain
|
||||
any whitespace characters or reserved XML characters, and must be unique within
|
||||
the file among all phase definitions of any type.
|
||||
|
||||
Phases are referenced by name when importing them into an application program,
|
||||
or when defining an interface between phases.
|
||||
|
||||
Declaring the Elements
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The elements that may be present in the phase are declared in the elements
|
||||
field. This must be a string of element symbols separated by spaces and/or
|
||||
commas. Each symbol must either match one listed in the database file
|
||||
``elements.xml``, or else match the symbol of an element entry defined elsewhere
|
||||
in the input file (See :ref:`sec-elements`).
|
||||
|
||||
The ``elements.xml`` database contains most elements of the periodic table, with
|
||||
their natural-abundance atomic masses. It also contains a few isotopes (D, Tr),
|
||||
and an "element" for an electron (E). This pseudo-element can be used to specify
|
||||
the composition of charged species. Note that two-character symbols should have
|
||||
an uppercase first letter, and a lowercase second letter (e.g. ``Cu``, not ``CU``).
|
||||
|
||||
It should be noted that the order of the element symbols in the string
|
||||
determines the order in which they are stored internally by Cantera. For
|
||||
example, if a phase definition specifies the elements as::
|
||||
|
||||
ideal_gas(name = "gasmix",
|
||||
elements = "H C O N Ar",
|
||||
...)
|
||||
|
||||
then when this definition is imported by an application, element-specific
|
||||
properties will be ordered in the same way::
|
||||
|
||||
>>> gas = importPhase('example.cti', 'gasmix')
|
||||
>>> for n in range(gas.nElements()):
|
||||
... print n, gas.elementSymbol(n)
|
||||
0 H
|
||||
1 C
|
||||
2 O
|
||||
3 N
|
||||
4 Ar
|
||||
|
||||
For some calculations, such as multi-phase chemical equilibrium, it is important
|
||||
to synchronize the elements among multiple phases, so that each phase contains
|
||||
the same elements with the same ordering. In such cases, simply use the same
|
||||
string in the elements field for all phases.
|
||||
|
||||
.. _sec-defining-species:
|
||||
|
||||
Defining the Species
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The species in the phase are declared in the species field. They are not defined
|
||||
there, only declared. Species definitions may be imported from other files, or
|
||||
species may be defined locally using species entries elsewhere in the file.
|
||||
|
||||
If a single string of species symbols is given, then it is assumed that these
|
||||
are locally defined. For each one, a corresponding species entry must be present
|
||||
somewhere in the file, either preceding or following the phase entry. Note that
|
||||
the string may extend over multiple lines by delimiting it with triple quotes::
|
||||
|
||||
# commas are optional
|
||||
species = 'AR SI Si2 SiH SiH2 SiH3 SiH4'
|
||||
species = 'H, O, OH, H2O, HO2, H2O2, H2, O2'
|
||||
|
||||
# include all species defined in this file
|
||||
species = 'all'
|
||||
|
||||
# a multi-line species declaration
|
||||
species = """ H2 H O O2 OH H2O HO2 H2O2 C CH
|
||||
CH2 CH2(S) CH3 CH4 CO CO2 HCO CH2O CH2OH CH3O
|
||||
CH3OH C2H C2H2 C2H3 C2H4 C2H5 C2H6 HCCO CH2CO HCCOH
|
||||
N NH NH2 NH3 NNH NO NO2 N2O HNO CN
|
||||
HCN H2CN HCNN HCNO HOCN HNCO NCO N2 AR C3H7
|
||||
C3H8 CH2CHO CH3CHO """
|
||||
|
||||
If the species are imported from another file, instead of being defined locally,
|
||||
then the string should begin with the file name (without extension), followed by
|
||||
a colon::
|
||||
|
||||
# import selected species from silicon.xml
|
||||
species = "silicon: SI SI2 SIH SIH2 SIH3 SIH4 SI2H6"
|
||||
|
||||
# import all species from silicon.xml
|
||||
species = "silicon: all"
|
||||
|
||||
In this case, the species definitions will be taken from file ``silicon.xml``,
|
||||
which must exist either in the local directory or somewhere on the Cantera
|
||||
search path.
|
||||
|
||||
It is also possible to import species from several sources, or mix local
|
||||
definitions with imported ones, by specifying a sequence of strings::
|
||||
|
||||
species = ["CL2 CL F F2 HF HCL", # defined in this file
|
||||
"air: O2 N2 NO", # imported from 'air.xml'
|
||||
"ions: CL- F-"] # imported from 'ions.xml'
|
||||
|
||||
Note that the strings must be separated by commas, and enclosed in square
|
||||
brackets or parentheses.
|
||||
|
||||
.. _sec-declaring-reactions:
|
||||
|
||||
Declaring the Reactions
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The reactions among the species are declared in the ``reactions`` field. Just as
|
||||
with species, reactions may be defined locally in the file, or may be imported
|
||||
from one or more other files. All reactions must only involve species that have
|
||||
been declared for the phase.
|
||||
|
||||
Unlike species, reactions do not have a name, but do have an optional ``ID``
|
||||
field. If the ``ID`` field is not assigned a value, then when the reaction entry
|
||||
is read it will be assigned a four-digit string encoding the reaction number,
|
||||
beginning with ``'0001'`` for the first reaction in the file, and incrementing
|
||||
by one for each new reaction.
|
||||
|
||||
If all reactions defined locally in the input file are to be included in the
|
||||
phase definition, then assign the ``reactions`` field the string ``'all'``::
|
||||
|
||||
reactions = 'all'
|
||||
|
||||
If, on the other hand, only some of the reactions defined in the file are to be
|
||||
included, then a range can be specified using the reaction ``ID`` fields::
|
||||
|
||||
reactions = 'nox-12 to nox-24'
|
||||
|
||||
In determining which reactions to include, a lexical comparison of id strings is
|
||||
performed. This means, for example, that ``'nox-8'`` is greater than
|
||||
``'nox-24'``. (If it is rewritten ``'nox-08'``, however, then it would be lexically
|
||||
less than ``'nox-24'``.)
|
||||
|
||||
Just as described above for species, reactions can be imported from another
|
||||
file, and reactions may be imported from several sources. Examples::
|
||||
|
||||
# import all reactions defined in this file
|
||||
reactions = "all"
|
||||
|
||||
# import all reactions defined in rxns.xml
|
||||
reactions = "rxns: all"
|
||||
|
||||
# import reactions 1-14 in rxns.xml
|
||||
reactions = "rxns: 0001 to 0014"
|
||||
|
||||
# import reactions from several sources
|
||||
reactions = ["all", # all local reactions
|
||||
"gas: all", # all reactions in gas.xml
|
||||
"nox: n005 to n008"] # reactions 5 to 8 in nox.xml
|
||||
|
||||
The Kinetics Model
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
A *kinetics model* is a set of equations to use to compute reaction rates. In
|
||||
most cases, each type of phase has an associated kinetics model that is used by
|
||||
default, and so the ``kinetics`` field does not need to be assigned a value. For
|
||||
example, the :class:`ideal_gas` entry has an associated kinetics model called
|
||||
``GasKinetics`` that implements mass-action kinetics, computes reverse rates
|
||||
from thermochemistry for reversible reactions, and provides various
|
||||
pressure-independent and pressure-dependent reaction types. Other models could
|
||||
be implemented, and this field would then be used to select the desired
|
||||
model. For now, the ``kinetics`` field can be safely ignored.
|
||||
|
||||
The Transport Model
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
A *transport model* is a set of equations used to compute transport
|
||||
properties. For :class:`ideal_gas` phases, multiple transport models are
|
||||
available; the one desired can be selected by assiging a string to this
|
||||
field. See :ref:`sec-gas-transport-models` for more details.
|
||||
|
||||
The Initial State
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
The phase may be assigned an initial state to which it will be set when the
|
||||
definition is imported into an application and an object created. This is done
|
||||
by assigning field ``initial_state`` an embedded entry of type :class:`state`,
|
||||
described in :ref:`sec-state-entry`.
|
||||
|
||||
Most of the attributes defined here are "immutable," meaning that once the
|
||||
definition has been imported into an application, they cannot be changed by the
|
||||
application. For example, it is not possible to change the elements or the
|
||||
species. The temperature, pressure, and composition, however, are "mutable"---
|
||||
they can be changed. This is why the field defining the state is called the
|
||||
``initial_state``; the object in the application will be initially set to this
|
||||
state, but it may be changed at any time.
|
||||
|
||||
.. _sec-phase-options:
|
||||
|
||||
Special Processing Options
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The options field is used to indicate how certain conditions should be handled
|
||||
when importing the phase definition. The options field may be assigned a string
|
||||
or a sequence of strings from the table below.
|
||||
|
||||
================================== ================
|
||||
Option String Meaning
|
||||
================================== ================
|
||||
``'no_validation'`` Turn off all validation. Use when the definition
|
||||
has been previously validated to speed up importing
|
||||
the definition into an application. Use with caution!
|
||||
``'skip_undeclared_elements'`` When importing species, skip any containing undeclared
|
||||
elements, rather than flagging them as an error.
|
||||
``'skip_undeclared_species'`` When importing reactions, skip any containing undeclared
|
||||
species, rather than flagging them as an error.
|
||||
``'skip_undeclared_third_bodies'`` When importing reactions with third body efficiencies,
|
||||
ignore any efficiencies for undeclared species, rather
|
||||
than flagging them as an error.
|
||||
``'allow_discontinuous_thermo'`` Disable the automatic adjustment of NASA polynomials to
|
||||
eliminate discontinuities in enthalpy and entropy at the
|
||||
midpoint temperature.
|
||||
================================== ================
|
||||
|
||||
Using the ``options`` field, it is possible to extract a sub-mechanism from a large
|
||||
reaction mechanism, as follows::
|
||||
|
||||
ideal_gas(name = 'hydrogen_mech',
|
||||
elements = 'H O',
|
||||
species = 'gri30:all',
|
||||
reactions = 'gri30:all',
|
||||
options = ('skip_undeclared_elements',
|
||||
'skip_undeclared_species',
|
||||
'skip_undeclared_third_bodies'))
|
||||
|
||||
If we import this into Matlab, for example, we get a gas mixture containing the
|
||||
8 species (out of 53 total) that contain only H and O:
|
||||
|
||||
.. code-block:: matlab
|
||||
|
||||
>> gas = importPhase('gas.cti', 'hydrogen_mech')
|
||||
|
||||
hydrogen_mech:
|
||||
|
||||
temperature 0.001 K
|
||||
pressure 0.00412448 Pa
|
||||
density 0.001 kg/m^3
|
||||
mean mol. weight 2.01588 amu
|
||||
|
||||
1 kg 1 kmol
|
||||
----------- ------------
|
||||
enthalpy -3.786e+006 -7.632e+006 J
|
||||
internal energy -3.786e+006 -7.632e+006 J
|
||||
entropy 6210.88 1.252e+004 J/K
|
||||
Gibbs function -3.786e+006 -7.632e+006 J
|
||||
heat capacity c_p 9669.19 1.949e+004 J/K
|
||||
heat capacity c_v 5544.7 1.118e+004 J/K
|
||||
|
||||
X Y Chem. Pot. / RT
|
||||
------------- ------------ ------------
|
||||
H2 1 1 -917934
|
||||
H 0 0
|
||||
O 0 0
|
||||
O2 0 0
|
||||
OH 0 0
|
||||
H2O 0 0
|
||||
HO2 0 0
|
||||
H2O2 0 0
|
||||
|
||||
>> eqs = reactionEqn(gas)
|
||||
|
||||
eqs =
|
||||
|
||||
'2 O + M <=> O2 + M'
|
||||
'O + H + M <=> OH + M'
|
||||
'O + H2 <=> H + OH'
|
||||
'O + HO2 <=> OH + O2'
|
||||
'O + H2O2 <=> OH + HO2'
|
||||
'H + O2 + M <=> HO2 + M'
|
||||
'H + 2 O2 <=> HO2 + O2'
|
||||
'H + O2 + H2O <=> HO2 + H2O'
|
||||
'H + O2 <=> O + OH'
|
||||
'2 H + M <=> H2 + M'
|
||||
'2 H + H2 <=> 2 H2'
|
||||
'2 H + H2O <=> H2 + H2O'
|
||||
'H + OH + M <=> H2O + M'
|
||||
'H + HO2 <=> O + H2O'
|
||||
'H + HO2 <=> O2 + H2'
|
||||
'H + HO2 <=> 2 OH'
|
||||
'H + H2O2 <=> HO2 + H2'
|
||||
'H + H2O2 <=> OH + H2O'
|
||||
'OH + H2 <=> H + H2O'
|
||||
'2 OH (+ M) <=> H2O2 (+ M)'
|
||||
'2 OH <=> O + H2O'
|
||||
'OH + HO2 <=> O2 + H2O'
|
||||
'OH + H2O2 <=> HO2 + H2O'
|
||||
'OH + H2O2 <=> HO2 + H2O'
|
||||
'2 HO2 <=> O2 + H2O2'
|
||||
'2 HO2 <=> O2 + H2O2'
|
||||
'OH + HO2 <=> O2 + H2O'
|
||||
|
||||
Ideal Gas Mixtures
|
||||
------------------
|
||||
|
||||
Now we turn to the specific entry types for phases, beginning with
|
||||
:class:`ideal_gas`.
|
||||
|
||||
Many combustion and CVD simulations make use of reacting ideal gas
|
||||
mixtures. These can be defined using the :class:`ideal_gas` entry. The Cantera
|
||||
ideal gas model allows any number of species, and any number of reactions among
|
||||
them. It supports all of the options in the widely-used model described by Kee
|
||||
et al. [#Kee1989]_, plus some additional options for species thermodynamic
|
||||
properties and reaction rate expressions.
|
||||
|
||||
An example of an ``ideal_gas`` entry is shown below::
|
||||
|
||||
ideal_gas(name='air8',
|
||||
elements='N O Ar',
|
||||
species='gri30: N2 O2 N O NO NO2 N2O AR',
|
||||
reactions='all',
|
||||
transport='Mix',
|
||||
initial_state=state(temperature=500.0,
|
||||
pressure=(1.0, 'atm'),
|
||||
mole_fractions='N2:0.78, O2:0.21, AR:0.01'))
|
||||
|
||||
This entry defines an ideal gas mixture that contains 8 species, the definitions
|
||||
of which are imported from dataset gri30 (file ``gri30.xml``). All reactions
|
||||
defined in the file are to be included, transport properties are to be computed
|
||||
using mixture rules, and the state of the gas is to be set initially to 500 K, 1
|
||||
atm, and a composition that corresponds to air.
|
||||
|
||||
.. _sec-gas-transport-models:
|
||||
|
||||
Transport Models
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
Two transport models are available for use with ideal gas mixtures. The first is
|
||||
a multicomponent transport model that is based on the model described by
|
||||
Dixon-Lewis [#dl68]_ (see also Kee et al. [#Kee2003]_). The second is a model that uses
|
||||
mixture rules. To select the multicomponent model, set the transport field to
|
||||
the string ``'Multi'``, and to select the mixture-averaged model, set it to the
|
||||
string ``'Mix'``::
|
||||
|
||||
ideal_gas(name="gas1",
|
||||
...,
|
||||
transport="Multi", # use multicomponent formulation
|
||||
...)
|
||||
|
||||
ideal_gas(name="gas2",
|
||||
...,
|
||||
transport="Mix", # use mixture-averaged formulation
|
||||
...)
|
||||
|
||||
Stoichiometric Solid
|
||||
--------------------
|
||||
|
||||
A :class:`stoichiometric_solid` is one that is modeled as having a precise,
|
||||
fixed composition, given by the composition of the one species present. A
|
||||
stoichiometric solid can be used to define a condensed phase that can
|
||||
participate in heterogeneous reactions. (Of course, there cannot be homogeneous
|
||||
reactions, since the composition is fixed.) ::
|
||||
|
||||
stoichiometric_solid(name='graphite',
|
||||
elements='C',
|
||||
species='C(gr)',
|
||||
density=(2.2, 'g/cm3'),
|
||||
initial_state=state(temperature=300.0,
|
||||
pressure=(1.0, 'atm'))
|
||||
|
||||
Stoichiometric Liquid
|
||||
---------------------
|
||||
|
||||
A stoichiometric liquid differs from a stoichiometric solid in only one respect:
|
||||
the transport manager computes the viscosity as well as the thermal
|
||||
conductivity.
|
||||
|
||||
Interfaces
|
||||
==========
|
||||
|
||||
Now that we have seen how to define bulk, three-dimensional phases, we can
|
||||
describe the procedure to define an interface between phases.
|
||||
|
||||
Cantera presently implements a simple model for an interface that treats is as a
|
||||
two-dimensional ideal solution of interfacial species. There is a fixed site
|
||||
density :math:`n^0`, and each site may be occupied by one of several adsorbates,
|
||||
or may be empty. The chemical potential of each species is computed using the
|
||||
expression for an ideal solution:
|
||||
|
||||
.. math::
|
||||
|
||||
\mu_k = \mu^0_k + \hat{R}T \log \theta_k,
|
||||
|
||||
where :math:`\theta_k` is the coverage of species :math:`k` on the surface. The
|
||||
coverage is related to the surface concentration :math:`C_k` by
|
||||
|
||||
.. math::
|
||||
|
||||
\theta_k = \frac{C_k n_k}{n^0} ,
|
||||
|
||||
where :math:`n_k` is the number of sites covered or blocked by species
|
||||
:math:`k`.
|
||||
|
||||
The entry type for this interface model is
|
||||
:class:`ideal_interface`. (Additional interface models may be added to allow
|
||||
non-ideal, coverage-dependent properties.)
|
||||
|
||||
Defining an interface is much like defining a phase. There are two new fields:
|
||||
``phases`` and ``site_density``. The phases field specifies the bulk phases that
|
||||
participate in the heterogeneous reactions. Although in most cases this string
|
||||
will list one or two phases, no limit is placed on the number. This is
|
||||
particularly useful in some electrochemical problems, where reactions take place
|
||||
near the triple-phase bounday where a gas, an electrolyte, and a metal all meet.
|
||||
|
||||
The ``site_density`` field is the number of adsorption sites per unit area.
|
||||
|
||||
Another new aspect is in the embedded :class:`state` entry in the
|
||||
``initial_state`` field. When specifying the initial state of an interface, the
|
||||
:class:`state` entry has a field *coverages*, which can be assigned a string
|
||||
specifying the initial surface species coverages::
|
||||
|
||||
ideal_interface(name='silicon_surface',
|
||||
elements='Si H',
|
||||
species='s* s-SiH3 s-H',
|
||||
reactions='all',
|
||||
phases='gas bulk-Si',
|
||||
site_density=(1.0e15, 'molec/cm2'),
|
||||
initial_state=state(temperature=1200.0,
|
||||
coverages='s-H:1'))
|
||||
|
||||
.. _sec-state-entry:
|
||||
|
||||
The :class:`state` entry
|
||||
========================
|
||||
|
||||
The initial state of either a phase or an interface may be set using an embedded
|
||||
:class:`state` entry. Note that only one of (``pressure``, ``density``) may be
|
||||
specified, and only one (``mole_fractions``, ``mass_fractions``, ``coverages``).
|
||||
|
||||
.. rubric:: References
|
||||
|
||||
.. [#Kee1989] R. J. Kee, F. M. Rupley, and J. A. Miller. Chemkin-II: A Fortran
|
||||
chemical kinetics package for the analysis of gasphase chemical
|
||||
kinetics. Technical Report SAND89-8009, Sandia National Laboratories, 1989.
|
||||
|
||||
.. [#dl68] G. Dixon-Lewis. Flame structure and flame reaction kinetics,
|
||||
II: Transport phenomena in multicomponent systems. *Proc. Roy. Soc. A*,
|
||||
307:111--135, 1968.
|
||||
|
||||
.. [#Kee2003] R. J. Kee, M. E. Coltrin, and P. Glarborg. *Chemically Reacting
|
||||
Flow: Theory and Practice*. John Wiley and Sons, 2003.
|
||||
433
doc/sphinx/cti/reactions.rst
Normal file
433
doc/sphinx/cti/reactions.rst
Normal file
|
|
@ -0,0 +1,433 @@
|
|||
.. py:currentmodule:: ctml_writer
|
||||
|
||||
.. _sec-reactions:
|
||||
|
||||
*********
|
||||
Reactions
|
||||
*********
|
||||
|
||||
Cantera supports a number of different types of reactions, including several
|
||||
types of homogeneous reactions, surface reactions, and electrochemical
|
||||
reactions. For each, there is a corresponding entry type. The simplest entry
|
||||
type is :class:`reaction`, which can be used for any homogeneous reaction that
|
||||
has a rate expression that obeys the law of mass action, with a rate coefficient
|
||||
that depends only on temperature.
|
||||
|
||||
Common Attributes
|
||||
=================
|
||||
|
||||
All of the entry types that define reactions share some common features. These
|
||||
are described first, followed by descriptions of the individual reaction types
|
||||
in the following sections.
|
||||
|
||||
The Reaction Equation
|
||||
---------------------
|
||||
|
||||
The reaction equation determines the reactant and product stoichiometry. A
|
||||
relatively simple parsing strategy is currently used, which assumes that all
|
||||
coefficient and species symbols on either side of the equation are delimited by
|
||||
spaces::
|
||||
|
||||
2 CH2 <=> CH + CH3 # OK
|
||||
2 CH2<=>CH + CH3 # OK
|
||||
2CH2 <=> CH + CH3 # error
|
||||
CH2 + CH2 <=> CH + CH3 # OK
|
||||
2 CH2 <=> CH+CH3 # error
|
||||
|
||||
The incorrect versions here would generate "undeclared species" errors and would
|
||||
halt processing of the input file. In the first case, the error would be that
|
||||
the species ``2CH2`` is undeclared, and in the second case it would be species
|
||||
``CH+CH3``.
|
||||
|
||||
Whether the reaction is reversible or not is determined by the form of the
|
||||
equality sign in the reaction equation. If either ``<=>`` or ``=`` is found,
|
||||
then the reaction is regarded as reversible, and the reverse rate will be
|
||||
computed from detailed balance. If, on the other hand, ``=>`` is found, the
|
||||
reaction will be treated as irreversible.
|
||||
|
||||
The rate coefficient is specified with an embedded entry corresponding to the
|
||||
rate coefficient type. At present, the only implemented type is the modified
|
||||
Arrhenius function
|
||||
|
||||
.. math::
|
||||
|
||||
k_f(T) = A T^n \exp(-E/\hat{R}T)
|
||||
|
||||
which is defined with an :class:`Arrhenius` entry::
|
||||
|
||||
rate_coeff = Arrhenius(A=1.0e13, n=0, E=(7.3, 'kcal/mol'))
|
||||
rate_coeff = Arrhenius(1.0e13, 0, (7.3, 'kcal/mol'))
|
||||
|
||||
As a shorthand, if the ``rate_coeff`` field is assigned a sequence of three numbers, these are assumed to be :math:`(A, n, E)` in the modified Arrhenius function::
|
||||
|
||||
rate_coeff = [1.0e13, 0, (7.3, 'kcal/mol')] # equivalent to above
|
||||
|
||||
The units of the pre-exponential factor *A* can be specified explicitly if
|
||||
desired. If not specified, they will be constructed using the *quantity*, *length*,
|
||||
and *time* units specified in the units directive. Since the units of *A* depend on
|
||||
the reaction order, the units of each reactant concentration (different for bulk
|
||||
species in solution, surface species, and pure condensed-phase species), and the
|
||||
units of the rate of progress (different for homogeneous and heterogeneous
|
||||
reactions), it is usually best not to specify units for *A*, in which case they
|
||||
will be computed taking all of these factors into account.
|
||||
|
||||
Note: if :math:`n \ne 0`, then the term :math:`T^n` should have units of
|
||||
:math:`K^n`, which would change the units of *A*. This is not done, however, so
|
||||
the units associated with A are really the units for :math:`k_f` . One way to
|
||||
formally express this is to replace :math:`T^n` by the non-dimensional quantity
|
||||
:math:`[T/(1 K)]^n`.
|
||||
|
||||
The ID String
|
||||
-------------
|
||||
|
||||
An optional identifying string can be entered in the ``ID`` field, which can
|
||||
then be used in the ``reactions`` field of a :class:`phase` or interface entry
|
||||
to identify this reaction. If omitted, the reactions are assigned ID strings as
|
||||
they are read in, beginning with ``'0001'``, ``'0002'``, etc.
|
||||
|
||||
Note that the ID string is only used when selectively importing reactions. If
|
||||
all reactions in the local file or in an external one are imported into a phase
|
||||
or interface, then the reaction ``ID`` field is not used.
|
||||
|
||||
Options
|
||||
-------
|
||||
|
||||
Certain conditions are normally flagged as errors by Cantera. In some cases,
|
||||
they may not be errors, and the options field can be used to specify how they
|
||||
should be handled.
|
||||
|
||||
``skip``
|
||||
The ``'skip'`` option can be used to temporarily remove this reaction from
|
||||
the phase or interface that imports it, just as if the reaction entry were
|
||||
commented out. The advantage of using skip instead of commenting it out is
|
||||
that a warning message is printed each time a phase or interface definition
|
||||
tries to import it. This serves as a reminder that this reaction is not
|
||||
included, which can easily be forgotten when a reaction is "temporarily"
|
||||
commented out of an input file.
|
||||
|
||||
``duplicate``
|
||||
Normally, when a reaction is imported into a phase, it is checked to see
|
||||
that it is not a duplicate of another reaction already present in the phase,
|
||||
and an error results if a duplicate is found. But in some cases, it may be
|
||||
appropriate to include duplicate reactions, for example if a reaction can
|
||||
proceed through two distinctly different pathways, each with its own rate
|
||||
expression. Another case where duplicate reactions can be used is if it is
|
||||
desired to implement a reaction rate coefficient of the form:
|
||||
|
||||
.. math::
|
||||
|
||||
k_f(T) = \sum_{n=1}^{N} A_n T^{b_n} exp(-E_n/\hat{R}T)
|
||||
|
||||
While Cantera does not provide such a form for reaction rates, it can be
|
||||
implemented by defining *N* duplicate reactions, and assigning one rate
|
||||
coefficient in the sum to each reaction. If the ``'duplicate'`` option is
|
||||
specified, then the reaction not only *may* have a duplicate, it *must*. Any
|
||||
reaction that specifies that it is a duplicate, but cannot be paired with
|
||||
another reaction in the phase that qualifies as its duplicate generates an
|
||||
error.
|
||||
|
||||
``negative_A``
|
||||
If some of the terms in the above sum have negative :math:`A_n`, this scheme
|
||||
fails, since Cantera normally does not allow negative pre-exponential
|
||||
factors. But if there are duplicate reactions such that the total rate is
|
||||
positive, then negative *A* parameters are acceptable, as long as the
|
||||
``'negative_A'`` option is specified.
|
||||
|
||||
Reactions with Pressure-Independent Rate
|
||||
========================================
|
||||
|
||||
The :class:`reaction` entry is used to represent homogeneous reactions with
|
||||
pressure-independent rate coefficients and mass action kinetics. Examples of
|
||||
reaction entries that implement some reactions in the GRI-Mech 3.0 natural gas
|
||||
combustion mechanism [#Smith1997]_ are shown below::
|
||||
|
||||
units(length = 'cm', quantity = 'mol', act_energy = 'cal/mol')
|
||||
...
|
||||
reaction( "O + H2 <=> H + OH", [3.87000E+04, 2.7, 6260])
|
||||
reaction( "O + HO2 <=> OH + O2", [2.00000E+13, 0.0, 0])
|
||||
reaction( "O + H2O2 <=> OH + HO2", [9.63000E+06, 2.0, 4000])
|
||||
reaction( "O + HCCO <=> H + 2 CO", [1.00000E+14, 0.0, 0])
|
||||
reaction( "H + O2 + AR <=> HO2 + AR", [7.00000E+17, -0.8, 0])
|
||||
reaction( "HO2 + C3H7 <=> O2 + C3H8", [2.55000E+10, 0.255, -943])
|
||||
reaction( "HO2 + C3H7 => OH + C2H5 + CH2O", [2.41000E+13, 0.0, 0])
|
||||
|
||||
Three-Body Reactions
|
||||
====================
|
||||
|
||||
A three-body reaction is a gas-phase reaction of the form:
|
||||
|
||||
.. math::
|
||||
|
||||
{\rm A + B + M} \rightleftharpoons {\rm AB + M}
|
||||
|
||||
Here *M* is an unspecified collision partner that carries away excess energy to
|
||||
stabilize the *AB* molecule (forward direction) or supplies energy to break the *AB*
|
||||
bond (reverse direction).
|
||||
|
||||
Different species may be more or less effective in acting as the collision partner. A species that is much lighter than
|
||||
*A* and *B* may not be able to transfer much of its kinetic energy, and so would be inefficient as a collision partner. On
|
||||
the other hand, a species with a transition from its ground state that is nearly resonant with one in the *AB** activated
|
||||
complex may be much more effective at exchanging energy than would otherwise be expected.
|
||||
|
||||
These effects can be accounted for by defining a collision efficiency
|
||||
:math:`\epsilon` for each species, defined such that the forward reaction rate is
|
||||
|
||||
.. math::
|
||||
|
||||
k_f(T)[A][B][M]
|
||||
|
||||
where
|
||||
|
||||
.. math::
|
||||
|
||||
[M] = \sum_k \epsilon_k C_k
|
||||
|
||||
where :math:`C_k` is the concentration of species *k*. Since any constant
|
||||
collision efficiency can be absorbed into the rate coefficient :math:`k_f(T)`, the
|
||||
default collision efficiency is 1.0.
|
||||
|
||||
A three-body reaction may be defined using the :class:`three_body_reaction` entry. The equation string for a three-body
|
||||
reaction must contain an ``'M'`` or ``'m'`` on both the reactant and product sides of the equation.
|
||||
|
||||
Some examples from GRI-Mech 3.0 are shown below::
|
||||
|
||||
three_body_reaction( "2 O + M <=> O2 + M", [1.20000E+17, -1, 0],
|
||||
" AR:0.83 C2H6:3 CH4:2 CO:1.75 CO2:3.6 H2:2.4 H2O:15.4 ")
|
||||
|
||||
three_body_reaction( "O + H + M <=> OH + M", [5.00000E+17, -1, 0],
|
||||
efficiencies = " AR:0.7 C2H6:3 CH4:2 CO:1.5 CO2:2 H2:2 H2O:6 ")
|
||||
|
||||
three_body_reaction(
|
||||
equation = "H + OH + M <=> H2O + M",
|
||||
rate_coeff = [2.20000E+22, -2, 0],
|
||||
efficiencies = " AR:0.38 C2H6:3 CH4:2 H2:0.73 H2O:3.65 "
|
||||
)
|
||||
|
||||
As always, the field names are optional *if* the field values are entered in the
|
||||
declaration order.
|
||||
|
||||
Falloff Reactions
|
||||
=================
|
||||
|
||||
A *falloff reaction* is one that has a rate that is first-order in [M] at low
|
||||
pressure, like a three-body reaction, but becomes zero-order in [M] as [M]
|
||||
increases. Dissociation / association reactions of polyatomic molecules often
|
||||
exhibit this behavior.
|
||||
|
||||
The simplest expression for the rate coefficient for a falloff reaction is the
|
||||
Lindemann form [#Lindemann1922]_:
|
||||
|
||||
.. math::
|
||||
|
||||
k_f(T, [{\rm M}]) = \frac{k_0[{\rm M}]}{1 + \frac{k_0{\rm [M]}}{k_\infty}}
|
||||
|
||||
In the low-pressure limit, this approaches :math:`k0{\rm [M]}`, and in the
|
||||
high-pressure limit it approaches :math:`k_\infty`.
|
||||
|
||||
Defining the non-dimensional reduced pressure:
|
||||
|
||||
.. math::
|
||||
|
||||
P_r = \frac{k_0 {\rm [M]}}{k_\infty}
|
||||
|
||||
The rate constant may be written as
|
||||
|
||||
.. math::
|
||||
|
||||
k_f(T, P_r) = k_\infty \left(\frac{P_r}{1 + P_r}\right)
|
||||
|
||||
More accurate models for unimolecular processes lead to other, more complex,
|
||||
forms for the dependence on reduced pressure. These can be accounted for by
|
||||
multiplying the Lindemann expression by a function :math:`F(T, P_r)`:
|
||||
|
||||
.. math::
|
||||
|
||||
k_f(T, P_r) = k_\infty \left(\frac{P_r}{1 + P_r}\right) F(T, P_r)
|
||||
|
||||
This expression is used to compute the rate coefficient for falloff
|
||||
reactions. The function :math:`F(T, P_r)` is the *falloff function*, and is
|
||||
specified by assigning an embedded entry to the ``falloff`` field.
|
||||
|
||||
The Troe Falloff Function
|
||||
-------------------------
|
||||
|
||||
A widely-used falloff function is the one proposed by Gilbert et
|
||||
al. [#Gilbert1983]_:
|
||||
|
||||
.. math::
|
||||
|
||||
\log_{10} F(T, P_r) = \frac{\log_{10} F_{cent}(T)}{1 + f_1^2}
|
||||
|
||||
F_{cent}(T) = (1-A) \exp(-T/T_3) + A \exp (-T/T_1) + \exp(-T_2/T)
|
||||
|
||||
f_1 = (\log_{10} P_r + C) / (N - 0.14 (\log_{10} P_r + C))
|
||||
|
||||
C = -0.4 - 0.67\; \log_{10} F_{cent}
|
||||
|
||||
N = 0.75 - 1.27\; \log_{10} F_{cent}
|
||||
|
||||
The :class:`Troe` directive requires specifying the first three parameters
|
||||
:math:`(A, T_3, T_1)`. The fourth parameter, :math:`T_2`, is optional, defaulting to 0.0.
|
||||
|
||||
.. _sec-sri-falloff:
|
||||
|
||||
The SRI Falloff Function
|
||||
------------------------
|
||||
|
||||
This falloff function is based on the one originally due to Stewart et
|
||||
al. [#Stewart1989]_, which required three parameters :math:`(a, b, c)`. Kee et
|
||||
al. [#Kee1989]_ generalized this function slightly by adding two more parameters
|
||||
:math:`(d, e)`. (The original form corresponds to :math:`d = 1, e = 0`.) Cantera
|
||||
supports the extended 5-parameter form, given by:
|
||||
|
||||
.. math::
|
||||
|
||||
F(T, P_r) = d \bigl[a \exp(-b/T) + \exp(-T/c)\bigr]^{1/(1+\log_{10}^2 P_r )} T^e
|
||||
|
||||
In keeping with the nomenclature of Kee et al. [#Kee1989]_, we will refer to this as
|
||||
the "SRI" falloff function. It is implemented by the :class:`SRI` directive.
|
||||
|
||||
.. :: NOTE: "definingphases.pdf" contains documentation for the Wang-Frenklach falloff
|
||||
function, which has a C++ implementation, but doesn't appear to be implemented
|
||||
in the CTI or CTML parsers.
|
||||
|
||||
Chemically-Activated Reactions
|
||||
==============================
|
||||
|
||||
For these reactions, the rate falls off as the pressure increases, due to
|
||||
collisional stabilization of a reaction intermediate. Example:
|
||||
|
||||
.. math::
|
||||
\mathrm{Si + SiH_4 (+M) \leftrightarrow Si_2H_2 + H_2 (+M)}
|
||||
|
||||
which competes with:
|
||||
|
||||
.. math::
|
||||
\mathrm{Si + SiH_4 (+M) \leftrightarrow Si_2H_4 (+M)}
|
||||
|
||||
Like falloff reactions, chemically-activated reactions are described by
|
||||
blending between a "low pressure" and a "high pressure" rate expression. The
|
||||
difference is that the forward rate constant is written as being proportional
|
||||
to the *low pressure* rate constant:
|
||||
|
||||
.. math::
|
||||
|
||||
k_f(T, P_r) = k_0 \left(\frac{1}{1 + P_r}\right) F(T, P_r)
|
||||
|
||||
and the optional blending function *F* may described by any of the
|
||||
parameterizations allowed for falloff reactions. Chemically-activated
|
||||
reactions can be defined using the :class:`chemically_activated_reaction`
|
||||
directive.
|
||||
|
||||
An example of a reaction specified with this parameterization::
|
||||
|
||||
chemically_activated_reaction('CH3 + OH (+ M) <=> CH2O + H2 (+ M)',
|
||||
kLow=[2.823201e+02, 1.46878, (-3270.56495, 'cal/mol')],
|
||||
kHigh=[5.880000e-14, 6.721, (-3022.227, 'cal/mol')],
|
||||
falloff=Troe(A=1.671, T3=434.782, T1=2934.21, T2=3919.0))
|
||||
|
||||
In this example, the units of :math:`k_0` (`kLow`) are m^3/kmol/s and the
|
||||
units of :math:`k_\infty` (`kHigh`) are 1/s.
|
||||
|
||||
Pressure-Dependent Arrhenius Rate Expressions (P-Log)
|
||||
=====================================================
|
||||
|
||||
The :class:`pdep_arrhenius` class represents pressure-dependent reaction rates
|
||||
by logarithmically interpolating between Arrhenius rate expressions at various
|
||||
pressures. Given two rate expressions at two specific pressures:
|
||||
|
||||
.. math::
|
||||
|
||||
P_1: k_1(T) = A_1 T^{b_1} e^{E_1 / RT}
|
||||
|
||||
P_2: k_2(T) = A_2 T^{b_2} e^{E_2 / RT}
|
||||
|
||||
The rate at an intermediate pressure :math:`P_1 < P < P_2` is computed as
|
||||
|
||||
.. math::
|
||||
|
||||
\log k(T,P) = \log k_1(T) + \bigl(\log k_2(T) - \log k_1(T)\bigr)
|
||||
\frac{\log P - \log P_1}{\log P_2 - \log P_1}
|
||||
|
||||
Multiple rate expressions may be given at the same pressure, in which case the
|
||||
rate used in the interpolation formula is the sum of all the rates given at that
|
||||
pressure. For pressures outside the given range, the rate expression at the nearest
|
||||
pressure is used.
|
||||
|
||||
An example of a reaction specified in this format::
|
||||
|
||||
pdep_arrhenius('R1 + R2 <=> P1 + P2',
|
||||
[(0.001315789, 'atm'), 2.440000e+10, 1.04, 3980.0],
|
||||
[(0.039473684, 'atm'), 3.890000e+10, 0.989, 4114.0],
|
||||
[(1.0, 'atm'), 3.460000e+12, 0.442, 5463.0],
|
||||
[(10.0, 'atm'), 1.720000e+14, -0.01, 7134.0],
|
||||
[(100.0, 'atm'), -7.410000e+30, -5.54, 12108.0],
|
||||
[(100.0, 'atm'), 1.900000e+15, -0.29, 8306.0])
|
||||
|
||||
The first argument is the reaction equation. Each subsequent argument is a
|
||||
sequence of four elements specifying a pressure and the Arrhenius parameters at
|
||||
that pressure.
|
||||
|
||||
Chebyshev Reaction Rate Expressions
|
||||
===================================
|
||||
|
||||
Class :class:`chebyshev_reaction` represents a phenomenological rate coefficient
|
||||
:math:`k(T,P)` in terms of a bivariate Chebyshev polynomial. The rate constant
|
||||
can be written as:
|
||||
|
||||
.. math:: \log k(T,P) = \sum_{t=1}^{N_T} \sum_{p=1}^{N_P} \alpha_{tp}
|
||||
\phi_t(\tilde{T}) \phi_p(\tilde{P})
|
||||
|
||||
where :math:`\alpha_{tp}` are the constants defining the rate, :math:`\phi_n(x)`
|
||||
is the Chebyshev polynomial of the first kind of degree :math:`n` evaluated at
|
||||
:math:`x`, and
|
||||
|
||||
.. math::
|
||||
|
||||
\tilde{T} \equiv \frac{2T^{-1} - T_\mathrm{min}^{-1} - T_\mathrm{max}^{-1}}
|
||||
{T_\mathrm{max}^{-1} - T_\mathrm{min}^{-1}}
|
||||
|
||||
\tilde{P} \equiv \frac{2 \log P - \log P_\mathrm{min} - \log P_\mathrm{max}}
|
||||
{\log P_\mathrm{max} - \log P_\mathrm{min}}
|
||||
|
||||
are reduced temperature and reduced pressures which map the ranges
|
||||
:math:`(T_\mathrm{min}, T_\mathrm{max})` and :math:`(P_\mathrm{min},
|
||||
P_\mathrm{max})` to :math:`(-1, 1)`.
|
||||
|
||||
A Chebyshev rate expression is specified in terms of the coefficient matrix
|
||||
:math:`\alpha` and the temperature and pressure ranges. An example of a
|
||||
Chebyshev rate expression where :math:`N_T = 6` and :math:`N_P = 4` is::
|
||||
|
||||
chebyshev_reaction('R1 + R2 <=> P1 + P2',
|
||||
Tmin=290.0, Tmax=3000.0,
|
||||
Pmin=(0.001, 'atm'), Pmax=(100.0, 'atm'),
|
||||
coeffs=[[-1.44280e+01, 2.59970e-01, -2.24320e-02, -2.78700e-03],
|
||||
[ 2.20630e+01, 4.88090e-01, -3.96430e-02, -5.48110e-03],
|
||||
[-2.32940e-01, 4.01900e-01, -2.60730e-02, -5.04860e-03],
|
||||
[-2.93660e-01, 2.85680e-01, -9.33730e-03, -4.01020e-03],
|
||||
[-2.26210e-01, 1.69190e-01, 4.85810e-03, -2.38030e-03],
|
||||
[-1.43220e-01, 7.71110e-02, 1.27080e-02, -6.41540e-04]])
|
||||
|
||||
Note that the Chebyshev polynomials are not defined outside the interval
|
||||
:math:`(-1,1)`, and therefore extrapolation of rates outside the range of
|
||||
temperatures and pressure for which they are defined is strongly discouraged.
|
||||
|
||||
.. rubric:: References
|
||||
|
||||
.. [#Gilbert1983] R. G. Gilbert, K. Luther, and
|
||||
J. Troe. *Ber. Bunsenges. Phys. Chem.*, 87:169, 1983.
|
||||
|
||||
.. [#Lindemann1922] F. Lindemann. *Trans. Faraday Soc.*, 17:598, 1922.
|
||||
|
||||
.. [#Smith1997] Gregory P. Smith, David M. Golden, Michael Frenklach, Nigel
|
||||
W. Moriarty, Boris Eiteneer, Mikhail Goldenberg, C. Thomas Bowman, Ronald
|
||||
K. Hanson, Soonho Song, William C. Gardiner, Jr., Vitali V. Lissianski, , and
|
||||
Zhiwei Qin. GRI-Mech version 3.0, 1997. see
|
||||
http://www.me.berkeley.edu/gri_mech.
|
||||
|
||||
.. [#Stewart1989] P. H. Stewart, C. W. Larson, and D. Golden.
|
||||
*Combustion and Flame*, 75:25, 1989.
|
||||
|
||||
.. [#Kee1989] R. J. Kee, F. M. Rupley, and J. A. Miller. Chemkin-II: A Fortran
|
||||
chemical kinetics package for the analysis of gas-phase chemical
|
||||
kinetics. Technical Report SAND89-8009, Sandia National Laboratories, 1989.
|
||||
227
doc/sphinx/cti/species.rst
Normal file
227
doc/sphinx/cti/species.rst
Normal file
|
|
@ -0,0 +1,227 @@
|
|||
.. py:currentmodule:: ctml_writer
|
||||
|
||||
.. _sec-species:
|
||||
|
||||
********************
|
||||
Elements and Species
|
||||
********************
|
||||
|
||||
.. _sec-elements:
|
||||
|
||||
Elements
|
||||
========
|
||||
|
||||
The element entry defines an element or an isotope of an element. Note that
|
||||
these entries are not often needed, since the the database file ``elements.xml``
|
||||
is searched for element definitions when importing phase and interface
|
||||
definitions. An explicit element entry is needed only if an isotope not in
|
||||
``elements.xml`` is required::
|
||||
|
||||
element(symbol='C-13',
|
||||
atomic_mass=13.003354826)
|
||||
element("O-!8", 17.9991603)
|
||||
|
||||
Species
|
||||
=======
|
||||
|
||||
For each species, a :class:`species` entry is required. Species are defined at
|
||||
the top-level of the input file---their definitions are not embedded in a phase
|
||||
or interface entry.
|
||||
|
||||
Species Name
|
||||
------------
|
||||
|
||||
The name field may contain embedded parentheses, ``+`` or ``-`` signs to
|
||||
indicate the charge, or just about anything else that is printable and not a
|
||||
reserved character in XML. Some example name specifications::
|
||||
|
||||
name = 'CH4'
|
||||
name = 'methane'
|
||||
name = 'argon_2+'
|
||||
name = 'CH2(singlet)'
|
||||
|
||||
Elemental Composition
|
||||
---------------------
|
||||
|
||||
The elemental composition is specified in the atoms entry, as follows::
|
||||
|
||||
atoms = "C:1 O:2" # CO2
|
||||
atoms = "C:1, O:2" # CO2 with optional comma
|
||||
atoms = "Y:1 Ba:2 Cu:3 O:6.5" # stoichiometric YBCO
|
||||
atoms = "" # a surface species representing an empty site
|
||||
atoms = "Ar:1 E:-2" # Ar++
|
||||
|
||||
For gaseous species, the elemental composition is well-defined, since the
|
||||
species represent distinct molecules. For species in solid or liquid solutions,
|
||||
or on surfaces, there may be several possible ways of defining the species. For
|
||||
example, an aqueous species might be defined with or without including the water
|
||||
molecules in the solvation cage surrounding it.
|
||||
|
||||
For surface species, it is possible to omit the ``atoms`` field entirely, in
|
||||
which case it is composed of nothing, and represents an empty surface site. This
|
||||
can also be done to represent vacancies in solids. A charged vacancy can be
|
||||
defined to be composed solely of electrons::
|
||||
|
||||
species(name = 'ysz-oxygen-vacancy',
|
||||
atoms = 'O:0, E:2',
|
||||
...)
|
||||
|
||||
Note that an atom number of zero may be given if desired, but is completely
|
||||
equivalent to omitting that element.
|
||||
|
||||
The number of atoms of an element must be non-negative, except for the special
|
||||
"element" ``E`` that represents an electron.
|
||||
|
||||
Thermodynamic Properties
|
||||
------------------------
|
||||
|
||||
The :class:`phase` and :class:`ideal_interface` entries discussed in the last
|
||||
chapter implement specific models for the thermodynamic properties appropriate
|
||||
for the type of phase or interface they represent. Although each one may use
|
||||
different expressions to compute the properties, they all require thermodynamic
|
||||
property information for the individual species. For the phase types implemented
|
||||
at present, the properties needed are:
|
||||
|
||||
1. the molar heat capacity at constant pressure :math:`\hat{c}^0_p(T)` for a
|
||||
range of temperatures and a reference pressure :math:`P_0`;
|
||||
2. the molar enthalpy :math:`\hat{h}(T_0, P_0)` at :math:`P_0` and a reference
|
||||
temperature :math:`T_0`;
|
||||
3. the absolute molar entropy :math:`\hat{s}(T_0, P_0)` at :math:`(T_0, P_0)`.
|
||||
|
||||
See: :ref:`sec-thermo-models`
|
||||
|
||||
.. _sec-species-transport-models:
|
||||
|
||||
Species Transport Coefficients
|
||||
------------------------------
|
||||
|
||||
Transport property models in general require coefficients that express the
|
||||
effect of each species on the transport properties of the phase. The
|
||||
``transport`` field may be assigned an embedded entry that provides
|
||||
species-specific coefficients.
|
||||
|
||||
Currently, the only entry type is :class:`gas_transport`, which supplies
|
||||
parameters needed by the ideal-gas transport property models. The field values
|
||||
and their units of the :class:`gas_transport` entry are compatible with the
|
||||
transport database parameters described by Kee et al. [1986]. Entries in
|
||||
transport databases in the format described in their report can be used directly
|
||||
in the fields of the :class:`gas_transport` entry, without requiring any unit
|
||||
conversion. The numeric field values should all be entered as pure numbers, with
|
||||
no attached units string.
|
||||
|
||||
.. _sec-thermo-models:
|
||||
|
||||
Thermodynamic Property Models
|
||||
=============================
|
||||
|
||||
The entry types described in this section can be used to provide data for the
|
||||
``thermo`` field of a :class:`species`. Each implements a different
|
||||
*parameterization* (functional form) for the heat capacity. Note that there is
|
||||
no requirement that all species in a phase use the same parameterization; each
|
||||
species can use the one most appropriate to represent how the heat capacity
|
||||
depends on temperature.
|
||||
|
||||
Currently, three entry types are implemented, all of which provide species
|
||||
properties appropriate for models of ideal gas mixtures, ideal solutions, and
|
||||
pure compounds. Non-ideal phase models are not yet implemented, but may be in
|
||||
future releases. When they are, additional entry types may also be added that
|
||||
provide species-specific coefficients required by specific non-ideal equations
|
||||
of state.
|
||||
|
||||
The NASA Polynomial Parameterization
|
||||
------------------------------------
|
||||
|
||||
The NASA polynomial parameterization is used to compute the species
|
||||
reference-state thermodynamic properties :math:`\hat{c}^0_p(T)`,
|
||||
:math:`\hat{h}^0(T)` and :math:`\hat{s}^0(T)`.
|
||||
|
||||
The NASA parameterization represents :math:`\hat{c}^0_p(T)` with a fourth-order
|
||||
polynomial:
|
||||
|
||||
.. math::
|
||||
|
||||
\frac{c_p^0(T)}{R} = a_0 + a_1 T + a_2 T^2 + a_3 T^3 + a_4 T^4
|
||||
|
||||
\frac{h^0(T)}{RT} = a_0 + \frac{a1}{2}T + \frac{a_2}{3} T^2 +
|
||||
\frac{a_3}{4} T^3 + \frac{a_4}{5} T^4 + a_5
|
||||
|
||||
\frac{s^0(T)}{R} = a_o \ln T + a_1 T + \frac{a_2}{2} T^2 + \frac{a_3}{3} T^3 +
|
||||
\frac{a_4}{4} T^4 + a_6
|
||||
|
||||
Note that this is the "old" NASA polynomial form, used in the original NASA
|
||||
equilibrium program and in Chemkin. It is not compatible with the form used in
|
||||
the most recent version of the NASA equilibrium program, which uses 9
|
||||
coefficients, not 7.
|
||||
|
||||
A NASA parameterization is defined by an embedded :class:`NASA` entry. Very
|
||||
often, two NASA parameterizations are used for two contiguous temperature
|
||||
ranges. This can be specified by assigning the ``thermo`` field of the
|
||||
``species`` entry a sequence of two :class:`NASA` entries::
|
||||
|
||||
# use one NASA parameterization for T < 1000 K, and another for T > 1000 K.
|
||||
species(name = "O2",
|
||||
atoms = " O:2 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 3.782456360E+00, -2.996734160E-03,
|
||||
9.847302010E-06, -9.681295090E-09, 3.243728370E-12,
|
||||
-1.063943560E+03, 3.657675730E+00] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 3.282537840E+00, 1.483087540E-03,
|
||||
-7.579666690E-07, 2.094705550E-10, -2.167177940E-14,
|
||||
-1.088457720E+03, 5.453231290E+00] ) ) )
|
||||
|
||||
The Shomate Parameterization
|
||||
----------------------------
|
||||
|
||||
The Shomate parameterization is:
|
||||
|
||||
.. math::
|
||||
|
||||
\hat{c}_p^0(T) = A + Bt + Ct^2 + Dt^3 + \frac{E}{t^2}
|
||||
|
||||
\hat{h}^0(T) = At + \frac{Bt^2}{2} + \frac{Ct^3}{3} + \frac{Dt^4}{4} -
|
||||
\frac{E}{t} + F
|
||||
|
||||
\hat{s}^0(T) = A \ln t + B t + \frac{Ct^2}{2} + \frac{Dt^3}{3} -
|
||||
\frac{E}{2t^2} + G
|
||||
|
||||
where :math:`t = T / 1000 K`. It requires 7 coefficients A, B, C, D, E, F, and
|
||||
G. This parameterization is used to represent reference-state properties in the
|
||||
`NIST Chemistry WebBook <http://webbook.nist.gov/chemistry>`_. The values of the
|
||||
coefficients A through G should be entered precisely as shown there, with no
|
||||
units attached. Unit conversions to SI will be handled internally.
|
||||
|
||||
Example usage of the :class:`Shomate` directive::
|
||||
|
||||
# use a single Shomate parameterization.
|
||||
species(name = "O2",
|
||||
atoms = " O:2 ",
|
||||
thermo = Shomate( [298.0, 6000.0],
|
||||
[29.659, 6.137261, -1.186521, 0.09578, -0.219663,
|
||||
-9.861391, 237.948] ) )
|
||||
|
||||
Constant Heat Capacity
|
||||
----------------------
|
||||
|
||||
In some cases, species properties may only be required at a single temperature
|
||||
or over a narrow temperature range. In such cases, the heat capacity can be
|
||||
approximated as constant, and simpler expressions can be used for the thermodynamic
|
||||
properties. The :class:`const_cp` parameterization computes the properties as
|
||||
follows:
|
||||
|
||||
.. math::
|
||||
|
||||
\hat{c}_p^0(T) = \hat{c}_p^0(T_0)
|
||||
|
||||
\hat{h}^0(T) = \hat{h}^0(T_0) + \hat{c}_p^0\cdot(T-T_0)
|
||||
|
||||
\hat{s}^0(T) = \hat{s}^0(T_0) + \hat{c}_p^0 \ln (T/T_0)
|
||||
|
||||
The parameterization uses four constants: :math:`T_0, \hat{c}_p^0(T_0),
|
||||
\hat{h}^0(T_0), \hat{s}^0(T)`.
|
||||
|
||||
Example::
|
||||
|
||||
thermo = const_cp( t0 = 1200.0,
|
||||
h0 = (-5.0, 'kcal/mol') )
|
||||
|
||||
.. See ##REF## for more examples of use of this parameterization.
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
@import url('./alabaster.css');
|
||||
|
||||
dl.method, dl.attribute, dl.staticmethod, dl.classmethod {
|
||||
border-top: 1px solid #aaa;
|
||||
padding-top: 4px;
|
||||
}
|
||||
|
||||
dl.class, dl.function {
|
||||
border-top: 2px solid #888;
|
||||
padding-top: 4px;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
text-decoration: none !important;
|
||||
font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol" !important;
|
||||
font-size: 1rem !important;
|
||||
}
|
||||
|
||||
#logo { width: 250px; }
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
[theme]
|
||||
inherit = alabaster
|
||||
stylesheet = cantera.css
|
||||
117
doc/sphinx/cxx-guide/compiling.rst
Normal file
117
doc/sphinx/cxx-guide/compiling.rst
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
|
||||
******************************
|
||||
Compiling Cantera C++ Programs
|
||||
******************************
|
||||
|
||||
In general, it should be possible to use Cantera with any build system by
|
||||
specifying the appropriate header and library paths, and specifying the required
|
||||
libraries when linking. It is also necessary to specify the paths for libraries
|
||||
used by Cantera, e.g. Sundials, BLAS, and LAPACK.
|
||||
|
||||
pkg-config
|
||||
==========
|
||||
|
||||
On systems where the ``pkg-config`` program is installed, it can be used to
|
||||
determine the correct compiler and linker flags for use with Cantera. For
|
||||
example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
g++ myProgram.cpp -o myProgram $(pkg-config --cflags --libs cantera)
|
||||
|
||||
It can also be used to populate variables in a Makefile:
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
CFLAGS += $(shell pkg-config --cflags cantera)
|
||||
LIBS += $(shell pkg-config --libs cantera)
|
||||
|
||||
Or in an SConstruct file::
|
||||
|
||||
env.ParseConfig("pkg-config --cflags --libs cantera")
|
||||
|
||||
Note that ``pkg-config`` will work only if it can find the ``cantera.pc``
|
||||
file. If Cantera's libraries are not installed in a standard location such as
|
||||
``/usr/lib`` or ``/usr/local/lib``, you may need to set the ``PKG_CONFIG_PATH``
|
||||
environment variable appropriately before using ``pkg-config``.
|
||||
|
||||
SCons
|
||||
=====
|
||||
|
||||
SCons is a multi-platform, Python-based build system. It is the build system
|
||||
used to compile Cantera. The description of how to build a project is contained
|
||||
in a file named ``SConstruct``. The ``SConstruct`` file is actually a Python
|
||||
script, which makes it very straightforward to add functionality to a
|
||||
SCons-based build system.
|
||||
|
||||
A typical ``SConstruct`` file for compiling a program that uses Cantera might
|
||||
look like this::
|
||||
|
||||
env = Environment()
|
||||
|
||||
env.Append(CCFLAGS='-g',
|
||||
CPPPATH=['/usr/local/cantera/include',
|
||||
'/usr/local/sundials/include'],
|
||||
LIBS=['cantera', 'sundials_cvodes', 'sundials_ida',
|
||||
'sundials_nvecserial', 'lapack', 'blas'],
|
||||
LIBPATH=['/usr/local/cantera/lib',
|
||||
'/usr/local/sundials/lib'],
|
||||
LINKFLAGS=['-g', '-pthread'])
|
||||
|
||||
sample = env.Program('sample', 'sample.cpp')
|
||||
Default(sample)
|
||||
|
||||
This script establishes what SCons refers to as a "construction environment"
|
||||
named ``env``, and sets the header (``CPPPATH``) and library (``LIBPATH``) paths
|
||||
to include the directories containing the Cantera headers and libraries, as well
|
||||
as libraries that Cantera depends on, such as Sundials, BLAS, and LAPACK. Then,
|
||||
a program named ``sample`` is compiled using the single source file
|
||||
``sample.cpp``.
|
||||
|
||||
Several other example ``SConstruct`` files are included with the C++ examples
|
||||
contained in the ``samples`` subdirectory of the Cantera installation directory.
|
||||
|
||||
For more information on SCons, see the `SCons Wiki <http://scons.org/wiki/>`_
|
||||
and the `SCons homepage <http://www.scons.org>`_.
|
||||
|
||||
Make
|
||||
====
|
||||
|
||||
Cantera is distributed with an "include Makefile" that can be used with
|
||||
Make-based build systems. This file ``Cantera.mak`` is located in the
|
||||
``samples`` subdirectory of the Cantera installation directory. To use it, add a
|
||||
line referincing this file to the top of your Makefile::
|
||||
|
||||
include path/to/Cantera.mak
|
||||
|
||||
The path specified should be the relative path from the ``Makefile`` to
|
||||
``Cantera.mak``. This file defines several variables which can be used in your
|
||||
Makefile. The following is an example ``Makefile`` that uses the definitions
|
||||
contained in ``Cantera.mak``:
|
||||
|
||||
.. code-block:: makefile
|
||||
|
||||
include ../../Cantera.mak
|
||||
|
||||
CC=gcc
|
||||
CXX=g++
|
||||
RM=rm -f
|
||||
CCFLAGS=-g
|
||||
CPPFLAGS=$(CANTERA_INCLUDES)
|
||||
LDFLAGS=
|
||||
LDLIBS=$(CANTERA_LIBS)
|
||||
|
||||
SRCS=sample.cpp
|
||||
OBJS=$(subst .cpp,.o,$(SRCS))
|
||||
|
||||
all: sample
|
||||
|
||||
kinetics1: $(OBJS)
|
||||
$(CXX) $(LDFLAGS) -o sample $(OBJS) $(LDLIBS)
|
||||
|
||||
clean:
|
||||
$(RM) $(OBJS)
|
||||
|
||||
dist-clean: clean
|
||||
$(RM) *~
|
||||
|
||||
38
doc/sphinx/cxx-guide/demo1a.cpp
Normal file
38
doc/sphinx/cxx-guide/demo1a.cpp
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
#include "cantera/thermo.h"
|
||||
|
||||
using namespace Cantera;
|
||||
|
||||
// The actual code is put into a function that
|
||||
// can be called from the main program.
|
||||
void simple_demo()
|
||||
{
|
||||
|
||||
// Create a new phase
|
||||
ThermoPhase* gas = newPhase("h2o2.cti","ohmech");
|
||||
|
||||
// Set its state by specifying T (500 K) P (2 atm) and the mole
|
||||
// fractions. Note that the mole fractions do not need to sum to
|
||||
// 1.0 - they will be normalized internally. Also, the values for
|
||||
// any unspecified species will be set to zero.
|
||||
gas->setState_TPX(500.0, 2.0*OneAtm, "H2O:1.0, H2:8.0, AR:1.0");
|
||||
|
||||
// Print a summary report of the state of the gas
|
||||
std::cout << gas->report() << std::endl;
|
||||
|
||||
// Clean up
|
||||
delete gas;
|
||||
}
|
||||
|
||||
// the main program just calls function simple_demo within
|
||||
// a 'try' block, and catches CanteraError exceptions that
|
||||
// might be thrown
|
||||
int main()
|
||||
{
|
||||
|
||||
try {
|
||||
simple_demo();
|
||||
} catch (CanteraError& err) {
|
||||
std::cout << err.what() << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
23
doc/sphinx/cxx-guide/demoequil.cpp
Normal file
23
doc/sphinx/cxx-guide/demoequil.cpp
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
#include "cantera/equilibrium.h"
|
||||
#include "cantera/thermo.h"
|
||||
|
||||
using namespace Cantera;
|
||||
|
||||
void equil_demo()
|
||||
{
|
||||
ThermoPhase* gas = newPhase("h2o2.cti","ohmech");
|
||||
gas->setState_TPX(1500.0, 2.0*OneAtm, "O2:1.0, H2:3.0, AR:1.0");
|
||||
equilibrate(*gas, "TP");
|
||||
std::cout << gas->report() << std::endl;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
try {
|
||||
equil_demo();
|
||||
} catch (CanteraError& err) {
|
||||
std::cout << err.what() << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
63
doc/sphinx/cxx-guide/equil-example.rst
Normal file
63
doc/sphinx/cxx-guide/equil-example.rst
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
|
||||
************************************
|
||||
Chemical Equilibrium Example Program
|
||||
************************************
|
||||
|
||||
In the program below, the `equilibrate` function is called to set the gas to a
|
||||
state of chemical equilibrium, holding the temperature and pressure fixed. This
|
||||
function is declared in the `equilibrium.h` header file.
|
||||
|
||||
.. literalinclude:: demoequil.cpp
|
||||
:language: c++
|
||||
|
||||
The program output is::
|
||||
|
||||
temperature 1500 K
|
||||
pressure 202650 Pa
|
||||
density 0.316828 kg/m^3
|
||||
mean mol. weight 19.4985 amu
|
||||
|
||||
1 kg 1 kmol
|
||||
----------- ------------
|
||||
enthalpy -4.17903e+06 -8.149e+07 J
|
||||
internal energy -4.81866e+06 -9.396e+07 J
|
||||
entropy 11283.3 2.2e+05 J/K
|
||||
Gibbs function -2.1104e+07 -4.115e+08 J
|
||||
heat capacity c_p 1893.06 3.691e+04 J/K
|
||||
heat capacity c_v 1466.65 2.86e+04 J/K
|
||||
|
||||
X Y Chem. Pot. / RT
|
||||
------------- ------------ ------------
|
||||
H2 0.249996 0.0258462 -19.2954
|
||||
H 6.22521e-06 3.218e-07 -9.64768
|
||||
O 7.66933e-12 6.29302e-12 -26.3767
|
||||
O2 7.1586e-12 1.17479e-11 -52.7533
|
||||
OH 3.55353e-07 3.09952e-07 -36.0243
|
||||
H2O 0.499998 0.461963 -45.672
|
||||
HO2 7.30338e-15 1.2363e-14 -62.401
|
||||
H2O2 3.95781e-13 6.90429e-13 -72.0487
|
||||
AR 0.249999 0.51219 -21.3391
|
||||
|
||||
|
||||
How can we tell that this is really a state of chemical equilibrium? Well, by
|
||||
applying the equation of reaction equilibrium to formation reactions from the
|
||||
elements, it is straightforward to show that:
|
||||
|
||||
.. math:: \mu_k = \sum_m \lambda_m a_{km}.
|
||||
|
||||
where :math:`\mu_k` is the chemical potential of species *k*, :math:`a_{km}` is
|
||||
the number of atoms of element *m* in species *k*, and :math:`\lambda_m` is the
|
||||
chemical potential of the elemental species per atom (the so-called "element
|
||||
potential"). In other words, the chemical potential of each species in an
|
||||
equilibrium state is a linear sum of contributions from each atom. We see that
|
||||
this is true in the output above---the chemical potential of H2 is exactly
|
||||
twice that of H, the chemical potential for OH is the sum of the values for H
|
||||
and O, the value for H2O2 is twice as large as the value for OH, and so on.
|
||||
|
||||
We'll see later how the :ct:`equilibrate <Cantera::equilibrate(thermo_t&, const
|
||||
char*, int, doublereal, int, int, int)>` function really works. For now, though,
|
||||
the important points are these:
|
||||
|
||||
- The `equilibrate` procedure operates on an object, setting its state to a
|
||||
chemical equilibrium state.
|
||||
- To use `equilibrate`, you need to include the `equilibrium.h` header file.
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue