librsb is a library for sparse matrix computations featuring the Recursive Sparse Blocks (RSB) matrix format. This format allows cache-efficient and multithreaded (that is, shared memory parallel) operations on large sparse matrices. The most common operations necessary to iterative solvers are available (matrix-vector multiplication, triangular solution, rows/columns scaling, diagonal extraction/setting, blocks extraction, norm computation, formats conversion). The RSB format is especially well-suited for symmetric and transposed multiplication variants. On these variants, librsb has been found to be faster than Intel MKL's implementation for CSR. Most numerical kernels code is auto-generated, and the supported numerical types can be chosen by the user at buildtime. librsb implements the Sparse BLAS standard, as specified in the BLAS Forum documents.
MathGL is a library for making high-quality scientific graphics under Linux and Windows, fast data plotting and handling of large data arrays, working in window and console modes, and easily embedding into other programs. It has more than 40 general types of graphics for 1d, 2d, and 3d data arrays. It can export graphics to raster and vector (EPS or SVG) formats. It has an OpenGL interface and can be used from console programs. It has functions for data handling and MGL language scripting for simplification of data plotting. It has several types of transparency and smoothed lightning, vector fonts and TeX-like formula drawing, an arbitrary curvilinear coordinate system, and many other useful things.
ESMF is software for building and coupling weather, climate, and related models. The premise is that complicated applications should be broken up into smaller pieces, or components. A component is a unit of software composition that has a coherent function, and a standard calling interface and behavior. Components can be assembled to create multiple applications, and different implementations of a component may be available.
PARAMESH is a package of Fortran 90 subroutines designed to provide an application developer with an easy route to extend an existing serial code that uses a logically Cartesian structured mesh into a parallel code with adaptive mesh refinement (AMR). Alternatively, in its simplest use, and with minimal effort, it can operate as a domain decomposition tool for users who want to parallelize their serial codes, but who do not wish to use adaptivity.
APBS is a software package for the numerical solution of the Poisson-Boltzmann equation (PBE), one of the most popular continuum models for describing electrostatic interactions between molecular solutes in salty, aqueous media. Continuum electrostatics plays an important role in several areas of biomolecular simulation, including simulation of diffusional processes to determine ligand-protein and protein-protein binding kinetics, implicit solvent molecular dynamics of biomolecules, solvation and binding energy calculations to determine ligand-protein and protein-protein equilibrium binding constants and aid in rational drug design, and biomolecular titration studies.
Parallel Three-Dimensional Fast Fourier Transforms, dubbed P3DFFT, is a library for computing 3D FFTs using 2D (pencil) decomposition. It is written using Fortran with MPI, and is tuned to work on multiple single-CPU systems (up to 32768 of them). It is built to leverage high-performance serial 1D FFT libraries, such as FFTW or ESSL.
PHAML is a parallel program for the solution of 2D elliptic partial differential equations using low or high order finite elements, adaptive mesh refinement based on newest node bisection of triangles, and multigrid. All aspects of the method are based on the hierarchical basis functions.
SUNDIALS (SUite of Nonlinear and DIfferential/ALgebraic equation Solvers) provides robust time integrators and nonlinear solvers that can easily be incorporated into existing simulation codes. It requires minimal information from the user, allow users to easily supply their own data structures underneath the solvers, and allows for easy incorporation of user-supplied linear solvers and preconditioners.
GetDP is a general finite element solver using mixed elements to discretize de Rham-type complexes in one, two, and three dimensions. The main feature of GetDP is the closeness between the input data defining discrete problems (written by the user in ASCII data files) and the symbolic mathematical expressions of these problems.