51 lines
2.5 KiB
Text
51 lines
2.5 KiB
Text
|
|
/**
|
|
|
|
\page languages Language Interfaces
|
|
|
|
Although most of Cantera is written in C++, interfaces are provided to
|
|
allow users to work with Cantera from several different languages or
|
|
environments, including Fortran 90/95, Python, and MATLAB. Which
|
|
language should you choose? The basic rule of thumb is this: use
|
|
Python or MATLAB if possible; use C++ or Fortran if necessary.
|
|
|
|
|
|
- \b Python. Python is a free scripting language that is designed to
|
|
be easy to use. If you are familiar with any other programming
|
|
language, you can probably learn Python in a couple of hours. It
|
|
is also an elegant language, and provides a user-friendly
|
|
introduction to the concepts of object-oriented programming.
|
|
Python is great for solving problems quickly, and Cantera provides
|
|
example Python scripts to do calculations ranging from simple
|
|
evaluation of thermodynamic or transport properties, on up to
|
|
chemical equilibrium in multiphase mixtures, 1D laminar flames,
|
|
reactor networks, and more. If your problem can be solved by
|
|
using Cantera from Python, you'll almost certainly solve it faster
|
|
with Python than by writing programs in Fortran or C++. \see
|
|
http://www.python.org.
|
|
|
|
- \b MATLAB. The comments above for Python apply to MATLAB too, except
|
|
that Python is free and MATLAB isn't. If you have MATLAB already and
|
|
are familiar with it, this is a good choice for an environment from
|
|
which to run Cantera. It is probably the most popular Cantera
|
|
application environment. \see http://www.mathworks.com.
|
|
|
|
- \b Fortran. Cantera provides an interface to Fortran 90/95, and can
|
|
even be used from Fortran 77 programs. Use this if you have existing
|
|
Fortran code you want to port to Cantera, or if you simply prefer working
|
|
in Fortran rather than C++.
|
|
|
|
- \b C++. If you find that you need full access to the internals of
|
|
Cantera, or want to extend and customize Cantera, then C++ is the
|
|
language for you. Most of Cantera is itself written in C++, and so
|
|
C++ application programs have more direct access to the Cantera
|
|
"kernel" than do programs written in other languages, which access
|
|
Cantera through a library of C-like functions. From C++, you can
|
|
implement new equations of state, new models for transport
|
|
properties, and many other things that simply can't be done through
|
|
the other language interfaces. If you are doing substantial code
|
|
development with Cantera, rather than simply using it to solve a few
|
|
problems, then you will probably want to use it from C++.
|
|
\see \ref start \n\ref cxx-ctnew
|
|
|
|
*/
|