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




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

 

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