xx NPScalars

NPScalars

MiguelxZilhxo and HelvixWitek

June 30, 2023

Abstract

NPScalars computes the Newman-Penrose scalar with up to 6th order accurate finite-difference stencils.

1 NPScalars

NPScalars was introduced inx[1] (cf.xAppendix C therein for the detailed description) as part of the Lean code, to compute the Newman-Penrose scalar and perform its decomposition into spherical harmonics. It has since been modified to interface instead with the Multipole thorn for this decomposition.

The thorn was made publicly available through the Canuda numerical relativity libraryx[2], and has since been distributed also as a part of the Einstein Toolkit.

The bulk of the code is written in Fortranx90 and should be simple to follow – emphasis has been given to readability.

2 Obtaining this thorn

NPScalars is included with the Einstein Toolkit and can also be obtained through the Canuda numerical relativity libraryx[2].

References

[1]xxxU.xSperhake, “Binary black-hole evolutions of excision and puncture data,” Phys. Rev. D 76 (2007), 104015 doi:10.1103/PhysRevD.76.104015 [arXiv:gr-qc/0606079 [gr-qc]].

[2]xxxH.xWitek, M.xZilhao, G.xBozzola, C.-H.xCheng, A.xDima, M.xElley, G.xFicarra, T.xIkeda, R.xLuna, C.xRichards, N.xSanchis-Gual, H.xOkadaxdaxSilva. “Canuda: a public numerical relativity library to probe fundamental physics,” Zenodo (2023) doi: 10.5281/zenodo.3565474

3 Parameters

11 calculatexnpxevery10 Scope: private01  INT

11 Description: Calculate Psi4 every N iterations

11 Range 10 01 Default: 1
11 *:*  10 0 or negative is never

11

11 npxorder  10 Scope: private01  INT

11 Description: Accuracy of finite differences used in computing Psi4

11 Range 10 01 Default: 4
11 4  10 Fourth order
11 6  10 Sixth order
11 8  10 Eighth order

11 stressxenergyxstate10 Scope: shared from CANUDAXxBSSNMOL01BOOLEAN

11

4 Interfaces

General Implements: canudaxxnpscalars

Inherits: admbasex tmunubasex

Grid Variables

4.0.1 PRIVATE GROUPS

11 x Group Names x 10 x Variable Names x01 Details x 11 x
11  nppsi4rxgroup  10                    01  compact 11 0
11                    10  psi4re  01 description 11 Real part of Newman-Penrose scalar Psix4
11                    10                    01 dimensions 11 3
11                    10                    01 distribution 11 DEFAULT
11                    10                    01 group type 11 GF
11                    10                    01  tags 11 checkpoint=”no” tensortypealias=”Scalar” tensorweight=0 tensorparity=1
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11  nppsi4ixgroup  10                    01  compact 11 0
11                    10  psi4im  01 description 11 Imaginary part of Newman-Penrose scalar Psix4
11                    10                    01 dimensions 11 3
11                    10                    01 distribution 11 DEFAULT
11                    10                    01 group type 11 GF
11                    10                    01  tags 11 checkpoint=”no” tensortypealias=”Scalar” tensorweight=0 tensorparity=-1
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL

11

Uses header: loop.hxx loopxdevice.hxx evolvexutils.hxx fdxstencils.hxx 5 Schedule This section lists all the variables which are assigned storage by thorn CanudaX/CanudaXxNPScalars. 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 Always:  11 x
11 NPPsi4Rxgroup 11 x
11 NPPsi4Ixgroup 11 x

11 x  11 x

11

Scheduled Functions

CCTKxPARAMCHECK x canudaxxnpscalarsxparamcheck x check canudaxxnpscalars parameters for consistency x

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

11

CCTKxPOSTINITIAL x canudaxxnpscalarsxcalc x calculate newman-penrose scalars x

11 x 11 After: 11 odesolversxpoststep
11 x 11 Type: 11 group

11

CCTKxEVOL x canudaxxnpscalarsxcalc x calculate newman-penrose scalars x

11 x 11 After: 11 odesolversxcalledbysolve
11 x 11 Type: 11 group

11

CanudaXxNPScalarsxCalc x canudaxxnpscalarsxcalcxpsi4 x calculate newman-penrose scalar psi4 as a grid function

11 x 11 Language: 11 c
11 x 11 Reads:  11 admbasex::metric(everywhere)
11 x 11 x  11 admbasex::curv(everywhere)
11 x 11 x  11 admbasex::lapse(everywhere)
11 x 11 x  11 admbasex::shift(everywhere)
11 x 11 x  11 tmunubasex::ettt(everywhere)
11 x 11 x  11 tmunubasex::etti(everywhere)
11 x 11 x  11 tmunubasex::etij(everywhere)
11 x 11 Sync:  11 nppsi4rxgroup
11 x 11 x  11 nppsi4ixgroup
11 x 11 Type:  11 function
11 x 11 Writes: 11 psi4re(interior)
11 x 11 x  11 psi4im(interior)