aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2021-10-10 15:50:39 +0200
committerAnton Khirnov <anton@khirnov.net>2021-10-10 15:50:39 +0200
commitcde358a309c3dbf8d4249229f10d0888f307e7f9 (patch)
treebc4f1e3237d894766f101011d9148d32844a84c6
parentb487acb4843a8413ddcecce398a44d0c7c050c61 (diff)
Add README.
-rw-r--r--README46
1 files changed, 46 insertions, 0 deletions
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).