aboutsummaryrefslogtreecommitdiff
path: root/README
blob: 31259726fe085d35910581955a33d54b574bf0d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Overview
========

This is a small C library for constructing initial data data for Brill waves
(see e.g. http://arxiv.org/abs/gr-qc/9302023) to be used in 3+1 general
relativity simulations.

The construction involves solving an elliptic equation for the conformal factor.
This is done using a pseudo-spectral method by expanding the conformal factor in
the basis of SB functions (see Boyd 2000, chapter 17.9). The pseudo-spectral
matrix is inverted with LAPACK.

Building and installation
=========================

The library requires GSL and LAPACKE (the C interface to LAPACK) to be present
where the compiler and linker can find them. A C99-compliant compiler and a
POSIX environemtn are expected.

Simply running 'make' will then build the shared library libbrilldata.so. That
must be copied manually to where your linker will find it (or set
LD_LIBRARY_PATH accordingly on systems that support it).

Usage
=====

The public C API is described in the brill_data.h header.

A simplistic Python wrapper using ctypes is also provided. It contains a single
public class that takes the C context options as keyword arguments and solves
the equation on initialization. The instance methods then allow to evaluate the
solution where needed.

Licence
=======

This library is free software, available under GNU GPLv3 (see the LICENCE file
for full licence text).