The modeling of chemical reactions, and the ability to predict the properties of the end- products of a chemical reaction, is of extreme commercial importance. The properties of many compounds have complex dependencies on a variety of additives, in ways that are not well understood. This paper describes a domain specific language, compiler and parallel runtime system that allows chemists to investigate, and understand how, different additives affect these properties. In particular, our system allows the inputs and types of reactions that are possible to be specified in a high level language. It then produces a set of ordinary differential equations (ODEs) that when combined with boundary conditions from quantum chemistry are processed using parallel templates and off-the-shelf solvers to simulate the reaction. This paper describes the complete system, including optimizations to reduce the amount of redundant computation in the ODEs, the parallel templates for simulating the reaction, and experimental data showing the effectiveness of these. Our system saves the chemist from manually developing, testing and debugging systems of hundreds or thousands of ODEs that require weeks or months to develop.
Date of this Version