Difference between revisions of "Choosing a Driver"

From Einstein Toolkit Documentation
Jump to: navigation, search
m (Basic CarpetX, no subcycling in time)
Line 285: Line 285:
 
AsterX/FishboneMoncriefIDX
 
AsterX/FishboneMoncriefIDX
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
== CarpetX with subcycling in time ==
 +
TODO

Revision as of 01:51, 19 August 2026

Contents
Carpet Vs. CarpetX
Basic CarpetX, no subcycling in time
CarpetX with subcycling in time

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 checkout, with CarpetX, and its required external libraries. It also includes:

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

CarpetX with subcycling in time

TODO