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).