Difference between revisions of "Thorns we know of"

From Einstein Toolkit Documentation
Jump to: navigation, search
(update llama code page)
(36 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
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.
 
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|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.
 
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.
Line 13: Line 15:
 
| Licence
 
| Licence
 
| Download instructions
 
| Download instructions
|-
 
| ADMDerivatives
 
| Computes time and space derivatives of the ADMBase variables
 
| Christian Reisswig
 
| GNU
 
| svn co https://svn.einsteintoolkit.org/incoming/ADMDerivatives
 
 
|-
 
|-
 
| Boost
 
| Boost
Line 24: Line 20:
 
| David Radice and Erik Schnetter
 
| David Radice and Erik Schnetter
 
| Boost Software License
 
| Boost Software License
| git clone https://github.com/dradice/Boost.git
+
| <code>git clone https://github.com/dradice/Boost.git</code>
 
|-
 
|-
 
| CTGamma
 
| CTGamma
Line 30: Line 26:
 
| Denis Pollney Christian Reisswig Erik Schnetter Peter Diener Nils Dorband many others
 
| Denis Pollney Christian Reisswig Erik Schnetter Peter Diener Nils Dorband many others
 
| GPL v2+
 
| GPL v2+
| <nowiki> git clone https://bitbucket.org/llamacode/ctgamma.git </nowiki>
+
| <code>git clone https://bitbucket.org/llamacode/ctgamma.git</code>
 +
|-
 +
| [https://bitbucket.org/fukaws/ 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 [https://bitbucket.org/fukaws/ README] for required citations.
 +
|  L. Jens Papenfort, Samuel D. Tootle, Philippe Grandclément ([https://bitbucket.org/fukaws/ README])
 +
| GPLv3+
 +
| <code>git clone git@bitbucket.org:fukaws/fuka.git</code>
 +
|-
 +
| 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, [http://lists.einsteintoolkit.org/pipermail/users/2013-July/003115.html announcement]
 +
| GPL v2+
 +
| <code>git clone https://bitbucket.org/mjasiulek/llamawavehyperboloidal.git</code>
 +
|-
 +
| [https://math.wvu.edu/~zetienne/SENR/ NRPy+]
 +
| Not a thorn but a code generation tool to generate C++ code for tensor expressions. It is used by the [https://math.wvu.edu/~zetienne/SENR/ SENR] code and the [[Numerical Relativity in Spherical Coordinates]] project. There is an [https://mybinder.org/v2/gh/zachetienne/nrpytutorial/master?filepath=NRPy%2B_Tutorial.ipynb 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
 +
| <code>git clone https://github.com/zachetienne/nrpytutorial</code>
 +
|-
 +
| [https://bitbucket.org/knarrff/nstracker NSTracker]
 +
| This thorn can track the location of a neutron star, e.g. to guide mesh refinement.
 +
| Frank Löffler
 +
|  GPLv2+
 +
| <code>git clone https://bitbucket.org/knarrff/nstracker</code>
 +
|-
 +
| 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
 +
| <code>svn co http://svn.einsteintoolkit.org/incoming/Symmetry/ParitySymmetry</code>
 +
|-
 +
| Refluxing
 +
| Reflux at mesh refinement interfaces. An example thorn on how to hook it up to GRHydro is [https://bitbucket.org/dradice/grhydro_refluxing provided].
 +
| Erik Schnetter, David Radice
 +
| none
 +
| <code>git clone https://bitbucket.org/dradice/refluxing.git</code>
 +
|-
 +
| [https://www.brunogiacomazzo.org/?page_id=395 Riemann solver]
 +
| [https://www.brunogiacomazzo.org/?page_id=395 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.
 +
| <code>wget --mirror --no-parent --no-host-directories https://www.brunogiacomazzo.org/ExactSolver/</code>
 +
|-
 +
| 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+
 +
| <code>git clone  https://bitbucket.org/llamacode/llama.git</code>
 +
|-
 +
| [https://zenodo.org/record/3689752#.Yqyq1vdlD0o 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
 +
| [https://creativecommons.org/licenses/by/4.0/legalcode Creative Commons Attribution 4.0 International]
 +
| <code> wget https://zenodo.org/record/3689752/files/SpritzCode_v1.tar</code> [https://zenodo.org/record/3689752#.Yqyq1vdlD0o Zenodo]
 +
|-
 +
| [https://bitbucket.org/ianhinder/substepoutput/overview SubstepOutput]
 +
| Enables output of Cactus variables for each MoL intermediate step
 +
| Ian Hinder
 +
| GPL
 +
| <code>git clone https://bitbucket.org/ianhinder/substepoutput.git SubstepOutput</code>
 +
|-
 +
| [https://bitbucket.org/GravityPR/prthorns/src/master/TempPool/ 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+
 +
| <code>git clone https://bitbucket.org/GravityPR/prthorns.git</code>
 +
|-
 +
| [https://bitbucket.org/ianhinder/tcmalloc tcmalloc]
 +
| Uses tcmalloc to keep track of memory consumption, return memory to OS after regridding.
 +
| Ian Hinder
 +
| unknown
 +
| <code>git clone https://bitbucket.org/ianhinder/tcmalloc.git</code>
 +
|-
 +
| [https://www.astro.princeton.edu/~dradice/whiskythc.html 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 [http://svn.cactuscode.org/ subversion repository].
 +
 
 +
 
 +
== Thorns that have migrated into the ET ==
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
| 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
 
| CT_Multilevel
Line 36: Line 131:
 
| Eloisa Bentivegna
 
| Eloisa Bentivegna
 
| gpl v3+
 
| gpl v3+
| <nowiki> git clone https://bitbucket.org/eloisa/cosmology.git </nowiki>
+
| In Einstein Toolkit as of 2015_11 (Somerville) release.
 
|-
 
|-
| IllinoisGRMHD
+
| FishboneMoncriefID
| IllinoisGRMHD employs a conservative, high-resolution shock capturing
+
| Set up Fishbone-Moncrief disk initial data, this is an example of the NRPy+ code.
scheme to evolve the general relativistic magnetohydrodynamics (GRMHD)
+
| Zach Etienne
equations in a dynamical spacetime context. It is based on the
+
| BSD 2-Clause
original code of the Illinois numerical relativity group, but has been
+
| In the Einstien Toolkit as of 2019_10 (Mayer) release.
rewritten for the benefit of beginners, with complete documentation
+
|-
and code comments, as well as a new, highly modular interface.
+
| 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.
 +
|-
 +
| [http://math.wvu.edu/~zetienne/ILGRMHD/ 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
 
| Zachariah B. Etienne
| unknown
+
| GPLv2 for HARM con2prim solver, GPLv2+ for all other code
| <nowiki> svn co https://svn.einsteintoolkit.org/cactus/EinsteinEvolve/IllinoisGRMHD/trunk/ </nowiki>
+
| In Einstein Toolkit as of 2015_11 (Somerville) release.
 
|-
 
|-
| [http://llamacode.bitbucket.org/ Llama]
+
| [http://llamacode.bitbucket.io/ 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.
 
| 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
 
| Denis Pollney, Christian Reisswig, Erik Schnetter, Peter Diener
 
| GPL v2+
 
| GPL v2+
| git clone https://bitbucket.org/llamacode/llama.git Llama
+
| in the ET since 2016_11
|-
 
| 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, [http://lists.einsteintoolkit.org/pipermail/users/2013-July/003115.html announcement]
 
| GPL v2+
 
| git clone https://bitbucket.org/mjasiulek/llamawavehyperboloidal.git
 
 
|-
 
|-
 
| Outflow
 
| Outflow
Line 68: Line 165:
 
| in the ET since 2013_05
 
| in the ET since 2013_05
 
|-
 
|-
| ParitySymmetry
+
| ReadInterpolate
| Provides parity symmetry boundary condition. That is, there is a symmetry (only) under simulatneous reflections about all coordinate directions: (x,y,z) -> (-x, -y, -z).
+
| A FileReader like thorn that uses InterolateLocalUniform to interpolate the data read in onto the new grid.
| Yosef Zlochower, Erik Schnetter
+
| Roland Haas
 
| GPL
 
| GPL
| svn co http://svn.einsteintoolkit.org/incoming/Symmetry/ParitySymmetry
+
| 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
 +
| [http://creativecommons.org/licenses/by-nc-sa/4.0/ CC BY-NC-SA] 4.0
 +
| in the ET since ET_2021_11
 +
|-
 +
| [https://bitbucket.org/einsteintoolkit/einsteininitialdata/pull-requests/3/new-initial-data-thorn-for-grhydro/diff RNSID]
 +
| The RNSID code of [http://www.astro.auth.gr/n/?p=members&u=4 Nikolaos Stergioulas]
 +
| Nik Stergioulas, Tom Goodale, Roberto De Pietri, Frank Löffler
 +
| GPLv2+
 +
| in the ET since 2018_02
 
|-
 
|-
 
| SphericalHarmonicReconGen
 
| SphericalHarmonicReconGen
 
| Computes boundary data for CCE using SphericalSlice and ADMDerivatives
 
| Computes boundary data for CCE using SphericalSlice and ADMDerivatives
 
| Christian Reisswig
 
| Christian Reisswig
| unknown
+
| LGPL
| svn co https://svn.einsteintoolkit.org/incoming/PITTNullCode/SphericalHarmonicReconGen/
+
| in the ET since 2015_11
|-
 
| SphericalSlice
 
| Provides infrastructure to interpolate grid functions onto sphere, to compute intergrals as well as IO facilities.
 
| Christian Reisswig
 
| unknown
 
| svn co https://svn.einsteintoolkit.org/incoming/SphericalSlice
 
|-
 
| [https://bitbucket.org/ianhinder/substepoutput/overview SubstepOutput]
 
| Enables output of Cactus variables for each MoL intermediate step
 
| Ian Hinder
 
| GPL
 
| <nowiki>git clone https://bitbucket.org/ianhinder/substepoutput.git SubstepOutput</nowiki>
 
 
|-
 
|-
 
|}
 
|}

Revision as of 17:18, 3 April 2023

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