Warning
I'm still actively developing it and migrating code from private repositories to this one, so it may currently lack some features.
After developing hundreds of PDE solvers for various projects, I decided to create GRSuite.jl
because I couldn't find a library that was both highly convenient and effective for solving partial differential equations (PDEs) in the context of general relativity (GR).
When solving GR PDEs in spherical symmetry or even axisymmetry, the requirements are often far more demanding than in 3+1 cases. These include the need for very long-time simulations, conservation of quantities, highly accurate late-time behavior, and precise computation of quasinormal modes. While I have addressed these challenges individually in the past, I grew tired of copying and pasting solutions from old repositories. Instead, I decided to develop a comprehensive, feature-rich, and highly efficient library. This is my answer to those challenges.
GRSuite.jl is a high-performance suite designed to compute arbitrary-precision solutions of PDEs in GR. It is planned to support solving the following built-in equations (some of which were developed for previous projects and will be ported to this library):
-
Spherical Symmetry
- Regge-Wheeler-Zerilli equation in hyperboloidal, Kerr-Schild, and tortoise coordinates
- Klein-Gordon equation in hyperboloidal, Kerr-Schild, and tortoise coordinates
- Einstein equations with a scalar field using the Z4 formulation
-
Axisymmetry
- Teukolsky equation in hyperboloidal, Kerr-Schild, and tortoise coordinates
- Klein-Gordon equation in hyperboloidal, Kerr-Schild, and tortoise coordinates
-
Quasinormal Modes
- Compute quasinormal modes for the Schwarzschild black hole using the Regge-Wheeler-Zerilli equation. Use the continued fraction method to determine the eigenvalue and the ultraspherical spectral method in hyperboloidal coordinates to determine the eigenfunction.
- Compute quasinormal modes for the Teukolsky equation using the continued fraction method. Apply the Cook-Zalutskiy spectral approach for the angular sector to determine the eigenvalue and the ultraspherical spectral method in hyperboloidal coordinates to determine the eigenfunction.
GRSuite.jl
currently includes utilities for the following numerical methods:
- Spatial Discretization
- Chebyshev collocation at Chebyshev points of the first and second kinds (Most of algorithms are translated from Chebfun)
- Finite difference method
- Hermite finite difference method
- Rectangular collocation method (Most of algorithms are translated from Chebfun)
- Ultraspherical spectral method (Most of algorithms are translated from Chebfun)
- Ultraspherical rectangular collocation
- Quasinormal Mode Computation
- Modified Lentz method for continued fractions
- General Utilities
- Correctly rounded floating-point dot/sum using xsum or Kahan summation
While the ChebyshevSuite
is inspired by algorithms from Chebfun, it has been significantly enhanced in this package to improve performance and support arbitrary-precision calculations.
This project is under active development, so feel free to give it a try!