xx Extracting Gravitational Waves and Other Quantities from Numerical Spacetimes

Extracting Gravitational Waves and Other Quantities from Numerical Spacetimes

Gabrielle Allen

May 17, 2024

Abstract

NB: This documentation is taken from the Extract thorn on which WaveExtractL is based. There may be some differences between WaveExtractL and Extract, which are not documented here.

1 Introduction

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.

2 Physical System

2.1 Wave Forms

Assume a spacetime which can be written as a Schwarzschild background with perturbations :

with The 3-metric perturbations can be decomposed using tensor harmonics into where

. γ_{ij}(t, r, θ, ϕ) = ∑_{l=0}^{∞} ∑_{m=−l}^{l} γ_{ij}^{lm}(t, r)

and

. γ_{ij}(t, r, θ, ϕ) = ∑_{k=0}^{6} p_{k}(t, r)V_{k}(θ, ϕ)

where is some basis for tensors on a 2-sphere in 3-D Euclidean space. Working with the Regge-Wheeler basis (see Sectionx6) the 3-metric is then expanded in terms of the (six) standard Regge-Wheeler functions x[19],x[16]. Where each of the functions is either odd () 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 and the one odd-parity variable

Also from we have It is useful to also write this with the perturbation split into even and odd parity parts:

. g_{αβ} = g_{αβ}^{background} + ∑_{l,m} g_{αβ}^{lm,odd} + ∑_{l,m} g_{αβ}^{lm,even}

where (dropping some superscripts)

Now, for such a Schwarzschild background we can define two (and only two) unconstrained gauge invariant quantities and , 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

3 Numerical Implementation

The implementation assumes that the numerical solution, on a Cartesian grid, is approximately Schwarzshild on the spheres of constant 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 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.

3.1 Project onto Spheres of Constant Radius

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.

3.2 Calculate Radial Transformation

The areal coordinate of each sphere is calculated by from which 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.

3.3 Calculate factor and Mass Estimate

3.4 Calculate Regge-Wheeler Variables

where 3.5 Calculate Gauge Invariant Quantities

where

4 Using This Thorn 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.

4.1 Basic Usage

4.2 Output Files 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, x. The extension denotes whether coordinate time (xl) or proper time (u̇ l) is used for the first column.

     rschxR?.[tu]l

The extracted areal radius on each 2-sphere.

massxR?.[tu]l

Mass estimate calculated from on each 2-sphere.

QevenxR?x??.[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.

QoddxR?x??.[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.

ADMmassxR?.[tu]l

Estimate of ADM mass enclosed within each 2-sphere. (To produce this set doADMmass = ``yes'').

momentumx[xyz]xR?.[tu]l

Estimate of momentum at each 2-sphere. (To produce this set doxmomentum = ``yes'').

spinx[xyz]xR?.[tu]l

Estimate of momentum at each 2-sphere. (To produce this set doxspin = ``yes'').

5 History 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.

6 Appendix: Regge-Wheeler Harmonics

7 Appendix: Transformation Between Cartesian and Spherical Coordinates First, the transformations between metric components in and coordinates. Here, ,

or,

We also need the transformation for the radial derivative of the metric components:

8 Appendix: Integrations Over the 2-Spheres This is done by using Simpson’s rule twice. Once in each coordinate direction. Simpson’s rule is must be an odd number.

References [1]xxxAbrahams A.M. & Cook G.B. “Collisions of boosted black holes: Perturbation theory predictions

of gravitational radiation” Phys. Rev. D 50 R2364-R2367 (1994).

[2]xxxAbrahams 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]xxxAbrahams A.M. & Price R.H. “Applying black hole perturbation theory to numerically generated spacetimes” Phys. Rev. D. 53 1963 (1996).

[4]xxxAbrahams A.M. & Price R.H. “Black-hole collisions from Brill-Lindquist initial data: Predictions of perturbation theory” Phys. Rev. D. 53 1972 (1996).

[5]xxxAbramowitz, M. & Stegun A. “Pocket Book of Mathematical Functions (Abridged Handbook of Mathematical Functions”, Verlag Harri Deutsch (1984).

[6]xxxAndrade Z., & Price R.H. “Head-on collisions of unequal mass black holes: Close-limit predictions”, preprint (1996).

[7]xxxAnninos 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]xxxArfken, G. “Mathematical Methods for Physicists”, Academic Press (1985).

[9]xxxBaker J., Abrahams A., Anninos P., Brant S., Price R., Pullin J. & Seidel E. “The collision of boosted black holes” (preprint) (1996).

[10]xxxBaker J. & Li C.B. “The two-phase approximation for black hole collisions: Is it robust” preprint (gr-qc/9701035), (1997).

[11]xxxBrandt S.R. & Seidel E. “The evolution of distorted rotating black holes III: Initial data” (preprint) (1996).

[12]xxxCunningham C.T., Price R.H., Moncrief V., “Radiation from collapsing relativistic stars. I.

Linearized Odd-Parity Radiation” Ap. J. 224 543-667 (1978). [13]xxxCunningham C.T., Price R.H., Moncrief V., “Radiation from collapsing relativistic stars. I.

Linearized Even-Parity Radiation” Ap. J. 230 870-892 (1979). [14]xxxLandau L.D. & Lifschitz E.M., “The Classical Theory of Fields” (4th Edition), Pergamon Press

(1980). [15]xxxMathews J. “”, J. Soc. Ind. Appl. Math. 10 768 (1962). [16]xxxMoncrief V. “Gravitational perturbations of spherically symmetric systems. I. The exterior

problem” Annals of Physics 88 323-342 (1974). [17]xxxPress W.H., Flannery B.P., Teukolsky S.A., & Vetterling W.T., “Numerical Recipes, The Art of

Scientific Computing” Cambridge University Press (1989). [18]xxxPrice R.H. & Pullin J. “Colliding black holes: The close limit”, Phys. Rev. Lett. 72 3297-3300

(1994). [19]xxxRegge T., & Wheeler J.A. “Stability of a Schwarzschild Singularity”, Phys. Rev. D 108 1063

(1957). [20]xxxSeidel E. Phys Rev D. 42 1884 (1990). [21]xxxThorne K.S., “Multipole expansions of gravitational radiation”, Rev. Mod. Phys. 52 299 (1980). [22]xxxVishveshwara C.V., “Stability of the Schwarzschild metric”, Phys. Rev. D. 1 2870, (1970).

[23]xxxZerilli F.J., “Tensor harmonics in canonical form for gravitational radiation and other applications”, J. Math. Phys. 11 2203, (1970).

[24]xxxZerilli F.J., “Gravitational field of a particle falling in a Schwarzschild geometry analysed in tensor harmonics”, Phys. Rev. D. 2 2141, (1970).

9 Parameters

11active 10Scope: privatex01 BOOLEAN

11Description: Should we run at all?

11                          10  x01  Default: yes

11

11calcxwhenxnecessary  10Scope: privatex01  BOOLEAN

11Description: Start calculation at T = Rxdetector - 50 and stop after Txmerger+Ringdownxmargin+Rxdetector

11                          10  x01  Default: no

11

11cartoon  10Scope: privatex01  BOOLEAN

11Description: use cartoon

11                          10  x01  Default: no

11

11cartoonxgridxacc  10Scope: privatex01  REAL

11Description: accuracy to use for dx=dy=dz check

11 Range 10 x01 Default: 1e-2
110:*  10any non-negative value

11

11cauchyxradiusxdr  10Scope: privatex01  REAL

11Description: seperation of 2 detectors for the extraction

11 Range 10 x01 Default: -1
11-1:*  10-1 means: let the code figure it out

11

11cauchyxradiusxendxcoord  10Scope: privatex01  REAL

11Description: where to end Cauchy line in coordinates

11 Range 10 x01 Default: -2
11-2:*  10-2 means deactive (ie use percentage), -1 means go up to maximum

11

11cauchyxradiusxendxfactor 10Scope: privatex01  REAL

11Description: where to end Cauchy line as factor of grid size

11 Range 10 x01 Default: 1
11-1:1  10-1 means deactive (ie use coordinate), 1 means go up to maximum

11cauchyxradiusxextreme  10Scope: privatex01  BOOLEAN

11Description: use min. radius along axis, dr=dx

11                          10  x01  Default: (none)

11

11cauchyxradiusxstartxcoord 10Scope: privatex01  REAL

11Description: where to start Cauchy line in coordinates

11 Range 10 x01 Default: -2
11-2:*  10-2 means deactive (ie use percentage), -1 means start from first grid point

11

11cauchyxradiusxstartxfactor 10Scope: privatex01  REAL

11Description: where to start Cauchy line as factor of grid size

11 Range 10 x01 Default: (none)
11-1:1  10-1 means deactive (ie use coordinate), 0 means first grid point

11

11cauchyxtimexid  10Scope: privatex01  BOOLEAN

11Description: compute initial data (ID) for dtxZerilli?

11                          10  x01  Default: (none)

11

11checkxrmax  10Scope: privatex01  BOOLEAN

11Description: Whether to check for rmax or not (must be set to no for Llama

11                          10  x01  Default: no

11

11corotate  10Scope: privatex01  BOOLEAN

11Description: do we corotate? give omega if so

11                          10  x01  Default: no

11

11corotate3d  10Scope: privatex01  BOOLEAN

11Description: do we corotate in 3D (easy slow way)? give omega if so

11                          10  x01  Default: no

11

11detectionxmode  10Scope: privatex01  KEYWORD

11Description: Give Specific locations or let the code place the detectors

11 Range 10 x01 Default: specific detectors
11Cauchy extraction  10a lot of detectors in some specified range
11specific detectors  10give some values

11

11detectorxmetric  10Scope: privatex01  STRING

11Description: Metric w.r.t which we extract

11 Range 10 x01 Default: admbase::metric
11.*  10Any group with storage on. Must be in order xx,xy,xz,yy,yz,zz

11

11detectorxradius  10Scope: privatex01  REAL

11Description: Coordinate radius of detectors

11 Range 10 x01 Default: (none)
110:*  10maximum radius is checked at runtime, detector should be in the grid

11drschxdrixcomputation  10Scope: privatex01  KEYWORD

11Description: How to calculate drxSchwarzschild/drxisotropic

11 Range 10 x01 Default: average drxgtt drxgpp
11see [1] below  10”average using drschxdri=int(1/2(dr xgtt+drxgpp/sinˆ2 (th eta)))”
11drxgtt  10”drschxdri=int(drxgt t)”
11drxgpp  10”drschxdri=int(drxgp p/sinˆ2 (theta))”

11

averagexdr\_gttxdr\_gpp

11integrationxmethod  10Scope: privatex01  KEYWORD

11Description: which method to use for the integration

11 Range 10 x01 Default: Gauss
11Gauss  10error is O(1/eN̂ )
11see [1] below  10weight is one for all points, error is O(1/Nˆ2 )
11open extended  10”weight is 23/12,13/12,4/3,2/4, ...0,27/12, error O(1/Nˆ4 )”

11

extendedxmidpointxrule

11interpolationxoperator  10Scope: privatex01  STRING

11Description: What interpolator should be used to interpolate onto the surface

11 Range 10 x01 Default: Hermite polynomial interpolation
11.+  10A valid interpolator name, see Thorn AEILocalInterp

11

11interpolationxorder  10Scope: privatex01  INT

11Description: interpolation order for projection onto the sphere

11 Range 10 x01 Default: 2
111:*  10Positive Please

11

11interpolationxstencil  10Scope: privatex01  INT

11Description: interpolation stencil, this is needed to work out how far out you can place the detectors. It depends on the interpolator and the interpolation order used.

11  Range  10  x01  Default: 4
111:*  10Positive Please

11

11lxmode  10Scope: privatex01  INT

11Description: all modes: Up to which l mode to calculate/ spefic mode: which l mode to extract

11 Range 10 x01 Default: 2
112:*  10Positive Please, note that l=0,1 are gauge dependent and not implemented

11

11mxmode  10Scope: privatex01  INT

11Description: all modes: Up to which m mode to calculate/ specific mode: which m mode to extract

11  Range  10  x01  Default: (none)
110:*  10Positive Please

11

11makexinterpolatorxwarningsxfatal 10Scope: privatex01  BOOLEAN

11Description: Report interpolator warnings as level-0 error messages (and abort the run) ?

11                          10  x01  Default: no

11

11maximumxdetectorxnumber 10Scope: privatex01  INT

11Description: How many detectors do you want. NOTE: This also fixes the number of detectors in Cauchy mode!

11  Range  10  x01  Default: 9
110:100  10Positive Please, less than hard limit FIXME

11

11maxnphi  10Scope: privatex01  INT

11Description: how many points in phi direction at most

11 Range 10 x01 Default: 100
110:*  10Positive Please - even or odd depends on integration scheme used

11

11maxntheta  10Scope: privatex01  INT

11Description: how many points in theta direction at most

11 Range 10 x01 Default: 100
110:*  10Positive Please - even or odd depends on integration scheme used

11modextype  10Scope: privatex01  KEYWORD

11Description: Which type of mode extraction do we have

11 Range 10 x01 Default: all modes
11all modes  10Extract all modes up to (lxmode, mxmode).
11specific mode  10Select one specific (lxmode, mxmode) mode

11

11nphi  10Scope: privatex01  INT

11Description: how many points in phi direction

11 Range 10 x01 Default: (none)
110:*  10Positive Please - even or odd depends on integration scheme used

11

11ntheta  10Scope: privatex01  INT

11Description: how many points in theta direction

11 Range 10 x01 Default: (none)
110:*  10Positive Please - even or odd depends on integration scheme used

11

11observers  10Scope: privatex01  BOOLEAN

11Description: do we use the observer thorn

11                          10  x01  Default: no

11

11originxx  10Scope: privatex01  REAL

11Description: origin in x direction

11  Range  10  x01  Default: (none)

11*:*  10

11

11originxy  10Scope: privatex01  REAL

11Description: origin in y direction

11  Range  10  x01  Default: (none)

11*:*  10

11

11originxz  10Scope: privatex01  REAL

11Description: origin in z direction

11  Range  10  x01  Default: (none)

11*:*  10

11

11outxdir  10Scope: privatex01  STRING

11Description: Output directory for Extract’s files, overrides IO::outxdir

11 Range 10 x01 Default: (none)
11.+  10A valid directory name
11ˆ$  10An empty string to choose the default from IO::outxdir

11

11outxevery  10Scope: privatex01  INT

11Description: At which iterations should we be called

11 Range 10 x01 Default: 1
11*:*  10negative means set via outxeveryxdet

11

11outxeveryxdet  10Scope: privatex01  INT

11Description: At which iterations should this detector be evaluated

11  Range  10  x01  Default: 1

11*:*  10

11outxformat  10Scope: privatex01  STRING

11Description: Which format for Scalar floating-point number output

11 Range 10 x01 Default: .13f
11see [1] below  10output with given precision in exponential / floating point notation

11

\^({\textbackslash}.[1]?[0-9])?[EGefg]\$

11outxstyle  10Scope: privatex01  KEYWORD

11Description: Which style for Scalar output

11 Range 10 x01 Default: gnuplot
11gnuplot  101D output readable by gnuplot
11xgraph  101D output readable by xgraph

11

11phicorotate  10Scope: privatex01  BOOLEAN

11Description: undo corotation on phi itself

11                          10  x01  Default: no

11

11ringdownxmargin  10Scope: privatex01  REAL
11Description:  The  expected  length  of ringdown. If calcxwhenxnecessary=yes, then Txmerger+ringdownxmargin+Rxdetector is the time when calculations are switched off
11  Range  10  x01  Default: 150.0
110:*  10Any positive number

11

11rotationxomega  10Scope: privatex01  REAL

11Description: omega from driftcorrect

11  Range  10  x01  Default: 0.0

11:  10

11

11rsch2xcomputation  10Scope: privatex01  KEYWORD

11Description: How to calculate (SchwarzschildxRadius)ˆ2

11 Range 10 x01 Default: aerial radius
11aerial radius  10”calculate invariant aerial radius: rˆ2 =int(sqrt(gtt*gpp -gtpˆ2 ))”
11see [1] below  10”assume Schwarzschild coordinates: rˆ2 =int(1/2 (gtt+gpp/sinˆ2 (theta ))”
11Schwarzschild gtt  10assume Schwarzschild coordinates: rˆ2 =int(gtt)
11Schwarzschild gpp  10”assume Schwarzschild coordinates: rˆ2 =int(gpp/sinˆ2 (th eta))”

11

averagexSchwarzschildxmetric

11startxiteration  10Scope: privatex01  INT

11Description: First iteration when we should be called

11  Range  10  x01  Default: (none)

11*:*  10

11

11startxtime  10Scope: privatex01  INT

11Description: First time when we should be called

11  Range  10  x01  Default: -1

11*:*  10

11

11subtractxsphericalxbackground10Scope: privatex01  BOOLEAN

11Description: Subtract spherical background before calculation of Extraction quantities

11                          10  x01  Default: yes

11

11surfacexindex  10Scope: privatex01  INT

11Description: surface that contains extraction sphere

11  Range  10  x01  Default: -1

11-1:  10

11

11switchxoutputxformat  10Scope: privatex01  INT

11Description: How many output files do you suffer in your directory, when you have more detectors than this number, the file format is switched

11  Range  10  x01  Default: 10
111:*  10positive

11

11usexconformalxfactor  10Scope: privatex01  BOOLEAN

11Description: Do we use the conformal factor (if possible) with this metric?

11                          10  x01  Default: yes

11

11usexsphericalxsurface  10Scope: privatex01  BOOLEAN

11Description: use spherical surface thorn provided spheres

11                          10  x01  Default: no

11

11verbose  10Scope: privatex01  INT

11Description: how verbose should the output be?

11 Range 10 x01 Default: 1
110:10  10higher number means more output

11

11writextimerxinfo  10Scope: privatex01  BOOLEAN

11Description: write timing information to stdout

11                          10  x01  Default: no

11

11nghostsphi  10Scope: shared from SPHERICALSURFACEx01INT

11

11nghoststheta  10Scope: shared from SPHERICALSURFACEx01INT

11nsurfaces  10Scope: shared from SPHERICALSURFACEx01INT

11

11sfparxmaxnphi  10Scope: shared from SPHERICALSURFACEx01INT

11

11sfparxmaxntheta  10Scope: shared from SPHERICALSURFACEx01INT

11

11symmetricxx  10Scope: shared from SPHERICALSURFACEx01BOOLEAN

11

11symmetricxy  10Scope: shared from SPHERICALSURFACEx01BOOLEAN

11

11symmetricxz  10Scope: shared from SPHERICALSURFACEx01BOOLEAN

11

10 Interfaces

General Implements: waveextractl

Inherits: grid admbase staticconformal io sphericalsurface

Grid Variables 10.0.1 PRIVATE GROUPS

11x Group Names x10x Variable Names xx01 Details x11x
11 gridsizesxgroup 10  x01  compact110
11                 10  intxnphi  x01 description11gridsizes stored as variables
11                 10  intxntheta  x01 dimensions111
11                 10  x01 distribution11CONSTANT
11                 10  x01 group type11ARRAY

11                 10  x01  size11100

11                 10  x01  tags11checkpoint=”no”
11                 10  x01 timelevels111
11                 10  x01variable type11INT
11 handlesxgroup 10  x01  compact110
11                 10  sumxhandle  x01 description11handles for reduction operators
11                 10  x01 dimensions110
11                 10  x01 distribution11CONSTANT
11                 10  x01 group type11SCALAR
11 10 x01 tags11checkpoint=”no”
11                 10  x01 timelevels111
11                 10  x01variable type11INT
11 doxnothingxgroup 10  x01  compact110
11                 10  doxnothing  x01 description11if equal to 1
11                 10  x  x01 description11then WaveExtract won’t do anything (example: all detectors are out of range)
11                 10  x01 dimensions110
11                 10  x01 distribution11CONSTANT
11                 10  x01 group type11SCALAR
11 10 x01 tags11checkpoint=”no”
11                 10  x01 timelevels111
11                 10  x01variable type11INT
11 symxfactorxgroup 10  x01  compact110
11                 10  symxfactor  x01 description11symmmetry factor for integrals (depends on domain
11                 10  x  x01 description11symxfactor=2 for bitant for example)
11                 10  x01 dimensions110
11                 10  x01 distribution11CONSTANT
11                 10  x01 group type11SCALAR
11 10 x01 tags11checkpoint=”no”
11                 10  x01 timelevels111
11                 10  x01variable type11REAL
11interpxmetricxarrays10  x01  compact110
11                 10  gxxi  x01 description112D (theta
11                 10  x  x01 description11phi) Arrays for holding the metric and conformal factor and their first derivatives interpolated onto the extraction coordinate sphere
11                 10  gxyi  x01 dimensions112
11                 10  gxzi  x01 distribution11DEFAULT
11                 10  gyyi  x01 group type11ARRAY
11                 10  gyzi  x01  size11MAXNTHETA
11                 10  x  x01  size11MAXNPHI
11                 10  gzzi  x01  tags11checkpoint=”no”
11                 10  psii  x01 timelevels111
11                 10  dxxgxxi  x01variable type11REAL
11 surfacexarrays 10  x01  compact110
11                 10  interpxx  x01 description112D (theta
11                 10  x  x01 description11phi) grid arrays for points on the sphere
11                 10  interpxy  x01 dimensions112
11                 10  interpxz  x01 distribution11DEFAULT
11                 10 psixextxderiv x01 group type11ARRAY
11                 10  ctheta  x01  size11MAXNTHETA
11                 10  x  x01  size11MAXNPHI
11                 10  cphi  x01  tags11checkpoint=”no”
11                 10  sintheta  x01 timelevels111
11                 10  costheta  x01variable type11REAL

11  x Group Names x  10x Variable Names xx01 Details x11x
11  surfacexintegrands  10  x01  compact110
11                                  10  weights  x01 description11weights and temporary integrands
11                                  10  thetaweights  x01 dimensions112
11                                  10  phiweights  x01 distribution11DEFAULT
11                                  10  intxtmp1  x01 group type11ARRAY
11                                  10  intxtmp2  x01  size11MAXNTHETA
11                                  10  x  x01  size11MAXNPHI
11                                  10  intxtmp3  x01  tags11checkpoint=”no”
11                                  10  intxtmp4  x01 timelevels111
11                                  10  intxtmp5  x01variable type11REAL
11 schwarzschildxmassxradiusxgroup 10  x01  compact110
11                                  10  dtauxdt  x01 description11Schwarzschild radius
11                                  10  x  x01 description11mass and assorted spherical background pieces
11                                  10  sphxgrr  x01 dimensions110
11                                  10  sphxgtt  x01 distribution11CONSTANT
11                                  10  sphxdrxgtt  x01 group type11SCALAR
11                                  10  sphxgpp  x01  tags11checkpoint=”no”
11                                  10  rsch2  x01 timelevels111
11                                  10  rsch  x01variable type11REAL
11schwarzschildxmassxradiusxresultsxgroup10  x01  compact110
11                                  10 SchwxMasses x01 description11contains Schwarzschild mass/radius from all detectors
11 10 SchwxRadii x01 dimensions111
11                                  10  x01 distribution11CONSTANT
11                                  10  x01 group type11ARRAY
11                                  10  x01  size11MAXIMUMxDETECTORxNUMBER
11                                  10  x01  tags11checkpoint=”no”
11                                  10  x01 timelevels111
11                                  10  x01variable type11REAL
11 moncriefqxresultsxgroup 10 x01 compact110
11                                  10 QoddxRexArray x01 description11contains Moncrief Qeven
11 10 x x01 description11Qodd wave indicators from all detectors
11                                  10 QevenxRexArray x01 dimensions113
11                                  10 QoddxImxArray x01 distribution11CONSTANT
11                                  10 QevenxImxArray x01 group type11ARRAY
11                                  10  x01  size11MAXIMUMxDETECTORxNUMBER
11                                  10  x  x01  size11LxMODE
11                                  10  x01  size112*MxMODE+1
11                                  10  x01  tags11checkpoint=”no”
11                                  10  x01 timelevels111
11                                  10  x01variable type11REAL
11  lxmxmodesxinfoxgroup  10  x01  compact110
11                                  10  lxmin  x01 description11Information about the modes used for extraction
11                                  10  lxmax  x01 dimensions110
11                                  10  lxstep  x01 distribution11CONSTANT
11                                  10  mxmin  x01 group type11SCALAR
11                                  10  mxmax  x01  tags11checkpoint=”no”
11                                  10  mxstep  x01 timelevels111
11                                  10 maxxdetxnoxparam x01variable type11INT
11  moncriefq  10  x01  compact110
11                                  10  QoddxRe  x01 description11Moncrief Qeven
11                                  10  x  x01 description11Qodd wave indicators
11                                  10  QoddxRe  x01 description11real & imaginary part
11                                  10  QoddxIm  x01 dimensions112
11                                  10  QevenxRe  x01 distribution11CONSTANT
11                                  10  QevenxIm  x01 group type11ARRAY
11                                  10  x01  size11LxMODE
11                                  10  x  x01  size11MxMODE+1
11                                  10  x01  tags11checkpoint=”no”
11                                  10  x01 timelevels111
11                                  10  x01variable type11REAL

11  x Group Names x  10 x Variable Names x x01 Details x11x
11  metricxtmp  10  x01  compact110
11                          10  gxxxtmp  x01 description11temp metric for 3d rotation
11                          10  gxyxtmp  x01 dimensions113
11                          10  gxzxtmp  x01 distribution11DEFAULT
11                          10  gyyxtmp  x01 group type11GF
11                          10  gyzxtmp  x01  tags11tensortypealias=”DDxsym” checkpoint=”no” prolongation=”none”
11                          10  gzzxtmp  x01 timelevels111
11                          10  x01variable type11REAL
11 currentxdetectorxgroup 10 x01 compact110
11                          10 currentxdetector x01 description11the index number of the current detector
11                          10  x01 dimensions110
11                          10  x01 distribution11CONSTANT
11                          10  x01 group type11SCALAR
11 10 x01 tags11checkpoint=”no”
11                          10  x01 timelevels111
11                          10  x01variable type11INT
11currentxdetectorxradiusxgroup10 x01 compact110
11                          10currentxdetectorxradiusx01 description11coordinate radius of the current detector
11                          10  x01 dimensions110
11                          10  x01 distribution11CONSTANT
11                          10  x01 group type11SCALAR
11 10 x01 tags11checkpoint=”no”
11                          10  x01 timelevels111
11                          10  x01variable type11REAL
11 myxoutxeveryxdet 10 myxoutxeveryxdet x01 compact110
11                          10  x01 description11output frequency
11                          10  x01 dimensions110
11                          10  x01 distribution11CONSTANT
11                          10  x01 group type11SCALAR
11 10 x01 tags11checkpoint=”no”
11                          10  x01 timelevels111
11                          10  x01vararrayxsize11100
11                          10  x01variable type11INT

11

Uses header: carpetinterp2.hh

11 Schedule This section lists all the variables which are assigned storage by thorn Llama/WaveExtractL. 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.

Storage

11Always: 11Conditional:
11MoncriefQ11metricxtmp
11x  11myxoutxeveryxdet
11x  11lxmxmodesxinfoxgroup
11x  11currentxdetectorxgroup
11x  11currentxdetectorxradiusxgroup
11x  11symxfactorxgroup handlesxgroup doxnothingxgroup
11x  11gridsizesxgroup
11x  11surfacexarrays
11x  11surfacexintegrands
11x  11interpxmetricxarrays
11x  11SchwarzschildxMassxRadiusxgroup
11x  11MoncriefQxResultsxgroup SchwarzschildxMassxRadiusxResultsxgroup
11x  11currentxdetectorxgroup currentxdetectorxradiusxgroup

11x  11x

11

Scheduled Functions

CCTKxPARAMCHECK (conditional) x wavextrlxparamcheck x check parameters for waveextract x

11x11Language:11c
11 x 11Type: 11function

11

CCTKxSTARTUP (conditional) x wavextrlxstartup x register waveextract as an io method x

11x11After: 11ioutilxstartup
11 x 11Language:11c
11 x 11Type: 11function

11

WavExtrLxCalcsAtDetector (conditional) x wavextrlxsubtrsphermetric x substract spherical background part of metric from metric x

11x11After: 11wavextrlxschwarzmassrad
11 x 11Language:11fortran
11 x 11Options: 11global
11 x 11Type: 11function

11

WavExtrLxCalcsAtDetector (conditional) x wavextrlxmoncriefq x compute moncrief qeven, qodd from regge wheeler quantities

11x11After: 11wavextrlxsubtrsphermetric
11 x 11Language:11fortran
11 x 11Options: 11global
11 x 11Type: 11function

11

WavExtrLxCalcsAtDetector (conditional) x wavextrlxwritedata x write out results to disk and stdout - one file for each detector and (l,m) mode x

11x11After: 11wavextrlxmoncriefq
11 x 11Language:11c
11 x 11Options: 11global
11 x 11Type: 11function

11

WavExtrLxCalcsAtDetector (conditional) x wavextrlxadjustdetector x decrease currentxdetector, go the the next detector x

11x11After: 11wavextrlxwritedata
11 x 11Language:11c
11 x 11Options: 11global
11 x 11Type: 11function

11

WavExtrLxCalcsAtDetector (conditional) x wavextrlxadjustdetector x decrease currentxdetector, go the the next detector x

11x11After: 11wavextrlxmoncriefq
11 x 11Language:11c
11 x 11Options: 11global
11 x 11Type: 11function

11

WavExtrLxCalcsAtDetector (conditional) x wavextrlxtimerinfo x output timer info if requested x

11x11After: 11wavextrlxadjustdetector
11 x 11Language:11c
11 x 11Options: 11global
11 x 11Type: 11function

11

CCTKxANALYSIS (conditional) x wavextrlxwritelotsofdata x output one file per (l,m) mode, all detectors in one file x

11x11After: 11wavextrlxcalcsatdetector
11 x 11Language:11c
11 x 11Options: 11global
11 x 11Type: 11function

CCTKxBASEGRID (conditional) x wavextrlxinit x setup weights for integration x

11x11After: 11spatialcoordinates
11 x 11Language:11fortran
11 x 11Type: 11function

11

CCTKxBASEGRID (conditional) x wavextrlxsetupxdetectors x initial setup of all detectors x

11x11After: 11spatialcoordinates
11 x 11Language:11fortran
11 x 11Options: 11level
11 x 11Type: 11function

11

CCTKxBASEGRID (conditional) x wavextrlxsetupxsphericalsurface x setup detectors from spherical surface x

11x11After: 11sphericalsurfacexsetup
11 x 11x  11wavextrlxresetcurrdet
11 x 11Language:11fortran
11 x 11Options: 11local
11 x 11Type: 11function

11

CCTKxANALYSIS (conditional) x wavextrlxresetcurrdet x reset the value of the currentxdetector, needed for the while loop next x

11x11Before: 11wavextrlxcalcsatdetector
11 x 11Language:11c
11 x 11Options: 11global
11 x 11Type: 11function

11

CCTKxANALYSIS (conditional) x wavextrlxcalcsatdetector x calculations done for each detector, we loop over the detectors x

11x11After: 11wavextrlxresetcurrdet
11 x 11Type: 11group
11 x 11While:11waveextractl::currentxdetector

11

WavExtrLxCalcsAtDetector (conditional) x wavextrlxsetupsphere x setup sintheta, sinphi arrays x

11x11Language:11fortran
11 x 11Options: 11global
11 x 11Type: 11function

11

WavExtrLxCalcsAtDetector (conditional) x wavextrlxprojectsphere x interpolate 3d quantities into 2d grid arrays (on the sphere), project onto sphere x

11x11After: 11wavextrlxsetupsphere
11 x 11Language:11c
11 x 11Options: 11global
11 x 11Type: 11function

11

WavExtrLxCalcsAtDetector (conditional) x wavextrlxschwarzmassrad x calculate schwarzschild radius and mass and spherical background x

11x11After: 11wavextrlxprojectsphere
11 x 11Language:11fortran
11 x 11Options: 11global
11 x 11Type: 11function