The GRASP Project has created an algorithmic-level graphical representation for software called the Control Structure Diagram (CSD). The CSD was created to improve the comprehension efficiency of Ada source code and, as a result, improve software reliability and reduce software costs. Since its creation, the CSD has been expanded and adapted to include other languages. GRASP provides the capability to generate CSD's from Ada 95, C, C++, Java, and VHDL source code in both a reverse and forward engineering mode with a level of flexibility suitable for professional application. GRASP has been integrated with the GNU family of compilers for Ada (GNAT) and C (gcc), and Sun's javac compiler for Java. Use of GRASP is not restricted to these compilers, however. This has resulted in a comprehensive graphically-based development environment for these languages. The user may view, edit, print, and compile source code as CSDs with no discernible addition to storage or computational overhead.
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.
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.
PDB2PQR is a Python software package that automates many of the common tasks of preparing structures for continuum electrostatics calculations, providing a platform-independent utility for converting protein files in PDB format to PQR format. These tasks include adding a limited number of missing heavy atoms to biomolecular structures, determining side-chain pKas, placing missing hydrogens, optimizing the protein for favorable hydrogen bonding, assigning charge and radius parameters from a variety of force fields.
Elemental is a C++ framework for distributed-memory dense linear algebra that strives to be fast, portable, and programmable. It can be thought of as a generalization of PLAPACK to element-by-element distributions that also makes use of recent algorithmic advances from the FLAME project. Elemental usually outperforms both PLAPACK and ScaLAPACK, however, it heavily relies on MPI collectives so a good MPI implementation is crucial. Both pure MPI and hybrid OpenMP-MPI configurations are supported.
The ATLAS (Automatically Tuned Linear Algebra Software) project is an ongoing research effort focusing on applying empirical techniques in order to provide portable performance. It provides C and Fortran77 interfaces to a portably efficient BLAS implementation, as well as a few routines from LAPACK.
The National Space Science Data Center's (NSSDC) Common Data Format (CDF) is a self-describing data abstraction for the storage and manipulation of multidimensional data in a platform- and discipline-independent fashion. It consists of a scientific data management package (known as the "CDF Library") that allows programmers and application developers to manage and manipulate scalar, vector, and multi-dimensional data arrays.
GetData is a library that provides an API to interface with dirfile databases. The dirfile database format is designed to provide a fast, scalable format for storing and reading binary, synchronously-sampled, time-ordered data. GetData was originally written for the BOOMERanG and BLAST experiments as a data format suitable for use for both quick-look and data reduction. It is now used by many other cosmological and astrophysical experiments including ACT, Planck, Spider, Keck, as well as other projects.
PVM (Parallel Virtual Machine) is a portable message-passing programming system, designed to link separate host machines to form a ``virtual machine'' which is a single, manageable computing resource. The virtual machine can be composed of hosts of varying types, in physically remote locations. PVM applications can be composed of any number of separate processes, or components, written in a mixture of C, C++ and Fortran. The system is portable to a wide variety of architectures, including workstations, multiprocessors, supercomputers and PCs.