Download & Requirements

The Einstein Toolkit is hosted on many different machines around the world. We provide a script called GetComponents to simplify downloading the toolkit. This page just describes how to download the toolkit - you may also be interested in the Tutorial for New Users which leads you through these steps and more.

Users of the Einstein Toolkit are encouraged to register which also offers the registrant the opportunity to sign up for the users mailing list.

Main Toolkit

Cite us

If you use the Einstein Toolkit in a publication please cite the requested citations.

The development of production level scientific software, such as the components of the Einstein Toolkit, represents the academic output of researchers. These scientific contributions should be acknowledged and respected on par with those solely based in theory or experiment.

Current release: Cannon (released on December 2nd, 2024)

This is the recommended version of the toolkit for most users. See the release notes for more information.

Enter the directory on your machine in which you would like to download the ET (for example, your home directory), and type the commands listed below. This will create a directory called Cactus in which the components of the Einstein Toolkit are downloaded.

curl -kLO https://raw.githubusercontent.com/gridaphobe/CRL/ET_2024_11/GetComponents
chmod a+x GetComponents
./GetComponents --shallow https://bitbucket.org/einsteintoolkit/manifest/raw/ET_2024_11/einsteintoolkit.th

Your download may fail if the version of OpenSSL used by subversion and git is too old (older than version 1.0.1 from 2012). In this case you should update your software stack.

The SelfForce-1D code should be checked out separately from the rest of the toolkit as it is not a Cactus component. This can be done using the commands listed below.

git clone -b ET_2024_11 https://bitbucket.org/peterdiener/selfforce-1d.git SelfForce-1D

Kuibit, the Python package for post-processing and visualizing simulations, is installed with

pip install --user -U kuibit==1.5.0 # requires Python3 version 3.7 or greater

Einstein Toolkit comes with several kuibit scripts in Cactus/utils/Analysis/kuibit/examples.

Current development version

This version is under constant development and, while we try to make sure it remains bug-free, it has not been tested to the same standard as the released version.
curl -kLO https://raw.githubusercontent.com/gridaphobe/CRL/master/GetComponents
chmod a+x GetComponents
./GetComponents --no-shallow https://bitbucket.org/einsteintoolkit/manifest/raw/master/einsteintoolkit.th

And for the SelfForce-1D code.

git clone https://bitbucket.org/peterdiener/selfforce-1d.git SelfForce-1D

The last stable version of Kuibit is installed with

pip install --user -U kuibit

Past Releases

Sometimes, older releases can be useful, .e.g., if they have been used in a specific publication, and results are to be reproduced. This is why past releases of the Einstein Toolkit are being kept available. Past releases can be found here.

Requirements

The Einstein Toolkit has been tested on many different large-scale production resources and can be compiled and run on just about any laptop, workstation, cluster or supercomputer with standard HPC software installed. The main requirements are:

  • Client tools for Source Code Repositories: SVN and git (used by GetComponents)
  • Compilers: C, C++ and Fortran 90
  • MPI implementation: This is needed for the Carpet driver (the PUGH driver can be used for single core development on machines without MPI)
  • Standard development tools: Python, Perl, etc.
  • Operating System: Cactus and the Einstein Toolkit is supported on all commonly used variants of Unix (e.g. Linux, MacOSX, AIX). On Microsoft Windows machines the Einstein Toolkit can be partially used with the cygwin environment, although this is not regularly tested.
  • Suggested Tools: clang-format (9.0) for some repositories (e.g., Carpet).

Tools

The Einstein Toolkit provides more than the main toolkit. It comes with a variety of tools that might be used with the main toolkit, or also might be used stand-alone.

Simulation Factory

The Simulation Factory provides capabilities for compiling and deploying a Cactus application on machines and run simulations.

Kuibit

kuibit is a Python package for post-processing and visualizing Cactus simulations. Kuibit has its own documentation, and bug tracker.

Kranc

The Kranc package provides a means to generate new codes for Einstein Equations and other systems. Kranc is used to generate the McLachlan thorn.