aboutsummaryrefslogtreecommitdiff
path: root/README
blob: 7d04c1b9a21beb335b6a61a1736943353ec0f083 (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
39
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) in the radial direction
and even cosines in the angular direction. The pseudo-spectral matrix is
inverted with LAPACK.

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

The library requires LAPACKE (the C interface to LAPACK) to be present where the
compiler and linker can find it. A C99-compliant compiler and a POSIX
environment 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).