Argonne National Laboratory Laboratory for Advanced Numerical Simulations
 

Software

Argonne National Laboratory's Mathematics and Computing Sciences Division (MCS) has long been a leader in the development of robust, reliable software. As early as the 1970s, Argonne spearheaded a series of software engineering projects that culminated in the release of EISPACK, LINPACK, FUNPACK, and MINPACK. Today, MCS researchers are continuing this tradition, with an added emphasis on

  • Portability: from PCs to Linux workstations to supercomputers
  • Scalability: from 10s to 1000s of processors, without loss of performance
  • Open source: available free of charge to the scientific research community

The development of high-quality software is a multistep process, beginning with analysis of mathematical equations, proceeding to the design of high-quality algorithms and the development of special techniques to measure algorithm reliability and efficiency, and climaxing with the preparation of software based on broadly applicable computational methods.

Toolkits for Scientific Simulation

ADIC 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. (download | documentation)
ADIFOR A tool for the automatic differentiation of Fortran 77 programs. Given a Fortran 77 source code and a user's specification of dependent and independent variables, ADIFOR will generate an augmented derivative 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. (download | documentation)
NEKCEM In the software package NEKCEM (Nekton for Computational ElectroMagnetics) the spectral element discontinuous Galerkin (SEDG) method is employed on a conformal spectral-element mesh. NEKCEM features geometric flexibility, spectrally accurate numerical convergence, and an efficient parallel implementation. (download)
NEOS Server The NEOS Server 4.0 is the first network-enabled problem-solving environment for a wide class of applications in business, science, and engineering. Included are state-of-the-art solvers in integer programming, nonlinearly constrained optimization, bound-constrained optimization, unconstrained optimization, linear programmming, stochastic linear programming, complemetarity problems, linear network optimization, semidefinite programming, and administrative programming. (documentation)
PETSc The 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. PETSc employs the MPI standard for all message-passing communication. The code is written in a data-structure-neutral manner to enable easy reuse and flexibility. PETSc has been used for a variety of large-scaled applications, including transonic flow, modeling vortex dynamics in high-temperature superconductors, parallelization of a 3D magnetostatics code, and study of compressible flows at low and transonic Mach number. (download | documentation)
TAO The Toolkit for Advanced Optimization, developed under the DOE2000 program, 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. (download | documentation)