diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 46 |
1 files changed, 46 insertions, 0 deletions
@@ -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). |