cantera/docs/doxyinput/languages.txt
2010-08-04 23:15:35 +00:00

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
*/