Guidelines

The Einstein Toolkit is a collection of software components and tools for simulating and analyzing general relativistic astrophysical systems. Such systems include gravitational wave space-times, collisions of compact objects such as black holes or neutron stars, accretion onto compact objects, core collapse supernovae and Gamma-Ray Bursts.

The Einstein Toolkit builds on numerous software efforts in the numerical relativity community including CactusEinstein, Whisky, and Carpet. The Einstein Toolkit currently uses the Cactus Framework as the underlying computational infrastructure that provides large-scale parallelization, general computational components, and a model for collaborative, portable code development.

Guiding principles for the design and implementation of the toolkit include:

  • Open, community-driven software development that encourages the sharing of code across the community, prevents code duplication and leads to sustainable support and development of essential code.
  • Well thought out and stable interfaces between components that enable multiple implementations of physics capabilities, and allow groups or individuals to concentrate on their areas of interest.
  • Separation of physics software from computational science infrastructure so that new technologies for large scale computing, processor accelerators, or parallel I/O can be easily integrated with science codes.
  • The provision of complete working production codes to provide: prototypes, standard benchmarks and testcases; codes that are available for and usable by the general astrophysics community; tools for new researchers and groups to enter this field; training and education for a new generation of researchers.

The Toolkit includes a set of mix-and-match components (or Thorns) that support the development of codes for relativistic astrophysics. A number of full examples provide prototype, production examples of complete astrophysical codes including black hole spacetimes and relativistic hydrodynamical spacetimes.

The Einstein Toolkit uses a distributed model with its software modules either developed, distributed and supported by the core maintainers team, or by individual groups. Where modules are provided by external groups, we provide quality control for modules for inclusion in the toolkit and help coordinate support.

Through this effort we want to catalyze a consortium for the development and support for community infrastucture for relativistic astrophysics. Although currently the toolkit is based on Cactus, in the future we plan for the consortium to support other relevant community codes. In the shorter term we are building on the toolkit and interested in tools that interface with Cactus for initial data, post-processing and visualization.