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 NP scalars every N iterations

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

11 npxorder  10 Scope: private01  INT

11 Description: Second or fourth order accuracy?

11 Range 10 01 Default: 4
11 2  10 Second order
11 4  10 Fourth order
11 6  10 Sixth order

11

4 Interfaces

General Implements: npscalars

Inherits: admbase

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 dimensions 11 3
11                    10                    01 distribution 11 DEFAULT
11                    10                    01 group type 11 GF
11                    10                    01  tags 11 tensortypealias=”Scalar” tensorweight=0 tensorparity=1
11                    10                    01 timelevels 11 3
11                    10                    01 variable type 11 REAL
11  nppsi4ixgroup  10                    01  compact 11 0
11                    10  psi4im  01 dimensions 11 3
11                    10                    01 distribution 11 DEFAULT
11                    10                    01 group type 11 GF
11                    10                    01  tags 11 tensortypealias=”Scalar” tensorweight=0 tensorparity=-1
11                    10                    01 timelevels 11 3
11                    10                    01 variable type 11 REAL

5 Schedule This section lists all the variables which are assigned storage by thorn Lean/NPScalars. 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[3] 11 x
11 NPPsi4Ixgroup[3] 11 x

11 x  11 x

11

Scheduled Functions

CCTKxPARAMCHECK x npscalarsxparamcheck x check npscalars parameters for consistency x

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

11

CCTKxBASEGRID x npxsymmetries x set symmetries for grid functions x

11 x 11 Language: 11 fortran
11 x 11 Options: 11 meta
11 x 11 Type:  11 function

11

CalcNPScalarsxBC x npboundaries x symmetry boundary conditions x

11 x 11 Language: 11 fortran
11 x 11 Options: 11 level
11 x 11 Sync:  11 nppsi4rxgroup
11 x 11 x  11 nppsi4ixgroup
11 x 11 Type:  11 function

CalcNPScalarsxBC x applybcs x apply boundary conditions x

11 x 11 After: 11 npboundaries
11 x 11 Type: 11 group

11

CCTKxPOSTINITIAL x calcnpscalars x calculate npscalars x

11 x 11 Type: 11 group

11

MoLxPseudoEvolution x calcnpscalars x calculate npscalars x

11 x 11 After: 11 admbasexsetadmvars
11 x 11 Type: 11 group

11

CalcNPScalars x npxcalcpsigf x calculate psi4 as grid function x

11 x 11 Language: 11 fortran
11 x 11 Options: 11 local
11 x 11 Type:  11 function

11

CalcNPScalars x calcnpscalarsxbc x boundary conditions x

11 x 11 After: 11 npxcalcpsigf
11 x 11 Type: 11 group

11

CCTKxPOSTREGRIDINITIAL x calcnpscalarsxbc x boundary conditions x

11 x 11 After: 11 molxpoststep
11 x 11 Type: 11 group

CCTKxPOSTREGRID x calcnpscalarsxbc x boundary conditions x

11 x 11 After: 11 molxpoststep
11 x 11 Type: 11 group

11

CCTKxPOSTRESTRICTINITIAL x calcnpscalarsxbc x boundary conditions x

11 x 11 After: 11 molxpoststep
11 x 11 Type: 11 group

11

CCTKxPOSTRESTRICT x calcnpscalarsxbc x boundary conditions x

11 x 11 After: 11 molxpoststep
11 x 11 Type: 11 group

11

Aliased Functions x

11 Alias Name: xxxxxxx 11 Function Name:
11 ApplyBCs  11 ApplyBCsxNP