TwoPunctures_KerrProca

Helvi Witek, Miguel Zilhão

October 26 2018

1 Notes

We modify the TwoPunctures thorn to generate initial data for a single rotating black hole coupled to a massive vector field. The conformal metric is related to Kerr in quasi-isotropic coordinates (see [1] and [2])), i.e., \(rBL = R ( 1 + rBL_{+} / (4R) )^{2} \). This construction can accommodate for Proca fields with the following initial angular distribution :\(A_{\phi } \sim Y_{00}\), \(A_{\phi } \sim Y_{10}\) (explored in [3]) and \(A_{\phi } \sim Y_{1-1} - Y_{11}\) (see [4]).

Note:

We are enabling the swapping parameter “swap_xz”, i.e., the x- and z-axis are simply exchanged because TwoPunctures uses coordinates such that \(x=R\cos \theta \). Therefore, the rotation axis is the x-axis, and one needs to specify par_S_plus[0].

The swapping is not a coordinate transformation! So, instead of going from \(x=R\cos \theta , y=R\sin \theta \cos \phi , z=R\sin \theta \sin \phi \) to \(x=R\sin \theta \cos \phi , y=R\sin \theta \sin \phi , z=R\cos \theta \) as one might expect, this operation only exchanges x-z. Hence, for a BH that in physical space is supposed to rotate along \(z\), in the direction of \(z\), needs to be specified with a minus sign.

As an example, say we want to set up a rotating BH with \(a/M = 0.9\), rotating in the z-direction. Then, we need

References

[1]   Y. T. Liu, Z. B. Etienne and S. L. Shapiro, “Evolution of near-extremal-spin black holes using the moving puncture technique,” Phys. Rev. D 80 (2009) 121503 doi:10.1103/PhysRevD.80.121503 [arXiv:1001.4077 [gr-qc]].

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

[3]   M. Zilhão, H. Witek and V. Cardoso, “Nonlinear interactions between black holes and Proca fields,” Class. Quant. Grav. 32 (2015) 234003 doi:10.1088/0264-9381/32/23/234003 [arXiv:1505.00797 [gr-qc]].

[4]   M. Zilhão, H. Witek. To appear.

2 Parameters




c00
Scope: private  REAL



Description: amplitude for monopolar term



Range   Default: 0.
0:*
anything non-negative






c10
Scope: private  REAL



Description: Y10 multipolar term



Range   Default: 0.0
(*:*)






c11
Scope: private  REAL



Description: Y11 multipolar term



Range   Default: 0.0
(*:*)






r0_gaussian
Scope: private  REAL



Description: centre for gaussian



Range   Default: 2.
0:*
anything positive






w_gaussian
Scope: private  REAL



Description: width of gaussian



Range   Default: 1.
0:*
anything positive






adm_tol
Scope: restricted  REAL



Description: Tolerance of ADM masses when give_bare_mass=no



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






center_offset
Scope: restricted  REAL



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



Range   Default: 0.0
(*:*)






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






lambda
Scope: restricted  REAL



Description: factor to adjust the resolution away from the punctures



Range   Default: (none)
0:*
zero recovers the standard case






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
(*:*)






rescale_sources
Scope: restricted  BOOLEAN



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



  Default: yes






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






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






conformal_storage
Scope: shared from STATICCONFORMAL KEYWORD



3 Interfaces

General

Implements:

twopunctures_kerrproca

Inherits:

admbase

staticconformal

grid

procabase

Grid Variables

3.0.1 PRIVATE GROUPS




  Group Names    Variable Names    Details   




puncture_u puncture_u   compact0
  dimensions3
  distributionDEFAULT
  group typeGF
  tagsprolongation=”none”
  timelevels1
 variable typeREAL




energy   compact0
E   descriptionADM energy of the Bowen-York spacetime
  dimensions0
  distributionCONSTANT
  group typeSCALAR
  timelevels1
 variable typeREAL




angular_momentum   compact0
J1   descriptionAngular momentum of the Bowen-York spacetime
J2   dimensions0
J3   distributionCONSTANT
  group typeSCALAR
  timelevels1
 variable typeREAL




3.0.2 PUBLIC GROUPS




  Group Names    Variable Names    Details   




bare_mass   compact0
mp   descriptionBare masses of the punctures
mm   dimensions0
  distributionCONSTANT
  group typeSCALAR
  timelevels1
 variable typeREAL




puncture_adm_mass   compact0
mp_adm   descriptionADM masses of the punctures (measured at the other spatial infinities)
mm_adm   dimensions0
  distributionCONSTANT
  group typeSCALAR
  timelevels1
 variable typeREAL




4 Schedule

This section lists all the variables which are assigned storage by thorn Proca/TwoPunctures_KerrProca. 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
  puncture_u bare_mass
   

Scheduled Functions

CCTK_PARAMCHECK (conditional)

  tpkp_twopunctures_paramcheck

  check parameters and thorn needs

 

 Language:c
 Type: function

ADMBase_InitialData (conditional)

  tpkp_twopunctures_group

  twopunctures initial data group

 

 Type:group

CCTK_INITIAL (conditional)

  tpkp_twopunctures_group

  twopunctures initial data group

 

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

TPKP_TwoPunctures_Group (conditional)

  tpkp_twopunctures

  create puncture black hole initial data

 

 Language:c
 Storage: puncture_u
   bare_mass
 Type: function

TPKP_TwoPunctures_Group (conditional)

  tpkp_twopunctures_metadata

  output twopunctures metadata

 

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