Skip to content

Using Cadabra to derive the BSSN equations from the ADM equations

License

Notifications You must be signed in to change notification settings

leo-brewin/adm-bssn-equations

Repository files navigation

Deriving the BSSN equations from the ADM equations

This repository provides simple Cadabra scripts that derives the (vacuum, zero-sift) BSSN equations, step by step, from the ADM equations.

Overview

The work entailed in deriving the BSSN equations from the ADM equations is non-trivial. There are many steps and it can be a tad frustrating to do by hand. Thus it makes sense to use a suitable computer package to do the heavy lifting. One such package is Cadabra. This is a symbolic algebra system ideally suited to tensor computations in General Relativity. The core software is written in C++ while its native syntax is a subset of LaTeX for the tensor equations and Python to control the computations. Cadabra is mostly used to do abstract tensor computations (e.g., showing that the Levi-Civita connection is metric compatible) as well as component computations (e.g., computing the Riemann components for a Schwarzschild metric in isotropic coordinates).

The codes provided here show how easy it is easy use Cadabra to do the stated job -- to derive the BSSN equations from the ADM equations.

A detailed tutorial on Cadabra can be found here.

Installation

This project is closely aligned with the ADM BSSN numerical project. If you have already installed that project then your installation is complete.

If you wish to experiment with the Cadabra codes you will need to install Cadabra. The Cadabra repository provides detailed instructions for a wide variety of platforms.

Proper processing of the Cadabra codes will also require a subset of the tools from Hybrid-LaTeX project. A copy of these tools and the supporting documentation can be found in the hybrid-latex/ directory.

To build everything from scratch just run

$  source SETPATHS; make

from the top directory. This will install the required files before compiling the Cadabra-LaTeX codes.

Note that the simple make command will install various files before processing the ADM and BSSN codes. The files will be installed in the directories

Directory Content Path variable
$HOME/local/adm-bssn/bin/ Python and Shell scripts $PATH
$HOME/local/adm-bssn/lib/ Python libraries $PYTHONPATH
$HOME/local/adm-bssn/tex/ LaTeX files $TEXINPUTS

The command source SETPATHS will prepend the directories to the appropriate paths. This ensures that the newly installed files can be found when the subsequent make command is run. If you need to recover the original paths, just run source OLDPATHS.

If you prefer to install the hybrid latex files in some other directory then you can run the command

$ source SETPATHS /full/path/to/dir/; make install

where /full/path/to/dir/ is the full path to your prefered directory. The bin, lib and tex directories will be ceated underneath this directory.

You can also compile and install these tools by hand. See the INSTALL.txt and utilities/INSTALL.txt for full details.

Uninstall

The hybrid latex tools can be uninstalled by deleting the directory $HOME/local/hybrid-latex/ (or the approrpriate directory if you chose a non-default installation).

Running the code

There really is almost nothing to do (after installation). Just

$ cd source
$ make

will be sufficient. If all goes well (as it should :) then a collection of the results, one pdf for each BSSN equation and the complete collecton eqtns.pdf, can be found in source/.

Cut to the chase

You may prefer to not install the Cadabra code and the associated Hybrid-LaTeX codes (really?). In which case you can view all of the output in the pdf directory (you can also use these pdf's to check the output generated by Cadabra).

Dependencies

You will need the Cadabra/Python/SymPy software.

Cadabra

Cadabra is easy to compile and install. Full details can be found on the Cadabra repository.

Python/SymPy

The codes have been tested with both Python2 and Python3. Since Python2 is deprecated it would be wise to use Python3. A popular distribution of Python3 can be found at the Anaconda website.

License

All files in this collection are distributed under the MIT license. See the file LICENSE.txt for the full details.

About

Using Cadabra to derive the BSSN equations from the ADM equations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published