NPScalars

Miguel Zilhão and Helvi Witek

June 30, 2023

Abstract

NPScalars computes the Newman-Penrose scalar \(\Psi _{4}\) with up to 6th order accurate finite-difference stencils.

1 NPScalars

NPScalars was introduced in [1] (cf. Appendix C therein for the detailed description) as part of the Lean code, to compute the Newman-Penrose scalar \(\Psi _{4}\) 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 library [2], and has since been distributed also as a part of the Einstein Toolkit.

The bulk of the code is written in Fortran 90 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 library [2].

References

[1]   U. Sperhake, “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]   H. Witek, M. Zilhao, G. Bozzola, C.-H. Cheng, A. Dima, M. Elley, G. Ficarra, T. Ikeda, R. Luna, C. Richards, N. Sanchis-Gual, H. Okada da Silva. “Canuda: a public numerical relativity library to probe fundamental physics,” Zenodo (2023) doi: 10.5281/zenodo.3565474

3 Parameters




calculate_np_every
Scope: private  INT



Description: Calculate NP scalars every N iterations



Range   Default: 1
*:*
0 or negative is never






np_order
Scope: private  INT



Description: Second or fourth order accuracy?



Range   Default: 4
2
Second order
4
Fourth order
6
Sixth order



4 Interfaces

General

Implements:

npscalars

Inherits:

admbase

Grid Variables

4.0.1 PRIVATE GROUPS




  Group Names    Variable Names    Details   




nppsi4r_group   compact0
psi4re   dimensions3
  distributionDEFAULT
  group typeGF
  tagstensortypealias=”Scalar” tensorweight=0 tensorparity=1
  timelevels3
 variable typeREAL




nppsi4i_group   compact0
psi4im   dimensions3
  distributionDEFAULT
  group typeGF
  tagstensortypealias=”Scalar” tensorweight=0 tensorparity=-1
  timelevels3
 variable typeREAL




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

 

Always:  
NPPsi4R_group[3] 
NPPsi4I_group[3]  
   

Scheduled Functions

CCTK_PARAMCHECK

  npscalars_paramcheck

  check npscalars parameters for consistency

 

 Language:c
 Type: function

CCTK_BASEGRID

  np_symmetries

  set symmetries for grid functions

 

 Language:fortran
 Options: meta
 Type: function

CalcNPScalars_BC

  npboundaries

  symmetry boundary conditions

 

 Language:fortran
 Options: level
 Sync: nppsi4r_group
   nppsi4i_group
 Type: function

CalcNPScalars_BC

  applybcs

  apply boundary conditions

 

 After:npboundaries
 Type:group

CCTK_POSTINITIAL

  calcnpscalars

  calculate npscalars

 

 Type:group

MoL_PseudoEvolution

  calcnpscalars

  calculate npscalars

 

 After:admbase_setadmvars
 Type:group

CalcNPScalars

  np_calcpsigf

  calculate psi4 as grid function

 

 Language:fortran
 Options: local
 Type: function

CalcNPScalars

  calcnpscalars_bc

  boundary conditions

 

 After:np_calcpsigf
 Type:group

CCTK_POSTREGRIDINITIAL

  calcnpscalars_bc

  boundary conditions

 

 After:mol_poststep
 Type:group

CCTK_POSTREGRID

  calcnpscalars_bc

  boundary conditions

 

 After:mol_poststep
 Type:group

CCTK_POSTRESTRICTINITIAL

  calcnpscalars_bc

  boundary conditions

 

 After:mol_poststep
 Type:group

CCTK_POSTRESTRICT

  calcnpscalars_bc

  boundary conditions

 

 After:mol_poststep
 Type:group

Aliased Functions

 

Alias Name:        Function Name:
ApplyBCs ApplyBCs_NP