kc

Kinetic Compiler

The Kinetic Compiler project was my first free software project since it was released under GNU General Public License from the initial version (0.00). The main idea is to give the average chemist an easy tool for simulating complex chemical reactions. It is straight forward to transform a chemical reaction to a set of first order ordinary differential equations (initial value problem). But real-world chemical mechanisms consist of many reactions so it is impossible to solve the kinetics analytically. Moreover, the task of transforming the reaction scheme to differential equations is error prone.

Chemical reactions can be regarded as a representation in one language while the set of differential equations can be seen as the same representation in another language. The idea of a compiler is to translate between languages, and the Kinetic Compiler is a simple tool for automating the translation.

Instead of building every tool or hand-coding a compiler, I use many classical UNIX tools in the development of the Kinetic Compiler. Tools as lex (GNU Flex) and yacc (GNU Bison). The input of the Kinetic Compiler is a set of chemical reaction while the output is typically a simulation program which solves the set of differential equations numerically.

You are welcome to download the source code: kc.tar.gz