Thorns we know of

From Einstein Toolkit Documentation
Revision as of 17:18, 3 April 2023 by Rhaas (talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
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.

For non-thorn codes, please see: Additional resources

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 https://github.com/dradice/Boost.git
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 https://bitbucket.org/llamacode/ctgamma.git
FUKAv2 (Kadath spectral solver) The Frankfurt University/Kadath (FUKA) Initial Data solver branch is a collection of ID solvers aimed at delivering consistent initial data (ID) solutions to the eXtended Conformal Thin-Sandwich (XCTS) formulation of Einstein's field

equations for a variety of compact object configurations to include extremely compact, asymmetric, and mixed spin binaries. Please see README for required citations.

L. Jens Papenfort, Samuel D. Tootle, Philippe Grandclément (README) GPLv3+ git clone git@bitbucket.org:fukaws/fuka.git
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 https://bitbucket.org/mjasiulek/llamawavehyperboloidal.git
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 https://github.com/zachetienne/nrpytutorial
NSTracker This thorn can track the location of a neutron star, e.g. to guide mesh refinement. Frank Löffler GPLv2+ git clone https://bitbucket.org/knarrff/nstracker
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 http://svn.einsteintoolkit.org/incoming/Symmetry/ParitySymmetry
Refluxing Reflux at mesh refinement interfaces. An example thorn on how to hook it up to GRHydro is provided. Erik Schnetter, David Radice none git clone https://bitbucket.org/dradice/refluxing.git
Riemann solver This exact solver can provide exact solutions for Riemann problems in relativistic MHD using both an ideal fluid EOS and a Synge-type EOS. Bruno Giacomazzo, Luciano Rezzolla Please cite: J. Fluid Mech. 562(2006), 223-259. wget --mirror --no-parent --no-host-directories https://www.brunogiacomazzo.org/ExactSolver/
SphericalSlice Provides infrastructure to interpolate grid functions onto sphere, to compute intergrals as well as IO facilities. SphericalSlice is part of Llama. Christian Reisswig GPLv2+ git clone https://bitbucket.org/llamacode/llama.git
Spritz The Spritz code is a fully general relativistic magnetohydrodynamic code based on the Einstein Toolkit. To use it please refer to its Zenodo page and then follow the instructions in the README file. Giacomazzo, Bruno; Cipolletta, Federico; Kalinany, Jay; Ciolfi, Riccardo Creative Commons Attribution 4.0 International wget https://zenodo.org/record/3689752/files/SpritzCode_v1.tar Zenodo
SubstepOutput Enables output of Cactus variables for each MoL intermediate step Ian Hinder GPL git clone https://bitbucket.org/ianhinder/substepoutput.git SubstepOutput
TempPool Creates a Pool of temporary grid variable to be used and shared by various thorn to be used as scratch for doing local computation. This thorn is part of the Parma thorns arrangement. Roberto De Pietri, Frank Loeffler GPLv2+ git clone https://bitbucket.org/GravityPR/prthorns.git
tcmalloc Uses tcmalloc to keep track of memory consumption, return memory to OS after regridding. Ian Hinder unknown git clone https://bitbucket.org/ianhinder/tcmalloc.git
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.
FishboneMoncriefID Set up Fishbone-Moncrief disk initial data, this is an example of the NRPy+ code. Zach Etienne BSD 2-Clause In the Einstien Toolkit as of 2019_10 (Mayer) release.
FLRWSolver_public Provides cosmological initial conditions for the ET. Please see (https://github.com/hayleyjm/FLRWSolver_public README) file for documentation and required citations. Paul Lasky, Hayley Macpherson, Daniel Price GPL v2+ In the Einstein Toolkit as of 2022_11 (Kowalevski) 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
ReadInterpolate A FileReader like thorn that uses InterolateLocalUniform to interpolate the data read in onto the new grid. Roland Haas GPL in the ET since ET_2020_11
RePrimAnd RePrimAnd is a support library for numerical simulations of general relativistic magnetohydrodynamics. If provides methods for recovering primitive variables like pressure and velocity from the variables evolved in quasi-conservative formulations. Further, it provides a general framework for handling matter equations of state.. Wolfgang Kastaun CC BY-NC-SA 4.0 in the ET since ET_2021_11
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