TwoPunctures_BBHSF

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 mS minimally coupled to gravity, which is described by the action (1)S=d4xg\bracket(4)R16π12gμν(μΦν)ΦμS22ΦΦ. Here, Φ is the scalar field and Φ its complex conjugate, gμν is the spacetime metric with g=det(gμν), μ is the covariant derivative, and (4)R is the Ricci scalar in four dimensions. The mass parameter μS of the scalar field is related to mS through mS=μS. This action leads to the equations of motion (2)Gμν=8πTμν,(3)(μS2)Φ=0,

where the stress-energy tensor is given by (4)Tμν=(μΦν)Φ12gμν[gαβ(αΦβ)Φ+μS2ΦΦ], and the d’Alembertian is (5)=1gμ(ggμνν).

Under the 3+1 formalism, the scalar field contributes to the spacetime through the energy density ρ, energy-momentum flux ji, and the purely spatial stress tensor Sij, given respectively by (6)ρ=nμnνTμν=2ΠΠ+μS22ΦΦ+12DkΦDkΦ,(7)ji=γiμnνTμν=ΠDiΦ+ΠDiΦ,(8)Sij=γiμγjνTμν=D(iΦDj)Φ+12γij(4ΠΠμS2ΦΦDkΦDkΦ),

where Di is the spatial covariant derivative with respect to the 3-metric γij. Here, the scalar field momentum Π is defined using the Lie derivative along the normal vector nμ as (9)Π12LnΦ. 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: Π(t=0)=0. 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 Pa and spins Sa.

Let us perform a conformal decomposition of the physical metric as γij=ψ4γ¯ij, where ψ is the conformal factor and γ¯ij is the conformal metric. Then, the Hamiltonian constraint equation takes the form (10)D¯2ψ18ψR¯+18ψ5(KijKijK2)+2πψ5ρ=0, where D¯2 is the conformal Laplacian operator, R¯ is the conformal Ricci scalar, and Kij is the extrinsic curvature. Further decomposing Kij into its trace K and trace-free parts Aij, and performing a conformal decomposition as (11)Aij=ψ2A¯ij,Aij=ψ10A¯ij, we obtain the general form of the Hamiltonian constraint in the York-Lichnerowicz approach (12)D¯2ψ18ψR¯+18ψ7A¯ijA¯ij112ψ5K2+2πψ5ρ=0.

Now let us introduce a series of assumptions for the puncture method [2]. Assuming asymptotic flatness, the conformal factor has the behavior ψ1+ψBL at large r, where the ψBL is the Brill-Lindquist solution (13)ψBLa=12ma2|rra|, with ma and ra denoting the bare mass and location of the a-th black hole. Now, the main idea behind the puncture method is to separate the singular piece of the conformal factor by writing ψ=ψBL+u, where u is the function to be solved. It follows that the flat Laplacian of ψ reduces to D¯2u in the punctured domain R3{ri}. To satisfy the vacuum momentum constraint equations, we write the conformal tracefree extrinsic curvature A¯ij as a superposition (14)A¯ij=a=12A¯aij of Bowen-York solutions for each puncture (15)A¯aij=32r2[niPaj+njPai+nkPak(ninjδij)]3r3(ϵilknj+ϵjlkni)nl(Sa)k. Finally, assuming conformal flatness (γ¯ij=ηij) and maximal slicing condition (K=0), the Hamiltonian constraint equation reduces to (16)Δu+18(ψBL+u)7A¯ijA¯ij+2π(ψBL+u)5ρ=0, where Δ=kk 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 according to ρ=ψ8ρ¯, here, the massive scalar field contributes two terms with different powers of ψ ρ=μS22ΦΦ+12γijDiΦDjΦ(17)=μS22ΦΦ+12ψ4kΦkΦ,

so a naïve 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 (18)Φ=ψδΦ¯,Φ=ψδΦ¯, where δ is a constant parameter to be chosen and \BarΦ 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. (??) and using the rescaled scalar field, Eq. (??) can be rewritten as Δψ+18ψ7A¯ijA¯ij+πψ2δ+5μS2Φ¯Φ¯+πψ2δ+1(iΦ¯)(iΦ¯)+δπψ2δ(iψ)(Φ¯iΦ¯+Φ¯iΦ¯)(19)+δ2πψ2δ1(iψ)(iψ)Φ¯Φ¯=0,

with the conformal factor (20)ψ=ψBL+u,(21)iψ=iψBL+iu.

Writing the correction function as u=u0+ϵ with u0 a known solution and |ϵ|u0, we can expand Eq. (??) to first order in ϵ, giving the linearized equation Δϵϵ[78ψ8A¯ijA¯ij(2δ+5)πψ02δ+4μS2Φ¯Φ¯(2δ+1)πψ02δ(iΦ¯)(iΦ¯)  (2δ)  δπψ02δ1(iψ0)(Φ¯iΦ¯+Φ¯iΦ¯)(2δ1)δ2πψ02δ2(iψ0)(iψ0)Φ¯Φ¯](22)+(iϵ)[δπψ02δ(Φ¯iΦ¯+Φ¯iΦ¯)+δ2πψ02δ1(iψ0)Φ¯Φ¯]=0,

where the conformal factor ψ0 is defined as (23)ψ0=ψBL+u0,(24)iψ0=iψBL+iu0.

Equations (??) and (??) constitute our main result. We see that for any choice of δ<2.5, Eq. (??) takes the form of (25)Δϵhϵ=0 with h>0, so it is well-posed as an elliptic equation in u, and its numerical solution is unique and stable.

The Eqs. (??) and (??) are implemented in Equations.c of the thorn TwoPunctures_BBHSF. 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 δ<2.5. By default, δ is set to be 3 in the thorn.

3 Initializing scalar field configurations

We consider scalar field configurations with a Gaussian radial profile and zero momentum (26)Φ¯(t=0)=ASFZ(θ,ϕ)e(rr0)2/w2,Π(t=0)=0, where ASF,r0,w are constant parameters and Z(θ,ϕ) encodes the angular dependence. In the file SF_source_term.c of the thorn, we have implemented the l=m=0 (monopole) and l=m=1 (dipole) spherical harmonics modes as options for Z(θ,ϕ): (27)Y0,0(θ,ϕ)=14π,(28)Y1,1(θ,ϕ)=38πsinθ (cosϕ+isinϕ).

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 SF_source_term.c.

The parameter TwoPunctures_BBHSF::switch_on_back-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 TwoPunctures_BBHSF::switch_on_back-reaction = no, and that will reduce to the standard TwoPunctures.

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

References

[1]   M. Ansorg, B. Bruegmann and W. Tichy, “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]   S. Brandt and B. Bruegmann, “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]   E. Gourgoulhon, “3+1 formalism and bases of numerical relativity,” [arXiv:gr-qc/0703035 [gr-qc]].

[4]   G. Ficarra, C-H. Cheng and H. Witek. To appear.

4 Parameters




adm_tol
Scope: restricted REAL



Description: Tolerance of ADM masses when give_bare_mass=no



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






ampsf
Scope: restricted REAL



Description: amplitude of Gaussian wave packet



Range Default: 1.0
*:*
any value possible






center_offset
Scope: restricted REAL



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



Range Default: 0.0
(*:*)






delta
Scope: restricted REAL



Description: Exponent delta for conformal decomposition of the scalar field phi = psiˆd  elta barphi



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






do_initial_debug_output
Scope: restricted BOOLEAN



Description: Output debug information about initial guess



Default: no






do_residuum_debug_output
Scope: restricted BOOLEAN



Description: Output debug information about the residuum



Default: no






give_bare_mass
Scope: restricted BOOLEAN



Description: User provides bare masses rather than target ADM masses



Default: yes






grid_setup_method
Scope: restricted KEYWORD



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



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






initial_lapse_psi_exponent
Scope: restricted REAL



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



Range Default: -2.0
(*:*)
Should be negative






keep_u_around
Scope: restricted BOOLEAN



Description: Keep the variable u around after solving



Default: no






l0sf
Scope: restricted INT



Description: angular quantum number



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






m0sf
Scope: restricted INT



Description: azimuthal quantum number



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






multiply_old_lapse
Scope: restricted BOOLEAN



Description: Multiply the old lapse with the new one



Default: no






newton_maxit
Scope: restricted INT



Description: Maximum number of Newton iterations



Range Default: 5
0:*






newton_tol
Scope: restricted REAL



Description: Tolerance for Newton solver



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






npoints_a
Scope: restricted INT



Description: Number of coefficients in the compactified radial direction



Range Default: 30
4:*






npoints_b
Scope: restricted INT



Description: Number of coefficients in the angular direction



Range Default: 30
4:*






npoints_phi
Scope: restricted INT



Description: Number of coefficients in the phi direction



Range Default: 16
4:*:2






par_b
Scope: restricted REAL



Description: x coordinate of the m+ puncture



Range Default: 1.0
(0.0:*)






par_m_minus
Scope: restricted REAL



Description: mass of the m- puncture



Range Default: 1.0
0.0:*)






par_m_plus
Scope: restricted REAL



Description: mass of the m+ puncture



Range Default: 1.0
0.0:*)






par_p_minus
Scope: restricted REAL



Description: momentum of the m- puncture



Range Default: 0.0
(*:*)






par_p_plus
Scope: restricted REAL



Description: momentum of the m+ puncture



Range Default: 0.0
(*:*)






par_s_minus
Scope: restricted REAL



Description: spin of the m- puncture



Range Default: 0.0
(*:*)






par_s_plus
Scope: restricted REAL



Description: spin of the m+ puncture



Range Default: 0.0
(*:*)






r0sf
Scope: restricted REAL



Description: location of Gaussian wave packet



Range Default: 10.0
0:*
any positive value possible






rescale_sources
Scope: restricted BOOLEAN



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



Default: yes






scalar_gaussprofile
Scope: restricted KEYWORD



Description: Which mode composition for the Gaussian?



Range Default: single_mode
single_mode
single mode initial data with (l0,m0)
superpose_ID010
superpose Y00, Y10 as initial data
superpose_ID011
superpose Y00, Y11 as initial data
superpose_ID01011
superpose Y00, Y10, Y11 as initial data
superpose_ID012
superpose Y10 + Y11 + Y20 + Y22 as initial data






schedule_in_admbase_initialdata
Scope: restricted BOOLEAN



Description: Schedule in (instead of after) ADMBase_InitialData



Default: yes






solve_momentum_constraint
Scope: restricted BOOLEAN



Description: Solve for momentum constraint?



Default: no






swap_xz
Scope: restricted BOOLEAN



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



Default: no






switch_on_backreaction
Scope: restricted BOOLEAN



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



Default: no






target_m_minus
Scope: restricted REAL



Description: target ADM mass for m-



Range Default: 0.5
0.0:*)






target_m_plus
Scope: restricted REAL



Description: target ADM mass for m+



Range Default: 0.5
0.0:*)






tp_epsilon
Scope: restricted REAL



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



Range Default: 0.0
0:*






tp_extend_radius
Scope: restricted REAL



Description: Radius of an extended spacetime instead of the puncture



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






tp_tiny
Scope: restricted REAL



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



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






use_external_initial_guess
Scope: restricted BOOLEAN



Description: Set initial guess by external function?



Default: no






use_sources
Scope: restricted BOOLEAN



Description: Use sources?



Default: no






verbose
Scope: restricted BOOLEAN



Description: Print screen output while solving



Default: no






widthsf
Scope: restricted REAL



Description: width of Gaussian wave packet



Range Default: 2.0
0:*
any positive value possible






conformal_storage
Scope: shared from STATICCONFORMALKEYWORD



5 Interfaces

General

Implements:

twopunctures_bbhsf

Inherits:

admbase

staticconformal

grid

scalarbase

Grid Variables

5.0.1 PRIVATE GROUPS





  Group Names     Variable Names   Details    




puncture_u puncture_u compact 0
dimensions 3
distribution DEFAULT
group type GF
tags prolongation=”none”
timelevels 1
variable type REAL




energy compact 0
E description ADM energy of the Bowen-York spacetime
dimensions 0
distribution CONSTANT
group type SCALAR
timelevels 1
variable type REAL




angular_momentum compact 0
J1 description Angular momentum of the Bowen-York spacetime
J2 dimensions 0
J3 distribution CONSTANT
group type SCALAR
timelevels 1
variable type REAL




5.0.2 PUBLIC GROUPS





  Group Names     Variable Names   Details    




bare_mass compact 0
mp description Bare masses of the punctures
mm dimensions 0
distribution CONSTANT
group type SCALAR
timelevels 1
variable type REAL




puncture_adm_mass compact 0
mp_adm description ADM masses of the punctures (measured at the other spatial infinities)
mm_adm dimensions 0
distribution CONSTANT
group type SCALAR
timelevels 1
variable type REAL




6 Schedule

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

 

  Conditional:
  energy angular_momentum puncture_adm_mass bare_mass
  puncture_u
   

Scheduled Functions

CCTK_PARAMCHECK (conditional)

  bbhsf_twopunctures_paramcheck

  check parameters and thorn needs

 

  Language: c
  Type: function

ADMBase_InitialData (conditional)

  twopunctures_bbhsf_group

  twopunctures initial data group

 

  Type: group

CCTK_INITIAL (conditional)

  twopunctures_bbhsf_group

  twopunctures initial data group

 

  After: admbase_initialdata
    hydrobase_initial
  Before: admbase_postinitial
    settmunu
    hydrobase_prim2coninitial
  Type: group

TwoPunctures_BBHSF_Group (conditional)

  twopunctures_bbhsf

  create puncture black hole initial data

 

  Language: c
  Reads: grid::coordinates(everywhere)
  Storage: puncture_u
  Type: function
  Writes: twopunctures_bbhsf::mp(everywhere)
    twopunctures_bbhsf::mm(everywhere)
    twopunctures_bbhsf::mp_adm(everywhere)
    twopunctures_bbhsf::mm_adm(everywhere)
    twopunctures_bbhsf::e(everywhere)
    twopunctures_bbhsf::j1(everywhere)
    twopunctures_bbhsf::j2(everywhere)
    twopunctures_bbhsf::j3(everywhere)
    twopunctures_bbhsf::puncture_u(everywhere)
    staticconformal::conformal_state(everywhere)
    staticconformal::confac_2derivs(everywhere)
    staticconformal::confac_1derivs(everywhere)
    staticconformal::confac(everywhere)
    admbase::alp(everywhere)
    admbase::metric(everywhere)
    admbase::curv(everywhere)
    scalarbase::phi(everywhere)
    scalarbase::kphi(everywhere)

TwoPunctures_BBHSF_Group (conditional)

  bbhsf_twopunctures_metadata

  output twopunctures metadata

 

  After: twopunctures_bbhsf
  Language: c
  Options: global
  Type: function