Applied Mathematics Software

Argonne's Mathematics and Computer Science Division is incorporating new numerical methods into portable, high-performance software and testing of that software in large-scale simulations of interest to the scientific community.

Software for applied math includes:

  • ADIC is a tool for the automatic differentiation of programs written in ANSI C. Given the source code and a user's specification of dependent and independent variables, ADIC generates an augmented C code that computes the partial derivatives of all of the specified dependent variables with respect to all of the specified independent variables in addition to the original result.
  • DSDP is a package for the solution of semidefinite programming problems. It is offered through the NEOS server.
  • MeshKit is a library for geometry-based 2D and 3D mesh generation.
  • MINOTAUR is an open-source toolkit for solving mixed-integer nonlinear optimization problems. It provides different solvers that implement state-of-the-art algorithms for MINLP. The MINOTAUR library can also be used to customize algorithms to exploit specific problem structures.
  • MOAB (Mesh-Oriented Database) represents and evaluates mesh data.
  • Nek5000 is an open-source computational fluid dynamics solver based on the spectral element method. It is actively used in the Cesar project and has run on the Blue Gene/Q with 1 million MPI ranks — a watershed!
  • NekLBM is a spectral-element discontinuous Galerkin Lattice-Boltzmann fluid solver.
  • NekCEM is a high-fidelity electromagnetic solver.
  • OpenAD enables automatic differentiation of numerical computer programs.
  • Orio is an extensible annotation-based empirical tuning system.
  • PETSc (Portable, Extensible Toolkit for Scientific Computation) is a suite of uni- and parallel-processor codes for solving large-scale problems modeled by partial differential equations.
  • PIPS is a parallel optimization solver for stochastic programming problems with recourse.
  • Rapsodia is a tool for the computation of higher order derivative information of numerical models written in Fortran, C or C++ by automatic differentiation.
  • ScalaGAUSS is a set of scalable tools for analyzing large-scale spatiotemporal data modeled as a Gaussian process/random field.
  • TACO (Toolkit for AMPL Control Optimization) provides a set of extensions to the AMPl modeling language to conveniently model mixed-integer optimal control problems for ODE or DAE dynamic processes.
  • TAO (Toolkit for Advanced Optimization) focuses on the design and implementation of component-based optimization software for the solution of large-scale optimization applications. Our approach is to exploit numerical abstractions in large-scale optimization software design, so that we can leverage external parallel computing infrastructure (for example, communication libraries and visualization packages) and linear algebra tools in the development of optimization algorithms.