Thorn Extract calculates first order gauge invariant waveforms from a numerical spacetime, under the basic assumption that, at the spheres of extract the spacetime is approximately Schwarzschild. In addition, other quantities such as mass, angular momentum and spin can be determined.
This thorn should not be used blindly, it will always return some waveform, however it is up to the user to determine whether this is the appropriate expected first order gauge invariant waveform.
Assume a spacetime \(g_{\alpha \beta }\) which can be written as a Schwarzschild background \(g_{\alpha \beta }^{Schwarz}\) with perturbations \(h_{\alpha \beta }\): \begin {equation} g_{\alpha \beta } = g^{Schwarz}_{\alpha \beta } + h_{\alpha \beta } \end {equation} with \begin {equation} \{g^{Schwarz}_{\alpha \beta }\}(t,r,\theta ,\phi ) = \left ( \begin {array}{cccc} -S & 0 & 0 & 0 \\ 0 & S^{-1} & 0 & 0 \\ 0 & 0 & r^2 & 0 \\ 0 & 0 & 0 & r^2 \sin ^2\theta \end {array}\right ) \qquad S(r)=1-\frac {2M}{r} \end {equation} The 3-metric perturbations \(\gamma _{ij}\) can be decomposed using tensor harmonics into \(\gamma _{ij}^{lm}(t,r)\) where
and
where \(\{{\bf V}_k\}\) is some basis for tensors on a 2-sphere in 3-D Euclidean space. Working with the Regge-Wheeler basis (see Section 6) the 3-metric is then expanded in terms of the (six) standard Regge-Wheeler functions \(\{c_1^{\times lm}, c_2^{\times lm}, h_1^{+lm}, H_2^{+lm}, K^{+lm}, G^{+lm}\}\) [19], [16]. Where each of the functions is either odd (\(\times \)) or even (\(+\)) parity. The decomposition is then written
which we can write in an expanded form as
A similar decomposition allows the four gauge components of the 4-metric to be written in terms of three even-parity variables \(\{H_0,H_1,h_0\}\) and the one odd-parity variable \(\{c_0\}\)
Also from \(g_{tt}=-\alpha ^2+\beta _i\beta ^i\) we have \begin {equation} \alpha ^{lm} = -\frac {1}{2}NH_0^{+lm}Y_{lm} \end {equation} It is useful to also write this with the perturbation split into even and odd parity parts:
where (dropping some superscripts)
Now, for such a Schwarzschild background we can define two (and only two) unconstrained gauge invariant quantities \(Q^{\times }_{lm}=Q^{\times }_{lm}(c_1^{\times lm},c_2^{\times lm})\) and \(Q^{+}_{lm}=Q^{+}_{lm}(K^{+ lm},G^{+ lm},H_2^{+lm},h_1^{+lm})\), which from [3] are
where
NOTE: These quantities compare with those in Moncrief [16] by
Note that these quantities only depend on the purely spatial Regge-Wheeler functions, and not the gauge parts. (In the Regge-Wheeler and Zerilli gauges, these are just respectively (up to a rescaling) the Regge-Wheeler and Zerilli functions). These quantities satisfy the wave equations
where
The implementation assumes that the numerical solution, on a Cartesian grid, is approximately Schwarzshild on the spheres of constant \(r=\sqrt (x^2+y^2+z^2)\) where the waveforms are extracted. The general procedure is then:
Project the required metric components, and radial derivatives of metric components, onto spheres of constant coordinate radius (these spheres are chosen via parameters).
Transform the metric components and there derivatives on the 2-spheres from Cartesian coordinates into a spherical coordinate system.
Calculate the physical metric on these spheres if a conformal factor is being used.
Calculate the transformation from the coordinate radius to an areal radius for each sphere.
Calculate the \(S\) factor on each sphere. Combined with the areal radius This also produces an estimate of the mass.
Calculate the six Regge-Wheeler variables, and required radial derivatives, on these spheres by integration of combinations of the metric components over each sphere.
Contruct the gauge invariant quantities from these Regge-Wheeler variables.
This is performed by interpolating the metric components, and if needed the conformal factor, onto the spheres. Although 2-spheres are hardcoded, the source code could easily be changed here to project onto e.g. 2-ellipsoids.
The areal coordinate \(\hat {r}\) of each sphere is calculated by \begin {equation} \hat {r} = \hat {r}(r) = \left [ \frac {1}{4\pi } \int \sqrt {\gamma _{\t \t } \gamma _{\p \p }}d\t d\p \right ]^{1/2} \end {equation} from which \begin {equation} \frac {d\hat {r}}{d\eta } = \frac {1}{16\pi \hat {r}} \int \frac {\gamma _{\t \t ,\eta }\gamma _{\p \p }+\gamma _{\t \t }\gamma _{\p \p ,\eta }} {\sqrt {\gamma _{\t \t }\gamma _{\p \p }}} \ d\t d\p \end {equation} Note that this is not the only way to combine metric components to get the areal radius, but this one was used because it gave better values for extracting close to the event horizon for perturbations of black holes.
\begin {equation} S(\hat {r}) = \left (\frac {\partial \hat {r}}{\partial r}\right )^2 \int \gamma _{rr} \ d\t d\p \end {equation}
\begin {equation} M(\hat {r}) = \hat {r}\frac {1-S}{2} \end {equation}
where
where
Use this thorn very carefully. Check the validity of the waveforms by running tests with different resolutions, different outer boundary conditions, etc to check that the waveforms are consistent.
Although Extract is really an ANALYSIS thorn, at the moment it is scheduled at POSTSTEP, with the iterations at which output is performed determined by the parameter itout. Output files from Extract are always placed in the main output directory defined by CactusBase/IOUtil.
Output files are generated for each detector (2-sphere) used, and these detectors are identified in the name of each output file by R1, R2, ….
The extension denotes whether coordinate time (ṫl) or proper time (l) is used for the first column.
rsch_R?.[tu]l
The extracted areal radius on each 2-sphere.
mass_R?.[tu]l
Mass estimate calculated from \(g_{rr}\) on each 2-sphere.
Qeven_R?_??.[tu]l
The even parity gauge invariate variable (waveform) on each 2-sphere. This is a complex quantity, the 2nd column is the real part, and the third column the imaginary part.
Qodd_R?_??.[tu]l
The odd parity gauge invariate variable (waveform) on each 2-sphere. This is a complex quantity, the 2nd column is the real part, and the third column the imaginary part.
ADMmass_R?.[tu]l
Estimate of ADM mass enclosed within each 2-sphere. (To produce this set doADMmass = ‘‘yes’’).
momentum_[xyz]_R?.[tu]l
Estimate of momentum at each 2-sphere. (To produce this set do_momentum = ‘‘yes’’).
spin_[xyz]_R?.[tu]l
Estimate of momentum at each 2-sphere. (To produce this set do_spin = ‘‘yes’’).
Much of the source code for Extract comes from a code written outside of Cactus for extracting waveforms from data generated by the NCSA G-Code for compare with linear evolutions of waveforms extracted from the Cauchy initial data. This work was carried out in collaboration with Karen Camarda and Ed Seidel.
First, the transformations between metric components in \((x,y,z)\) and \((r,\t ,\p )\) coordinates. Here, \(\rho =\sqrt {x^2+y^2}=r\s \),
or,
We also need the transformation for the radial derivative of the metric components:
This is done by using Simpson’s rule twice. Once in each coordinate direction. Simpson’s rule is \begin {equation} \int ^{x_2}_{x_1} f(x) dx = \frac {h}{3} [f_1+4f_2+2f_3+4f_4+\ldots +2f_{N-2}+4 f_{N-1}+f_N] +O(1/N^4) \end {equation} \(N\) must be an odd number.
[1] Abrahams A.M. & Cook G.B. “Collisions of boosted black holes: Perturbation theory predictions of gravitational radiation” Phys. Rev. D 50 R2364-R2367 (1994).
[2] Abrahams A.M., Shapiro S.L. & Teukolsky S.A. “Calculation of gravitational wave forms from black hole collisions and disk collapse: Applying perturbation theory to numerical spacetimes” Phys. Rev. D. 51 4295 (1995).
[3] Abrahams A.M. & Price R.H. “Applying black hole perturbation theory to numerically generated spacetimes” Phys. Rev. D. 53 1963 (1996).
[4] Abrahams A.M. & Price R.H. “Black-hole collisions from Brill-Lindquist initial data: Predictions of perturbation theory” Phys. Rev. D. 53 1972 (1996).
[5] Abramowitz, M. & Stegun A. “Pocket Book of Mathematical Functions (Abridged Handbook of Mathematical Functions”, Verlag Harri Deutsch (1984).
[6] Andrade Z., & Price R.H. “Head-on collisions of unequal mass black holes: Close-limit predictions”, preprint (1996).
[7] Anninos P., Price R.H., Pullin J., Seidel E., and Suen W-M. “Head-on collision of two black holes: Comparison of different approaches” Phys. Rev. D. 52 4462 (1995).
[8] Arfken, G. “Mathematical Methods for Physicists”, Academic Press (1985).
[9] Baker J., Abrahams A., Anninos P., Brant S., Price R., Pullin J. & Seidel E. “The collision of boosted black holes” (preprint) (1996).
[10] Baker J. & Li C.B. “The two-phase approximation for black hole collisions: Is it robust” preprint (gr-qc/9701035), (1997).
[11] Brandt S.R. & Seidel E. “The evolution of distorted rotating black holes III: Initial data” (preprint) (1996).
[12] Cunningham C.T., Price R.H., Moncrief V., “Radiation from collapsing relativistic stars. I. Linearized Odd-Parity Radiation” Ap. J. 224 543-667 (1978).
[13] Cunningham C.T., Price R.H., Moncrief V., “Radiation from collapsing relativistic stars. I. Linearized Even-Parity Radiation” Ap. J. 230 870-892 (1979).
[14] Landau L.D. & Lifschitz E.M., “The Classical Theory of Fields” (4th Edition), Pergamon Press (1980).
[15] Mathews J. “”, J. Soc. Ind. Appl. Math. 10 768 (1962).
[16] Moncrief V. “Gravitational perturbations of spherically symmetric systems. I. The exterior problem” Annals of Physics 88 323-342 (1974).
[17] Press W.H., Flannery B.P., Teukolsky S.A., & Vetterling W.T., “Numerical Recipes, The Art of Scientific Computing” Cambridge University Press (1989).
[18] Price R.H. & Pullin J. “Colliding black holes: The close limit”, Phys. Rev. Lett. 72 3297-3300 (1994).
[19] Regge T., & Wheeler J.A. “Stability of a Schwarzschild Singularity”, Phys. Rev. D 108 1063 (1957).
[20] Seidel E. Phys Rev D. 42 1884 (1990).
[21] Thorne K.S., “Multipole expansions of gravitational radiation”, Rev. Mod. Phys. 52 299 (1980).
[22] Vishveshwara C.V., “Stability of the Schwarzschild metric”, Phys. Rev. D. 1 2870, (1970).
[23] Zerilli F.J., “Tensor harmonics in canonical form for gravitational radiation and other applications”, J. Math. Phys. 11 2203, (1970).
[24] Zerilli F.J., “Gravitational field of a particle falling in a Schwarzschild geometry analysed in tensor harmonics”, Phys. Rev. D. 2 2141, (1970).
all_modes | Scope: private | BOOLEAN |
Description: Extract: all l,m modes up to l
| ||
Default: yes | ||
cauchy | Scope: private | BOOLEAN |
Description: Do Cauchy data extraction at given timestep
| ||
Default: no | ||
cauchy_dr | Scope: private | REAL |
Description: Gridspacing for Cauchy data extraction
| ||
Range | Default: 0.2 | |
*:* | ||
cauchy_r1 | Scope: private | REAL |
Description: First radius for Cauchy data extraction
| ||
Range | Default: 1.0 | |
*:* | ||
cauchy_timestep | Scope: private | INT |
Description: Timestep for Cauchy data extraction
| ||
Range | Default: (none) | |
0:* | ||
detector1 | Scope: private | REAL |
Description: Coordinate radius of detector 1
| ||
Range | Default: 5.0 | |
0:* | ||
detector2 | Scope: private | REAL |
Description: Coordinate radius of detector 2
| ||
Range | Default: 5.0 | |
0:* | ||
detector3 | Scope: private | REAL |
Description: Coordinate radius of detector 3
| ||
Range | Default: 5.0 | |
0:* | ||
detector4 | Scope: private | REAL |
Description: Coordinate radius of detector 4
| ||
Range | Default: 5.0 | |
0:* | ||
detector5 | Scope: private | REAL |
Description: Coordinate radius of detector 5
| ||
Range | Default: 5.0 | |
0:* | ||
detector6 | Scope: private | REAL |
Description: Coordinate radius of detector 6
| ||
Range | Default: 5.0 | |
0:* | ||
detector7 | Scope: private | REAL |
Description: Coordinate radius of detector 7
| ||
Range | Default: 5.0 | |
0:* | ||
detector8 | Scope: private | REAL |
Description: Coordinate radius of detector 8
| ||
Range | Default: 5.0 | |
0:* | ||
detector9 | Scope: private | REAL |
Description: Coordinate radius of detector 9
| ||
Range | Default: 5.0 | |
0:* | ||
do_momentum | Scope: private | BOOLEAN |
Description: Calculate momentum at extraction radii
| ||
Default: no | ||
do_spin | Scope: private | BOOLEAN |
Description: Calculate spin at extraction radii
| ||
Default: no | ||
doadmmass | Scope: private | BOOLEAN |
Description: Calculate ADM mass at extraction radii
| ||
Default: no | ||
interpolation_operator | Scope: private | STRING |
Description: Interpolation operator to use (check LocalInterp)
| ||
Range | Default: uniform cartesian | |
.+ | ||
interpolation_order | Scope: private | INT |
Description: Order for interpolation
| ||
Range | Default: 1 | |
1:4 | Choose between first and forth order interpolation
| |
itout | Scope: private | INT |
Description: How often to extract, in iterations
| ||
Range | Default: 1 | |
0:* | ||
l_mode | Scope: private | INT |
Description: l mode
| ||
Range | Default: 2 | |
0:* | ||
m_mode | Scope: private | INT |
Description: m mode (ignore if extracting all modes
| ||
Range | Default: (none) | |
0:* | ||
np | Scope: private | INT |
Description: Number of phi divisions
| ||
Range | Default: 100 | |
0:* | ||
nt | Scope: private | INT |
Description: Number of theta divisions
| ||
Range | Default: 100 | |
0:* | ||
num_detectors | Scope: private | INT |
Description: Number of detectors
| ||
Range | Default: (none) | |
0:* | ||
origin_x | Scope: private | REAL |
Description: x-origin to extract about
| ||
Range | Default: 0.0 | |
*:* | ||
origin_y | Scope: private | REAL |
Description: y-origin to extract about
| ||
Range | Default: 0.0 | |
*:* | ||
origin_z | Scope: private | REAL |
Description: z-origin to extract about
| ||
Range | Default: 0.0 | |
*:* | ||
timecoord | Scope: private | KEYWORD |
Description: Which time coordinate to use
| ||
Range | Default: both | |
proper | ||
coordinate | ||
both | ||
verbose | Scope: private | BOOLEAN |
Description: Say what is happening
| ||
Default: no | ||
out_dir | Scope: shared from IO | STRING |
Implements:
extract
Inherits:
grid
admbase
staticconformal
io
Group Names | Variable Names | Details | |
temps | compact | 0 | |
temp3d | dimensions | 3 | |
g00 | distribution | DEFAULT | |
group type | GF | ||
timelevels | 1 | ||
variable type | REAL | ||
This section lists all the variables which are assigned storage by thorn EinsteinAnalysis/Extract. Storage can either last for the duration of the run (Always means that if this thorn is activated storage will be assigned, Conditional means that if this thorn is activated storage will be assigned for the duration of the run if some condition is met), or can be turned on for the duration of a schedule function.
NONE
CCTK_PARAMCHECK
extract_paramcheck
check parameters
Language: | c | |
Options: | global | |
Type: | function | |
CCTK_POSTSTEP
extract
extract waveforms
Language: | fortran | |
Storage: | temps | |
Type: | function | |