xx NRPyEllipticET

NRPyEllipticET

LeoxR.xWerneck <wernecklr@gmail.com>, ThiagoxAssumpxxo <assumpcaothiago@gmail.com>,

ZachxEtienne <zachetie@gmail.com>, TerrencexPierrexJacques <tp0052@mix.wvu.edu>

August, 2022

Abstract

This thorn generates numerical relativity initial data by solving the constraints of general relativity using the hyperbolic relaxation method.

1 Introduction

The hyperbolic relaxation method ofx[1] converts an elliptic problem into a hyperbolic one. The prototypical elliptic problem—Poisson’s equation—reads where is a set of unknowns and are sources. One introduces a relaxation time and replaces this elliptic equation with where is a damping parameter with units of inverse time and is the speed of the relaxation waves. One then evolves this hyperbolic equation until a steady state is reached at , for which and thus is also a solution to the original elliptic problem. For more details of how this method is implemented in NRPyEllipticET, please seex[2].

2 Initial data types

2.1 Conformally flat binary black hole initial data

As described inx[2], NRPyEllipticET solves the Hamiltonian constraint using the conformal transverse-traceless (CTT) decomposition, i.e., where is the covariant derivative compatible with the flat spatial metric , , , where is the traceless part of the extrinsic curvature, and is the conformal factor, given by where are are the bare mass and position vector of the th puncture and is a to-be-determined non-singular piece of the conformal factor.

We thus solve the Hamiltonian constraint using the hyperbolic relaxation method, i.e.,

where the first equation defines .

References

[1]xxxRxter,xH.xR., Hildich,xD., Bugner,xM., and Brxgmann,xB., Phys. Rev. D 98, 084044, 2018 (arXiv: 1708.07358).

[2]xxxAssumpxxo,xT., Werneck,xL.xR., Etienne,xZ.xB., and Pierre Jacques,xT., Phys. Rev. D 105, 104037, 2022 (arXiv: 2111.02424).

3 Parameters

11cflxfactor 10Scope: privatex01 REAL

11Description: CFL factor of the relaxation time evolution.

11 Range 10 x01 Default: 0.7
110:1  10Between zero and one. For higher resolutions this will have to be lowered.

11

11conformallyxflatxbbhxpuncturex0xbarexmass 10Scope: privatex01  REAL

11Description: Bare mass of first puncture

11 Range 10 x01 Default: 1e123
110:*  10Must be positive
111e123  10Forbidden value to make sure it is explicitly set in the parfile

11

11conformallyxflatxbbhxpuncturex0xp 10Scope: privatex01  REAL

11Description: Linear momentum of first puncture

11 Range 10 x01 Default: (none)
11*:*  10This parameter can have any value

11

11conformallyxflatxbbhxpuncturex0xpos10Scope: privatex01  REAL

11Description: Position of first puncture

11 Range 10 x01 Default: (none)
11*:*  10This parameter can have any value

11

11conformallyxflatxbbhxpuncturex0xs 10Scope: privatex01  REAL

11Description: Angular momentum of first puncture

11 Range 10 x01 Default: (none)
11*:*  10This parameter can have any value

11

11conformallyxflatxbbhxpuncturex1xbarexmass 10Scope: privatex01  REAL

11Description: Bare mass of second puncture

11 Range 10 x01 Default: 1e123
110:*  10Must be positive
111e123  10Forbidden value to make sure it is explicitly set in the parfile

11

11conformallyxflatxbbhxpuncturex1xp 10Scope: privatex01  REAL

11Description: Linear momentum of second puncture

11 Range 10 x01 Default: (none)
11*:*  10This parameter can have any value

11

11conformallyxflatxbbhxpuncturex1xpos10Scope: privatex01  REAL

11Description: Position of second puncture

11 Range 10 x01 Default: (none)
11*:*  10This parameter can have any value

11conformallyxflatxbbhxpuncturex1xs 10Scope: privatex01  REAL

11Description: Angular momentum of second puncture

11 Range 10 x01 Default: (none)
11*:*  10This parameter can have any value

11

11domainxsize  10Scope: privatex01  REAL

11Description: Domain size for the initial data

11 Range 10 x01 Default: 1e6
110:*  10Must be positive

11

11etaxdamping  10Scope: privatex01  REAL

11Description: Wave equation damping parameter

11 Range 10 x01 Default: -1
110:*  10Must be positive
11-1  10Compute  optimum etaxdamping (requires domainxsize=1e6; sinhxwidth=0.07; focixposition=5)

11

11focixposition  10Scope: privatex01  REAL

11Description: Position of the foci of the prolate spheroidal coordinate system. Typically the position of the puncture.

11  Range  10  x01  Default: 5.0
110:*  10Must be positive

11

11infoxoutputxfreq  10Scope: privatex01  INT

11Description: Print progress of relaxation time evolution every infoxoutputxfreq iterations

11 Range 10 x01 Default: (none)
110:*  10Any positive value. 0 disables it

11

11initialxdataxtype  10Scope: privatex01  STRING

11Description: Type of initial data generated by NRPyEllipticET

11 Range 10 x01 Default: ConformallyFlatBBH
11ConformallyFlatBBH  10Conformally flat binary black hole initial data

11

11interpolationxorder  10Scope: privatex01  INT

11Description: Interpolation order

11 Range 10 x01 Default: 4
110:*  10Must be positive

11

11interpolatorxname  10Scope: privatex01  STRING

11Description: Interpolator name

11 Range 10 x01Default: Lagrange polynomial interpolation
11.+  10Can be anything

11

11lapsexexponentxn  10Scope: privatex01  REAL

11Description: Exponent of lapse initial data alpha = psiˆ{ n}

11 Range 10 x01 Default: -2
11*:*  10This parameter can have any value

11

11logxtargetxresidual  10Scope: privatex01  REAL

11Description: Stopping criterion: log10(l2norm(residual))

11 Range 10 x01 Default: -16.0
11*:0  10Should be negative, since we typically want small residuals

11maxxiterations  10Scope: privatex01  INT

11Description: Maximum number of time steps in the relaxation time evolution.

11 Range 10 x01 Default: 10000
110:*  10Must be positive

11

11n0  10Scope: privatex01  INT

11Description: Number of points in the xx0 direction

11 Range 10 x01 Default: 128
110:*  10Must be positive

11

11n1  10Scope: privatex01  INT

11Description: Number of points in the xx1 direction

11 Range 10 x01 Default: 128
110:*  10Must be positive

11

11n2  10Scope: privatex01  INT

11Description: Number of points in the xx2 direction

11 Range 10 x01 Default: 16
110:*  10Must be positive

11

11nrpyxepsilon  10Scope: privatex01  REAL

11Description: Small number to avoid singularities at the punctures

11 Range 10 x01 Default: 1e-8
11*:*  10Can be anything

11

11numberxofxlct  10Scope: privatex01  REAL

11Description: Number of light-crossing times

11 Range 10 x01 Default: 5.5e-6
110:*  10Must be positive

11

11orbitalxplane  10Scope: privatex01  STRING

11Description: Orbital plane

11 Range 10 x01 Default: xy
11xy  10Orbital plane is the xy-plane
11yx  10Equivalent to xy
11xz  10Orbital plane is the xz-plane
11zx  10Equivalent to xz

11

11positionxshift  10Scope: privatex01  REAL

11Description: Shift punctures on the axis while keeping their distance fixed

11 Range 10 x01 Default: (none)
11*:*  10Can be anything

11

11residualxintegrationxradius  10Scope: privatex01  REAL

11Description: The L2-norm of the residual is integrated in a sphere with this radius.

11 Range 10 x01 Default: 100.0
110:*  10Must be positive; if set to >=domainxsize then will integrate over the entire NRPy+-generated grid.

11

11sinhxwidth  10Scope: privatex01  REAL

11Description: This parameter controls how densily sampled the regions near the punctures are. Smaller values => higher resolution

11  Range  10  x01  Default: 0.07
110:*  10Must be positive

11verbose  10Scope: privatex01  BOOLEAN

11Description: Whether or not to print information as the relaxation progresses

11                                10  x01  Default: no

11

11initialxdata  10Scope: shared from ADMBASEx01  KEYWORD

11Extends ranges:

11NRPyEllipticET  10Initial data from NRPyEllipticET solution

11

11initialxdtlapse  10Scope: shared from ADMBASEx01  KEYWORD

11Extends ranges:

11NRPyEllipticET  10Initial dtlapse from NRPyEllipticET solution

11

11initialxdtshift  10Scope: shared from ADMBASEx01  KEYWORD

11Extends ranges:

11NRPyEllipticET  10Initial dtshift from NRPyEllipticET solution

11

11initialxlapse  10Scope: shared from ADMBASEx01  KEYWORD

11Extends ranges:

11see [1] below  10Based on the initial conformal factor
11see [1] below  10Averaged lapse for two puncture black holes

11

NRPyEllipticET-psi\^n

[1]

NRPyEllipticET-averaged

11initialxshift  10Scope: shared from ADMBASEx01  KEYWORD

11Extends ranges:

11NRPyEllipticET  10Initial shift from NRPyEllipticET solution

11

11lapsextimelevels  10Scope: shared from ADMBASEx01INT

11

11metricxtimelevels  10Scope: shared from ADMBASEx01INT

11

11shiftxtimelevels  10Scope: shared from ADMBASEx01INT

11

4 Interfaces

General Implements: nrpyellipticet

Inherits: admbase grid

Grid Variables

4.0.1 PRIVATE GROUPS

11 x Group Names x 10x Variable Names xx01 Details x11x
11nrpyellipticetxrelaxationxvars10  x01  compact110
11                         10  uuGF  x01 description11These are the variables NRPyEllipticET solves for. E.g.
11                         10  x  x01 description11for conformally flat BBH
11                         10  uuGF  x01 description11uuGF is the nonsingular part of the conformal factor.
11                         10  x01 dimensions113
11                         10  x01 distribution11DEFAULT
11                         10  x01 group type11GF
11 10 x01 tags11prolongation=”none”
11                         10  x01 timelevels111
11                         10  x01variable type11REAL

11

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

11Always:  11x
11ADMBase::metric[metricxtimelevels] ADMBase::curv[metricxtimelevels] ADMBase::lapse[lapsextimelevels] ADMBase::shift[shiftxtimelevels]11x
11NRPyEllipticET::NRPyEllipticETxrelaxationxvars  11x

11x  11x

11

Scheduled Functions

ADMBasexInitialData x nrpyellipticet x set up metric fields for binary black hole initial data

11x11Language:11c
11 x 11Reads: 11grid::x(everywhere)
11 x 11x  11grid::y(everywhere)
11 x 11x  11grid::z(everywhere)
11 x 11Type: 11function
11 x 11Writes: 11admbase::alp(everywhere)
11 x 11x  11admbase::betax(everywhere)
11 x 11x  11admbase::betay(everywhere)
11 x 11x  11admbase::betaz(everywhere)
11 x 11x  11admbase::kxx(everywhere)
11 x 11x  11admbase::kxy(everywhere)
11 x 11x  11admbase::kxz(everywhere)
11 x 11x  11admbase::kyy(everywhere)
11 x 11x  11admbase::kyz(everywhere)
11 x 11x  11admbase::kzz(everywhere)
11 x 11x  11admbase::gxx(everywhere)
11 x 11x  11admbase::gxy(everywhere)
11 x 11x  11admbase::gxz(everywhere)
11 x 11x  11admbase::gyy(everywhere)
11 x 11x  11admbase::gyz(everywhere)
11 x 11x  11admbase::gzz(everywhere)

11

ADMBasexInitialData x nrpyellipticetxcleanup x deallocate memory for arrays used when computing initial data x

11x11After: 11nrpyellipticet
11 x 11Language:11c
11 x 11Options: 11global-late
11 x 11Type: 11function