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.