# SimulationTools

for Mathematica

- About
- Features
- Documentation
- Codes
- Download
- Support
- Development

## Features

### Programmatic Interface to Simulation Data

- Read grid variables from simulations
- Use code-specific functions for a natural interface to each
code's data
- Use Mathematica's algorithms and programming language to analyse
your data
- Visualise data directly within Mathematica
- Extend SimulationTools to support new codes, output formats and
simulation directory layouts

### Hide low-level simulation details

- Transparently access data stored in multiple segments
- High-level view of data hides low-level technicalities

### Enhanced List and Array Data Types

- Use new data types (DataRegion and DataTable) for lists and arrays
with associated coordinates
- Use many list-based Mathematica operations (e.g. algebraic
operations, numerical functions, interpolation, plotting, etc) on
these types

### Numerical Relativity and the Einstein Toolkit

- Functional interfaces to output data of codes in the Einstein Toolkit
- Extensive functionality for analysis of Numerical Relativity
data
- Einstein Toolkit: Functional interface to many important codes
from the Einstein Toolkit, including Multipole, PunctureTracker,
AHFinderDirect and QuasiLocalMeasures.
- Gravitational waves: Read Psi4 data from simulations using the
ReadPsi4 function. Convert between real/imaginary to amplitude/phase.
Extrapolate waveforms to infinity. Convert Psi4 to strain.
- Binary black holes: Read black hole coordinate tracks, including
their separation and phase. The SimulationOverview function provides an
immediate overview of a binary black hole simulation (waveforms,
puncture tracks, start and stop time of each segment, simulation speed, memory
usage, etc).

### Numerical Convergence

- Easily subtract grid data from simulations at different
resolutions for computing rescaled errors for numerical
convergence tests
- Easily interpolate if necessary
- Compute Richardson extrapolations
- Compute expected ratio of differences between resolutions
- Compute the estimated convergence rate from data at three
resolutions

### Use with the output of different codes

- SimulationTools has explicit support for the following codes:
Cactus, Carpet, Simulation Factory, Einstein Toolkit. See the Codes page for more details.