Difference between revisions of "Choosing a Driver"

From Einstein Toolkit Documentation
Jump to: navigation, search
Line 1: Line 1:
 +
{| class="wikitable" style="float: right; margin: 0 0 1em 1em; width: 200px;"
 +
! style="background: #f2f2f2; text-align: center;" | Navigation
 +
|-
 +
 +
| [[#Basic CarpetX, no subcycling in time|Basic]]
 +
|-
 +
 +
|}
  
 
== Carpet Vs. CarpetX ==
 
== Carpet Vs. CarpetX ==

Revision as of 01:44, 19 August 2026

Navigation
Basic

Carpet Vs. CarpetX

Currently there are two production drivers in the Einstein Toolkit: Carpet and CarpetX.

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 here.

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).

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.

Basic CarpetX, no subcycling in time

This thornlist provides a basic cactus checkouts, with CarpetX, its required external libraries

  1 # A basic Component list for the Einstein Toolkit <http://einsteintoolkit.org/> using CarpetX <https://github.com/EinsteinToolkit/CarpetX>
  2 # $Revision$
  3 # $Date$
  4 # $HeadURL$
  5 
  6 !CRL_VERSION = 1.0
  7 
  8 !DEFINE ROOT = Cactus
  9 !DEFINE ARR  = $ROOT/arrangements
 10 !DEFINE COMPONENTLIST_TARGET = $ROOT/thornlists/
 11 
 12 # Cactus Flesh
 13 !TARGET   = $ROOT
 14 !TYPE     = git
 15 !URL      = https://bitbucket.org/cactuscode/cactus.git
 16 !NAME     = flesh
 17 !CHECKOUT = .clang-format CONTRIBUTORS COPYRIGHT doc lib Makefile README.md src
 18 
 19 # Simulation Factory
 20 !TARGET   = $ROOT
 21 !TYPE     = git
 22 !URL      = https://bitbucket.org/simfactory/simfactory2.git
 23 !REPO_PATH = $1
 24 !NAME     = simfactory2
 25 !CHECKOUT = ./simfactory
 26 
 27 # Various Cactus utilities
 28 !TARGET   = $ROOT/utils
 29 !TYPE     = git
 30 !URL      = https://bitbucket.org/cactuscode/utilities.git
 31 !REPO_PATH = $2
 32 !CHECKOUT = ./ParameterFiles ./Scripts ./Syntax
 33 
 34 # The GetComponents script
 35 !TARGET   = $ROOT/bin
 36 !TYPE     = git
 37 !URL      = https://github.com/gridaphobe/CRL.git
 38 !CHECKOUT = GetComponents
 39 
 40 # CactusDoc thorns
 41 !TARGET   = $ARR/CactusDoc
 42 !TYPE     = git
 43 !URL      = https://bitbucket.org/cactuscode/coredoc.git
 44 !NAME     = CoreDoc
 45 !REPO_PATH = $1
 46 !CHECKOUT = ./CoreDoc
 47 
 48 # CactusBase thorns
 49 !TARGET   = $ARR
 50 !TYPE     = git
 51 !URL      = https://bitbucket.org/cactuscode/cactusbase.git
 52 !REPO_PATH = $2
 53 !CHECKOUT =
 54 CactusBase/Boundary
 55 CactusBase/CoordBase
 56 CactusBase/Fortran
 57 CactusBase/InitBase
 58 CactusBase/IOUtil
 59 CactusBase/SymBase
 60 CactusBase/Time
 61 
 62 # CactusTest thorns
 63 !TARGET   = $ARR
 64 !TYPE     = git
 65 !URL      = https://bitbucket.org/cactuscode/cactustest.git
 66 !REPO_PATH = $2
 67 !CHECKOUT = CactusTest/TestAllTypes
 68 CactusTest/TestArrays
 69 CactusTest/TestComplex
 70 CactusTest/TestCoordinates
 71 CactusTest/TestFortranCrayPointers
 72 CactusTest/TestFortranDependencies1
 73 CactusTest/TestFortranDependencies2
 74 CactusTest/TestFpointerNULL
 75 CactusTest/TestFreeF90
 76 CactusTest/TestInclude1
 77 CactusTest/TestInclude2
 78 CactusTest/TestMath
 79 CactusTest/TestPar
 80 CactusTest/TestReduce
 81 CactusTest/TestSchedule
 82 CactusTest/TestStrings
 83 CactusTest/TestTable
 84 CactusTest/TestTimers
 85 CactusTest/TestTypes
 86 
 87 # CactusUtils thorns
 88 !TARGET   = $ARR
 89 !TYPE     = git
 90 !URL      = https://bitbucket.org/cactuscode/cactusutils.git
 91 !REPO_PATH = $2
 92 !CHECKOUT = CactusUtils/Accelerator CactusUtils/OpenCLRunTime
 93 CactusUtils/Formaline
 94 CactusUtils/MemSpeed
 95 CactusUtils/NaNCatcher
 96 CactusUtils/Nice
 97 CactusUtils/NoMPI
 98 CactusUtils/SystemStatistics
 99 CactusUtils/SystemTopology
100 CactusUtils/TerminationTrigger
101 CactusUtils/TimerReport
102 CactusUtils/Trigger
103 CactusUtils/Vectors
104 CactusUtils/WatchDog
105 
106 # Additional Cactus thorns
107 !TARGET   = $ARR
108 !TYPE     = git
109 !URL      = https://github.com/EinsteinToolkit/$1-$2
110 !REPO_PATH = ../$1-$2
111 !CHECKOUT = ExternalLibraries/OpenBLAS ExternalLibraries/OpenCL ExternalLibraries/pciutils ExternalLibraries/PETSc
112 ExternalLibraries/ADIOS2
113 ExternalLibraries/AMReX
114 ExternalLibraries/BLAS
115 ExternalLibraries/Boost
116 ExternalLibraries/FFTW3
117 ExternalLibraries/GSL
118 ExternalLibraries/HDF5
119 ExternalLibraries/hwloc
120 ExternalLibraries/LAPACK
121 ExternalLibraries/libjpeg
122 ExternalLibraries/LORENE
123 ExternalLibraries/MPI
124 ExternalLibraries/NSIMD
125 ExternalLibraries/openPMD
126 ExternalLibraries/OpenSSL
127 ExternalLibraries/PAPI
128 ExternalLibraries/pthreads
129 ExternalLibraries/Silo
130 ExternalLibraries/ssht
131 ExternalLibraries/yaml_cpp
132 ExternalLibraries/zlib
133 
134 # Kuibit post-processing tools for simulations
135 !TARGET   = $ROOT/utils/Analysis
136 !TYPE     = git
137 !URL      = https://github.com/Sbozzolo/kuibit
138 !REPO_PATH = $2
139 !CHECKOUT = kuibit/docs kuibit/examples kuibit/kuibit kuibit/LICENSE kuibit/README.md
140 
141 # Numerical
142 !TARGET   = $ARR
143 !TYPE     = git
144 !URL      = https://bitbucket.org/cactuscode/numerical.git
145 !REPO_PATH= $2
146 !CHECKOUT =
147 Numerical/AEILocalInterp
148 
149 # CarpetX thorns
150 !TARGET   = $ARR
151 !TYPE     = git
152 !URL      = https://github.com/EinsteinToolkit/CarpetX.git
153 !REPO_PATH = $2
154 !CHECKOUT =
155 CarpetX/ADMBaseX
156 CarpetX/Algo
157 CarpetX/Arith
158 CarpetX/BoxInBox
159 CarpetX/CarpetX
160 CarpetX/CarpetXRegrid
161 CarpetX/CoordinatesX
162 CarpetX/Derivs
163 CarpetX/ErrorEstimator
164 CarpetX/FluxWaveToyX
165 CarpetX/HydroBaseX
166 CarpetX/Loop
167 CarpetX/MovingBoxToy
168 CarpetX/ODESolvers
169 CarpetX/PDESolvers
170 CarpetX/ParticlesX
171 CarpetX/PoissonX
172 CarpetX/SIMDWaveToyX
173 CarpetX/SpacetimeWaveToyX
174 CarpetX/StaggeredWaveToyX
175 CarpetX/TestArrayGroup
176 CarpetX/TestBoundaries
177 CarpetX/TestBoxInBox
178 CarpetX/TestDerivs
179 CarpetX/TestInterpolate
180 CarpetX/TestLoopX
181 CarpetX/TestNorms
182 CarpetX/TestODESolvers
183 CarpetX/TestODESolvers2
184 CarpetX/TestOutput
185 CarpetX/TestProlongate
186 CarpetX/TestSymmetries
187 CarpetX/TmunuBaseX
188 CarpetX/VGFWaveToyX
189 CarpetX/WaveToyX
190 
191 # SpacetimeX thorns
192 !TARGET   = $ARR
193 !TYPE     = git
194 !URL      = https://github.com/EinsteinToolkit/SpacetimeX.git
195 !REPO_PATH = $2
196 !CHECKOUT =
197 SpacetimeX/AHFinderDirect
198 SpacetimeX/BrillLindquist
199 SpacetimeX/Cowling
200 SpacetimeX/KerrSchildX
201 SpacetimeX/Multipole
202 SpacetimeX/NewRadX
203 SpacetimeX/PunctureTracker
204 SpacetimeX/Punctures
205 SpacetimeX/SphericalHarmonics
206 SpacetimeX/SphericalSurface
207 SpacetimeX/StaticTrumpet
208 SpacetimeX/TestNewRadX
209 SpacetimeX/TwoPuncturesX
210 SpacetimeX/Weyl
211 SpacetimeX/WeylScal4
212 SpacetimeX/Z4c
213 
214 # Canuda -- CanudaX
215 !TARGET    = $ARR
216 !TYPE      = git
217 !URL       = https://bitbucket.org/canuda/canudax.git
218 !REPO_PATH = $2
219 !CHECKOUT =
220 CanudaX/CanudaX_BSSNMoL
221 CanudaX/CanudaX_ExactID
222 CanudaX/CanudaX_NPScalars
223 
224 # Cottonmouth
225 !TARGET   = $ARR
226 !TYPE     = git
227 !URL      = https://github.com/EinsteinToolkit/Cottonmouth.git
228 !REPO_PATH= $2
229 !CHECKOUT =
230 Cottonmouth/CottonmouthBSSNOK4m
231 Cottonmouth/CottonmouthGaugeWaveID
232 Cottonmouth/CottonmouthLinearWaveID
233 Cottonmouth/CottonmouthZ4c4m
234 
235 # AsterX
236 !TARGET   = $ARR
237 !TYPE     = git
238 !URL      = https://github.com/EinsteinToolkit/AsterX.git
239 !REPO_PATH= $2
240 !CHECKOUT =
241 AsterX/AsterAnalysis
242 AsterX/AsterMasks
243 AsterX/AsterSeeds
244 AsterX/AsterUtils
245 AsterX/AsterX
246 AsterX/Con2PrimFactory
247 AsterX/EOSX
248 AsterX/ReconX
249 AsterX/TOVSolverX
250 AsterX/FishboneMoncriefIDX