From cde358a309c3dbf8d4249229f10d0888f307e7f9 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sun, 10 Oct 2021 15:50:39 +0200 Subject: Add README. --- README | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 README diff --git a/README b/README new file mode 100644 index 0000000..f0174cf --- /dev/null +++ b/README @@ -0,0 +1,46 @@ +Overview +======== + +This is a linear scalar elliptic PDE solver using the multigrid method. 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 uses the meson build system. A C99-compliant compiler and a POSIX +environment are expected. + +Dependencies: +- BLAS +- LAPACKE (the C interface to LAPACK) +- libthreadpool (thread pool utility library) +- libndarray (array utility library) +- MPI + +The shared library and the headers mg2d.h, mg2d_boundary.h, mg2d_constants.h +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