This repository provides simple Cadabra scripts that derives the (vacuum, zero-sift) BSSN equations, step by step, from the ADM equations.
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.
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.
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).
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/
.
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).
You will need the Cadabra/Python/SymPy software.
Cadabra is easy to compile and install. Full details can be found on the Cadabra repository.
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.
All files in this collection are distributed under the MIT license. See the file LICENSE.txt for the full details.