Thorns we know of

From Einstein Toolkit Documentation
Jump to: navigation, search

There are more public thorns (as in has an open source license) around than just those in the Einstein Toolkit. This might be because the thorn does not satisfy our quality standards or because it is not yet clear if the thorn would be used by a number of users.

If you have thorn that you would make public and maybe entually see included in the Einstein Toolkit, you are encouraged to list it here, together with a short description of what it does. Our hope is to provide a list of (most of) the available Cactus thorns. Having a thorn listed here also makes it easier for us to estimate how much interest there is in it.

Source code repositories are vastly preferred over just source tarballs since they make it much easier for your users to contribute back changes. If you are not yourself able to host a repository you might consider one of the public source code hosters such as those listed on Wikipedia. Some of us have used GitHub in the past as well as BitBucket (but see ticket #697 for issues with it). For subversion packages the Cactus team is offering to host svn repositories for thorns for various projects, groups, or people on the Cactus subversion server.

Thorn name Description Author(s) Licence Download instructions
Boost Provides access to Boost library David Radice and Erik Schnetter Boost Software License git clone
CTGamma CTGamma is an evolution code for the Einstein equations in the 3+1 BSSN formulation. It is an alternative to using McLachlan. Some analysis thorns currently rely on functionality provided from within CTGamma. Denis Pollney Christian Reisswig Erik Schnetter Peter Diener Nils Dorband many others GPL v2+ git clone
LlamaWave (Hyperboloidal) This thorn allows to evolve the scalar wave equation in 3D in Kerr spacetimes

using Kerr-Schild coordinates which are horizon penetrating.

Michael Jasiulek, announcement GPL v2+ git clone
NRPy+ Not a thorn but a code generation tool to generate C++ code for tensor expressions. It is used by the SENR code and the Numerical Relativity in Spherical Coordinates project. There is an online tutorial (this can take a while to load and show a 404 error while loading. Just wait for it to finish.). Zach Etienne BSD 2-Clause "Simplified" License git clone
ParitySymmetry Provides parity symmetry boundary condition. That is, there is a symmetry (only) under simultaneous reflections about all coordinate directions: (x,y,z) -> (-x, -y, -z). Yosef Zlochower, Erik Schnetter GPL svn co
ReadInterpolate A FileReader like thorn that uses InterolateLocalUniform to interpolate the data read in onto the new grid. Roland Haas GPL git clone
Refluxing Reflux at mesh refinement interfaces Erik Schnetter none svn co Refluxing
SphericalSlice Provides infrastructure to interpolate grid functions onto sphere, to compute intergrals as well as IO facilities. Christian Reisswig unknown svn co
SubstepOutput Enables output of Cactus variables for each MoL intermediate step Ian Hinder GPL git clone SubstepOutput
WhiskyTHC WhiskyTHC: the General-Relativistic Templated Hydrodynamics Code David Radice GPLv3 Follow the instructions in tutorial.html in the tarball.

A large number of additional "ExternalLibraries" are available at CactusCode's subversion repository.

Thorns that have migrated into the ET

Thorn name Description Author(s) Licence Download instructions
ADMDerivatives Computes time and space derivatives of the ADMBase variables Christian Reisswig GNU In the ET since 2016_11
CT_Multilevel Cosmology: a Cactus arrangement for 3D relativistic cosmology. Eloisa Bentivegna gpl v3+ In Einstein Toolkit as of 2015_11 (Somerville) release.
IllinoisGRMHD IllinoisGRMHD employs a conservative, high-resolution shock capturing scheme to evolve the general relativistic magnetohydrodynamics (GRMHD)

equations in a dynamical spacetime context. It is based on the original code of the Illinois numerical relativity group, but has been rewritten for the benefit of beginners, with complete documentation and code comments, as well as a new, highly modular interface.

Zachariah B. Etienne GPLv2 for HARM con2prim solver, GPLv2+ for all other code In Einstein Toolkit as of 2015_11 (Somerville) release.
Llama The Llama code is a 3-dimensional multiblock infrastructure with adaptive mesh-refinement for Cactus based on Carpet. It provides different patch systems that cover the simulation domain by a set of overlapping patches. Each of these patches has local cooordinates with a well-defined relation to global Cartesian coordinates. However, all computations are carried out using a global Cartesian tensor basis such that complicated tensor transformations between patch systems can be avoided. Information between the different patches is communicated via interpolation in the overlap zones. Denis Pollney, Christian Reisswig, Erik Schnetter, Peter Diener GPL v2+ in the ET since 2016_11
Outflow Computes the flow of rest mass through a SphericalSurface, allows extra variables to be interpolated onto the surface Roland Haas, Tanja Bode GPL v2+ in the ET since 2013_05
RNSID The RNSID code of Nikolaos Stergioulas Nik Stergioulas, Tom Goodale, Roberto De Pietri, Frank Löffler GPLv2+ in the ET since 2018_02
SphericalHarmonicReconGen Computes boundary data for CCE using SphericalSlice and ADMDerivatives Christian Reisswig LGPL in the ET since 2015_11