xx CanudaXExactID

CanudaXxExactID

Cheng-Hsin Cheng

April 15, 2026

Abstract

CanudaXxExactID provides exact initial data of vacuum spacetimes for use in ADMBaseX. Currently, CanudaXxExactID can set up initial data for a single Kerr BH, Teukolsky waves, and Apples with Apples tests.

1 Introduction

This thorn provides exact initial data for vacuum spacetimes, which currently includes the following cases.

1.1 Kerr BH in quasi-isotropic coordinates

Based on the KerrQuasiIsotropic thorn from Lean. The original KerrQuasiIsotropic thorn provides analytic initial data for a rotating black hole, spinning around the z-axis, in quasi-isotropic coordinates where the radial coordinate is defined by We employ the construction ofx[1], with our specific construction outlined in Eqs.x(46)–(48) ofx[2].

1.2 Teukolsky waves

Based on EinsteinInitialData/IDLinearWaves. Teukolsky waves are quadrupolar waves in linearized GR in transverse-traceless gaugex[3]. Please see the original documentation for IDLinearWaves for more detail.

1.3 Apples with apples tests

Provides initial data for the gauge wave, shifted gauge wave, linearized wave tests. For details, see the referencesx[4] [5] [6].

2 Applications

Evolution of extra fields in Kerr spacetime, reproducing e.g. quasinormal modes of scalar perturbations

Testing code for gravitational wave extraction using a short evolution of Teukolsky wave initial data

Benchmarking and testing code, following ‘apples with apples’ tests References

[1]xxxY.xT.xLiu, Z.xB.xEtienne and S.xL.xShapiro, Phys. Rev. D 80, 121503 (2009) doi:10.1103/PhysRevD.80.121503 [arXiv:1001.4077 [gr-qc]].

[2]xxxH.xOkawa, H.xWitek and V.xCardoso, “Black holes and fundamental fields in Numerical Relativity: initial data construction and evolution of bound states,” Phys. Rev. D 89, no.10, 104032 (2014) doi:10.1103/PhysRevD.89.104032 [arXiv:1401.1548 [gr-qc]].

[3]xxxS.xA.xTeukolsky, “LINEARIZED QUADRUPOLE WAVES IN GENERAL RELATIVITY AND THE MOTION OF TEST PARTICLES,” Phys. Rev. D 26, 745-750 (1982) doi:10.1103/PhysRevD.26.745

[4]xxxM.xAlcubierre, G.xAllen, C.xBona, D.xFiske, T.xGoodale, F.xS.xGuzman, I.xHawke, S.xH.xHawley, S.xHusa and M.xKoppitz, et al. “Toward standard testbeds for numerical relativity,” Class. Quant. Grav. 21, no.2, 589-613 (2004) doi:10.1088/0264-9381/21/2/019 [arXiv:gr-qc/0305023 [gr-qc]].

[5]xxxM.xC.xBabiuc, S.xHusa, D.xAlic, I.xHinder, C.xLechner, E.xSchnetter, B.xSzilagyi, Y.xZlochower, N.xDorband and D.xPollney, et al. “Implementation of standard testbeds for numerical relativity,” Class. Quant. Grav. 25, 125012 (2008) doi:10.1088/0264-9381/25/12/125012 [arXiv:0709.3559 [gr-qc]].

[6]xxxD.xDaverio, Y.xDirian and E.xMitsou, “Apples with Apples comparison of 3+1 conformal numerical relativity schemes,” [arXiv:1810.12346 [gr-qc]].

3 Parameters

11 epsxr 10 Scope: private01 REAL

11 Description: Floor value for radial distance

11 Range 10 01 Default: 1.0d-12
11 0:*  10 any small positive value

11

11 kqixmxplus  10 Scope: private01  REAL

11 Description: Mass of the Kerr BH

11 Range 10 01 Default: 1.0
11 0.0:*  10 any positive value

11

11 kqixposxplus  10 Scope: private01  REAL

11 Description: Position of the Kerr BH

11 Range 10 01 Default: 0.0
11 *:*  10 any value possible; for zero spin set posxplus[0]=0.0001

11

11 kqixspinxplus  10 Scope: private01  REAL

11 Description: Dimensionless spin of the Kerr BH with z being the rotation axis

11 Range 10 01 Default: 0.0
11 0:1  10 any value between 0 and 1

11

11 schedulexinxadmbasexxinitialdata 10 Scope: private01  BOOLEAN

11 Description: Schedule in (instead of after) ADMBaseXxInitialData

11                            10              01  Default: yes

11

11 teukolskyxmvalue  10 Scope: private01  INT

11 Description: m value for Teukolsky waves: integer from -2 to 2

11 Range 10 01 Default: (none)
11 -2:2  10 implemented : m = -2, -1, 0, 1, 2

11

11 teukolskyxpacket  10 Scope: private01  KEYWORD

11 Description: Wave packet shape for Teukolsky waves

11 Range 10 01 Default: eppley
11 eppley  10 Eppley packet: x exp(-xˆ2 )
11 evans  10 Evans packet: wˆ4 (1-xˆ2 /wˆ2 )ˆ6
11 square  10 Square packet: (1-xˆ2 /wˆ2 )ˆ2

11

11 teukolskyxparity  10 Scope: private01  KEYWORD

11 Description: Parity for Teukolsky waves: even or odd

11 Range 10 01 Default: even
11 even  10 even parity
11 odd  10 odd parity

11

11 teukolskyxwavecenter  10 Scope: private01  REAL

11 Description: Center of propagation for Teukolsky waves

11  Range  10              01  Default: 0.0

11 :  10

11

11 teukolskyxwavelength  10 Scope: private01  REAL

11 Description: Wave length of Teukolsky waves

11 Range 10 01 Default: 2.0
11 0:  10 positive wavelength

11 teukolskyxwavepulse  10 Scope: private01  REAL

11 Description: Pulse length/duration for purely ingoing Teukolsky waves

11 Range 10 01 Default: 1.0
11 0:  10 positive pulse

11

11 teukolskyxwavesgoing  10 Scope: private01  KEYWORD

11 Description: Wave propagation direction for Teukolsky waves

11 Range 10 01 Default: both
11 in  10 Ingoing wave
11 out  10 Outgoing wave
11 both  10 In and outgoing wave

11

11 wavexamplitude  10 Scope: private01  REAL

11 Description: Amplitude of gauge wave or linear wave

11 Range 10 01 Default: 1.0
11 0.0:*  10 any positive value

11

11 wavexperiod  10 Scope: private01  REAL

11 Description: Period of the gauge wave or linear wave

11 Range 10 01 Default: 1.0
11 0.0:*  10 any positive value

11

11 initialxdata  10 Scope: shared from ADMBASEX01  KEYWORD

11 Extends ranges:

11 KQIxana  10 ”KerrQuasiIsotropic: Analytic initial data for single Kerr BH in quasi-isotropic coordinates”
11 GaugeWave  10 Gauge wave
11 ShiftedGaugeWave  10 Shifted gauge wave
11 LinearizedWave  10 Linearized wave
11 TeukolskyWave  10 Teukolsky wave

11

11 initialxlapse  10 Scope: shared from ADMBASEX01  KEYWORD

11 Extends ranges:

11 KQIxana  10 ”KerrQuasiIsotropic: analytically extend lapse through origin”
11 KQIxprec  10 ”KerrQuasiIsotropic: use precollapsed lapse”
11 KQIxabs  10 ”KerrQuasiIsotropic: use absolute value of lapse (discouraged; better to use KQIxana to reproduce QNMs)”
11 GaugeWave  10 Gauge wave
11 ShiftedGaugeWave  10 Shifted gauge wave
11 LinearizedWave  10 Linearized wave

11

11 initialxshift  10 Scope: shared from ADMBASEX01  KEYWORD

11 Extends ranges:

11 KQIxana  10 ”KerrQuasiIsotropic: anayltic shift”
11 GaugeWave  10 Gauge wave
11 ShiftedGaugeWave  10 Shifted gauge wave
11 LinearizedWave  10 Linearized wave

11

4 Interfaces General Implements: canudaxxexactid

Inherits: admbasex

Uses header: loopxdevice.hxx

5 Schedule This section lists all the variables which are assigned storage by thorn CanudaX/CanudaXxExactID. 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 NONE

Scheduled Functions

ADMBaseXxInitialData (conditional) x canudaxxexactidgroup x canudaxxexactid group for setting up initial data x

11 x 11 Type: 11 group

11

CCTKxINITIAL (conditional) x canudaxxexactidgroup x canudaxxexactid group for setting up initial data x

11 x 11 After: 11 admbasexxinitialdata
11 x 11 Before: 11 admbasexxpostinitial
11 x 11 Type: 11 group

11

CanudaXxExactIDGroup (conditional) x canudaxxexactidxkqixanalytic x create analytic initial data for a kerr bh x

11 x 11 Language: 11 c
11 x 11 Options: 11 local
11 x 11 Sync:  11 admbasex::metric
11 x 11 x  11 admbasex::curv
11 x 11 x  11 admbasex::lapse
11 x 11 x  11 admbasex::shift
11 x 11 Type:  11 function
11 x 11 Writes: 11 admbasex::metric(everywhere)
11 x 11 x  11 admbasex::curv(everywhere)
11 x 11 x  11 admbasex::lapse(everywhere)
11 x 11 x  11 admbasex::shift(everywhere)

11

CanudaXxExactIDGroup (conditional) x canudaxxexactidxgaugewave x create gauge wave initial data x

11 x 11 Language: 11 c
11 x 11 Options: 11 local
11 x 11 Sync:  11 admbasex::metric
11 x 11 x  11 admbasex::curv
11 x 11 x  11 admbasex::lapse
11 x 11 x  11 admbasex::shift
11 x 11 Type:  11 function
11 x 11 Writes: 11 admbasex::metric(everywhere)
11 x 11 x  11 admbasex::curv(everywhere)
11 x 11 x  11 admbasex::lapse(everywhere)
11 x 11 x  11 admbasex::shift(everywhere)

11

CanudaXxExactIDGroup (conditional) x canudaxxexactidxshiftedgaugewave x create shifted gauge wave initial data x

11 x 11 Language: 11 c
11 x 11 Options: 11 local
11 x 11 Sync:  11 admbasex::metric
11 x 11 x  11 admbasex::curv
11 x 11 x  11 admbasex::lapse
11 x 11 x  11 admbasex::shift
11 x 11 Type:  11 function
11 x 11 Writes: 11 admbasex::metric(everywhere)
11 x 11 x  11 admbasex::curv(everywhere)
11 x 11 x  11 admbasex::lapse(everywhere)
11 x 11 x  11 admbasex::shift(everywhere)

11

CanudaXxExactIDGroup (conditional) x canudaxxexactidxlinearizedwave x create linearized wave initial data

11 x 11 Language: 11 c
11 x 11 Options: 11 local
11 x 11 Sync:  11 admbasex::metric
11 x 11 x  11 admbasex::curv
11 x 11 x  11 admbasex::lapse
11 x 11 x  11 admbasex::shift
11 x 11 Type:  11 function
11 x 11 Writes: 11 admbasex::metric(everywhere)
11 x 11 x  11 admbasex::curv(everywhere)
11 x 11 x  11 admbasex::lapse(everywhere)
11 x 11 x  11 admbasex::shift(everywhere)

11

CanudaXxExactIDGroup (conditional) x canudaxxexactidxteukwave x create teukolsky wave initial data x

11 x 11 Language: 11 c
11 x 11 Options: 11 local
11 x 11 Sync:  11 admbasex::metric
11 x 11 x  11 admbasex::curv
11 x 11 Type:  11 function
11 x 11 Writes: 11 admbasex::metric(everywhere)
11 x 11 x  11 admbasex::curv(everywhere)