xx TwoPuncturesBBHSF

TwoPuncturesxBBHSF

Cheng-Hsin Cheng, Giuseppe Ficarra, Helvi Witek

January 11, 2023

Abstract

We extend the TwoPunctures thorn to generate initial data for black hole binaries taking into account back-reaction from a massive, complex scalar field minimally-coupled to gravity.

1 Scalar field source terms

We consider a complex scalar field of mass minimally coupled to gravity, which is described by the action

Here, is the scalar field and its complex conjugate, is the spacetime metric with , is the covariant derivative, and is the Ricci scalar in four dimensions. The mass parameter of the scalar field is related to through . This action leads to the equations of motion

where the stress-energy tensor is given by and the d’Alembertian is

Under the 3+1 formalism, the scalar field contributes to the spacetime through the energy density , energy-momentum flux , and the purely spatial stress tensor , given respectively by

where is the spatial covariant derivative with respect to the 3-metric . Here, the scalar field momentum is defined using the Lie derivative along the normal vector as For us to use the Bowen-York solution to the momentum constraint equation as in TwoPunctures, we need to specify the scalar field such that the momentum constraint reduces to its vacuum counterpart. To this end, we limit ourselves to initial configurations of the scalar field for which the scalar field momentum vanishes: . This requirement can be satisfied under the condition that the scalar field is time-independent, along with a shift vector that vanishesat the initial time.

2 Constraint equations in the puncture method

To construct the initial data, we solve the Hamiltonian constraint equation describing black holes with linear momenta and spins .

Let us perform a conformal decomposition of the physical metric as , where is the conformal factor and is the conformal metric. Then, the Hamiltonian constraint equation takes the form where is the conformal Laplacian operator, is the conformal Ricci scalar, and is the extrinsic curvature. Further decomposing into its trace and trace-free parts , and performing a conformal decomposition as

we obtain the general form of the Hamiltonian constraint in the York-Lichnerowicz approach

Now let us introduce a series of assumptions for the puncture method [2]. Assuming asymptotic flatness, the conformal factor has the behavior at large , where the is the Brill-Lindquist solution

with and denoting the bare mass and location of the -th black hole. Now, the main idea behind the puncture method is to separate the singular piece of the conformal factor by writing , where is the function to be solved. It follows that the flat Laplacian of reduces to in the punctured domain . To satisfy the vacuum momentum constraint equations, we write the conformal tracefree extrinsic curvature as a superposition

of Bowen-York solutions for each puncture Finally, assuming conformal flatness () and maximal slicing condition (), the Hamiltonian constraint equation reduces to where is the flat Laplacian operator. The first two terms above constitute the vacuum equations solved in the standard TwoPunctures thorn. The third term, on the other hand, contains the contribution from the matter energy density . Whereas in TwoPunctures the energy density can be rescaled

1

1This is to avoid oscillating solutions to the linearized equation. Furthermore, the dominant energy condition is satisfied for the physical energy density if and only if it is satisfied for the conformal energy density. See Section 8.2.4 of [3].

according to , here, the massive scalar field contributes two terms with different powers of

so a naxve conformal rescaling of does not work. As a workaround, we choose to perform a conformal rescaling on the scalar field itself.

2.1 Conformal rescaling of the scalar field

Let us rescale the scalar field with a generic power of the conformal factor where is a constant parameter to be chosen and is the conformal scalar field. The goal is to find a suitable power such that the linearized Hamiltonian constraint equation forms a well-posed elliptic problem. Inserting Eq.x(??) and using the rescaled scalar field, Eq.x(??) can be rewritten as

with the conformal factor

Writing the correction function as with a known solution and , we can expand Eq.x(??) to first order in , giving the linearized equation

where the conformal factor is defined as

Equations (??) and (??) constitute our main result. We see that for any choice of , Eq.x(??) takes the form of

with , so it is well-posed as an elliptic equation in , and its numerical solution is unique and stable.

The Eqs. (??) and (??) are implemented in Equations.c of the thorn TwoPuncturesxBBHSF. In testing the initial data constructed this way, we found no significant difference in the resulting metric and constraint violation when using different values of the parameter . By default, is set to be in the thorn.

3 Initializing scalar field configurations

We consider scalar field configurations with a Gaussian radial profile and zero momentum where are constant parameters and encodes the angular dependence. In the file SFxsourcexterm.c of the thorn, we have implemented the (monopole) and (dipole) spherical harmonics modes as options for :

In addition, Cartesian derivatives of are computed, so this thorn replaces the use of ScalarInit (which only computes and does not conformally rescale the scalar fields) when initializing the scalar field grid functions. If one wishes to use a different initial scalar configuration than currently implemented, they should supply the corresponding fields and source terms to SFxsourcexterm.c.

The parameter TwoPuncturesxBBHSF::switchxonxback-reaction is used to control whether the scalar field is included in the metric initial data calculation. To remove the back-reaction from the metric ID calculation, it is

sufficient to set TwoPuncturesxBBHSF::switchxonxback-reaction = no, and that will reduce to the standard
TwoPunctures.

To enable back-reaction during the evolution, one is reminded to set TmunuBase::stressxenergyxatxRHS = yes. If using LeanBSSNMoL for the spacetime evolution, one should also set LeanBSSNMoL::couplexTab =

1.

References

[1]xxxM.xAnsorg, B.xBruegmann and W.xTichy, “A Single-domain spectral method for black hole puncture data,” Phys. Rev. D 70 (2004), 064011 doi:10.1103/PhysRevD.70.064011 [arXiv:gr-qc/0404056 [gr-qc]].

[2]xxxS.xBrandt and B.xBruegmann, “A Simple construction of initial data for multiple black holes,” Phys. Rev. Lett. 78, 3606-3609 (1997) doi:10.1103/PhysRevLett.78.3606 [arXiv:gr-qc/9703066 [gr-qc]].

[3]xxxE.xGourgoulhon, “3+1 formalism and bases of numerical relativity,” [arXiv:gr-qc/0703035 [gr-qc]].

[4]xxxG.xFicarra, C-H.xCheng and H.xWitek. To appear.

4 Parameters

11 admxtol 10 Scope: restricted01 REAL

11 Description: Tolerance of ADM masses when givexbarexmass=no

11 Range 10 01 Default: 1.0e-10
11 (0:*)  10

11

11 ampsf  10 Scope: restricted01  REAL

11 Description: amplitude of Gaussian wave packet

11 Range 10 01 Default: 1.0
11 *:*  10 any value possible

11

11 centerxoffset  10 Scope: restricted01  REAL

11 Description: offset b=0 to position (x,y,z)

11 Range 10 01 Default: 0.0
11 (*:*)  10

11

11 delta  10 Scope: restricted01  REAL

11 Description: Exponent delta for conformal decomposition of the scalar field \phi = \psid̂ elta \bar\phi

11  Range  10                01  Default: -3.0
11 (*:*)  10 Should be negative and less than -3

11

11 doxinitialxdebugxoutput  10 Scope: restricted01  BOOLEAN

11 Description: Output debug information about initial guess

11                           10                01  Default: no

11

11 doxresiduumxdebugxoutput 10 Scope: restricted01  BOOLEAN

11 Description: Output debug information about the residuum

11                           10                01  Default: no

11

11 givexbarexmass  10 Scope: restricted01  BOOLEAN

11 Description: User provides bare masses rather than target ADM masses

11                           10                01  Default: yes

11

11 gridxsetupxmethod  10 Scope: restricted01  KEYWORD

11 Description: How to fill the 3D grid from the spectral grid

11 Range 10 01 Default: Taylor expansion
11 Taylor expansion  10 use a Taylor expansion about the nearest collocation point (fast, but might be inaccurate)
11 evaluation  10 evaluate using all spectral coefficients (slow)

11 initialxlapsexpsixexponent 10 Scope: restricted01  REAL

11 Description: Exponent n for psiˆ- n initial lapse profile

11 Range 10 01 Default: -2.0
11 (*:*)  10 Should be negative

11

11 keepxuxaround  10 Scope: restricted01  BOOLEAN

11 Description: Keep the variable u around after solving

11                           10                01  Default: no

11

11 l0sf  10 Scope: restricted01  INT

11 Description: angular quantum number

11 Range 10 01 Default: 1
11 0:2  10 for now we’ve implemented the spherical harmonics only up to l=m=1

11

11 m0sf  10 Scope: restricted01  INT

11 Description: azimuthal quantum number

11 Range 10 01 Default: 1
11 -2:2  10 for now we’ve implemented the spherical harmonics only up to l=m=1

11

11 multiplyxoldxlapse  10 Scope: restricted01  BOOLEAN

11 Description: Multiply the old lapse with the new one

11                           10                01  Default: no

11

11 newtonxmaxit  10 Scope: restricted01  INT

11 Description: Maximum number of Newton iterations

11  Range  10                01  Default: 5

11 0:*  10

11

11 newtonxtol  10 Scope: restricted01  REAL

11 Description: Tolerance for Newton solver

11 Range 10 01 Default: 1.0e-10
11 (0:*)  10

11

11 npointsxa  10 Scope: restricted01  INT

11 Description: Number of coefficients in the compactified radial direction

11  Range  10                01  Default: 30

11 4:*  10

11

11 npointsxb  10 Scope: restricted01  INT

11 Description: Number of coefficients in the angular direction

11  Range  10                01  Default: 30

11 4:*  10

11 npointsxphi  10 Scope: restricted01  INT

11 Description: Number of coefficients in the phi direction

11 Range 10 01 Default: 16
11 4:*:2  10

11

11 parxb  10 Scope: restricted01  REAL

11 Description: x coordinate of the m+ puncture

11 Range 10 01 Default: 1.0
11 (0.0:*)  10

11

11 parxmxminus  10 Scope: restricted01  REAL

11 Description: mass of the m- puncture

11 Range 10 01 Default: 1.0
11 0.0:*)  10

11

11 parxmxplus  10 Scope: restricted01  REAL

11 Description: mass of the m+ puncture

11 Range 10 01 Default: 1.0
11 0.0:*)  10

11

11 parxpxminus  10 Scope: restricted01  REAL

11 Description: momentum of the m- puncture

11 Range 10 01 Default: 0.0
11 (*:*)  10

11

11 parxpxplus  10 Scope: restricted01  REAL

11 Description: momentum of the m+ puncture

11 Range 10 01 Default: 0.0
11 (*:*)  10

11

11 parxsxminus  10 Scope: restricted01  REAL

11 Description: spin of the m- puncture

11 Range 10 01 Default: 0.0
11 (*:*)  10

11

11 parxsxplus  10 Scope: restricted01  REAL

11 Description: spin of the m+ puncture

11 Range 10 01 Default: 0.0
11 (*:*)  10

11

11 r0sf  10 Scope: restricted01  REAL

11 Description: location of Gaussian wave packet

11 Range 10 01 Default: 10.0
11 0:*  10 any positive value possible

11 rescalexsources  10 Scope: restricted01  BOOLEAN

11 Description: If sources are used - rescale them after solving?

11                           10                01  Default: yes

11

11 scalarxgaussprofile  10 Scope: restricted01  KEYWORD

11 Description: Which mode composition for the Gaussian?

11 Range 10 01 Default: singlexmode
11 singlexmode  10 single mode initial data with (l0,m0)
11 superposexID010  10 superpose Y00, Y10 as initial data
11 superposexID011  10 superpose Y00, Y11 as initial data
11 superposexID01011  10 superpose Y00, Y10, Y11 as initial data
11 superposexID012  10 superpose Y10 + Y11 + Y20 + Y22 as initial data

11

11 schedulexinxadmbasexinitialdata 10 Scope: restricted01  BOOLEAN

11 Description: Schedule in (instead of after) ADMBasexInitialData

11                           10                01  Default: yes

11

11 solvexmomentumxconstraint 10 Scope: restricted01  BOOLEAN

11 Description: Solve for momentum constraint?

11                           10                01  Default: no

11

11 swapxxz  10 Scope: restricted01  BOOLEAN

11 Description: Swap x and z coordinates when interpolating, so that the black holes are separated in the z direction

11                           10                01  Default: no

11

11 switchxonxbackreaction  10 Scope: restricted01  BOOLEAN

11 Description: Choice for switching on scalar field correction terms to Hamiltonain constraint

11                           10                01  Default: no

11

11 targetxmxminus  10 Scope: restricted01  REAL

11 Description: target ADM mass for m-

11 Range 10 01 Default: 0.5
11 0.0:*)  10

11

11 targetxmxplus  10 Scope: restricted01  REAL

11 Description: target ADM mass for m+

11 Range 10 01 Default: 0.5
11 0.0:*)  10

11

11 tpxepsilon  10 Scope: restricted01  REAL

11 Description: A small number to smooth out singularities at the puncture locations

11  Range  10                01  Default: 0.0

11 0:*  10

11 tpxextendxradius  10 Scope: restricted01  REAL

11 Description: Radius of an extended spacetime instead of the puncture

11 Range 10 01 Default: 0.0
11 0:*  10 anything positive, should be smaller than the horizon

11

11 tpxtiny  10 Scope: restricted01  REAL

11 Description: Tiny number to avoid nans near or at the pucture locations

11 Range 10 01 Default: 0.0
11 0:*  10 anything positive, usually very small

11

11 usexexternalxinitialxguess 10 Scope: restricted01  BOOLEAN

11 Description: Set initial guess by external function?

11                           10                01  Default: no

11

11 usexsources  10 Scope: restricted01  BOOLEAN

11 Description: Use sources?

11                           10                01  Default: no

11

11 verbose  10 Scope: restricted01  BOOLEAN

11 Description: Print screen output while solving

11                           10                01  Default: no

11

11 widthsf  10 Scope: restricted01  REAL

11 Description: width of Gaussian wave packet

11 Range 10 01 Default: 2.0
11 0:*  10 any positive value possible

11

11 conformalxstorage  10 Scope: shared from STATICCONFORMAL01KEYWORD

11

5 Interfaces General Implements: twopuncturesxbbhsf

Inherits: admbase staticconformal grid scalarbase

Grid Variables

5.0.1 PRIVATE GROUPS

11 x Group Names x 10 x Variable Names x01 Details x 11 x
11 puncturexu 10 puncturexu 01 compact 11 0
11                    10                    01 dimensions 11 3
11                    10                    01 distribution 11 DEFAULT
11                    10                    01 group type 11 GF
11                    10                    01  tags 11 prolongation=”none”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11  energy  10                    01  compact 11 0
11                    10  E  01 description 11 ADM energy of the Bowen-York spacetime
11                    10                    01 dimensions 11 0
11                    10                    01 distribution 11 CONSTANT
11                    10                    01 group type 11 SCALAR
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11 angularxmomentum 10                    01  compact 11 0
11                    10  J1  01 description 11 Angular momentum of the Bowen-York spacetime
11                    10  J2  01 dimensions 11 0
11                    10  J3  01 distribution 11 CONSTANT
11                    10                    01 group type 11 SCALAR
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL

11

5.0.2 PUBLIC GROUPS

11 x Group Names x 10 x Variable Names x01 Details x 11 x
11  barexmass  10                    01  compact 11 0
11                    10  mp  01 description 11 Bare masses of the punctures
11                    10  mm  01 dimensions 11 0
11                    10                    01 distribution 11 CONSTANT
11                    10                    01 group type 11 SCALAR
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11 puncturexadmxmass 10                    01  compact 11 0
11                    10  mpxadm  01 description 11 ADM masses of the punctures (measured at the other spatial infinities)
11                    10  mmxadm  01 dimensions 11 0
11                    10                    01 distribution 11 CONSTANT
11                    10                    01 group type 11 SCALAR
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL

11

6 Schedule This section lists all the variables which are assigned storage by thorn Scalar/TwoPuncturesxBBHSF. 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 x

11 x 11 Conditional:
11 x 11 energy angularxmomentum puncturexadmxmass barexmass
11 x 11 puncturexu

11 x 11 x

11

Scheduled Functions

CCTKxPARAMCHECK (conditional) x bbhsfxtwopuncturesxparamcheck x check parameters and thorn needs x

11 x 11 Language: 11 c
11 x 11 Type:  11 function

11

ADMBasexInitialData (conditional) x twopuncturesxbbhsfxgroup x twopunctures initial data group x

11 x 11 Type: 11 group

11

CCTKxINITIAL (conditional) x twopuncturesxbbhsfxgroup x twopunctures initial data group x

11 x 11 After: 11 admbasexinitialdata
11 x 11 x  11 hydrobasexinitial
11 x 11 Before: 11 admbasexpostinitial
11 x 11 x  11 settmunu
11 x 11 x  11 hydrobasexprim2coninitial
11 x 11 Type: 11 group

11

TwoPuncturesxBBHSFxGroup (conditional) x twopuncturesxbbhsf x create puncture black hole initial data x

11 x 11 Language: 11 c
11 x 11 Reads:  11 grid::coordinates(everywhere)
11 x 11 Storage: 11 puncturexu
11 x 11 Type:  11 function
11 x 11 Writes: 11 twopuncturesxbbhsf::mp(everywhere)
11 x 11 x  11 twopuncturesxbbhsf::mm(everywhere)
11 x 11 x  11 twopuncturesxbbhsf::mpxadm(everywhere)
11 x 11 x  11 twopuncturesxbbhsf::mmxadm(everywhere)
11 x 11 x  11 twopuncturesxbbhsf::e(everywhere)
11 x 11 x  11 twopuncturesxbbhsf::j1(everywhere)
11 x 11 x  11 twopuncturesxbbhsf::j2(everywhere)
11 x 11 x  11 twopuncturesxbbhsf::j3(everywhere)
11 x 11 x  11 twopuncturesxbbhsf::puncturexu(everywhere)
11 x 11 x  11 staticconformal::conformalxstate(everywhere)
11 x 11 x  11 staticconformal::confacx2derivs(everywhere)
11 x 11 x  11 staticconformal::confacx1derivs(everywhere)
11 x 11 x  11 staticconformal::confac(everywhere)
11 x 11 x  11 admbase::alp(everywhere)
11 x 11 x  11 admbase::metric(everywhere)
11 x 11 x  11 admbase::curv(everywhere)
11 x 11 x  11 scalarbase::phi(everywhere)
11 x 11 x  11 scalarbase::kphi(everywhere)

11

TwoPuncturesxBBHSFxGroup (conditional) x bbhsfxtwopuncturesxmetadata x output twopunctures metadata x

11 x 11 After:  11 twopuncturesxbbhsf
11 x 11 Language: 11 c
11 x 11 Options: 11 global
11 x 11 Type:  11 function