Tools and Libraries
When writing a code, an analysis tool or any other program you don't have to reinvent the wheel. There's tools and libraries that will do commonly needed tasks such as matrix calculations, grid design and management and alike.
- ATOMDB
ATOMDB is an atomic database useful for X-ray plasma spectral modeling. It provides improved spectral modeling capability through additional emission lines, accurate wavelengths for most strong X-ray transitions, and new density-dependent calculations.
- Blitz++
Blitz++ is a C++ class library for scientific computing which provides performance on par with Fortran 77/90. It uses template techniques to achieve high performance. The current versions provide dense arrays and vectors, random number generators, and small vectors and matrices. Blitz++ is distributed freely under an open source license, and contributions to the library are welcomed.
- Chombo
The Chombo package provides a set of tools for implementing finite difference methods for the solution of partial differential equations on block-structured adaptively refined rectangular grids. Both elliptic and time-dependent modules are included. Support for parallel platforms and standardized self-describing file formats are included.
- FreePOOMA
FreePOOMA is a C++ library supporting element-wise, data-parallel, and stencil-based physics computations using one or more processors. The library automatically handles all interprocessor communication, obviating the need for any explicit communication code. The library supports high-level syntax close to mathematical or algorithmic syntax (like Fortran 95), easing the conversion from algorithms to code.
FreePOOMA is based on POOMA, originally developed at Los Alamos National Laboratory (LANL) in the Advanced Computing Laboratory (ACL) which was shut down. From there POOMA migrated via CodeSourcery, LLC, to Savannah where it is hosted now as FreePOOMA.
- GSL
The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. It is free software under the GNU General Public License.
The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting. There are over 1000 functions in total with an extensive test suite.
- The Opacity Project
Opacity Project (OP) is an international collaboration that was formed in 1984 to calculate the extensive atomic data required to estimate stellar envelope opacities and to compute Rosseland mean opacities and other related quantities. It involved research groups from France, Germany, the United Kingdom, the United States and Venezuela. The approach adopted by the OP to calculate opacities is based on a new formalism of the equation of state and on the computation by ab initio methods of accurate atomic properties such as energy levels, f-values and photoionization cross sections.
-
PARAMESH is a package of Fortran 90 subroutines designed to provide an application developer with an easy route to extend an existing serial code which 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.
The package builds a hierarchy of sub-grids to cover the computational domain, with spatial resolution varying to satisfy the demands of the application. These sub-grid blocks form the nodes of a tree data-structure (quad-tree in 2D or oct-tree in 3D). Each grid block has a logically cartesian mesh.
The package supports 1, 2 and 3D models.
- POOMA
POOMA (Parallel Object-Oriented Methods and Applications) is a collection of templated C++ classes for writing parallel PDE solvers using finite-difference and particle methods (see also Overture).
POOMA programs are written at a very high-level, using data-parallel array expression in the style of HPF or at a serial level using iterators on each CPU. They can achieve high performance (comparable to Fortran) thanks to a clever compilation technique called expression templates. Moreover, they achieve true portability across serial, parallel and distributed architectures.
POOMA offers two main parameterized types, Fields and Particles, and many other supporting types.
- SPHRAY
The Smoothed Particle Hydrodynamics RAYtracer (pronounced "spray") is a Fortran 90 software suite for simulating radiative transfer on precomputed SPH density fields. SPHRAY is open source and you are free to download and modify it under the terms of the latest version of the GNU General Public License. It features hydrogen and helium ionizations, includes temperature dependent radiative transfer and supports periodic or vaccuum boundary conditions.
|
|
Last Updated ( Sunday, 02 March 2008 )
|