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 \(\Phi \) of mass \(m_S\) minimally coupled to gravity, which is described by the action \begin {equation} S = \int \mathrm {d}^4 x \sqrt {-g} \bracket { \frac {^{(4)}R}{16\pi } - \frac {1}{2} g^{\mu \nu } \nabla _{(\mu } \Phi ^* \nabla _{\nu )} \Phi - \frac {\mu _S^2}{2} \Phi ^* \Phi }. \end {equation} Here, \(\Phi \) is the scalar field and \(\Phi ^*\) its complex conjugate, \(g_{\mu \nu }\) is the spacetime metric with \(g=\det (g_{\mu \nu })\), \(\nabla _\mu \) is the covariant derivative, and \(^{(4)}R\) is the Ricci scalar in four dimensions. The mass parameter \(\mu _S\) of the scalar field is related to \(m_S\) through \(m_S = \mu _S\hbar \). This action leads to the equations of motion \begin {align} & G_{\mu \nu } = 8\pi T_{\mu \nu }, \\ & (\Box -\mu _S^2) \Phi = 0, \end {align}

where the stress-energy tensor is given by \begin {equation} T_{\mu \nu } = \nabla _{(\mu } \Phi ^* \nabla _{\nu )} \Phi - \frac {1}{2} g_{\mu \nu } \Big [ g^{\alpha \beta } \nabla _{(\alpha } \Phi ^* \nabla _{\beta )} \Phi + \mu _S^2 \Phi ^*\Phi \Big ], \end {equation} and the d’Alembertian is \begin {equation} \Box = \frac {1}{\sqrt {-g}} \partial _\mu ( \sqrt {-g} g^{\mu \nu } \partial _\nu ). \end {equation}

Under the 3+1 formalism, the scalar field contributes to the spacetime through the energy density \(\rho \), energy-momentum flux \(j_i\), and the purely spatial stress tensor \(S_{ij}\), given respectively by \begin {align} \rho = n^\mu n^\nu T_{\mu \nu } &= 2 \Pi ^* \Pi + \frac {\mu _S^2}{2} \Phi ^* \Phi + \frac {1}{2} D_k\Phi ^* D^k \Phi , \\ j_i = -\gamma _i^\mu n^\nu T_{\mu \nu } &= \Pi ^* D_i\Phi + \Pi D_i\Phi ^*, \\ S_{ij} = \gamma _i ^\mu \gamma _j^\nu T_{\mu \nu } &= D_{(i}\Phi ^* D_{j)}\Phi + \frac {1}{2} \gamma _{ij} (4\Pi ^* \Pi - \mu _S^2 \Phi ^* \Phi - D^k\Phi ^* D_k\Phi ), \end {align}

where \(D_i\) is the spatial covariant derivative with respect to the 3-metric \(\gamma _{ij}\). Here, the scalar field momentum \(\Pi \) is defined using the Lie derivative along the normal vector \(n^\mu \) as \begin {equation} \Pi \equiv - \frac {1}{2} \mathcal {L}_n \Phi . \end {equation} 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: \(\Pi (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 \(\vec {P}_a\) and spins \(\vec {S}_a\).

Let us perform a conformal decomposition of the physical metric as \(\gamma _{ij}=\psi ^4\bar {\gamma }_{ij}\), where \(\psi \) is the conformal factor and \(\bar {\gamma }_{ij}\) is the conformal metric. Then, the Hamiltonian constraint equation takes the form \begin {equation} \bar {D}^2 \psi - \frac {1}{8} \psi \bar {R} + \frac {1}{8} \psi ^5 (K_{ij}K^{ij} - K^2 ) + 2\pi \psi ^5 \rho = 0, \end {equation} where \(\bar {D}^2\) is the conformal Laplacian operator, \(\bar {R}\) is the conformal Ricci scalar, and \(K_{ij}\) is the extrinsic curvature. Further decomposing \(K_{ij}\) into its trace \(K\) and trace-free parts \(A_{ij}\), and performing a conformal decomposition as \begin {equation} A_{ij} = \psi ^{-2}\bar {A}_{ij}, \quad \quad A^{ij} = \psi ^{-10}\bar {A}^{ij}, \end {equation} we obtain the general form of the Hamiltonian constraint in the York-Lichnerowicz approach \begin {equation} \bar {D}^2 \psi - \frac {1}{8} \psi \bar {R} + \frac {1}{8} \psi ^{-7} \bar {A}_{ij}\bar {A}^{ij} - \frac {1}{12} \psi ^5 K^2 + 2\pi \psi ^5 \rho = 0. \end {equation}

Now let us introduce a series of assumptions for the puncture method [2]. Assuming asymptotic flatness, the conformal factor has the behavior \(\psi \simeq 1 + \psi _{\rm BL}\) at large \(r\), where the \(\psi _{\rm BL}\) is the Brill-Lindquist solution \begin {equation} \psi _{\rm BL} \equiv \sum _{a=1}^2 \frac {m_a}{2|\vec {r} - \vec {r}_a|}, \end {equation} with \(m_a\) and \(\vec {r}_a\) 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 \( \psi = \psi _{\rm BL} + u \), where \(u\) is the function to be solved. It follows that the flat Laplacian of \(\psi \) reduces to \(\bar {D}^2 u\) in the punctured domain \(\mathbb {R}^3\setminus \{\vec {r}_i\}\). To satisfy the vacuum momentum constraint equations, we write the conformal tracefree extrinsic curvature \(\bar {A}_{ij}\) as a superposition \begin {equation} \bar {A}^{ij} = \sum _{a=1}^2 \bar {A}_a^{ij} \end {equation} of Bowen-York solutions for each puncture \begin {equation} \bar {A}_a^{ij} = \frac {3}{2r^2} \Big [ n^i P_a^j + n^j P_a^i + n_k P_a^k (n^i n^j - \delta ^{ij}) \Big ] - \frac {3}{r^3} (\epsilon ^{ilk} n^j + \epsilon ^{jlk} n^i) n_l {(S_a)}_k. \end {equation} Finally, assuming conformal flatness (\(\bar {\gamma }_{ij} = \eta _{ij}\)) and maximal slicing condition (\(K=0\)), the Hamiltonian constraint equation reduces to \begin {equation} \Delta u + \frac {1}{8} (\psi _{\rm BL} + u)^{-7} \bar {A}_{ij} \bar {A}^{ij} + 2\pi (\psi _{\rm BL} + u)^5 \rho = 0, \label {scalar_TwoPunctures_BBHSF_eq:ham_twopunctures} \end {equation} where \(\Delta =\partial _k \partial ^k\) 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 \(\rho \). Whereas in TwoPunctures the energy density can be rescaled 1 according to \(\rho = \psi ^8 \bar {\rho }\), here, the massive scalar field contributes two terms with different powers of \(\psi \) \begin {align} \rho &= \frac {\mu _S^2}{2} \Phi ^* \Phi + \frac {1}{2} \gamma ^{ij} D_i\Phi ^* D_j \Phi \nonumber \\ &= \frac {\mu _S^2}{2} \Phi ^* \Phi + \frac {1}{2} \psi ^{-4} \partial _k\Phi ^* \partial ^k \Phi , \label {scalar_TwoPunctures_BBHSF_eq:rho} \end {align}

so a naïve conformal rescaling of \(\rho \) does not work. As a workaround, we choose to perform a conformal rescaling on the scalar field \(\Phi \) itself.

2.1 Conformal rescaling of the scalar field

Let us rescale the scalar field with a generic power \(\delta \) of the conformal factor \begin {equation} \Phi = \psi ^\delta \bar {\Phi }, \quad \Phi ^* = \psi ^\delta \bar {\Phi }^*, \end {equation} where \(\delta \) is a constant parameter to be chosen and \(\Bar {\Phi }\) is the conformal scalar field. The goal is to find a suitable power \(\delta \) 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 \begin {align} \Delta \psi + \frac {1}{8} \psi ^{-7} \bar {A}_{ij} \bar {A}^{ij} + &\pi \psi ^{2\delta + 5} \mu _S^2 \bar {\Phi }^* \bar {\Phi } \nonumber \\ + &\pi \psi ^{2\delta + 1} (\partial _i\bar {\Phi }^*) (\partial ^i\bar {\Phi }) \nonumber \\ + \delta &\pi \psi ^{2\delta }\quad (\partial _i\psi ) ( \bar {\Phi }^* \partial ^i\bar {\Phi } + \bar {\Phi } \partial ^i\bar {\Phi }^* ) \nonumber \\ + \delta ^2 &\pi \psi ^{2\delta -1} (\partial _i\psi ) (\partial ^i\psi ) \bar {\Phi }^* \bar {\Phi } \quad \quad \quad \quad = 0, \label {scalar_TwoPunctures_BBHSF_eq:nonlin_ham_eq} \end {align}

with the conformal factor \begin {align} \psi &= \psi _{\rm BL} + u, \\ \partial _i\psi &= \partial _i\psi _{\rm BL} + \partial _i u. \end {align}

Writing the correction function as \(u = u_0 + \epsilon \) with \(u_0\) a known solution and \(|\epsilon |\ll u_0\), we can expand Eq. (??) to first order in \(\epsilon \), giving the linearized equation \begin {align} \Delta \epsilon - \epsilon \Bigg [ \frac {7}{8} \psi ^{-8} \bar {A}_{ij} \bar {A}^{ij} - (2\delta + 5) \pi &\psi _0^{2\delta + 4} \mu _S^2 \bar {\Phi }^* \bar {\Phi } \nonumber \\ - (2\delta + 1) \pi &\psi _0^{2\delta }\quad (\partial _i\bar {\Phi }^*) (\partial ^i\bar {\Phi }) \nonumber \\ -\ \ (2\delta )\ \ \delta \pi &\psi _0^{2\delta -1} (\partial _i\psi _0) ( \bar {\Phi }^* \partial ^i\bar {\Phi } + \bar {\Phi } \partial ^i\bar {\Phi }^* ) \nonumber \\ - (2\delta -1) \delta ^2 \pi &\psi _0^{2\delta -2} (\partial _i\psi _0) (\partial ^i\psi _0) \bar {\Phi }^* \bar {\Phi } \quad \quad \quad \quad \Big ] \nonumber \\ + (\partial _i\epsilon ) \Big [ \delta \pi \psi _0^{2\delta } ( \bar {\Phi }^* \partial ^i\bar {\Phi } &+ \bar {\Phi } \partial ^i\bar {\Phi }^* ) + \delta ^2 \pi \psi _0^{2\delta -1} (\partial ^i\psi _0) \bar {\Phi }^* \bar {\Phi } \Big ]= 0, \label {scalar_TwoPunctures_BBHSF_eq:lin_ham_eq} \end {align}

where the conformal factor \(\psi _0\) is defined as \begin {align} \psi _0 &= \psi _{\rm BL} + u_0, \\ \partial _i \psi _0 &= \partial _i \psi _{\rm BL} + \partial _i u_0. \end {align}

Equations (??) and (??) constitute our main result. We see that for any choice of \(\delta < -2.5\), Eq. (??) takes the form of \begin {equation} \Delta \epsilon - h \epsilon = 0 \end {equation} 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 \(\delta < -2.5\). By default, \(\delta \) 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 \begin {equation} \bar {\Phi }(t=0) = A_{\rm SF} Z(\theta , \phi ) e^{-(r-r_0)^2/w^2}, \quad \Pi (t=0) = 0, \end {equation} where \(A_{\rm SF}, r_0, w\) are constant parameters and \(Z(\theta , \phi )\) 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(\theta , \phi )\): \begin {align} Y_{0,0}(\theta , \phi ) &= \sqrt {\frac {1}{4\pi }}, \\ Y_{1,1}(\theta , \phi ) &= -\sqrt {\frac {3}{8\pi }} \sin \theta \ (\cos \phi + i \sin \phi ). \end {align}

In addition, Cartesian derivatives of \(\bar {\Phi }\) are computed, so this thorn replaces the use of ScalarInit (which only computes \(\Phi \) 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