Cactus Code Thorn AHFinder Author(s) : Erik Schnetter schnetter@gmail.com Maintainer(s): Erik Schnetter schnetter@gmail.com Licence : LGPL
- Purpose
Find apparent horizons
- Method
See
Lap-Ming Lin, Jerome Novak, “A new spectral apparent horizon finder for 3D numerical relativity”, arXiv:gr-qc/0702038
2.1. Variables and equations
h(\theta, \phi)
F(r, \theta, \phi) = r - h(\theta, \phi)
s_a = \partial_a F / \sqrt{ g^ab (\partial_a F) (\partial_b F) }
s^a;a = 1 / \sqrt{\det g} \partial_b g^ab \sqrt{\det g} s_a
\Theta = s^a;a - (g^ab - s^a s^b) K_ab
2.2. Discrete basis
Scalar spherical harmnoics:
Y_lm(\theta, \phi)
Vector spherical harmonics:
\bf Y_lm(\theta, \phi) =Y_lm(\theta, \phi) \hat\bf r \bf\Psi_lm(\theta, \phi) = r \grad Y_lm(\theta, \phi) \bf\Phi_lm(\theta, \phi) = \bf r \cross Y_lm(\theta, \phi)
Derivatives (gradient and divergence):
f(r, \theta, \phi) = \phi^lm(r) Y_lm(\theta, \phi) (\grad f)(r, \theta, \phi) = \partial_r \phi^lm(r) \bf Y_lm(\theta, \phi) + 1/r \phi^lm(r) \bf\Psi_lm(\theta, \phi)
\div \phi(r) \bf\Psi_lm(\theta, \phi) = (\partial_r \phi(r) + 2/r \phi(r)) Y_lm(\theta, \phi) - 1/r l(l+1) \phi(r) Y_lm(\theta, \phi)
f(\theta, \phi) = \phi^lm Y_lm(\theta, \phi) (\grad f)(\theta, \phi) = 1/r \phi^lm \bf\Psi_lm(\theta, \phi)
\div \bf\Psi_lm(\theta, \phi) = - 1/r l(l+1) Y_lm(\theta, \phi)
Spin-weighted sperical harmonics: (https://arxiv.org/abs/1010.2084, (11) and (12))
gradient components: |s|_E_lm = (-1)^H 1/2 (|s|_a_lm + (-1)^s -|s|_a_lm) curl components: i |s|_B_lm = (-1)^H 1/2 (|s|_a_lm - (-1)^s -|s|_a_lm)
with |s|_E_lm* = (-1)^m |s|_E_l,-m |s|_B_lm* = (-1)^m |s|_B_l,-m
there is |s|_E_lm + i |s|_B_lm = (-1)^H |s|_a_lm |s|_E_lm - i |s|_B_lm = (-1)^H (-1)^s -|s|_a_lm
\dh = - (\partial_\theta + i / \sin\theta \partial_\phi)
\bar\dh = - (\partial_\theta - i / \sin\theta \partial_\phi)
0_E_lm = (-1)^H 1/2 (0_a_lm + 0_a_lm) 1_E_lm = (-1)^H 1/2 (1_a_lm - -1_a_lm) 2_E_lm = (-1)^H 1/2 (2_a_lm + -2_a_lm)
i 0_B_lm = (-1)^H 1/2 (0_a_lm - 0_a_lm) i 1_B_lm = (-1)^H 1/2 (1_a_lm + -1_a_lm) i 2_B_lm = (-1)^H 1/2 (2_a_lm - -2_a_lm)
2.3 Discrete representation
h(\theta, \phi) = h^lm Y_lm(\theta, \phi)
F(r, \theta, \phi) = r - h^lm Y_lm(\theta, \phi)
\partial_a F = [1, h^lm \bf\Psi_lm(\theta, \phi)]
|grad F| = …
s_a = \partial_a F / |grad F|
*s^a = \sqrt{\det g} g^ab s_b
*sr^lm \bf Y_lm(\theta, \phi) + *s1^lm \bf\Psi_lm(\theta, \phi) = *s^a
*s^a;a = 2 *sr^lm Y_lm(\theta, \phi) - l(l+1) *s1^lm Y_lm(\theta, \phi)
s^a;a = 1 / \sqrt{\det g} *s^a;a
- References
Jonathan Thornburg, “Finding Apparent Horizons in Numerical Relativity”, arXiv:gr-qc/9508014
Carsten Gundlach, “Pseudo-spectral apparent horizon finders: an efficient new algorithm”, arXiv:gr-qc/9707050
Jonathan Thornburg, “A Fast Apparent-Horizon Finder for 3-Dimensional Cartesian Grids in Numerical Relativity”, arXiv:gr-qc/0306056
Jonathan Thornburg, “Event and Apparent Horizon Finders for 3+1 Numerical Relativity”, arXiv:gr-qc/0512169
Lap-Ming Lin, Jerome Novak, “A new spectral apparent horizon finder for 3D numerical relativity”, arXiv:gr-qc/0702038
https://en.wikipedia.org/wiki/Spin-weighted_spherical_harmonics https://en.wikipedia.org/wiki/Vector_spherical_harmonics
libsharp:
- supports arbitrary spins
Martin Reinecke, Dag Sverre Seljebotn, “Libsharp - spherical harmonic transforms revisited”, arXiv:1303.4945 [physics.comp-ph]]
https://gitlab.mpcdf.mpg.de/mtr/libsharp, previously https://github.com/Libsharp/libsharp
SHTOOLS:
- only scalars
Mark A. Wieczorek and Matthias Meschede (2018). SHTools – Tools for working with spherical harmonics, Geochemistry, Geophysics, Geosystems, 19, 2574-2592, doi:10.1029/2018GC007529.
https://shtools.github.io/SHTOOLS/
ssht:
- use spin weights
J. D. McEwen, Y. Wiaux, “A novel sampling theorem on the sphere”, arXiv:1110.6298 [cs.IT]