A. Salinger, K. Devine, G. Hennigan, H. Moffat, S. Hutchinson, J. Shadid

Sandia National Laboratories
Albuquerque, New Mexico 87185


This manual describes the use of MPSalsa, an unstructured finite element (FE) code for solving chemically reacting flow problems on massively parallel computers. MPSalsa has been written to enable the rigorous modeling of the complex geometry and physics found in engineering systems that exhibit coupled fluid flow, heat transfer, mass transfer, and detailed reactions. In addition, considerable effort has been made to ensure that the code makes efficient use of the computational resources of massively parallel (MP), distributed memory architectures in a way that is nearly transparent to the user. The result is the ability to simultaneously model both three-dimensional geometries and flow as well as detailed reaction chemistry in a timely manner on MP computers, an ability we believe to be unique.
MPSalsa has been designed to allow the experienced researcher considerable flexibility in modeling a system. Any combination of the momentum equations, energy balance, and an arbitrary number of species mass balances can be solved. The physical and transport properties can be specified as constants, as functions, or taken from the Chemkin library and associated database. Any of the standard set of boundary conditions and source terms can be adapted by writing user functions, for which templates and examples exist.
The user can choose between a steady-state solution, an accurate transient run, a pseudo-transient method for relaxing stiff steady-state problems, and a continuation run for analysis of the system's steady-state behavior with respect to a parameter.
Through the input file, the user has considerable control over the nonlinear and linear solution strategies in order to find the fastest and most robust method for solving a given problem. The nonlinear solver includes an inexact Newton method and a backtracking strategy. For solving linear systems, a number of Krylov-based iterative methods along with several choices for preconditioners are available through the Aztec library.
A large set of example problems is included in Appendices to familiarize the user with the capabilities and choices within MPSalsa. These examples serve to illustrate MPSalsa capabilities and to provide a variety of input files to use as templates for closely related application problems. Many of these examples can be run on a single processor or on multiple parallel processors.