Many problems in modern astrophysics (such as the formation of stars,
planets, and moons, supernova explosions, stellar collisions, gaseous disk accretion around stars or collapsed objects, galaxy formation and the formation of large scale structure in the universe, etc) require the numerical modeling of gas dynamics in order to gain a theoretical understanding of the phenomena or to make detailed comparisons of theory with observations. In general most
research groups write their own numerical tools specialized to model the
phenomena they are interested in, and there is little sharing or reuse of such code in the community as a whole. This is in part because such code is generally written in such a specialized manner that reuse or generalization
is difficult, and also because the culture tends to encourage each researcher to do everything themselves. While there will always be a place for custom
crafted research software, many efforts could benefit from a widely available,
sufficiently flexible open sourced tool that could be adapted to their
needs.
This talk will describe the Spheral++ project, an effort at providing one
such tool. Spheral++ implements several variants of a flexible and simple
hydrodynamic algorithm (Smoothed Particle Hydrodynamics) under a steerable
interface (Python). The code itself is implemented as a set of C++ objects wrapped and accessible from Python, providing an interactive and flexible
tool for both modeling and the subsequent analysis. It is intended to be usable on modern massively parallel architectures, and thus able to model
astrophysical systems at resolutions previously impractical. Spheral++ is open source and hosted at SourceForge, and itself benefits from other open source projects (Python, Pyffle, Gnuplot, VTK, etc).