From e631627f70695bde798f22c4baaa472c100e45ef Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sun, 10 Oct 2021 15:42:10 +0200 Subject: Add README and LICENCE. --- README | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 README (limited to 'README') diff --git a/README b/README new file mode 100644 index 0000000..67ae5df --- /dev/null +++ b/README @@ -0,0 +1,44 @@ +Overview +======== + +This is a small C library for constructing initial data data for +Teukolsky/time-asymmetric waves (see https://doi.org/10.1103/PhysRevLett.127.011104) to +be used in 3+1 general relativity simulations. + +See the author's PhD thesis for more information. + +If you use this code in your research that leads to a publication, please cite +our paper: + Universality of Curvature Invariants in Critical Vacuum Gravitational Collapse + https://doi.org/10.1103/PhysRevLett.127.011104 + +If you modify the code, we ask that you share your changes with the author (e.g. +via email). + +Building and installation +========================= + +The library requires LAPACKE (the C interface to LAPACK) and libthreadpool +(thread pool utility library) to be present where the compiler and linker can +find them. A C99-compliant compiler and a POSIX environment are expected. + +Simply running 'make' will then build the shared library libteukolskydata.so. +The shared library and the teukolsky_data.h header must be copied to where the +linker and C compiler, respectively, will find them (typically /usr/local/lib +and /usr/local/include). + +Usage +===== + +The public C API is described in the teukolsky_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). -- cgit v1.2.3