<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.einsteintoolkit.org/et-docs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lsanches</id>
	<title>Einstein Toolkit Documentation - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.einsteintoolkit.org/et-docs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lsanches"/>
	<link rel="alternate" type="text/html" href="https://docs.einsteintoolkit.org/et-docs/Special:Contributions/Lsanches"/>
	<updated>2026-08-19T13:35:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://docs.einsteintoolkit.org/et-docs/index.php?title=Choosing_a_Driver&amp;diff=9016</id>
		<title>Choosing a Driver</title>
		<link rel="alternate" type="text/html" href="https://docs.einsteintoolkit.org/et-docs/index.php?title=Choosing_a_Driver&amp;diff=9016"/>
		<updated>2026-08-19T01:54:13Z</updated>

		<summary type="html">&lt;p&gt;Lsanches: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float: right; margin: 0 0 1em 1em; width: 200px;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background: #f2f2f2; text-align: center;&amp;quot; | Contents&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[#Carpet Vs. CarpetX in time|Carpet Vs. CarpetX]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[#Basic CarpetX, no subcycling in time|Basic CarpetX, no subcycling in time]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[#CarpetX with subcycling in time|CarpetX with subcycling in time]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Carpet Vs. CarpetX ==&lt;br /&gt;
&lt;br /&gt;
Currently there are two production drivers in the Einstein Toolkit: Carpet and CarpetX. &lt;br /&gt;
&lt;br /&gt;
Carpet is a CPU based Adaptive Mesh Refinement (AMR) framework that has been a part of the Einstein Toolkit since 2006. It has seen extensive production use and should work out of the box when you get an official release of the Einstein Toolkit. If you are using Carpet, please see the official download and install instructions [https://einsteintoolkit.org/download.html here]. &lt;br /&gt;
&lt;br /&gt;
CarpetX is a new AMR driver capable of running on CPUs and GPUs. The driver itself is ready for production use and is also a part of the Einstein Toolkit. However, when using CarpetX, a number of thorns that are required for fully featured numerical relativity simulations are not included in the official release. This requires a different thornlist(s) depending on which features are desired. This is because either thorns are still in development phase or some existing Carpet thorns are not compatible with CarpetX (yet). &lt;br /&gt;
&lt;br /&gt;
For this reason, we are presenting a collection of thornlists for checking out various components required for fully featured simulations. This is a temporary solution and, in the future, such thornlists are expected to be no longer necessary once CarpetX thorns are included in the official release.&lt;br /&gt;
&lt;br /&gt;
== Basic CarpetX, no subcycling in time ==&lt;br /&gt;
&lt;br /&gt;
This thornlist provides a basic Cactus checkout, with CarpetX, and its required external libraries. It also includes:&lt;br /&gt;
&lt;br /&gt;
# Spacetime evolution codes (CanudaX, Cottonmouth, Z4c)&lt;br /&gt;
# Spacetime evolution utilities (Initial data, puncture tracking, apparent horizon finding)&lt;br /&gt;
# GRMHD evolution code AsterX&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# A basic Component list for the Einstein Toolkit &amp;lt;http://einsteintoolkit.org/&amp;gt;&lt;br /&gt;
# using CarpetX &amp;lt;https://github.com/EinsteinToolkit/CarpetX&amp;gt;&lt;br /&gt;
# $Revision$&lt;br /&gt;
# $Date$&lt;br /&gt;
# $HeadURL$&lt;br /&gt;
&lt;br /&gt;
!CRL_VERSION = 1.0&lt;br /&gt;
&lt;br /&gt;
!DEFINE ROOT = Cactus&lt;br /&gt;
!DEFINE ARR  = $ROOT/arrangements&lt;br /&gt;
!DEFINE COMPONENTLIST_TARGET = $ROOT/thornlists/&lt;br /&gt;
&lt;br /&gt;
# Cactus Flesh&lt;br /&gt;
!TARGET   = $ROOT&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactus.git&lt;br /&gt;
!NAME     = flesh&lt;br /&gt;
!CHECKOUT = .clang-format CONTRIBUTORS COPYRIGHT doc lib Makefile README.md src&lt;br /&gt;
&lt;br /&gt;
# Simulation Factory&lt;br /&gt;
!TARGET   = $ROOT&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/simfactory/simfactory2.git&lt;br /&gt;
!REPO_PATH = $1&lt;br /&gt;
!NAME     = simfactory2&lt;br /&gt;
!CHECKOUT = ./simfactory&lt;br /&gt;
&lt;br /&gt;
# Various Cactus utilities&lt;br /&gt;
!TARGET   = $ROOT/utils&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/utilities.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = ./ParameterFiles ./Scripts ./Syntax&lt;br /&gt;
&lt;br /&gt;
# The GetComponents script&lt;br /&gt;
!TARGET   = $ROOT/bin&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/gridaphobe/CRL.git&lt;br /&gt;
!CHECKOUT = GetComponents&lt;br /&gt;
&lt;br /&gt;
# CactusDoc thorns&lt;br /&gt;
!TARGET   = $ARR/CactusDoc&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/coredoc.git&lt;br /&gt;
!NAME     = CoreDoc&lt;br /&gt;
!REPO_PATH = $1&lt;br /&gt;
!CHECKOUT = ./CoreDoc&lt;br /&gt;
&lt;br /&gt;
# CactusBase thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactusbase.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CactusBase/Boundary&lt;br /&gt;
CactusBase/CoordBase&lt;br /&gt;
CactusBase/Fortran&lt;br /&gt;
CactusBase/InitBase&lt;br /&gt;
CactusBase/IOUtil&lt;br /&gt;
CactusBase/SymBase&lt;br /&gt;
CactusBase/Time&lt;br /&gt;
&lt;br /&gt;
# CactusTest thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactustest.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = CactusTest/TestAllTypes&lt;br /&gt;
CactusTest/TestArrays&lt;br /&gt;
CactusTest/TestComplex&lt;br /&gt;
CactusTest/TestCoordinates&lt;br /&gt;
CactusTest/TestFortranCrayPointers&lt;br /&gt;
CactusTest/TestFortranDependencies1&lt;br /&gt;
CactusTest/TestFortranDependencies2&lt;br /&gt;
CactusTest/TestFpointerNULL&lt;br /&gt;
CactusTest/TestFreeF90&lt;br /&gt;
CactusTest/TestInclude1&lt;br /&gt;
CactusTest/TestInclude2&lt;br /&gt;
CactusTest/TestMath&lt;br /&gt;
CactusTest/TestPar&lt;br /&gt;
CactusTest/TestReduce&lt;br /&gt;
CactusTest/TestSchedule&lt;br /&gt;
CactusTest/TestStrings&lt;br /&gt;
CactusTest/TestTable&lt;br /&gt;
CactusTest/TestTimers&lt;br /&gt;
CactusTest/TestTypes&lt;br /&gt;
&lt;br /&gt;
# CactusUtils thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactusutils.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = CactusUtils/Accelerator CactusUtils/OpenCLRunTime&lt;br /&gt;
CactusUtils/Formaline&lt;br /&gt;
CactusUtils/MemSpeed&lt;br /&gt;
CactusUtils/NaNCatcher&lt;br /&gt;
CactusUtils/Nice&lt;br /&gt;
CactusUtils/NoMPI&lt;br /&gt;
CactusUtils/SystemStatistics&lt;br /&gt;
CactusUtils/SystemTopology&lt;br /&gt;
CactusUtils/TerminationTrigger&lt;br /&gt;
CactusUtils/TimerReport&lt;br /&gt;
CactusUtils/Trigger&lt;br /&gt;
CactusUtils/Vectors&lt;br /&gt;
CactusUtils/WatchDog&lt;br /&gt;
&lt;br /&gt;
# Additional Cactus thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/$1-$2&lt;br /&gt;
!REPO_PATH = ../$1-$2&lt;br /&gt;
!CHECKOUT = ExternalLibraries/OpenBLAS ExternalLibraries/OpenCL ExternalLibraries/pciutils ExternalLibraries/PETSc&lt;br /&gt;
ExternalLibraries/ADIOS2&lt;br /&gt;
ExternalLibraries/AMReX&lt;br /&gt;
ExternalLibraries/BLAS&lt;br /&gt;
ExternalLibraries/Boost&lt;br /&gt;
ExternalLibraries/FFTW3&lt;br /&gt;
ExternalLibraries/GSL&lt;br /&gt;
ExternalLibraries/HDF5&lt;br /&gt;
ExternalLibraries/hwloc&lt;br /&gt;
ExternalLibraries/LAPACK&lt;br /&gt;
ExternalLibraries/libjpeg&lt;br /&gt;
ExternalLibraries/LORENE&lt;br /&gt;
ExternalLibraries/MPI&lt;br /&gt;
ExternalLibraries/NSIMD&lt;br /&gt;
ExternalLibraries/openPMD&lt;br /&gt;
ExternalLibraries/OpenSSL&lt;br /&gt;
ExternalLibraries/PAPI&lt;br /&gt;
ExternalLibraries/pthreads&lt;br /&gt;
ExternalLibraries/Silo&lt;br /&gt;
ExternalLibraries/ssht&lt;br /&gt;
ExternalLibraries/yaml_cpp&lt;br /&gt;
ExternalLibraries/zlib&lt;br /&gt;
&lt;br /&gt;
# Kuibit post-processing tools for simulations&lt;br /&gt;
!TARGET   = $ROOT/utils/Analysis&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/Sbozzolo/kuibit&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = kuibit/docs kuibit/examples kuibit/kuibit kuibit/LICENSE kuibit/README.md&lt;br /&gt;
&lt;br /&gt;
# Numerical&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/numerical.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
Numerical/AEILocalInterp&lt;br /&gt;
&lt;br /&gt;
# CarpetX thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/CarpetX.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CarpetX/ADMBaseX&lt;br /&gt;
CarpetX/Algo&lt;br /&gt;
CarpetX/Arith&lt;br /&gt;
CarpetX/BoxInBox&lt;br /&gt;
CarpetX/CarpetX&lt;br /&gt;
CarpetX/CarpetXRegrid&lt;br /&gt;
CarpetX/CoordinatesX&lt;br /&gt;
CarpetX/Derivs&lt;br /&gt;
CarpetX/ErrorEstimator&lt;br /&gt;
CarpetX/FluxWaveToyX&lt;br /&gt;
CarpetX/HydroBaseX&lt;br /&gt;
CarpetX/Loop&lt;br /&gt;
CarpetX/MovingBoxToy&lt;br /&gt;
CarpetX/ODESolvers&lt;br /&gt;
CarpetX/PDESolvers&lt;br /&gt;
CarpetX/ParticlesX&lt;br /&gt;
CarpetX/PoissonX&lt;br /&gt;
CarpetX/SIMDWaveToyX&lt;br /&gt;
CarpetX/SpacetimeWaveToyX&lt;br /&gt;
CarpetX/StaggeredWaveToyX&lt;br /&gt;
CarpetX/TestArrayGroup&lt;br /&gt;
CarpetX/TestBoundaries&lt;br /&gt;
CarpetX/TestBoxInBox&lt;br /&gt;
CarpetX/TestDerivs&lt;br /&gt;
CarpetX/TestInterpolate&lt;br /&gt;
CarpetX/TestLoopX&lt;br /&gt;
CarpetX/TestNorms&lt;br /&gt;
CarpetX/TestODESolvers&lt;br /&gt;
CarpetX/TestODESolvers2&lt;br /&gt;
CarpetX/TestOutput&lt;br /&gt;
CarpetX/TestProlongate&lt;br /&gt;
CarpetX/TestSymmetries&lt;br /&gt;
CarpetX/TmunuBaseX&lt;br /&gt;
CarpetX/VGFWaveToyX&lt;br /&gt;
CarpetX/WaveToyX&lt;br /&gt;
&lt;br /&gt;
# SpacetimeX thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/SpacetimeX.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
SpacetimeX/AHFinderDirect&lt;br /&gt;
SpacetimeX/BrillLindquist&lt;br /&gt;
SpacetimeX/Cowling&lt;br /&gt;
SpacetimeX/KerrSchildX&lt;br /&gt;
SpacetimeX/Multipole&lt;br /&gt;
SpacetimeX/NewRadX&lt;br /&gt;
SpacetimeX/PunctureTracker&lt;br /&gt;
SpacetimeX/Punctures&lt;br /&gt;
SpacetimeX/SphericalHarmonics&lt;br /&gt;
SpacetimeX/SphericalSurface&lt;br /&gt;
SpacetimeX/StaticTrumpet&lt;br /&gt;
SpacetimeX/TestNewRadX&lt;br /&gt;
SpacetimeX/TwoPuncturesX&lt;br /&gt;
SpacetimeX/Weyl&lt;br /&gt;
SpacetimeX/WeylScal4&lt;br /&gt;
SpacetimeX/Z4c&lt;br /&gt;
&lt;br /&gt;
# Canuda -- CanudaX&lt;br /&gt;
!TARGET    = $ARR&lt;br /&gt;
!TYPE      = git&lt;br /&gt;
!URL       = https://bitbucket.org/canuda/canudax.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CanudaX/CanudaX_BSSNMoL&lt;br /&gt;
CanudaX/CanudaX_ExactID&lt;br /&gt;
CanudaX/CanudaX_NPScalars&lt;br /&gt;
&lt;br /&gt;
# Cottonmouth&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/Cottonmouth.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
Cottonmouth/CottonmouthBSSNOK4m&lt;br /&gt;
Cottonmouth/CottonmouthGaugeWaveID&lt;br /&gt;
Cottonmouth/CottonmouthLinearWaveID&lt;br /&gt;
Cottonmouth/CottonmouthZ4c4m&lt;br /&gt;
&lt;br /&gt;
# AsterX&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/AsterX.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
AsterX/AsterAnalysis&lt;br /&gt;
AsterX/AsterMasks&lt;br /&gt;
AsterX/AsterSeeds&lt;br /&gt;
AsterX/AsterUtils&lt;br /&gt;
AsterX/AsterX&lt;br /&gt;
AsterX/Con2PrimFactory&lt;br /&gt;
AsterX/EOSX&lt;br /&gt;
AsterX/ReconX&lt;br /&gt;
AsterX/TOVSolverX&lt;br /&gt;
AsterX/FishboneMoncriefIDX&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CarpetX with subcycling in time ==&lt;br /&gt;
TODO&lt;/div&gt;</summary>
		<author><name>Lsanches</name></author>
		
	</entry>
	<entry>
		<id>https://docs.einsteintoolkit.org/et-docs/index.php?title=Choosing_a_Driver&amp;diff=9015</id>
		<title>Choosing a Driver</title>
		<link rel="alternate" type="text/html" href="https://docs.einsteintoolkit.org/et-docs/index.php?title=Choosing_a_Driver&amp;diff=9015"/>
		<updated>2026-08-19T01:52:56Z</updated>

		<summary type="html">&lt;p&gt;Lsanches: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float: right; margin: 0 0 1em 1em; width: 200px;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background: #f2f2f2; text-align: center;&amp;quot; | Contents&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[#Carpet Vs. CarpetX in time|Carpet Vs. CarpetX]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[#Basic CarpetX, no subcycling in time|Basic CarpetX, no subcycling in time]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[#CarpetX with subcycling in time|CarpetX with subcycling in time]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Carpet Vs. CarpetX ==&lt;br /&gt;
&lt;br /&gt;
Currently there are two production drivers in the Einstein Toolkit: Carpet and CarpetX. &lt;br /&gt;
&lt;br /&gt;
Carpet is a CPU based Adaptive Mesh Refinement (AMR) framework that has been a part of the Einstein Toolkit since 2006. It has seen extensive production use and should work out of the box when you get an official release of the Einstein Toolkit. If you are using Carpet, please see the official download and install instructions [https://einsteintoolkit.org/download.html here]. &lt;br /&gt;
&lt;br /&gt;
CarpetX is a new AMR driver capable of running on CPUs and GPUs. The driver itself is ready for production use and is also a part of the Einstein Toolkit. However, when using CarpetX, a number of thorns that are required for fully featured numerical relativity simulations are not included in the official release. This requires a different thornlist(s) depending on which features are desired. This is because either thorns are still in development phase or some existing Carpet thorns are not compatible with CarpetX (yet). &lt;br /&gt;
&lt;br /&gt;
For this reason, we are presenting a collection of thornlists for checking out various components required for fully featured simulations. This is a temporary solution and, in the future, such thornlists are expected to be no longer necessary once CarpetX thorns are included in the official release.&lt;br /&gt;
&lt;br /&gt;
== Basic CarpetX, no subcycling in time ==&lt;br /&gt;
&lt;br /&gt;
This thornlist provides a basic cactus checkout, with CarpetX, and its required external libraries. It also includes:&lt;br /&gt;
&lt;br /&gt;
# Spacetime evolution codes (CanudaX, Cottonmouth, Z4c)&lt;br /&gt;
# Spacetime evolution utilities (Initial data, puncture tracking, apparent horizon finding)&lt;br /&gt;
# GRMHD evolution code AsterX&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# A basic Component list for the Einstein Toolkit &amp;lt;http://einsteintoolkit.org/&amp;gt;&lt;br /&gt;
# using CarpetX &amp;lt;https://github.com/EinsteinToolkit/CarpetX&amp;gt;&lt;br /&gt;
# $Revision$&lt;br /&gt;
# $Date$&lt;br /&gt;
# $HeadURL$&lt;br /&gt;
&lt;br /&gt;
!CRL_VERSION = 1.0&lt;br /&gt;
&lt;br /&gt;
!DEFINE ROOT = Cactus&lt;br /&gt;
!DEFINE ARR  = $ROOT/arrangements&lt;br /&gt;
!DEFINE COMPONENTLIST_TARGET = $ROOT/thornlists/&lt;br /&gt;
&lt;br /&gt;
# Cactus Flesh&lt;br /&gt;
!TARGET   = $ROOT&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactus.git&lt;br /&gt;
!NAME     = flesh&lt;br /&gt;
!CHECKOUT = .clang-format CONTRIBUTORS COPYRIGHT doc lib Makefile README.md src&lt;br /&gt;
&lt;br /&gt;
# Simulation Factory&lt;br /&gt;
!TARGET   = $ROOT&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/simfactory/simfactory2.git&lt;br /&gt;
!REPO_PATH = $1&lt;br /&gt;
!NAME     = simfactory2&lt;br /&gt;
!CHECKOUT = ./simfactory&lt;br /&gt;
&lt;br /&gt;
# Various Cactus utilities&lt;br /&gt;
!TARGET   = $ROOT/utils&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/utilities.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = ./ParameterFiles ./Scripts ./Syntax&lt;br /&gt;
&lt;br /&gt;
# The GetComponents script&lt;br /&gt;
!TARGET   = $ROOT/bin&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/gridaphobe/CRL.git&lt;br /&gt;
!CHECKOUT = GetComponents&lt;br /&gt;
&lt;br /&gt;
# CactusDoc thorns&lt;br /&gt;
!TARGET   = $ARR/CactusDoc&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/coredoc.git&lt;br /&gt;
!NAME     = CoreDoc&lt;br /&gt;
!REPO_PATH = $1&lt;br /&gt;
!CHECKOUT = ./CoreDoc&lt;br /&gt;
&lt;br /&gt;
# CactusBase thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactusbase.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CactusBase/Boundary&lt;br /&gt;
CactusBase/CoordBase&lt;br /&gt;
CactusBase/Fortran&lt;br /&gt;
CactusBase/InitBase&lt;br /&gt;
CactusBase/IOUtil&lt;br /&gt;
CactusBase/SymBase&lt;br /&gt;
CactusBase/Time&lt;br /&gt;
&lt;br /&gt;
# CactusTest thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactustest.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = CactusTest/TestAllTypes&lt;br /&gt;
CactusTest/TestArrays&lt;br /&gt;
CactusTest/TestComplex&lt;br /&gt;
CactusTest/TestCoordinates&lt;br /&gt;
CactusTest/TestFortranCrayPointers&lt;br /&gt;
CactusTest/TestFortranDependencies1&lt;br /&gt;
CactusTest/TestFortranDependencies2&lt;br /&gt;
CactusTest/TestFpointerNULL&lt;br /&gt;
CactusTest/TestFreeF90&lt;br /&gt;
CactusTest/TestInclude1&lt;br /&gt;
CactusTest/TestInclude2&lt;br /&gt;
CactusTest/TestMath&lt;br /&gt;
CactusTest/TestPar&lt;br /&gt;
CactusTest/TestReduce&lt;br /&gt;
CactusTest/TestSchedule&lt;br /&gt;
CactusTest/TestStrings&lt;br /&gt;
CactusTest/TestTable&lt;br /&gt;
CactusTest/TestTimers&lt;br /&gt;
CactusTest/TestTypes&lt;br /&gt;
&lt;br /&gt;
# CactusUtils thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactusutils.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = CactusUtils/Accelerator CactusUtils/OpenCLRunTime&lt;br /&gt;
CactusUtils/Formaline&lt;br /&gt;
CactusUtils/MemSpeed&lt;br /&gt;
CactusUtils/NaNCatcher&lt;br /&gt;
CactusUtils/Nice&lt;br /&gt;
CactusUtils/NoMPI&lt;br /&gt;
CactusUtils/SystemStatistics&lt;br /&gt;
CactusUtils/SystemTopology&lt;br /&gt;
CactusUtils/TerminationTrigger&lt;br /&gt;
CactusUtils/TimerReport&lt;br /&gt;
CactusUtils/Trigger&lt;br /&gt;
CactusUtils/Vectors&lt;br /&gt;
CactusUtils/WatchDog&lt;br /&gt;
&lt;br /&gt;
# Additional Cactus thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/$1-$2&lt;br /&gt;
!REPO_PATH = ../$1-$2&lt;br /&gt;
!CHECKOUT = ExternalLibraries/OpenBLAS ExternalLibraries/OpenCL ExternalLibraries/pciutils ExternalLibraries/PETSc&lt;br /&gt;
ExternalLibraries/ADIOS2&lt;br /&gt;
ExternalLibraries/AMReX&lt;br /&gt;
ExternalLibraries/BLAS&lt;br /&gt;
ExternalLibraries/Boost&lt;br /&gt;
ExternalLibraries/FFTW3&lt;br /&gt;
ExternalLibraries/GSL&lt;br /&gt;
ExternalLibraries/HDF5&lt;br /&gt;
ExternalLibraries/hwloc&lt;br /&gt;
ExternalLibraries/LAPACK&lt;br /&gt;
ExternalLibraries/libjpeg&lt;br /&gt;
ExternalLibraries/LORENE&lt;br /&gt;
ExternalLibraries/MPI&lt;br /&gt;
ExternalLibraries/NSIMD&lt;br /&gt;
ExternalLibraries/openPMD&lt;br /&gt;
ExternalLibraries/OpenSSL&lt;br /&gt;
ExternalLibraries/PAPI&lt;br /&gt;
ExternalLibraries/pthreads&lt;br /&gt;
ExternalLibraries/Silo&lt;br /&gt;
ExternalLibraries/ssht&lt;br /&gt;
ExternalLibraries/yaml_cpp&lt;br /&gt;
ExternalLibraries/zlib&lt;br /&gt;
&lt;br /&gt;
# Kuibit post-processing tools for simulations&lt;br /&gt;
!TARGET   = $ROOT/utils/Analysis&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/Sbozzolo/kuibit&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = kuibit/docs kuibit/examples kuibit/kuibit kuibit/LICENSE kuibit/README.md&lt;br /&gt;
&lt;br /&gt;
# Numerical&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/numerical.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
Numerical/AEILocalInterp&lt;br /&gt;
&lt;br /&gt;
# CarpetX thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/CarpetX.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CarpetX/ADMBaseX&lt;br /&gt;
CarpetX/Algo&lt;br /&gt;
CarpetX/Arith&lt;br /&gt;
CarpetX/BoxInBox&lt;br /&gt;
CarpetX/CarpetX&lt;br /&gt;
CarpetX/CarpetXRegrid&lt;br /&gt;
CarpetX/CoordinatesX&lt;br /&gt;
CarpetX/Derivs&lt;br /&gt;
CarpetX/ErrorEstimator&lt;br /&gt;
CarpetX/FluxWaveToyX&lt;br /&gt;
CarpetX/HydroBaseX&lt;br /&gt;
CarpetX/Loop&lt;br /&gt;
CarpetX/MovingBoxToy&lt;br /&gt;
CarpetX/ODESolvers&lt;br /&gt;
CarpetX/PDESolvers&lt;br /&gt;
CarpetX/ParticlesX&lt;br /&gt;
CarpetX/PoissonX&lt;br /&gt;
CarpetX/SIMDWaveToyX&lt;br /&gt;
CarpetX/SpacetimeWaveToyX&lt;br /&gt;
CarpetX/StaggeredWaveToyX&lt;br /&gt;
CarpetX/TestArrayGroup&lt;br /&gt;
CarpetX/TestBoundaries&lt;br /&gt;
CarpetX/TestBoxInBox&lt;br /&gt;
CarpetX/TestDerivs&lt;br /&gt;
CarpetX/TestInterpolate&lt;br /&gt;
CarpetX/TestLoopX&lt;br /&gt;
CarpetX/TestNorms&lt;br /&gt;
CarpetX/TestODESolvers&lt;br /&gt;
CarpetX/TestODESolvers2&lt;br /&gt;
CarpetX/TestOutput&lt;br /&gt;
CarpetX/TestProlongate&lt;br /&gt;
CarpetX/TestSymmetries&lt;br /&gt;
CarpetX/TmunuBaseX&lt;br /&gt;
CarpetX/VGFWaveToyX&lt;br /&gt;
CarpetX/WaveToyX&lt;br /&gt;
&lt;br /&gt;
# SpacetimeX thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/SpacetimeX.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
SpacetimeX/AHFinderDirect&lt;br /&gt;
SpacetimeX/BrillLindquist&lt;br /&gt;
SpacetimeX/Cowling&lt;br /&gt;
SpacetimeX/KerrSchildX&lt;br /&gt;
SpacetimeX/Multipole&lt;br /&gt;
SpacetimeX/NewRadX&lt;br /&gt;
SpacetimeX/PunctureTracker&lt;br /&gt;
SpacetimeX/Punctures&lt;br /&gt;
SpacetimeX/SphericalHarmonics&lt;br /&gt;
SpacetimeX/SphericalSurface&lt;br /&gt;
SpacetimeX/StaticTrumpet&lt;br /&gt;
SpacetimeX/TestNewRadX&lt;br /&gt;
SpacetimeX/TwoPuncturesX&lt;br /&gt;
SpacetimeX/Weyl&lt;br /&gt;
SpacetimeX/WeylScal4&lt;br /&gt;
SpacetimeX/Z4c&lt;br /&gt;
&lt;br /&gt;
# Canuda -- CanudaX&lt;br /&gt;
!TARGET    = $ARR&lt;br /&gt;
!TYPE      = git&lt;br /&gt;
!URL       = https://bitbucket.org/canuda/canudax.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CanudaX/CanudaX_BSSNMoL&lt;br /&gt;
CanudaX/CanudaX_ExactID&lt;br /&gt;
CanudaX/CanudaX_NPScalars&lt;br /&gt;
&lt;br /&gt;
# Cottonmouth&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/Cottonmouth.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
Cottonmouth/CottonmouthBSSNOK4m&lt;br /&gt;
Cottonmouth/CottonmouthGaugeWaveID&lt;br /&gt;
Cottonmouth/CottonmouthLinearWaveID&lt;br /&gt;
Cottonmouth/CottonmouthZ4c4m&lt;br /&gt;
&lt;br /&gt;
# AsterX&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/AsterX.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
AsterX/AsterAnalysis&lt;br /&gt;
AsterX/AsterMasks&lt;br /&gt;
AsterX/AsterSeeds&lt;br /&gt;
AsterX/AsterUtils&lt;br /&gt;
AsterX/AsterX&lt;br /&gt;
AsterX/Con2PrimFactory&lt;br /&gt;
AsterX/EOSX&lt;br /&gt;
AsterX/ReconX&lt;br /&gt;
AsterX/TOVSolverX&lt;br /&gt;
AsterX/FishboneMoncriefIDX&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CarpetX with subcycling in time ==&lt;br /&gt;
TODO&lt;/div&gt;</summary>
		<author><name>Lsanches</name></author>
		
	</entry>
	<entry>
		<id>https://docs.einsteintoolkit.org/et-docs/index.php?title=Choosing_a_Driver&amp;diff=9014</id>
		<title>Choosing a Driver</title>
		<link rel="alternate" type="text/html" href="https://docs.einsteintoolkit.org/et-docs/index.php?title=Choosing_a_Driver&amp;diff=9014"/>
		<updated>2026-08-19T01:51:54Z</updated>

		<summary type="html">&lt;p&gt;Lsanches: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float: right; margin: 0 0 1em 1em; width: 200px;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background: #f2f2f2; text-align: center;&amp;quot; | Contents&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[#Carpet Vs. CarpetX in time|Carpet Vs. CarpetX]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[#Basic CarpetX, no subcycling in time|Basic CarpetX, no subcycling in time]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[#CarpetX with subcycling in time|CarpetX with subcycling in time]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Carpet Vs. CarpetX ==&lt;br /&gt;
&lt;br /&gt;
Currently there are two production drivers in the Einstein Toolkit: Carpet and CarpetX. &lt;br /&gt;
&lt;br /&gt;
Carpet is a CPU based Adaptive Mesh Refinement (AMR) framework that has been a part of the Einstein Toolkit since 2006. It has seen extensive production use and should work out of the box when you get an official release of the Einstein Toolkit. If you are using Carpet, please see the official download and install instructions [https://einsteintoolkit.org/download.html here]. &lt;br /&gt;
&lt;br /&gt;
CarpetX is a new AMR driver capable of running on CPUs and GPUs. It is ready for production use and is also a part of the Einstein Toolkit. However, when using CarpetX, a number of thorns that are required for fully featured numerical relativity simulations are not included in the official release. This requires a different thornlist(s) depending on which features are desired. This is because either thorns are still in development phase or some existing Carpet thorns are not compatible with CarpetX (yet). &lt;br /&gt;
&lt;br /&gt;
For this reason, we are presenting a collection of thornlists for checking out various components required for fully featured simulations. This is a temporary solution and, in the future, such thornlists are expected to be no longer necessary once CarpetX thorns are included in the official release.&lt;br /&gt;
&lt;br /&gt;
== Basic CarpetX, no subcycling in time ==&lt;br /&gt;
&lt;br /&gt;
This thornlist provides a basic cactus checkout, with CarpetX, and its required external libraries. It also includes:&lt;br /&gt;
&lt;br /&gt;
# Spacetime evolution codes (CanudaX, Cottonmouth, Z4c)&lt;br /&gt;
# Spacetime evolution utilities (Initial data, puncture tracking, apparent horizon finding)&lt;br /&gt;
# GRMHD evolution code AsterX&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# A basic Component list for the Einstein Toolkit &amp;lt;http://einsteintoolkit.org/&amp;gt;&lt;br /&gt;
# using CarpetX &amp;lt;https://github.com/EinsteinToolkit/CarpetX&amp;gt;&lt;br /&gt;
# $Revision$&lt;br /&gt;
# $Date$&lt;br /&gt;
# $HeadURL$&lt;br /&gt;
&lt;br /&gt;
!CRL_VERSION = 1.0&lt;br /&gt;
&lt;br /&gt;
!DEFINE ROOT = Cactus&lt;br /&gt;
!DEFINE ARR  = $ROOT/arrangements&lt;br /&gt;
!DEFINE COMPONENTLIST_TARGET = $ROOT/thornlists/&lt;br /&gt;
&lt;br /&gt;
# Cactus Flesh&lt;br /&gt;
!TARGET   = $ROOT&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactus.git&lt;br /&gt;
!NAME     = flesh&lt;br /&gt;
!CHECKOUT = .clang-format CONTRIBUTORS COPYRIGHT doc lib Makefile README.md src&lt;br /&gt;
&lt;br /&gt;
# Simulation Factory&lt;br /&gt;
!TARGET   = $ROOT&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/simfactory/simfactory2.git&lt;br /&gt;
!REPO_PATH = $1&lt;br /&gt;
!NAME     = simfactory2&lt;br /&gt;
!CHECKOUT = ./simfactory&lt;br /&gt;
&lt;br /&gt;
# Various Cactus utilities&lt;br /&gt;
!TARGET   = $ROOT/utils&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/utilities.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = ./ParameterFiles ./Scripts ./Syntax&lt;br /&gt;
&lt;br /&gt;
# The GetComponents script&lt;br /&gt;
!TARGET   = $ROOT/bin&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/gridaphobe/CRL.git&lt;br /&gt;
!CHECKOUT = GetComponents&lt;br /&gt;
&lt;br /&gt;
# CactusDoc thorns&lt;br /&gt;
!TARGET   = $ARR/CactusDoc&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/coredoc.git&lt;br /&gt;
!NAME     = CoreDoc&lt;br /&gt;
!REPO_PATH = $1&lt;br /&gt;
!CHECKOUT = ./CoreDoc&lt;br /&gt;
&lt;br /&gt;
# CactusBase thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactusbase.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CactusBase/Boundary&lt;br /&gt;
CactusBase/CoordBase&lt;br /&gt;
CactusBase/Fortran&lt;br /&gt;
CactusBase/InitBase&lt;br /&gt;
CactusBase/IOUtil&lt;br /&gt;
CactusBase/SymBase&lt;br /&gt;
CactusBase/Time&lt;br /&gt;
&lt;br /&gt;
# CactusTest thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactustest.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = CactusTest/TestAllTypes&lt;br /&gt;
CactusTest/TestArrays&lt;br /&gt;
CactusTest/TestComplex&lt;br /&gt;
CactusTest/TestCoordinates&lt;br /&gt;
CactusTest/TestFortranCrayPointers&lt;br /&gt;
CactusTest/TestFortranDependencies1&lt;br /&gt;
CactusTest/TestFortranDependencies2&lt;br /&gt;
CactusTest/TestFpointerNULL&lt;br /&gt;
CactusTest/TestFreeF90&lt;br /&gt;
CactusTest/TestInclude1&lt;br /&gt;
CactusTest/TestInclude2&lt;br /&gt;
CactusTest/TestMath&lt;br /&gt;
CactusTest/TestPar&lt;br /&gt;
CactusTest/TestReduce&lt;br /&gt;
CactusTest/TestSchedule&lt;br /&gt;
CactusTest/TestStrings&lt;br /&gt;
CactusTest/TestTable&lt;br /&gt;
CactusTest/TestTimers&lt;br /&gt;
CactusTest/TestTypes&lt;br /&gt;
&lt;br /&gt;
# CactusUtils thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactusutils.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = CactusUtils/Accelerator CactusUtils/OpenCLRunTime&lt;br /&gt;
CactusUtils/Formaline&lt;br /&gt;
CactusUtils/MemSpeed&lt;br /&gt;
CactusUtils/NaNCatcher&lt;br /&gt;
CactusUtils/Nice&lt;br /&gt;
CactusUtils/NoMPI&lt;br /&gt;
CactusUtils/SystemStatistics&lt;br /&gt;
CactusUtils/SystemTopology&lt;br /&gt;
CactusUtils/TerminationTrigger&lt;br /&gt;
CactusUtils/TimerReport&lt;br /&gt;
CactusUtils/Trigger&lt;br /&gt;
CactusUtils/Vectors&lt;br /&gt;
CactusUtils/WatchDog&lt;br /&gt;
&lt;br /&gt;
# Additional Cactus thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/$1-$2&lt;br /&gt;
!REPO_PATH = ../$1-$2&lt;br /&gt;
!CHECKOUT = ExternalLibraries/OpenBLAS ExternalLibraries/OpenCL ExternalLibraries/pciutils ExternalLibraries/PETSc&lt;br /&gt;
ExternalLibraries/ADIOS2&lt;br /&gt;
ExternalLibraries/AMReX&lt;br /&gt;
ExternalLibraries/BLAS&lt;br /&gt;
ExternalLibraries/Boost&lt;br /&gt;
ExternalLibraries/FFTW3&lt;br /&gt;
ExternalLibraries/GSL&lt;br /&gt;
ExternalLibraries/HDF5&lt;br /&gt;
ExternalLibraries/hwloc&lt;br /&gt;
ExternalLibraries/LAPACK&lt;br /&gt;
ExternalLibraries/libjpeg&lt;br /&gt;
ExternalLibraries/LORENE&lt;br /&gt;
ExternalLibraries/MPI&lt;br /&gt;
ExternalLibraries/NSIMD&lt;br /&gt;
ExternalLibraries/openPMD&lt;br /&gt;
ExternalLibraries/OpenSSL&lt;br /&gt;
ExternalLibraries/PAPI&lt;br /&gt;
ExternalLibraries/pthreads&lt;br /&gt;
ExternalLibraries/Silo&lt;br /&gt;
ExternalLibraries/ssht&lt;br /&gt;
ExternalLibraries/yaml_cpp&lt;br /&gt;
ExternalLibraries/zlib&lt;br /&gt;
&lt;br /&gt;
# Kuibit post-processing tools for simulations&lt;br /&gt;
!TARGET   = $ROOT/utils/Analysis&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/Sbozzolo/kuibit&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = kuibit/docs kuibit/examples kuibit/kuibit kuibit/LICENSE kuibit/README.md&lt;br /&gt;
&lt;br /&gt;
# Numerical&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/numerical.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
Numerical/AEILocalInterp&lt;br /&gt;
&lt;br /&gt;
# CarpetX thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/CarpetX.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CarpetX/ADMBaseX&lt;br /&gt;
CarpetX/Algo&lt;br /&gt;
CarpetX/Arith&lt;br /&gt;
CarpetX/BoxInBox&lt;br /&gt;
CarpetX/CarpetX&lt;br /&gt;
CarpetX/CarpetXRegrid&lt;br /&gt;
CarpetX/CoordinatesX&lt;br /&gt;
CarpetX/Derivs&lt;br /&gt;
CarpetX/ErrorEstimator&lt;br /&gt;
CarpetX/FluxWaveToyX&lt;br /&gt;
CarpetX/HydroBaseX&lt;br /&gt;
CarpetX/Loop&lt;br /&gt;
CarpetX/MovingBoxToy&lt;br /&gt;
CarpetX/ODESolvers&lt;br /&gt;
CarpetX/PDESolvers&lt;br /&gt;
CarpetX/ParticlesX&lt;br /&gt;
CarpetX/PoissonX&lt;br /&gt;
CarpetX/SIMDWaveToyX&lt;br /&gt;
CarpetX/SpacetimeWaveToyX&lt;br /&gt;
CarpetX/StaggeredWaveToyX&lt;br /&gt;
CarpetX/TestArrayGroup&lt;br /&gt;
CarpetX/TestBoundaries&lt;br /&gt;
CarpetX/TestBoxInBox&lt;br /&gt;
CarpetX/TestDerivs&lt;br /&gt;
CarpetX/TestInterpolate&lt;br /&gt;
CarpetX/TestLoopX&lt;br /&gt;
CarpetX/TestNorms&lt;br /&gt;
CarpetX/TestODESolvers&lt;br /&gt;
CarpetX/TestODESolvers2&lt;br /&gt;
CarpetX/TestOutput&lt;br /&gt;
CarpetX/TestProlongate&lt;br /&gt;
CarpetX/TestSymmetries&lt;br /&gt;
CarpetX/TmunuBaseX&lt;br /&gt;
CarpetX/VGFWaveToyX&lt;br /&gt;
CarpetX/WaveToyX&lt;br /&gt;
&lt;br /&gt;
# SpacetimeX thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/SpacetimeX.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
SpacetimeX/AHFinderDirect&lt;br /&gt;
SpacetimeX/BrillLindquist&lt;br /&gt;
SpacetimeX/Cowling&lt;br /&gt;
SpacetimeX/KerrSchildX&lt;br /&gt;
SpacetimeX/Multipole&lt;br /&gt;
SpacetimeX/NewRadX&lt;br /&gt;
SpacetimeX/PunctureTracker&lt;br /&gt;
SpacetimeX/Punctures&lt;br /&gt;
SpacetimeX/SphericalHarmonics&lt;br /&gt;
SpacetimeX/SphericalSurface&lt;br /&gt;
SpacetimeX/StaticTrumpet&lt;br /&gt;
SpacetimeX/TestNewRadX&lt;br /&gt;
SpacetimeX/TwoPuncturesX&lt;br /&gt;
SpacetimeX/Weyl&lt;br /&gt;
SpacetimeX/WeylScal4&lt;br /&gt;
SpacetimeX/Z4c&lt;br /&gt;
&lt;br /&gt;
# Canuda -- CanudaX&lt;br /&gt;
!TARGET    = $ARR&lt;br /&gt;
!TYPE      = git&lt;br /&gt;
!URL       = https://bitbucket.org/canuda/canudax.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CanudaX/CanudaX_BSSNMoL&lt;br /&gt;
CanudaX/CanudaX_ExactID&lt;br /&gt;
CanudaX/CanudaX_NPScalars&lt;br /&gt;
&lt;br /&gt;
# Cottonmouth&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/Cottonmouth.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
Cottonmouth/CottonmouthBSSNOK4m&lt;br /&gt;
Cottonmouth/CottonmouthGaugeWaveID&lt;br /&gt;
Cottonmouth/CottonmouthLinearWaveID&lt;br /&gt;
Cottonmouth/CottonmouthZ4c4m&lt;br /&gt;
&lt;br /&gt;
# AsterX&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/AsterX.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
AsterX/AsterAnalysis&lt;br /&gt;
AsterX/AsterMasks&lt;br /&gt;
AsterX/AsterSeeds&lt;br /&gt;
AsterX/AsterUtils&lt;br /&gt;
AsterX/AsterX&lt;br /&gt;
AsterX/Con2PrimFactory&lt;br /&gt;
AsterX/EOSX&lt;br /&gt;
AsterX/ReconX&lt;br /&gt;
AsterX/TOVSolverX&lt;br /&gt;
AsterX/FishboneMoncriefIDX&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CarpetX with subcycling in time ==&lt;br /&gt;
TODO&lt;/div&gt;</summary>
		<author><name>Lsanches</name></author>
		
	</entry>
	<entry>
		<id>https://docs.einsteintoolkit.org/et-docs/index.php?title=Choosing_a_Driver&amp;diff=9013</id>
		<title>Choosing a Driver</title>
		<link rel="alternate" type="text/html" href="https://docs.einsteintoolkit.org/et-docs/index.php?title=Choosing_a_Driver&amp;diff=9013"/>
		<updated>2026-08-19T01:51:21Z</updated>

		<summary type="html">&lt;p&gt;Lsanches: /* Basic CarpetX, no subcycling in time */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float: right; margin: 0 0 1em 1em; width: 200px;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background: #f2f2f2; text-align: center;&amp;quot; | Contents&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[#Carpet Vs. CarpetX in time|Carpet Vs. CarpetX]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[#Basic CarpetX, no subcycling in time|Basic CarpetX, no subcycling in time]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[#CarpetX with subcycling in time|CarpetX with subcycling in time]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Carpet Vs. CarpetX ==&lt;br /&gt;
&lt;br /&gt;
Currently there are two production drivers in the Einstein Toolkit: Carpet and CarpetX. &lt;br /&gt;
&lt;br /&gt;
Carpet is a CPU based Adaptive Mesh Refinement (AMR) framework that has been a part of the Einstein Toolkit since 2006. It has seen extensive production use and should work out of the box when you get an official release of the Einstein Toolkit. If you are using Carpet, please see the official download and install instructions [https://einsteintoolkit.org/download.html here]. &lt;br /&gt;
&lt;br /&gt;
CarpetX is a new AMR driver capable of running on CPUs and GPUs. It is ready for production use and is also a part of the Einstein Toolkit. However, when using CarpetX, a number of thorns that are required for fully featured numerical relativity simulations are not included in the official release. This requires a different thornlist(s) depending on which features are desired. This is because either thorns are still in development phase or some existing Carpet thorns are not compatible with CarpetX (yet). &lt;br /&gt;
&lt;br /&gt;
For this reason, we are presenting a collection of thornlists for checking out various components required for fully featured simulations. This is a temporary solution and, in the future, such thornlists are expected to be no longer necessary once CarpetX thorns are included in the official release.&lt;br /&gt;
&lt;br /&gt;
== Basic CarpetX, no subcycling in time ==&lt;br /&gt;
&lt;br /&gt;
This thornlist provides a basic cactus checkout, with CarpetX, and its required external libraries. It also includes:&lt;br /&gt;
&lt;br /&gt;
# Spacetime evolution codes (CanudaX, Cottonmouth, Z4c)&lt;br /&gt;
# Spacetime evolution utilities (Initial data, puncture tracking, apparent horizon finding)&lt;br /&gt;
# GRMHD evolution code AsterX&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# A basic Component list for the Einstein Toolkit &amp;lt;http://einsteintoolkit.org/&amp;gt;&lt;br /&gt;
# using CarpetX &amp;lt;https://github.com/EinsteinToolkit/CarpetX&amp;gt;&lt;br /&gt;
# $Revision$&lt;br /&gt;
# $Date$&lt;br /&gt;
# $HeadURL$&lt;br /&gt;
&lt;br /&gt;
!CRL_VERSION = 1.0&lt;br /&gt;
&lt;br /&gt;
!DEFINE ROOT = Cactus&lt;br /&gt;
!DEFINE ARR  = $ROOT/arrangements&lt;br /&gt;
!DEFINE COMPONENTLIST_TARGET = $ROOT/thornlists/&lt;br /&gt;
&lt;br /&gt;
# Cactus Flesh&lt;br /&gt;
!TARGET   = $ROOT&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactus.git&lt;br /&gt;
!NAME     = flesh&lt;br /&gt;
!CHECKOUT = .clang-format CONTRIBUTORS COPYRIGHT doc lib Makefile README.md src&lt;br /&gt;
&lt;br /&gt;
# Simulation Factory&lt;br /&gt;
!TARGET   = $ROOT&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/simfactory/simfactory2.git&lt;br /&gt;
!REPO_PATH = $1&lt;br /&gt;
!NAME     = simfactory2&lt;br /&gt;
!CHECKOUT = ./simfactory&lt;br /&gt;
&lt;br /&gt;
# Various Cactus utilities&lt;br /&gt;
!TARGET   = $ROOT/utils&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/utilities.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = ./ParameterFiles ./Scripts ./Syntax&lt;br /&gt;
&lt;br /&gt;
# The GetComponents script&lt;br /&gt;
!TARGET   = $ROOT/bin&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/gridaphobe/CRL.git&lt;br /&gt;
!CHECKOUT = GetComponents&lt;br /&gt;
&lt;br /&gt;
# CactusDoc thorns&lt;br /&gt;
!TARGET   = $ARR/CactusDoc&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/coredoc.git&lt;br /&gt;
!NAME     = CoreDoc&lt;br /&gt;
!REPO_PATH = $1&lt;br /&gt;
!CHECKOUT = ./CoreDoc&lt;br /&gt;
&lt;br /&gt;
# CactusBase thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactusbase.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CactusBase/Boundary&lt;br /&gt;
CactusBase/CoordBase&lt;br /&gt;
CactusBase/Fortran&lt;br /&gt;
CactusBase/InitBase&lt;br /&gt;
CactusBase/IOUtil&lt;br /&gt;
CactusBase/SymBase&lt;br /&gt;
CactusBase/Time&lt;br /&gt;
&lt;br /&gt;
# CactusTest thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactustest.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = CactusTest/TestAllTypes&lt;br /&gt;
CactusTest/TestArrays&lt;br /&gt;
CactusTest/TestComplex&lt;br /&gt;
CactusTest/TestCoordinates&lt;br /&gt;
CactusTest/TestFortranCrayPointers&lt;br /&gt;
CactusTest/TestFortranDependencies1&lt;br /&gt;
CactusTest/TestFortranDependencies2&lt;br /&gt;
CactusTest/TestFpointerNULL&lt;br /&gt;
CactusTest/TestFreeF90&lt;br /&gt;
CactusTest/TestInclude1&lt;br /&gt;
CactusTest/TestInclude2&lt;br /&gt;
CactusTest/TestMath&lt;br /&gt;
CactusTest/TestPar&lt;br /&gt;
CactusTest/TestReduce&lt;br /&gt;
CactusTest/TestSchedule&lt;br /&gt;
CactusTest/TestStrings&lt;br /&gt;
CactusTest/TestTable&lt;br /&gt;
CactusTest/TestTimers&lt;br /&gt;
CactusTest/TestTypes&lt;br /&gt;
&lt;br /&gt;
# CactusUtils thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactusutils.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = CactusUtils/Accelerator CactusUtils/OpenCLRunTime&lt;br /&gt;
CactusUtils/Formaline&lt;br /&gt;
CactusUtils/MemSpeed&lt;br /&gt;
CactusUtils/NaNCatcher&lt;br /&gt;
CactusUtils/Nice&lt;br /&gt;
CactusUtils/NoMPI&lt;br /&gt;
CactusUtils/SystemStatistics&lt;br /&gt;
CactusUtils/SystemTopology&lt;br /&gt;
CactusUtils/TerminationTrigger&lt;br /&gt;
CactusUtils/TimerReport&lt;br /&gt;
CactusUtils/Trigger&lt;br /&gt;
CactusUtils/Vectors&lt;br /&gt;
CactusUtils/WatchDog&lt;br /&gt;
&lt;br /&gt;
# Additional Cactus thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/$1-$2&lt;br /&gt;
!REPO_PATH = ../$1-$2&lt;br /&gt;
!CHECKOUT = ExternalLibraries/OpenBLAS ExternalLibraries/OpenCL ExternalLibraries/pciutils ExternalLibraries/PETSc&lt;br /&gt;
ExternalLibraries/ADIOS2&lt;br /&gt;
ExternalLibraries/AMReX&lt;br /&gt;
ExternalLibraries/BLAS&lt;br /&gt;
ExternalLibraries/Boost&lt;br /&gt;
ExternalLibraries/FFTW3&lt;br /&gt;
ExternalLibraries/GSL&lt;br /&gt;
ExternalLibraries/HDF5&lt;br /&gt;
ExternalLibraries/hwloc&lt;br /&gt;
ExternalLibraries/LAPACK&lt;br /&gt;
ExternalLibraries/libjpeg&lt;br /&gt;
ExternalLibraries/LORENE&lt;br /&gt;
ExternalLibraries/MPI&lt;br /&gt;
ExternalLibraries/NSIMD&lt;br /&gt;
ExternalLibraries/openPMD&lt;br /&gt;
ExternalLibraries/OpenSSL&lt;br /&gt;
ExternalLibraries/PAPI&lt;br /&gt;
ExternalLibraries/pthreads&lt;br /&gt;
ExternalLibraries/Silo&lt;br /&gt;
ExternalLibraries/ssht&lt;br /&gt;
ExternalLibraries/yaml_cpp&lt;br /&gt;
ExternalLibraries/zlib&lt;br /&gt;
&lt;br /&gt;
# Kuibit post-processing tools for simulations&lt;br /&gt;
!TARGET   = $ROOT/utils/Analysis&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/Sbozzolo/kuibit&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = kuibit/docs kuibit/examples kuibit/kuibit kuibit/LICENSE kuibit/README.md&lt;br /&gt;
&lt;br /&gt;
# Numerical&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/numerical.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
Numerical/AEILocalInterp&lt;br /&gt;
&lt;br /&gt;
# CarpetX thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/CarpetX.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CarpetX/ADMBaseX&lt;br /&gt;
CarpetX/Algo&lt;br /&gt;
CarpetX/Arith&lt;br /&gt;
CarpetX/BoxInBox&lt;br /&gt;
CarpetX/CarpetX&lt;br /&gt;
CarpetX/CarpetXRegrid&lt;br /&gt;
CarpetX/CoordinatesX&lt;br /&gt;
CarpetX/Derivs&lt;br /&gt;
CarpetX/ErrorEstimator&lt;br /&gt;
CarpetX/FluxWaveToyX&lt;br /&gt;
CarpetX/HydroBaseX&lt;br /&gt;
CarpetX/Loop&lt;br /&gt;
CarpetX/MovingBoxToy&lt;br /&gt;
CarpetX/ODESolvers&lt;br /&gt;
CarpetX/PDESolvers&lt;br /&gt;
CarpetX/ParticlesX&lt;br /&gt;
CarpetX/PoissonX&lt;br /&gt;
CarpetX/SIMDWaveToyX&lt;br /&gt;
CarpetX/SpacetimeWaveToyX&lt;br /&gt;
CarpetX/StaggeredWaveToyX&lt;br /&gt;
CarpetX/TestArrayGroup&lt;br /&gt;
CarpetX/TestBoundaries&lt;br /&gt;
CarpetX/TestBoxInBox&lt;br /&gt;
CarpetX/TestDerivs&lt;br /&gt;
CarpetX/TestInterpolate&lt;br /&gt;
CarpetX/TestLoopX&lt;br /&gt;
CarpetX/TestNorms&lt;br /&gt;
CarpetX/TestODESolvers&lt;br /&gt;
CarpetX/TestODESolvers2&lt;br /&gt;
CarpetX/TestOutput&lt;br /&gt;
CarpetX/TestProlongate&lt;br /&gt;
CarpetX/TestSymmetries&lt;br /&gt;
CarpetX/TmunuBaseX&lt;br /&gt;
CarpetX/VGFWaveToyX&lt;br /&gt;
CarpetX/WaveToyX&lt;br /&gt;
&lt;br /&gt;
# SpacetimeX thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/SpacetimeX.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
SpacetimeX/AHFinderDirect&lt;br /&gt;
SpacetimeX/BrillLindquist&lt;br /&gt;
SpacetimeX/Cowling&lt;br /&gt;
SpacetimeX/KerrSchildX&lt;br /&gt;
SpacetimeX/Multipole&lt;br /&gt;
SpacetimeX/NewRadX&lt;br /&gt;
SpacetimeX/PunctureTracker&lt;br /&gt;
SpacetimeX/Punctures&lt;br /&gt;
SpacetimeX/SphericalHarmonics&lt;br /&gt;
SpacetimeX/SphericalSurface&lt;br /&gt;
SpacetimeX/StaticTrumpet&lt;br /&gt;
SpacetimeX/TestNewRadX&lt;br /&gt;
SpacetimeX/TwoPuncturesX&lt;br /&gt;
SpacetimeX/Weyl&lt;br /&gt;
SpacetimeX/WeylScal4&lt;br /&gt;
SpacetimeX/Z4c&lt;br /&gt;
&lt;br /&gt;
# Canuda -- CanudaX&lt;br /&gt;
!TARGET    = $ARR&lt;br /&gt;
!TYPE      = git&lt;br /&gt;
!URL       = https://bitbucket.org/canuda/canudax.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CanudaX/CanudaX_BSSNMoL&lt;br /&gt;
CanudaX/CanudaX_ExactID&lt;br /&gt;
CanudaX/CanudaX_NPScalars&lt;br /&gt;
&lt;br /&gt;
# Cottonmouth&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/Cottonmouth.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
Cottonmouth/CottonmouthBSSNOK4m&lt;br /&gt;
Cottonmouth/CottonmouthGaugeWaveID&lt;br /&gt;
Cottonmouth/CottonmouthLinearWaveID&lt;br /&gt;
Cottonmouth/CottonmouthZ4c4m&lt;br /&gt;
&lt;br /&gt;
# AsterX&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/AsterX.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
AsterX/AsterAnalysis&lt;br /&gt;
AsterX/AsterMasks&lt;br /&gt;
AsterX/AsterSeeds&lt;br /&gt;
AsterX/AsterUtils&lt;br /&gt;
AsterX/AsterX&lt;br /&gt;
AsterX/Con2PrimFactory&lt;br /&gt;
AsterX/EOSX&lt;br /&gt;
AsterX/ReconX&lt;br /&gt;
AsterX/TOVSolverX&lt;br /&gt;
AsterX/FishboneMoncriefIDX&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lsanches</name></author>
		
	</entry>
	<entry>
		<id>https://docs.einsteintoolkit.org/et-docs/index.php?title=Choosing_a_Driver&amp;diff=9012</id>
		<title>Choosing a Driver</title>
		<link rel="alternate" type="text/html" href="https://docs.einsteintoolkit.org/et-docs/index.php?title=Choosing_a_Driver&amp;diff=9012"/>
		<updated>2026-08-19T01:50:05Z</updated>

		<summary type="html">&lt;p&gt;Lsanches: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float: right; margin: 0 0 1em 1em; width: 200px;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background: #f2f2f2; text-align: center;&amp;quot; | Contents&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[#Carpet Vs. CarpetX in time|Carpet Vs. CarpetX]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[#Basic CarpetX, no subcycling in time|Basic CarpetX, no subcycling in time]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[#CarpetX with subcycling in time|CarpetX with subcycling in time]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Carpet Vs. CarpetX ==&lt;br /&gt;
&lt;br /&gt;
Currently there are two production drivers in the Einstein Toolkit: Carpet and CarpetX. &lt;br /&gt;
&lt;br /&gt;
Carpet is a CPU based Adaptive Mesh Refinement (AMR) framework that has been a part of the Einstein Toolkit since 2006. It has seen extensive production use and should work out of the box when you get an official release of the Einstein Toolkit. If you are using Carpet, please see the official download and install instructions [https://einsteintoolkit.org/download.html here]. &lt;br /&gt;
&lt;br /&gt;
CarpetX is a new AMR driver capable of running on CPUs and GPUs. It is ready for production use and is also a part of the Einstein Toolkit. However, when using CarpetX, a number of thorns that are required for fully featured numerical relativity simulations are not included in the official release. This requires a different thornlist(s) depending on which features are desired. This is because either thorns are still in development phase or some existing Carpet thorns are not compatible with CarpetX (yet). &lt;br /&gt;
&lt;br /&gt;
For this reason, we are presenting a collection of thornlists for checking out various components required for fully featured simulations. This is a temporary solution and, in the future, such thornlists are expected to be no longer necessary once CarpetX thorns are included in the official release.&lt;br /&gt;
&lt;br /&gt;
== Basic CarpetX, no subcycling in time ==&lt;br /&gt;
&lt;br /&gt;
This thornlist provides a basic cactus checkout, with CarpetX, and its required external libraries. It also includes&lt;br /&gt;
&lt;br /&gt;
# Spacetime evolution codes (CanudaX, Cottonmouth, Z4c)&lt;br /&gt;
# Spacetime evolution utilities (Initial data, puncture tracking, apparent horizon finding)&lt;br /&gt;
# GRMHD evolution code AsterX&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# A basic Component list for the Einstein Toolkit &amp;lt;http://einsteintoolkit.org/&amp;gt;&lt;br /&gt;
# using CarpetX &amp;lt;https://github.com/EinsteinToolkit/CarpetX&amp;gt;&lt;br /&gt;
# $Revision$&lt;br /&gt;
# $Date$&lt;br /&gt;
# $HeadURL$&lt;br /&gt;
&lt;br /&gt;
!CRL_VERSION = 1.0&lt;br /&gt;
&lt;br /&gt;
!DEFINE ROOT = Cactus&lt;br /&gt;
!DEFINE ARR  = $ROOT/arrangements&lt;br /&gt;
!DEFINE COMPONENTLIST_TARGET = $ROOT/thornlists/&lt;br /&gt;
&lt;br /&gt;
# Cactus Flesh&lt;br /&gt;
!TARGET   = $ROOT&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactus.git&lt;br /&gt;
!NAME     = flesh&lt;br /&gt;
!CHECKOUT = .clang-format CONTRIBUTORS COPYRIGHT doc lib Makefile README.md src&lt;br /&gt;
&lt;br /&gt;
# Simulation Factory&lt;br /&gt;
!TARGET   = $ROOT&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/simfactory/simfactory2.git&lt;br /&gt;
!REPO_PATH = $1&lt;br /&gt;
!NAME     = simfactory2&lt;br /&gt;
!CHECKOUT = ./simfactory&lt;br /&gt;
&lt;br /&gt;
# Various Cactus utilities&lt;br /&gt;
!TARGET   = $ROOT/utils&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/utilities.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = ./ParameterFiles ./Scripts ./Syntax&lt;br /&gt;
&lt;br /&gt;
# The GetComponents script&lt;br /&gt;
!TARGET   = $ROOT/bin&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/gridaphobe/CRL.git&lt;br /&gt;
!CHECKOUT = GetComponents&lt;br /&gt;
&lt;br /&gt;
# CactusDoc thorns&lt;br /&gt;
!TARGET   = $ARR/CactusDoc&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/coredoc.git&lt;br /&gt;
!NAME     = CoreDoc&lt;br /&gt;
!REPO_PATH = $1&lt;br /&gt;
!CHECKOUT = ./CoreDoc&lt;br /&gt;
&lt;br /&gt;
# CactusBase thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactusbase.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CactusBase/Boundary&lt;br /&gt;
CactusBase/CoordBase&lt;br /&gt;
CactusBase/Fortran&lt;br /&gt;
CactusBase/InitBase&lt;br /&gt;
CactusBase/IOUtil&lt;br /&gt;
CactusBase/SymBase&lt;br /&gt;
CactusBase/Time&lt;br /&gt;
&lt;br /&gt;
# CactusTest thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactustest.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = CactusTest/TestAllTypes&lt;br /&gt;
CactusTest/TestArrays&lt;br /&gt;
CactusTest/TestComplex&lt;br /&gt;
CactusTest/TestCoordinates&lt;br /&gt;
CactusTest/TestFortranCrayPointers&lt;br /&gt;
CactusTest/TestFortranDependencies1&lt;br /&gt;
CactusTest/TestFortranDependencies2&lt;br /&gt;
CactusTest/TestFpointerNULL&lt;br /&gt;
CactusTest/TestFreeF90&lt;br /&gt;
CactusTest/TestInclude1&lt;br /&gt;
CactusTest/TestInclude2&lt;br /&gt;
CactusTest/TestMath&lt;br /&gt;
CactusTest/TestPar&lt;br /&gt;
CactusTest/TestReduce&lt;br /&gt;
CactusTest/TestSchedule&lt;br /&gt;
CactusTest/TestStrings&lt;br /&gt;
CactusTest/TestTable&lt;br /&gt;
CactusTest/TestTimers&lt;br /&gt;
CactusTest/TestTypes&lt;br /&gt;
&lt;br /&gt;
# CactusUtils thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactusutils.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = CactusUtils/Accelerator CactusUtils/OpenCLRunTime&lt;br /&gt;
CactusUtils/Formaline&lt;br /&gt;
CactusUtils/MemSpeed&lt;br /&gt;
CactusUtils/NaNCatcher&lt;br /&gt;
CactusUtils/Nice&lt;br /&gt;
CactusUtils/NoMPI&lt;br /&gt;
CactusUtils/SystemStatistics&lt;br /&gt;
CactusUtils/SystemTopology&lt;br /&gt;
CactusUtils/TerminationTrigger&lt;br /&gt;
CactusUtils/TimerReport&lt;br /&gt;
CactusUtils/Trigger&lt;br /&gt;
CactusUtils/Vectors&lt;br /&gt;
CactusUtils/WatchDog&lt;br /&gt;
&lt;br /&gt;
# Additional Cactus thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/$1-$2&lt;br /&gt;
!REPO_PATH = ../$1-$2&lt;br /&gt;
!CHECKOUT = ExternalLibraries/OpenBLAS ExternalLibraries/OpenCL ExternalLibraries/pciutils ExternalLibraries/PETSc&lt;br /&gt;
ExternalLibraries/ADIOS2&lt;br /&gt;
ExternalLibraries/AMReX&lt;br /&gt;
ExternalLibraries/BLAS&lt;br /&gt;
ExternalLibraries/Boost&lt;br /&gt;
ExternalLibraries/FFTW3&lt;br /&gt;
ExternalLibraries/GSL&lt;br /&gt;
ExternalLibraries/HDF5&lt;br /&gt;
ExternalLibraries/hwloc&lt;br /&gt;
ExternalLibraries/LAPACK&lt;br /&gt;
ExternalLibraries/libjpeg&lt;br /&gt;
ExternalLibraries/LORENE&lt;br /&gt;
ExternalLibraries/MPI&lt;br /&gt;
ExternalLibraries/NSIMD&lt;br /&gt;
ExternalLibraries/openPMD&lt;br /&gt;
ExternalLibraries/OpenSSL&lt;br /&gt;
ExternalLibraries/PAPI&lt;br /&gt;
ExternalLibraries/pthreads&lt;br /&gt;
ExternalLibraries/Silo&lt;br /&gt;
ExternalLibraries/ssht&lt;br /&gt;
ExternalLibraries/yaml_cpp&lt;br /&gt;
ExternalLibraries/zlib&lt;br /&gt;
&lt;br /&gt;
# Kuibit post-processing tools for simulations&lt;br /&gt;
!TARGET   = $ROOT/utils/Analysis&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/Sbozzolo/kuibit&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = kuibit/docs kuibit/examples kuibit/kuibit kuibit/LICENSE kuibit/README.md&lt;br /&gt;
&lt;br /&gt;
# Numerical&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/numerical.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
Numerical/AEILocalInterp&lt;br /&gt;
&lt;br /&gt;
# CarpetX thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/CarpetX.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CarpetX/ADMBaseX&lt;br /&gt;
CarpetX/Algo&lt;br /&gt;
CarpetX/Arith&lt;br /&gt;
CarpetX/BoxInBox&lt;br /&gt;
CarpetX/CarpetX&lt;br /&gt;
CarpetX/CarpetXRegrid&lt;br /&gt;
CarpetX/CoordinatesX&lt;br /&gt;
CarpetX/Derivs&lt;br /&gt;
CarpetX/ErrorEstimator&lt;br /&gt;
CarpetX/FluxWaveToyX&lt;br /&gt;
CarpetX/HydroBaseX&lt;br /&gt;
CarpetX/Loop&lt;br /&gt;
CarpetX/MovingBoxToy&lt;br /&gt;
CarpetX/ODESolvers&lt;br /&gt;
CarpetX/PDESolvers&lt;br /&gt;
CarpetX/ParticlesX&lt;br /&gt;
CarpetX/PoissonX&lt;br /&gt;
CarpetX/SIMDWaveToyX&lt;br /&gt;
CarpetX/SpacetimeWaveToyX&lt;br /&gt;
CarpetX/StaggeredWaveToyX&lt;br /&gt;
CarpetX/TestArrayGroup&lt;br /&gt;
CarpetX/TestBoundaries&lt;br /&gt;
CarpetX/TestBoxInBox&lt;br /&gt;
CarpetX/TestDerivs&lt;br /&gt;
CarpetX/TestInterpolate&lt;br /&gt;
CarpetX/TestLoopX&lt;br /&gt;
CarpetX/TestNorms&lt;br /&gt;
CarpetX/TestODESolvers&lt;br /&gt;
CarpetX/TestODESolvers2&lt;br /&gt;
CarpetX/TestOutput&lt;br /&gt;
CarpetX/TestProlongate&lt;br /&gt;
CarpetX/TestSymmetries&lt;br /&gt;
CarpetX/TmunuBaseX&lt;br /&gt;
CarpetX/VGFWaveToyX&lt;br /&gt;
CarpetX/WaveToyX&lt;br /&gt;
&lt;br /&gt;
# SpacetimeX thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/SpacetimeX.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
SpacetimeX/AHFinderDirect&lt;br /&gt;
SpacetimeX/BrillLindquist&lt;br /&gt;
SpacetimeX/Cowling&lt;br /&gt;
SpacetimeX/KerrSchildX&lt;br /&gt;
SpacetimeX/Multipole&lt;br /&gt;
SpacetimeX/NewRadX&lt;br /&gt;
SpacetimeX/PunctureTracker&lt;br /&gt;
SpacetimeX/Punctures&lt;br /&gt;
SpacetimeX/SphericalHarmonics&lt;br /&gt;
SpacetimeX/SphericalSurface&lt;br /&gt;
SpacetimeX/StaticTrumpet&lt;br /&gt;
SpacetimeX/TestNewRadX&lt;br /&gt;
SpacetimeX/TwoPuncturesX&lt;br /&gt;
SpacetimeX/Weyl&lt;br /&gt;
SpacetimeX/WeylScal4&lt;br /&gt;
SpacetimeX/Z4c&lt;br /&gt;
&lt;br /&gt;
# Canuda -- CanudaX&lt;br /&gt;
!TARGET    = $ARR&lt;br /&gt;
!TYPE      = git&lt;br /&gt;
!URL       = https://bitbucket.org/canuda/canudax.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CanudaX/CanudaX_BSSNMoL&lt;br /&gt;
CanudaX/CanudaX_ExactID&lt;br /&gt;
CanudaX/CanudaX_NPScalars&lt;br /&gt;
&lt;br /&gt;
# Cottonmouth&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/Cottonmouth.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
Cottonmouth/CottonmouthBSSNOK4m&lt;br /&gt;
Cottonmouth/CottonmouthGaugeWaveID&lt;br /&gt;
Cottonmouth/CottonmouthLinearWaveID&lt;br /&gt;
Cottonmouth/CottonmouthZ4c4m&lt;br /&gt;
&lt;br /&gt;
# AsterX&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/AsterX.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
AsterX/AsterAnalysis&lt;br /&gt;
AsterX/AsterMasks&lt;br /&gt;
AsterX/AsterSeeds&lt;br /&gt;
AsterX/AsterUtils&lt;br /&gt;
AsterX/AsterX&lt;br /&gt;
AsterX/Con2PrimFactory&lt;br /&gt;
AsterX/EOSX&lt;br /&gt;
AsterX/ReconX&lt;br /&gt;
AsterX/TOVSolverX&lt;br /&gt;
AsterX/FishboneMoncriefIDX&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lsanches</name></author>
		
	</entry>
	<entry>
		<id>https://docs.einsteintoolkit.org/et-docs/index.php?title=Choosing_a_Driver&amp;diff=9011</id>
		<title>Choosing a Driver</title>
		<link rel="alternate" type="text/html" href="https://docs.einsteintoolkit.org/et-docs/index.php?title=Choosing_a_Driver&amp;diff=9011"/>
		<updated>2026-08-19T01:46:02Z</updated>

		<summary type="html">&lt;p&gt;Lsanches: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float: right; margin: 0 0 1em 1em; width: 200px;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background: #f2f2f2; text-align: center;&amp;quot; | Contents&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[#Carpet Vs. CarpetX in time|Carpet Vs. CarpetX]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[#Basic CarpetX, no subcycling in time|Basic CarpetX, no subcycling in time]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Carpet Vs. CarpetX ==&lt;br /&gt;
&lt;br /&gt;
Currently there are two production drivers in the Einstein Toolkit: Carpet and CarpetX. &lt;br /&gt;
&lt;br /&gt;
Carpet is a CPU based Adaptive Mesh Refinement (AMR) framework that has been a part of the Einstein Toolkit since 2006. It has seen extensive production use and should work out of the box when you get an official release of the Einstein Toolkit. If you are using Carpet, please see the official download and install instructions [https://einsteintoolkit.org/download.html here]. &lt;br /&gt;
&lt;br /&gt;
CarpetX is a new AMR driver capable of running on CPUs and GPUs. It is ready for production use and is also a part of the Einstein Toolkit. However, when using CarpetX, a number of thorns that are required for fully featured numerical relativity simulations are not included in the official release. This requires a different thornlist(s) depending on which features are desired. This is because either thorns are still in development phase or some existing Carpet thorns are not compatible with CarpetX (yet). &lt;br /&gt;
&lt;br /&gt;
For this reason, we are presenting a collection of thornlists for checking out various components required for fully featured simulations. This is a temporary solution and, in the future, such thornlists are expected to be no longer necessary once CarpetX thorns are included in the official release.&lt;br /&gt;
&lt;br /&gt;
== Basic CarpetX, no subcycling in time ==&lt;br /&gt;
&lt;br /&gt;
This thornlist provides a basic cactus checkouts, with CarpetX, its required external libraries&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# A basic Component list for the Einstein Toolkit &amp;lt;http://einsteintoolkit.org/&amp;gt; using CarpetX &amp;lt;https://github.com/EinsteinToolkit/CarpetX&amp;gt;&lt;br /&gt;
# $Revision$&lt;br /&gt;
# $Date$&lt;br /&gt;
# $HeadURL$&lt;br /&gt;
&lt;br /&gt;
!CRL_VERSION = 1.0&lt;br /&gt;
&lt;br /&gt;
!DEFINE ROOT = Cactus&lt;br /&gt;
!DEFINE ARR  = $ROOT/arrangements&lt;br /&gt;
!DEFINE COMPONENTLIST_TARGET = $ROOT/thornlists/&lt;br /&gt;
&lt;br /&gt;
# Cactus Flesh&lt;br /&gt;
!TARGET   = $ROOT&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactus.git&lt;br /&gt;
!NAME     = flesh&lt;br /&gt;
!CHECKOUT = .clang-format CONTRIBUTORS COPYRIGHT doc lib Makefile README.md src&lt;br /&gt;
&lt;br /&gt;
# Simulation Factory&lt;br /&gt;
!TARGET   = $ROOT&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/simfactory/simfactory2.git&lt;br /&gt;
!REPO_PATH = $1&lt;br /&gt;
!NAME     = simfactory2&lt;br /&gt;
!CHECKOUT = ./simfactory&lt;br /&gt;
&lt;br /&gt;
# Various Cactus utilities&lt;br /&gt;
!TARGET   = $ROOT/utils&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/utilities.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = ./ParameterFiles ./Scripts ./Syntax&lt;br /&gt;
&lt;br /&gt;
# The GetComponents script&lt;br /&gt;
!TARGET   = $ROOT/bin&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/gridaphobe/CRL.git&lt;br /&gt;
!CHECKOUT = GetComponents&lt;br /&gt;
&lt;br /&gt;
# CactusDoc thorns&lt;br /&gt;
!TARGET   = $ARR/CactusDoc&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/coredoc.git&lt;br /&gt;
!NAME     = CoreDoc&lt;br /&gt;
!REPO_PATH = $1&lt;br /&gt;
!CHECKOUT = ./CoreDoc&lt;br /&gt;
&lt;br /&gt;
# CactusBase thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactusbase.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CactusBase/Boundary&lt;br /&gt;
CactusBase/CoordBase&lt;br /&gt;
CactusBase/Fortran&lt;br /&gt;
CactusBase/InitBase&lt;br /&gt;
CactusBase/IOUtil&lt;br /&gt;
CactusBase/SymBase&lt;br /&gt;
CactusBase/Time&lt;br /&gt;
&lt;br /&gt;
# CactusTest thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactustest.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = CactusTest/TestAllTypes&lt;br /&gt;
CactusTest/TestArrays&lt;br /&gt;
CactusTest/TestComplex&lt;br /&gt;
CactusTest/TestCoordinates&lt;br /&gt;
CactusTest/TestFortranCrayPointers&lt;br /&gt;
CactusTest/TestFortranDependencies1&lt;br /&gt;
CactusTest/TestFortranDependencies2&lt;br /&gt;
CactusTest/TestFpointerNULL&lt;br /&gt;
CactusTest/TestFreeF90&lt;br /&gt;
CactusTest/TestInclude1&lt;br /&gt;
CactusTest/TestInclude2&lt;br /&gt;
CactusTest/TestMath&lt;br /&gt;
CactusTest/TestPar&lt;br /&gt;
CactusTest/TestReduce&lt;br /&gt;
CactusTest/TestSchedule&lt;br /&gt;
CactusTest/TestStrings&lt;br /&gt;
CactusTest/TestTable&lt;br /&gt;
CactusTest/TestTimers&lt;br /&gt;
CactusTest/TestTypes&lt;br /&gt;
&lt;br /&gt;
# CactusUtils thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactusutils.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = CactusUtils/Accelerator CactusUtils/OpenCLRunTime&lt;br /&gt;
CactusUtils/Formaline&lt;br /&gt;
CactusUtils/MemSpeed&lt;br /&gt;
CactusUtils/NaNCatcher&lt;br /&gt;
CactusUtils/Nice&lt;br /&gt;
CactusUtils/NoMPI&lt;br /&gt;
CactusUtils/SystemStatistics&lt;br /&gt;
CactusUtils/SystemTopology&lt;br /&gt;
CactusUtils/TerminationTrigger&lt;br /&gt;
CactusUtils/TimerReport&lt;br /&gt;
CactusUtils/Trigger&lt;br /&gt;
CactusUtils/Vectors&lt;br /&gt;
CactusUtils/WatchDog&lt;br /&gt;
&lt;br /&gt;
# Additional Cactus thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/$1-$2&lt;br /&gt;
!REPO_PATH = ../$1-$2&lt;br /&gt;
!CHECKOUT = ExternalLibraries/OpenBLAS ExternalLibraries/OpenCL ExternalLibraries/pciutils ExternalLibraries/PETSc&lt;br /&gt;
ExternalLibraries/ADIOS2&lt;br /&gt;
ExternalLibraries/AMReX&lt;br /&gt;
ExternalLibraries/BLAS&lt;br /&gt;
ExternalLibraries/Boost&lt;br /&gt;
ExternalLibraries/FFTW3&lt;br /&gt;
ExternalLibraries/GSL&lt;br /&gt;
ExternalLibraries/HDF5&lt;br /&gt;
ExternalLibraries/hwloc&lt;br /&gt;
ExternalLibraries/LAPACK&lt;br /&gt;
ExternalLibraries/libjpeg&lt;br /&gt;
ExternalLibraries/LORENE&lt;br /&gt;
ExternalLibraries/MPI&lt;br /&gt;
ExternalLibraries/NSIMD&lt;br /&gt;
ExternalLibraries/openPMD&lt;br /&gt;
ExternalLibraries/OpenSSL&lt;br /&gt;
ExternalLibraries/PAPI&lt;br /&gt;
ExternalLibraries/pthreads&lt;br /&gt;
ExternalLibraries/Silo&lt;br /&gt;
ExternalLibraries/ssht&lt;br /&gt;
ExternalLibraries/yaml_cpp&lt;br /&gt;
ExternalLibraries/zlib&lt;br /&gt;
&lt;br /&gt;
# Kuibit post-processing tools for simulations&lt;br /&gt;
!TARGET   = $ROOT/utils/Analysis&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/Sbozzolo/kuibit&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = kuibit/docs kuibit/examples kuibit/kuibit kuibit/LICENSE kuibit/README.md&lt;br /&gt;
&lt;br /&gt;
# Numerical&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/numerical.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
Numerical/AEILocalInterp&lt;br /&gt;
&lt;br /&gt;
# CarpetX thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/CarpetX.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CarpetX/ADMBaseX&lt;br /&gt;
CarpetX/Algo&lt;br /&gt;
CarpetX/Arith&lt;br /&gt;
CarpetX/BoxInBox&lt;br /&gt;
CarpetX/CarpetX&lt;br /&gt;
CarpetX/CarpetXRegrid&lt;br /&gt;
CarpetX/CoordinatesX&lt;br /&gt;
CarpetX/Derivs&lt;br /&gt;
CarpetX/ErrorEstimator&lt;br /&gt;
CarpetX/FluxWaveToyX&lt;br /&gt;
CarpetX/HydroBaseX&lt;br /&gt;
CarpetX/Loop&lt;br /&gt;
CarpetX/MovingBoxToy&lt;br /&gt;
CarpetX/ODESolvers&lt;br /&gt;
CarpetX/PDESolvers&lt;br /&gt;
CarpetX/ParticlesX&lt;br /&gt;
CarpetX/PoissonX&lt;br /&gt;
CarpetX/SIMDWaveToyX&lt;br /&gt;
CarpetX/SpacetimeWaveToyX&lt;br /&gt;
CarpetX/StaggeredWaveToyX&lt;br /&gt;
CarpetX/TestArrayGroup&lt;br /&gt;
CarpetX/TestBoundaries&lt;br /&gt;
CarpetX/TestBoxInBox&lt;br /&gt;
CarpetX/TestDerivs&lt;br /&gt;
CarpetX/TestInterpolate&lt;br /&gt;
CarpetX/TestLoopX&lt;br /&gt;
CarpetX/TestNorms&lt;br /&gt;
CarpetX/TestODESolvers&lt;br /&gt;
CarpetX/TestODESolvers2&lt;br /&gt;
CarpetX/TestOutput&lt;br /&gt;
CarpetX/TestProlongate&lt;br /&gt;
CarpetX/TestSymmetries&lt;br /&gt;
CarpetX/TmunuBaseX&lt;br /&gt;
CarpetX/VGFWaveToyX&lt;br /&gt;
CarpetX/WaveToyX&lt;br /&gt;
&lt;br /&gt;
# SpacetimeX thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/SpacetimeX.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
SpacetimeX/AHFinderDirect&lt;br /&gt;
SpacetimeX/BrillLindquist&lt;br /&gt;
SpacetimeX/Cowling&lt;br /&gt;
SpacetimeX/KerrSchildX&lt;br /&gt;
SpacetimeX/Multipole&lt;br /&gt;
SpacetimeX/NewRadX&lt;br /&gt;
SpacetimeX/PunctureTracker&lt;br /&gt;
SpacetimeX/Punctures&lt;br /&gt;
SpacetimeX/SphericalHarmonics&lt;br /&gt;
SpacetimeX/SphericalSurface&lt;br /&gt;
SpacetimeX/StaticTrumpet&lt;br /&gt;
SpacetimeX/TestNewRadX&lt;br /&gt;
SpacetimeX/TwoPuncturesX&lt;br /&gt;
SpacetimeX/Weyl&lt;br /&gt;
SpacetimeX/WeylScal4&lt;br /&gt;
SpacetimeX/Z4c&lt;br /&gt;
&lt;br /&gt;
# Canuda -- CanudaX&lt;br /&gt;
!TARGET    = $ARR&lt;br /&gt;
!TYPE      = git&lt;br /&gt;
!URL       = https://bitbucket.org/canuda/canudax.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CanudaX/CanudaX_BSSNMoL&lt;br /&gt;
CanudaX/CanudaX_ExactID&lt;br /&gt;
CanudaX/CanudaX_NPScalars&lt;br /&gt;
&lt;br /&gt;
# Cottonmouth&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/Cottonmouth.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
Cottonmouth/CottonmouthBSSNOK4m&lt;br /&gt;
Cottonmouth/CottonmouthGaugeWaveID&lt;br /&gt;
Cottonmouth/CottonmouthLinearWaveID&lt;br /&gt;
Cottonmouth/CottonmouthZ4c4m&lt;br /&gt;
&lt;br /&gt;
# AsterX&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/AsterX.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
AsterX/AsterAnalysis&lt;br /&gt;
AsterX/AsterMasks&lt;br /&gt;
AsterX/AsterSeeds&lt;br /&gt;
AsterX/AsterUtils&lt;br /&gt;
AsterX/AsterX&lt;br /&gt;
AsterX/Con2PrimFactory&lt;br /&gt;
AsterX/EOSX&lt;br /&gt;
AsterX/ReconX&lt;br /&gt;
AsterX/TOVSolverX&lt;br /&gt;
AsterX/FishboneMoncriefIDX&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lsanches</name></author>
		
	</entry>
	<entry>
		<id>https://docs.einsteintoolkit.org/et-docs/index.php?title=Choosing_a_Driver&amp;diff=9010</id>
		<title>Choosing a Driver</title>
		<link rel="alternate" type="text/html" href="https://docs.einsteintoolkit.org/et-docs/index.php?title=Choosing_a_Driver&amp;diff=9010"/>
		<updated>2026-08-19T01:45:37Z</updated>

		<summary type="html">&lt;p&gt;Lsanches: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float: left; margin: 0 0 1em 1em; width: 200px;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background: #f2f2f2; text-align: center;&amp;quot; | Navigation&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[#Carpet Vs. CarpetX in time|Carpet Vs. CarpetX]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[#Basic CarpetX, no subcycling in time|Basic CarpetX, no subcycling in time]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Carpet Vs. CarpetX ==&lt;br /&gt;
&lt;br /&gt;
Currently there are two production drivers in the Einstein Toolkit: Carpet and CarpetX. &lt;br /&gt;
&lt;br /&gt;
Carpet is a CPU based Adaptive Mesh Refinement (AMR) framework that has been a part of the Einstein Toolkit since 2006. It has seen extensive production use and should work out of the box when you get an official release of the Einstein Toolkit. If you are using Carpet, please see the official download and install instructions [https://einsteintoolkit.org/download.html here]. &lt;br /&gt;
&lt;br /&gt;
CarpetX is a new AMR driver capable of running on CPUs and GPUs. It is ready for production use and is also a part of the Einstein Toolkit. However, when using CarpetX, a number of thorns that are required for fully featured numerical relativity simulations are not included in the official release. This requires a different thornlist(s) depending on which features are desired. This is because either thorns are still in development phase or some existing Carpet thorns are not compatible with CarpetX (yet). &lt;br /&gt;
&lt;br /&gt;
For this reason, we are presenting a collection of thornlists for checking out various components required for fully featured simulations. This is a temporary solution and, in the future, such thornlists are expected to be no longer necessary once CarpetX thorns are included in the official release.&lt;br /&gt;
&lt;br /&gt;
== Basic CarpetX, no subcycling in time ==&lt;br /&gt;
&lt;br /&gt;
This thornlist provides a basic cactus checkouts, with CarpetX, its required external libraries&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# A basic Component list for the Einstein Toolkit &amp;lt;http://einsteintoolkit.org/&amp;gt; using CarpetX &amp;lt;https://github.com/EinsteinToolkit/CarpetX&amp;gt;&lt;br /&gt;
# $Revision$&lt;br /&gt;
# $Date$&lt;br /&gt;
# $HeadURL$&lt;br /&gt;
&lt;br /&gt;
!CRL_VERSION = 1.0&lt;br /&gt;
&lt;br /&gt;
!DEFINE ROOT = Cactus&lt;br /&gt;
!DEFINE ARR  = $ROOT/arrangements&lt;br /&gt;
!DEFINE COMPONENTLIST_TARGET = $ROOT/thornlists/&lt;br /&gt;
&lt;br /&gt;
# Cactus Flesh&lt;br /&gt;
!TARGET   = $ROOT&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactus.git&lt;br /&gt;
!NAME     = flesh&lt;br /&gt;
!CHECKOUT = .clang-format CONTRIBUTORS COPYRIGHT doc lib Makefile README.md src&lt;br /&gt;
&lt;br /&gt;
# Simulation Factory&lt;br /&gt;
!TARGET   = $ROOT&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/simfactory/simfactory2.git&lt;br /&gt;
!REPO_PATH = $1&lt;br /&gt;
!NAME     = simfactory2&lt;br /&gt;
!CHECKOUT = ./simfactory&lt;br /&gt;
&lt;br /&gt;
# Various Cactus utilities&lt;br /&gt;
!TARGET   = $ROOT/utils&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/utilities.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = ./ParameterFiles ./Scripts ./Syntax&lt;br /&gt;
&lt;br /&gt;
# The GetComponents script&lt;br /&gt;
!TARGET   = $ROOT/bin&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/gridaphobe/CRL.git&lt;br /&gt;
!CHECKOUT = GetComponents&lt;br /&gt;
&lt;br /&gt;
# CactusDoc thorns&lt;br /&gt;
!TARGET   = $ARR/CactusDoc&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/coredoc.git&lt;br /&gt;
!NAME     = CoreDoc&lt;br /&gt;
!REPO_PATH = $1&lt;br /&gt;
!CHECKOUT = ./CoreDoc&lt;br /&gt;
&lt;br /&gt;
# CactusBase thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactusbase.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CactusBase/Boundary&lt;br /&gt;
CactusBase/CoordBase&lt;br /&gt;
CactusBase/Fortran&lt;br /&gt;
CactusBase/InitBase&lt;br /&gt;
CactusBase/IOUtil&lt;br /&gt;
CactusBase/SymBase&lt;br /&gt;
CactusBase/Time&lt;br /&gt;
&lt;br /&gt;
# CactusTest thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactustest.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = CactusTest/TestAllTypes&lt;br /&gt;
CactusTest/TestArrays&lt;br /&gt;
CactusTest/TestComplex&lt;br /&gt;
CactusTest/TestCoordinates&lt;br /&gt;
CactusTest/TestFortranCrayPointers&lt;br /&gt;
CactusTest/TestFortranDependencies1&lt;br /&gt;
CactusTest/TestFortranDependencies2&lt;br /&gt;
CactusTest/TestFpointerNULL&lt;br /&gt;
CactusTest/TestFreeF90&lt;br /&gt;
CactusTest/TestInclude1&lt;br /&gt;
CactusTest/TestInclude2&lt;br /&gt;
CactusTest/TestMath&lt;br /&gt;
CactusTest/TestPar&lt;br /&gt;
CactusTest/TestReduce&lt;br /&gt;
CactusTest/TestSchedule&lt;br /&gt;
CactusTest/TestStrings&lt;br /&gt;
CactusTest/TestTable&lt;br /&gt;
CactusTest/TestTimers&lt;br /&gt;
CactusTest/TestTypes&lt;br /&gt;
&lt;br /&gt;
# CactusUtils thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactusutils.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = CactusUtils/Accelerator CactusUtils/OpenCLRunTime&lt;br /&gt;
CactusUtils/Formaline&lt;br /&gt;
CactusUtils/MemSpeed&lt;br /&gt;
CactusUtils/NaNCatcher&lt;br /&gt;
CactusUtils/Nice&lt;br /&gt;
CactusUtils/NoMPI&lt;br /&gt;
CactusUtils/SystemStatistics&lt;br /&gt;
CactusUtils/SystemTopology&lt;br /&gt;
CactusUtils/TerminationTrigger&lt;br /&gt;
CactusUtils/TimerReport&lt;br /&gt;
CactusUtils/Trigger&lt;br /&gt;
CactusUtils/Vectors&lt;br /&gt;
CactusUtils/WatchDog&lt;br /&gt;
&lt;br /&gt;
# Additional Cactus thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/$1-$2&lt;br /&gt;
!REPO_PATH = ../$1-$2&lt;br /&gt;
!CHECKOUT = ExternalLibraries/OpenBLAS ExternalLibraries/OpenCL ExternalLibraries/pciutils ExternalLibraries/PETSc&lt;br /&gt;
ExternalLibraries/ADIOS2&lt;br /&gt;
ExternalLibraries/AMReX&lt;br /&gt;
ExternalLibraries/BLAS&lt;br /&gt;
ExternalLibraries/Boost&lt;br /&gt;
ExternalLibraries/FFTW3&lt;br /&gt;
ExternalLibraries/GSL&lt;br /&gt;
ExternalLibraries/HDF5&lt;br /&gt;
ExternalLibraries/hwloc&lt;br /&gt;
ExternalLibraries/LAPACK&lt;br /&gt;
ExternalLibraries/libjpeg&lt;br /&gt;
ExternalLibraries/LORENE&lt;br /&gt;
ExternalLibraries/MPI&lt;br /&gt;
ExternalLibraries/NSIMD&lt;br /&gt;
ExternalLibraries/openPMD&lt;br /&gt;
ExternalLibraries/OpenSSL&lt;br /&gt;
ExternalLibraries/PAPI&lt;br /&gt;
ExternalLibraries/pthreads&lt;br /&gt;
ExternalLibraries/Silo&lt;br /&gt;
ExternalLibraries/ssht&lt;br /&gt;
ExternalLibraries/yaml_cpp&lt;br /&gt;
ExternalLibraries/zlib&lt;br /&gt;
&lt;br /&gt;
# Kuibit post-processing tools for simulations&lt;br /&gt;
!TARGET   = $ROOT/utils/Analysis&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/Sbozzolo/kuibit&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = kuibit/docs kuibit/examples kuibit/kuibit kuibit/LICENSE kuibit/README.md&lt;br /&gt;
&lt;br /&gt;
# Numerical&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/numerical.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
Numerical/AEILocalInterp&lt;br /&gt;
&lt;br /&gt;
# CarpetX thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/CarpetX.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CarpetX/ADMBaseX&lt;br /&gt;
CarpetX/Algo&lt;br /&gt;
CarpetX/Arith&lt;br /&gt;
CarpetX/BoxInBox&lt;br /&gt;
CarpetX/CarpetX&lt;br /&gt;
CarpetX/CarpetXRegrid&lt;br /&gt;
CarpetX/CoordinatesX&lt;br /&gt;
CarpetX/Derivs&lt;br /&gt;
CarpetX/ErrorEstimator&lt;br /&gt;
CarpetX/FluxWaveToyX&lt;br /&gt;
CarpetX/HydroBaseX&lt;br /&gt;
CarpetX/Loop&lt;br /&gt;
CarpetX/MovingBoxToy&lt;br /&gt;
CarpetX/ODESolvers&lt;br /&gt;
CarpetX/PDESolvers&lt;br /&gt;
CarpetX/ParticlesX&lt;br /&gt;
CarpetX/PoissonX&lt;br /&gt;
CarpetX/SIMDWaveToyX&lt;br /&gt;
CarpetX/SpacetimeWaveToyX&lt;br /&gt;
CarpetX/StaggeredWaveToyX&lt;br /&gt;
CarpetX/TestArrayGroup&lt;br /&gt;
CarpetX/TestBoundaries&lt;br /&gt;
CarpetX/TestBoxInBox&lt;br /&gt;
CarpetX/TestDerivs&lt;br /&gt;
CarpetX/TestInterpolate&lt;br /&gt;
CarpetX/TestLoopX&lt;br /&gt;
CarpetX/TestNorms&lt;br /&gt;
CarpetX/TestODESolvers&lt;br /&gt;
CarpetX/TestODESolvers2&lt;br /&gt;
CarpetX/TestOutput&lt;br /&gt;
CarpetX/TestProlongate&lt;br /&gt;
CarpetX/TestSymmetries&lt;br /&gt;
CarpetX/TmunuBaseX&lt;br /&gt;
CarpetX/VGFWaveToyX&lt;br /&gt;
CarpetX/WaveToyX&lt;br /&gt;
&lt;br /&gt;
# SpacetimeX thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/SpacetimeX.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
SpacetimeX/AHFinderDirect&lt;br /&gt;
SpacetimeX/BrillLindquist&lt;br /&gt;
SpacetimeX/Cowling&lt;br /&gt;
SpacetimeX/KerrSchildX&lt;br /&gt;
SpacetimeX/Multipole&lt;br /&gt;
SpacetimeX/NewRadX&lt;br /&gt;
SpacetimeX/PunctureTracker&lt;br /&gt;
SpacetimeX/Punctures&lt;br /&gt;
SpacetimeX/SphericalHarmonics&lt;br /&gt;
SpacetimeX/SphericalSurface&lt;br /&gt;
SpacetimeX/StaticTrumpet&lt;br /&gt;
SpacetimeX/TestNewRadX&lt;br /&gt;
SpacetimeX/TwoPuncturesX&lt;br /&gt;
SpacetimeX/Weyl&lt;br /&gt;
SpacetimeX/WeylScal4&lt;br /&gt;
SpacetimeX/Z4c&lt;br /&gt;
&lt;br /&gt;
# Canuda -- CanudaX&lt;br /&gt;
!TARGET    = $ARR&lt;br /&gt;
!TYPE      = git&lt;br /&gt;
!URL       = https://bitbucket.org/canuda/canudax.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CanudaX/CanudaX_BSSNMoL&lt;br /&gt;
CanudaX/CanudaX_ExactID&lt;br /&gt;
CanudaX/CanudaX_NPScalars&lt;br /&gt;
&lt;br /&gt;
# Cottonmouth&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/Cottonmouth.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
Cottonmouth/CottonmouthBSSNOK4m&lt;br /&gt;
Cottonmouth/CottonmouthGaugeWaveID&lt;br /&gt;
Cottonmouth/CottonmouthLinearWaveID&lt;br /&gt;
Cottonmouth/CottonmouthZ4c4m&lt;br /&gt;
&lt;br /&gt;
# AsterX&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/AsterX.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
AsterX/AsterAnalysis&lt;br /&gt;
AsterX/AsterMasks&lt;br /&gt;
AsterX/AsterSeeds&lt;br /&gt;
AsterX/AsterUtils&lt;br /&gt;
AsterX/AsterX&lt;br /&gt;
AsterX/Con2PrimFactory&lt;br /&gt;
AsterX/EOSX&lt;br /&gt;
AsterX/ReconX&lt;br /&gt;
AsterX/TOVSolverX&lt;br /&gt;
AsterX/FishboneMoncriefIDX&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lsanches</name></author>
		
	</entry>
	<entry>
		<id>https://docs.einsteintoolkit.org/et-docs/index.php?title=Choosing_a_Driver&amp;diff=9009</id>
		<title>Choosing a Driver</title>
		<link rel="alternate" type="text/html" href="https://docs.einsteintoolkit.org/et-docs/index.php?title=Choosing_a_Driver&amp;diff=9009"/>
		<updated>2026-08-19T01:44:47Z</updated>

		<summary type="html">&lt;p&gt;Lsanches: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float: right; margin: 0 0 1em 1em; width: 200px;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background: #f2f2f2; text-align: center;&amp;quot; | Navigation&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[#Basic CarpetX, no subcycling in time|Basic]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Carpet Vs. CarpetX ==&lt;br /&gt;
&lt;br /&gt;
Currently there are two production drivers in the Einstein Toolkit: Carpet and CarpetX. &lt;br /&gt;
&lt;br /&gt;
Carpet is a CPU based Adaptive Mesh Refinement (AMR) framework that has been a part of the Einstein Toolkit since 2006. It has seen extensive production use and should work out of the box when you get an official release of the Einstein Toolkit. If you are using Carpet, please see the official download and install instructions [https://einsteintoolkit.org/download.html here]. &lt;br /&gt;
&lt;br /&gt;
CarpetX is a new AMR driver capable of running on CPUs and GPUs. It is ready for production use and is also a part of the Einstein Toolkit. However, when using CarpetX, a number of thorns that are required for fully featured numerical relativity simulations are not included in the official release. This requires a different thornlist(s) depending on which features are desired. This is because either thorns are still in development phase or some existing Carpet thorns are not compatible with CarpetX (yet). &lt;br /&gt;
&lt;br /&gt;
For this reason, we are presenting a collection of thornlists for checking out various components required for fully featured simulations. This is a temporary solution and, in the future, such thornlists are expected to be no longer necessary once CarpetX thorns are included in the official release.&lt;br /&gt;
&lt;br /&gt;
== Basic CarpetX, no subcycling in time ==&lt;br /&gt;
&lt;br /&gt;
This thornlist provides a basic cactus checkouts, with CarpetX, its required external libraries&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# A basic Component list for the Einstein Toolkit &amp;lt;http://einsteintoolkit.org/&amp;gt; using CarpetX &amp;lt;https://github.com/EinsteinToolkit/CarpetX&amp;gt;&lt;br /&gt;
# $Revision$&lt;br /&gt;
# $Date$&lt;br /&gt;
# $HeadURL$&lt;br /&gt;
&lt;br /&gt;
!CRL_VERSION = 1.0&lt;br /&gt;
&lt;br /&gt;
!DEFINE ROOT = Cactus&lt;br /&gt;
!DEFINE ARR  = $ROOT/arrangements&lt;br /&gt;
!DEFINE COMPONENTLIST_TARGET = $ROOT/thornlists/&lt;br /&gt;
&lt;br /&gt;
# Cactus Flesh&lt;br /&gt;
!TARGET   = $ROOT&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactus.git&lt;br /&gt;
!NAME     = flesh&lt;br /&gt;
!CHECKOUT = .clang-format CONTRIBUTORS COPYRIGHT doc lib Makefile README.md src&lt;br /&gt;
&lt;br /&gt;
# Simulation Factory&lt;br /&gt;
!TARGET   = $ROOT&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/simfactory/simfactory2.git&lt;br /&gt;
!REPO_PATH = $1&lt;br /&gt;
!NAME     = simfactory2&lt;br /&gt;
!CHECKOUT = ./simfactory&lt;br /&gt;
&lt;br /&gt;
# Various Cactus utilities&lt;br /&gt;
!TARGET   = $ROOT/utils&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/utilities.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = ./ParameterFiles ./Scripts ./Syntax&lt;br /&gt;
&lt;br /&gt;
# The GetComponents script&lt;br /&gt;
!TARGET   = $ROOT/bin&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/gridaphobe/CRL.git&lt;br /&gt;
!CHECKOUT = GetComponents&lt;br /&gt;
&lt;br /&gt;
# CactusDoc thorns&lt;br /&gt;
!TARGET   = $ARR/CactusDoc&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/coredoc.git&lt;br /&gt;
!NAME     = CoreDoc&lt;br /&gt;
!REPO_PATH = $1&lt;br /&gt;
!CHECKOUT = ./CoreDoc&lt;br /&gt;
&lt;br /&gt;
# CactusBase thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactusbase.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CactusBase/Boundary&lt;br /&gt;
CactusBase/CoordBase&lt;br /&gt;
CactusBase/Fortran&lt;br /&gt;
CactusBase/InitBase&lt;br /&gt;
CactusBase/IOUtil&lt;br /&gt;
CactusBase/SymBase&lt;br /&gt;
CactusBase/Time&lt;br /&gt;
&lt;br /&gt;
# CactusTest thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactustest.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = CactusTest/TestAllTypes&lt;br /&gt;
CactusTest/TestArrays&lt;br /&gt;
CactusTest/TestComplex&lt;br /&gt;
CactusTest/TestCoordinates&lt;br /&gt;
CactusTest/TestFortranCrayPointers&lt;br /&gt;
CactusTest/TestFortranDependencies1&lt;br /&gt;
CactusTest/TestFortranDependencies2&lt;br /&gt;
CactusTest/TestFpointerNULL&lt;br /&gt;
CactusTest/TestFreeF90&lt;br /&gt;
CactusTest/TestInclude1&lt;br /&gt;
CactusTest/TestInclude2&lt;br /&gt;
CactusTest/TestMath&lt;br /&gt;
CactusTest/TestPar&lt;br /&gt;
CactusTest/TestReduce&lt;br /&gt;
CactusTest/TestSchedule&lt;br /&gt;
CactusTest/TestStrings&lt;br /&gt;
CactusTest/TestTable&lt;br /&gt;
CactusTest/TestTimers&lt;br /&gt;
CactusTest/TestTypes&lt;br /&gt;
&lt;br /&gt;
# CactusUtils thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactusutils.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = CactusUtils/Accelerator CactusUtils/OpenCLRunTime&lt;br /&gt;
CactusUtils/Formaline&lt;br /&gt;
CactusUtils/MemSpeed&lt;br /&gt;
CactusUtils/NaNCatcher&lt;br /&gt;
CactusUtils/Nice&lt;br /&gt;
CactusUtils/NoMPI&lt;br /&gt;
CactusUtils/SystemStatistics&lt;br /&gt;
CactusUtils/SystemTopology&lt;br /&gt;
CactusUtils/TerminationTrigger&lt;br /&gt;
CactusUtils/TimerReport&lt;br /&gt;
CactusUtils/Trigger&lt;br /&gt;
CactusUtils/Vectors&lt;br /&gt;
CactusUtils/WatchDog&lt;br /&gt;
&lt;br /&gt;
# Additional Cactus thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/$1-$2&lt;br /&gt;
!REPO_PATH = ../$1-$2&lt;br /&gt;
!CHECKOUT = ExternalLibraries/OpenBLAS ExternalLibraries/OpenCL ExternalLibraries/pciutils ExternalLibraries/PETSc&lt;br /&gt;
ExternalLibraries/ADIOS2&lt;br /&gt;
ExternalLibraries/AMReX&lt;br /&gt;
ExternalLibraries/BLAS&lt;br /&gt;
ExternalLibraries/Boost&lt;br /&gt;
ExternalLibraries/FFTW3&lt;br /&gt;
ExternalLibraries/GSL&lt;br /&gt;
ExternalLibraries/HDF5&lt;br /&gt;
ExternalLibraries/hwloc&lt;br /&gt;
ExternalLibraries/LAPACK&lt;br /&gt;
ExternalLibraries/libjpeg&lt;br /&gt;
ExternalLibraries/LORENE&lt;br /&gt;
ExternalLibraries/MPI&lt;br /&gt;
ExternalLibraries/NSIMD&lt;br /&gt;
ExternalLibraries/openPMD&lt;br /&gt;
ExternalLibraries/OpenSSL&lt;br /&gt;
ExternalLibraries/PAPI&lt;br /&gt;
ExternalLibraries/pthreads&lt;br /&gt;
ExternalLibraries/Silo&lt;br /&gt;
ExternalLibraries/ssht&lt;br /&gt;
ExternalLibraries/yaml_cpp&lt;br /&gt;
ExternalLibraries/zlib&lt;br /&gt;
&lt;br /&gt;
# Kuibit post-processing tools for simulations&lt;br /&gt;
!TARGET   = $ROOT/utils/Analysis&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/Sbozzolo/kuibit&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = kuibit/docs kuibit/examples kuibit/kuibit kuibit/LICENSE kuibit/README.md&lt;br /&gt;
&lt;br /&gt;
# Numerical&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/numerical.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
Numerical/AEILocalInterp&lt;br /&gt;
&lt;br /&gt;
# CarpetX thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/CarpetX.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CarpetX/ADMBaseX&lt;br /&gt;
CarpetX/Algo&lt;br /&gt;
CarpetX/Arith&lt;br /&gt;
CarpetX/BoxInBox&lt;br /&gt;
CarpetX/CarpetX&lt;br /&gt;
CarpetX/CarpetXRegrid&lt;br /&gt;
CarpetX/CoordinatesX&lt;br /&gt;
CarpetX/Derivs&lt;br /&gt;
CarpetX/ErrorEstimator&lt;br /&gt;
CarpetX/FluxWaveToyX&lt;br /&gt;
CarpetX/HydroBaseX&lt;br /&gt;
CarpetX/Loop&lt;br /&gt;
CarpetX/MovingBoxToy&lt;br /&gt;
CarpetX/ODESolvers&lt;br /&gt;
CarpetX/PDESolvers&lt;br /&gt;
CarpetX/ParticlesX&lt;br /&gt;
CarpetX/PoissonX&lt;br /&gt;
CarpetX/SIMDWaveToyX&lt;br /&gt;
CarpetX/SpacetimeWaveToyX&lt;br /&gt;
CarpetX/StaggeredWaveToyX&lt;br /&gt;
CarpetX/TestArrayGroup&lt;br /&gt;
CarpetX/TestBoundaries&lt;br /&gt;
CarpetX/TestBoxInBox&lt;br /&gt;
CarpetX/TestDerivs&lt;br /&gt;
CarpetX/TestInterpolate&lt;br /&gt;
CarpetX/TestLoopX&lt;br /&gt;
CarpetX/TestNorms&lt;br /&gt;
CarpetX/TestODESolvers&lt;br /&gt;
CarpetX/TestODESolvers2&lt;br /&gt;
CarpetX/TestOutput&lt;br /&gt;
CarpetX/TestProlongate&lt;br /&gt;
CarpetX/TestSymmetries&lt;br /&gt;
CarpetX/TmunuBaseX&lt;br /&gt;
CarpetX/VGFWaveToyX&lt;br /&gt;
CarpetX/WaveToyX&lt;br /&gt;
&lt;br /&gt;
# SpacetimeX thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/SpacetimeX.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
SpacetimeX/AHFinderDirect&lt;br /&gt;
SpacetimeX/BrillLindquist&lt;br /&gt;
SpacetimeX/Cowling&lt;br /&gt;
SpacetimeX/KerrSchildX&lt;br /&gt;
SpacetimeX/Multipole&lt;br /&gt;
SpacetimeX/NewRadX&lt;br /&gt;
SpacetimeX/PunctureTracker&lt;br /&gt;
SpacetimeX/Punctures&lt;br /&gt;
SpacetimeX/SphericalHarmonics&lt;br /&gt;
SpacetimeX/SphericalSurface&lt;br /&gt;
SpacetimeX/StaticTrumpet&lt;br /&gt;
SpacetimeX/TestNewRadX&lt;br /&gt;
SpacetimeX/TwoPuncturesX&lt;br /&gt;
SpacetimeX/Weyl&lt;br /&gt;
SpacetimeX/WeylScal4&lt;br /&gt;
SpacetimeX/Z4c&lt;br /&gt;
&lt;br /&gt;
# Canuda -- CanudaX&lt;br /&gt;
!TARGET    = $ARR&lt;br /&gt;
!TYPE      = git&lt;br /&gt;
!URL       = https://bitbucket.org/canuda/canudax.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CanudaX/CanudaX_BSSNMoL&lt;br /&gt;
CanudaX/CanudaX_ExactID&lt;br /&gt;
CanudaX/CanudaX_NPScalars&lt;br /&gt;
&lt;br /&gt;
# Cottonmouth&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/Cottonmouth.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
Cottonmouth/CottonmouthBSSNOK4m&lt;br /&gt;
Cottonmouth/CottonmouthGaugeWaveID&lt;br /&gt;
Cottonmouth/CottonmouthLinearWaveID&lt;br /&gt;
Cottonmouth/CottonmouthZ4c4m&lt;br /&gt;
&lt;br /&gt;
# AsterX&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/AsterX.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
AsterX/AsterAnalysis&lt;br /&gt;
AsterX/AsterMasks&lt;br /&gt;
AsterX/AsterSeeds&lt;br /&gt;
AsterX/AsterUtils&lt;br /&gt;
AsterX/AsterX&lt;br /&gt;
AsterX/Con2PrimFactory&lt;br /&gt;
AsterX/EOSX&lt;br /&gt;
AsterX/ReconX&lt;br /&gt;
AsterX/TOVSolverX&lt;br /&gt;
AsterX/FishboneMoncriefIDX&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lsanches</name></author>
		
	</entry>
	<entry>
		<id>https://docs.einsteintoolkit.org/et-docs/index.php?title=Choosing_a_Driver&amp;diff=9008</id>
		<title>Choosing a Driver</title>
		<link rel="alternate" type="text/html" href="https://docs.einsteintoolkit.org/et-docs/index.php?title=Choosing_a_Driver&amp;diff=9008"/>
		<updated>2026-08-19T00:06:45Z</updated>

		<summary type="html">&lt;p&gt;Lsanches: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Carpet Vs. CarpetX ==&lt;br /&gt;
&lt;br /&gt;
Currently there are two production drivers in the Einstein Toolkit: Carpet and CarpetX. &lt;br /&gt;
&lt;br /&gt;
Carpet is a CPU based Adaptive Mesh Refinement (AMR) framework that has been a part of the Einstein Toolkit since 2006. It has seen extensive production use and should work out of the box when you get an official release of the Einstein Toolkit. If you are using Carpet, please see the official download and install instructions [https://einsteintoolkit.org/download.html here]. &lt;br /&gt;
&lt;br /&gt;
CarpetX is a new AMR driver capable of running on CPUs and GPUs. It is ready for production use and is also a part of the Einstein Toolkit. However, when using CarpetX, a number of thorns that are required for fully featured numerical relativity simulations are not included in the official release. This requires a different thornlist(s) depending on which features are desired. This is because either thorns are still in development phase or some existing Carpet thorns are not compatible with CarpetX (yet). &lt;br /&gt;
&lt;br /&gt;
For this reason, we are presenting a collection of thornlists for checking out various components required for fully featured simulations. This is a temporary solution and, in the future, such thornlists are expected to be no longer necessary once CarpetX thorns are included in the official release.&lt;br /&gt;
&lt;br /&gt;
== Basic CarpetX, no subcycling in time ==&lt;br /&gt;
&lt;br /&gt;
This thornlist provides a basic cactus checkouts, with CarpetX, its required external libraries&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# A basic Component list for the Einstein Toolkit &amp;lt;http://einsteintoolkit.org/&amp;gt; using CarpetX &amp;lt;https://github.com/EinsteinToolkit/CarpetX&amp;gt;&lt;br /&gt;
# $Revision$&lt;br /&gt;
# $Date$&lt;br /&gt;
# $HeadURL$&lt;br /&gt;
&lt;br /&gt;
!CRL_VERSION = 1.0&lt;br /&gt;
&lt;br /&gt;
!DEFINE ROOT = Cactus&lt;br /&gt;
!DEFINE ARR  = $ROOT/arrangements&lt;br /&gt;
!DEFINE COMPONENTLIST_TARGET = $ROOT/thornlists/&lt;br /&gt;
&lt;br /&gt;
# Cactus Flesh&lt;br /&gt;
!TARGET   = $ROOT&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactus.git&lt;br /&gt;
!NAME     = flesh&lt;br /&gt;
!CHECKOUT = .clang-format CONTRIBUTORS COPYRIGHT doc lib Makefile README.md src&lt;br /&gt;
&lt;br /&gt;
# Simulation Factory&lt;br /&gt;
!TARGET   = $ROOT&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/simfactory/simfactory2.git&lt;br /&gt;
!REPO_PATH = $1&lt;br /&gt;
!NAME     = simfactory2&lt;br /&gt;
!CHECKOUT = ./simfactory&lt;br /&gt;
&lt;br /&gt;
# Various Cactus utilities&lt;br /&gt;
!TARGET   = $ROOT/utils&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/utilities.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = ./ParameterFiles ./Scripts ./Syntax&lt;br /&gt;
&lt;br /&gt;
# The GetComponents script&lt;br /&gt;
!TARGET   = $ROOT/bin&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/gridaphobe/CRL.git&lt;br /&gt;
!CHECKOUT = GetComponents&lt;br /&gt;
&lt;br /&gt;
# CactusDoc thorns&lt;br /&gt;
!TARGET   = $ARR/CactusDoc&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/coredoc.git&lt;br /&gt;
!NAME     = CoreDoc&lt;br /&gt;
!REPO_PATH = $1&lt;br /&gt;
!CHECKOUT = ./CoreDoc&lt;br /&gt;
&lt;br /&gt;
# CactusBase thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactusbase.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CactusBase/Boundary&lt;br /&gt;
CactusBase/CoordBase&lt;br /&gt;
CactusBase/Fortran&lt;br /&gt;
CactusBase/InitBase&lt;br /&gt;
CactusBase/IOUtil&lt;br /&gt;
CactusBase/SymBase&lt;br /&gt;
CactusBase/Time&lt;br /&gt;
&lt;br /&gt;
# CactusTest thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactustest.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = CactusTest/TestAllTypes&lt;br /&gt;
CactusTest/TestArrays&lt;br /&gt;
CactusTest/TestComplex&lt;br /&gt;
CactusTest/TestCoordinates&lt;br /&gt;
CactusTest/TestFortranCrayPointers&lt;br /&gt;
CactusTest/TestFortranDependencies1&lt;br /&gt;
CactusTest/TestFortranDependencies2&lt;br /&gt;
CactusTest/TestFpointerNULL&lt;br /&gt;
CactusTest/TestFreeF90&lt;br /&gt;
CactusTest/TestInclude1&lt;br /&gt;
CactusTest/TestInclude2&lt;br /&gt;
CactusTest/TestMath&lt;br /&gt;
CactusTest/TestPar&lt;br /&gt;
CactusTest/TestReduce&lt;br /&gt;
CactusTest/TestSchedule&lt;br /&gt;
CactusTest/TestStrings&lt;br /&gt;
CactusTest/TestTable&lt;br /&gt;
CactusTest/TestTimers&lt;br /&gt;
CactusTest/TestTypes&lt;br /&gt;
&lt;br /&gt;
# CactusUtils thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/cactusutils.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = CactusUtils/Accelerator CactusUtils/OpenCLRunTime&lt;br /&gt;
CactusUtils/Formaline&lt;br /&gt;
CactusUtils/MemSpeed&lt;br /&gt;
CactusUtils/NaNCatcher&lt;br /&gt;
CactusUtils/Nice&lt;br /&gt;
CactusUtils/NoMPI&lt;br /&gt;
CactusUtils/SystemStatistics&lt;br /&gt;
CactusUtils/SystemTopology&lt;br /&gt;
CactusUtils/TerminationTrigger&lt;br /&gt;
CactusUtils/TimerReport&lt;br /&gt;
CactusUtils/Trigger&lt;br /&gt;
CactusUtils/Vectors&lt;br /&gt;
CactusUtils/WatchDog&lt;br /&gt;
&lt;br /&gt;
# Additional Cactus thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/$1-$2&lt;br /&gt;
!REPO_PATH = ../$1-$2&lt;br /&gt;
!CHECKOUT = ExternalLibraries/OpenBLAS ExternalLibraries/OpenCL ExternalLibraries/pciutils ExternalLibraries/PETSc&lt;br /&gt;
ExternalLibraries/ADIOS2&lt;br /&gt;
ExternalLibraries/AMReX&lt;br /&gt;
ExternalLibraries/BLAS&lt;br /&gt;
ExternalLibraries/Boost&lt;br /&gt;
ExternalLibraries/FFTW3&lt;br /&gt;
ExternalLibraries/GSL&lt;br /&gt;
ExternalLibraries/HDF5&lt;br /&gt;
ExternalLibraries/hwloc&lt;br /&gt;
ExternalLibraries/LAPACK&lt;br /&gt;
ExternalLibraries/libjpeg&lt;br /&gt;
ExternalLibraries/LORENE&lt;br /&gt;
ExternalLibraries/MPI&lt;br /&gt;
ExternalLibraries/NSIMD&lt;br /&gt;
ExternalLibraries/openPMD&lt;br /&gt;
ExternalLibraries/OpenSSL&lt;br /&gt;
ExternalLibraries/PAPI&lt;br /&gt;
ExternalLibraries/pthreads&lt;br /&gt;
ExternalLibraries/Silo&lt;br /&gt;
ExternalLibraries/ssht&lt;br /&gt;
ExternalLibraries/yaml_cpp&lt;br /&gt;
ExternalLibraries/zlib&lt;br /&gt;
&lt;br /&gt;
# Kuibit post-processing tools for simulations&lt;br /&gt;
!TARGET   = $ROOT/utils/Analysis&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/Sbozzolo/kuibit&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT = kuibit/docs kuibit/examples kuibit/kuibit kuibit/LICENSE kuibit/README.md&lt;br /&gt;
&lt;br /&gt;
# Numerical&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://bitbucket.org/cactuscode/numerical.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
Numerical/AEILocalInterp&lt;br /&gt;
&lt;br /&gt;
# CarpetX thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/CarpetX.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CarpetX/ADMBaseX&lt;br /&gt;
CarpetX/Algo&lt;br /&gt;
CarpetX/Arith&lt;br /&gt;
CarpetX/BoxInBox&lt;br /&gt;
CarpetX/CarpetX&lt;br /&gt;
CarpetX/CarpetXRegrid&lt;br /&gt;
CarpetX/CoordinatesX&lt;br /&gt;
CarpetX/Derivs&lt;br /&gt;
CarpetX/ErrorEstimator&lt;br /&gt;
CarpetX/FluxWaveToyX&lt;br /&gt;
CarpetX/HydroBaseX&lt;br /&gt;
CarpetX/Loop&lt;br /&gt;
CarpetX/MovingBoxToy&lt;br /&gt;
CarpetX/ODESolvers&lt;br /&gt;
CarpetX/PDESolvers&lt;br /&gt;
CarpetX/ParticlesX&lt;br /&gt;
CarpetX/PoissonX&lt;br /&gt;
CarpetX/SIMDWaveToyX&lt;br /&gt;
CarpetX/SpacetimeWaveToyX&lt;br /&gt;
CarpetX/StaggeredWaveToyX&lt;br /&gt;
CarpetX/TestArrayGroup&lt;br /&gt;
CarpetX/TestBoundaries&lt;br /&gt;
CarpetX/TestBoxInBox&lt;br /&gt;
CarpetX/TestDerivs&lt;br /&gt;
CarpetX/TestInterpolate&lt;br /&gt;
CarpetX/TestLoopX&lt;br /&gt;
CarpetX/TestNorms&lt;br /&gt;
CarpetX/TestODESolvers&lt;br /&gt;
CarpetX/TestODESolvers2&lt;br /&gt;
CarpetX/TestOutput&lt;br /&gt;
CarpetX/TestProlongate&lt;br /&gt;
CarpetX/TestSymmetries&lt;br /&gt;
CarpetX/TmunuBaseX&lt;br /&gt;
CarpetX/VGFWaveToyX&lt;br /&gt;
CarpetX/WaveToyX&lt;br /&gt;
&lt;br /&gt;
# SpacetimeX thorns&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/SpacetimeX.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
SpacetimeX/AHFinderDirect&lt;br /&gt;
SpacetimeX/BrillLindquist&lt;br /&gt;
SpacetimeX/Cowling&lt;br /&gt;
SpacetimeX/KerrSchildX&lt;br /&gt;
SpacetimeX/Multipole&lt;br /&gt;
SpacetimeX/NewRadX&lt;br /&gt;
SpacetimeX/PunctureTracker&lt;br /&gt;
SpacetimeX/Punctures&lt;br /&gt;
SpacetimeX/SphericalHarmonics&lt;br /&gt;
SpacetimeX/SphericalSurface&lt;br /&gt;
SpacetimeX/StaticTrumpet&lt;br /&gt;
SpacetimeX/TestNewRadX&lt;br /&gt;
SpacetimeX/TwoPuncturesX&lt;br /&gt;
SpacetimeX/Weyl&lt;br /&gt;
SpacetimeX/WeylScal4&lt;br /&gt;
SpacetimeX/Z4c&lt;br /&gt;
&lt;br /&gt;
# Canuda -- CanudaX&lt;br /&gt;
!TARGET    = $ARR&lt;br /&gt;
!TYPE      = git&lt;br /&gt;
!URL       = https://bitbucket.org/canuda/canudax.git&lt;br /&gt;
!REPO_PATH = $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
CanudaX/CanudaX_BSSNMoL&lt;br /&gt;
CanudaX/CanudaX_ExactID&lt;br /&gt;
CanudaX/CanudaX_NPScalars&lt;br /&gt;
&lt;br /&gt;
# Cottonmouth&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/Cottonmouth.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
Cottonmouth/CottonmouthBSSNOK4m&lt;br /&gt;
Cottonmouth/CottonmouthGaugeWaveID&lt;br /&gt;
Cottonmouth/CottonmouthLinearWaveID&lt;br /&gt;
Cottonmouth/CottonmouthZ4c4m&lt;br /&gt;
&lt;br /&gt;
# AsterX&lt;br /&gt;
!TARGET   = $ARR&lt;br /&gt;
!TYPE     = git&lt;br /&gt;
!URL      = https://github.com/EinsteinToolkit/AsterX.git&lt;br /&gt;
!REPO_PATH= $2&lt;br /&gt;
!CHECKOUT =&lt;br /&gt;
AsterX/AsterAnalysis&lt;br /&gt;
AsterX/AsterMasks&lt;br /&gt;
AsterX/AsterSeeds&lt;br /&gt;
AsterX/AsterUtils&lt;br /&gt;
AsterX/AsterX&lt;br /&gt;
AsterX/Con2PrimFactory&lt;br /&gt;
AsterX/EOSX&lt;br /&gt;
AsterX/ReconX&lt;br /&gt;
AsterX/TOVSolverX&lt;br /&gt;
AsterX/FishboneMoncriefIDX&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lsanches</name></author>
		
	</entry>
</feed>