xx ScalarEvolve

ScalarEvolve

Miguel Zilhxo <mzilhao@ua.pt>

July 1 2023

Abstract

ScalarEvolve solves the (Einstein-)Klein-Gordon system of equations with 4th order accurate finite-difference stencils. It relies on the MoL thorn for the time integration and can work with any spacetime evolution thorn to couple with the Einstein equations.

1 ScalarEvolve

This thorn provides the tools to evolve a complex scalar field with nonlinear potential in arbitrary background as first described in [1]. Additionally, it is possible to add an external periodic forcing to the right-hand side of the Klein-Gordon equation for studies of parametric resonances.

ScalarEvolve interfaces with the ScalarBase thorn, which defines the evolution variables phi1, phi2, Kphi1 and Kphi2. This thorn merely takes care of setting the scalar field stress-energy tensor and evolving (with MoL) the scalar field itself. The evolution of the metric sector needs to be done elsewhere.

2 Physical System

Conventions used here are as inx[1] and as follows:

where is the mass parameter defined in ScalarBase and and the gridfunctions phi1 and phi2 used in the code (defined in ScalarBase) are the real and imaginary part of the complex field , which for reasons of convenience are evolved as separate, independent, variables.

Let us briefly present the decomposed equations of motion in the Einstein-Klein-Gordon case. To complete the characterization of the full spacetime we define the extrinsic curvature and analogously introduce the “canonical momentum” of the complex scalar field where denotes the Lie derivative. Our evolution system can then be written in the form

where is the covariant derivative with respect to the -metric.

For completeness, we present also the full evolution equations re-written in the BSSN schemex[2,x3]. The full system of evolution equations is

with the source terms given by

Note however, as mentioned above, that the evolution of the metric sector is not done in this thorn, and thus needs to be done elsewhere (ie, LeanBSSNMoL or McLachlan).

3 Obtaining This Thorn

This thorn is included in the Einstein Toolkit and can also be obtained through the Canuda numerical relativity libraryx[4].

References [1]xxxP.xV.xP.xCunha, J.xA.xFont, C.xHerdeiro, E.xRadu, N.xSanchis-Gual and M.xZilhxo, “Lensing

and dynamics of ultracompact bosonic stars,” Phys. Rev. D 96, no.10, 104040 (2017) doi:10.1103/PhysRevD.96.104040 [arXiv:1709.06118 [gr-qc]].

[2]xxxM.xShibata and T.xNakamura, “Evolution of three-dimensional gravitational waves: Harmonic slicing case,” Phys. Rev. D 52, 5428-5444 (1995) doi:10.1103/PhysRevD.52.5428

[3]xxxT.xW.xBaumgarte and S.xL.xShapiro, “On the numerical integration of Einstein’s field equations,” Phys. Rev. D 59, 024007 (1998) doi:10.1103/PhysRevD.59.024007 [arXiv:gr-qc/9810065 [gr-qc]].

[4]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

4 Parameters

11 chixfloor 10 Scope: private01 REAL

11 Description: Minimal value of abs(chi)

11 Range 10 01 Default: 1.0d-06
11 *:*  10 Any value possible

11

11 computexfluxes  10 Scope: private01  BOOLEAN

11 Description: Calculate the energy fluxes of the scalar field? calculation not available with multipatch

11                                 10              01  Default: no

11

11 epsxr  10 Scope: private01  REAL

11 Description: of value if rr approaches zero in densities computation

11 Range 10 01 Default: 1.0d-06
11 0:*  10 any small positive value possible

11 outerxbound  10 Scope: private01  KEYWORD

11 Description: outer boundary condition

11 Range 10 01 Default: radiative
11 radiative  10 Sommerfeld BC
11 reflecting  10 reflecting BC

11

11 usexadvectionxstencils  10 Scope: private01  BOOLEAN

11 Description: Use lop-sided stencils for advection derivs

11                                 10              01  Default: yes

11

11 zxisxradial  10 Scope: private01  BOOLEAN

11 Description: use with multipatch

11                                 10              01  Default: no

11

11 scalarevolvexmaxnumconstrainedvars10 Scope: restricted01  INT

11 Description: The maximum number of constrained variables used by ScalarEvolve

11 Range 10 01 Default: (none)
11 0:0  10 none

11

11 scalarevolvexmaxnumevolvedvars 10 Scope: restricted01  INT

11 Description: The maximum number of evolved variables used by ScalarEvolve

11 Range 10 01 Default: 4
11 4:4  10 Just 4: phi1, phi2, Kphi1, Kphi2

11

11 scalarevolvexmaxnumsandrvars  10 Scope: restricted01  INT

11 Description: The maximum number of save and restore variables used by ScalarEvolve

11 Range 10 01 Default: 16
11 16:16  10 lapse, shift, metric, and extrinsic curvature

11

11 evolutionxmethod  10 Scope: shared from SCALARBASE01  KEYWORD

11 Extends ranges:

11 ScalarEvolve  10 Use ScalarEvolve to evolve scalar variables

11

11 forcingxswitch  10 Scope: shared from SCALARBASE01BOOLEAN

11

11 kphi1x0  10 Scope: shared from SCALARBASE01REAL

11

11 kphi2x0  10 Scope: shared from SCALARBASE01REAL

11 mu  10 Scope: shared from SCALARBASE01REAL

11

11 nxkphi1  10 Scope: shared from SCALARBASE01INT

11

11 nxkphi2  10 Scope: shared from SCALARBASE01INT

11

11 nxphi1  10 Scope: shared from SCALARBASE01INT

11

11 nxphi2  10 Scope: shared from SCALARBASE01INT

11

11 phi1x0  10 Scope: shared from SCALARBASE01REAL

11

11 phi2x0  10 Scope: shared from SCALARBASE01REAL

11

11 vxlambda  10 Scope: shared from SCALARBASE01REAL

11

5 Interfaces

General Implements: scalarevolve

Inherits: admbase tmunubase scalarbase boundary sphericalsurface

Grid Variables

5.0.1 PRIVATE GROUPS

11 x Group Names x 10 x Variable Names x01 Details x 11 x
11  rhsxphi  10                    01  compact 11 0
11                    10  rhsxphi1  01 description 11 right hand sides for scalar field evolution equations
11                    10  rhsxphi2  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 prolongation=”none” Checkpoint=”no”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11  rhsxkphi  10                    01  compact 11 0
11                    10  rhsxKphi1  01 description 11 right hand sides for evolution of conjugated momenta
11                    10  rhsxKphi2  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 prolongation=”none” Checkpoint=”no”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11  hmetric  10                    01  compact 11 0
11                    10  hxx  01 description 11 \tilde gammaxij
11                    10  hxy  01 dimensions 11 3
11                    10  hxz  01 distribution 11 DEFAULT
11                    10  hyy  01 group type 11 GF
11                    10  hyz  01  tags 11 tensortypealias=”DDxsym” tensorweight=-0.66666666666666666667 prolongation=”none” Checkpoint=”no”
11                    10  hzz  01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11  confxfacxchi  10                    01  compact 11 0
11                    10  chi  01 description 11 conformal factor \chi
11                    10                    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.66666666666666666667 prolongation=”none” Checkpoint=”no”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11  trk  10                    01  compact 11 0
11                    10  tracek  01 description 11 Tr(K)
11                    10                    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 prolongation=”none” Checkpoint=”no”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11  densitiesxsf  10                    01  compact 11 0
11                    10  rhoSFxgf  01 description 11 energy-momentum densities of scalar field
11                    10  jrSFxgf  01 dimensions 11 3
11                    10  SrrSFxgf  01 distribution 11 DEFAULT
11                    10                    01 group type 11 GF
11                    10                    01  tags 11 tensortypealias=”Scalar” tensorweight=0 prolongation=”none” Checkpoint=”no”
11                    10                    01 timelevels 11 3
11                    10                    01 variable type 11 REAL

6 Schedule This section lists all the variables which are assigned storage by thorn Scalar/ScalarEvolve. 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 x 11 Conditional:
11 x 11 rhsxphi rhsxKphi
11 x 11 hmetric confxfacxchi trk
11 x 11 densitiesxSF[3]

11 x 11 x

11

Scheduled Functions

SetTmunu (conditional) x scalarxzeroxdensities x initialise the sf densities to zero x

11 x 11 Language: 11 fortran
11 x 11 Type:  11 function
11 x 11 Writes: 11 scalarevolve::rhosfxgf(everywhere)
11 x 11 x  11 scalarevolve::jrsfxgf(everywhere)
11 x 11 x  11 scalarevolve::srrsfxgf(everywhere)

11

CCTKxPARAMCHECK (conditional) x scalarxinit x initialise flags and boundary condition x

11 x 11 Language: 11 c
11 x 11 Options: 11 global
11 x 11 Type:  11 function

11

AddToTmunu (conditional) x scalarxcalcxtmunu x compute the energy-momentum tensor x

11 x 11 Language: 11 fortran
11 x 11 Type:  11 function

11

CCTKxBASEGRID (conditional) x scalarxinitsymbound x schedule symmetries x

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

11

CCTKxBASEGRID (conditional) x scalarxzeroxrhs x set all rhs functions to zero to prevent spurious nans x

11 x 11 After:  11 scalarxinitsymbound
11 x 11 Language: 11 fortran
11 x 11 Type:  11 function

11

MoLxRegister (conditional) x scalarxregistervars x register variables for mol x

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

11

MoLxCalcRHS (conditional) x scalarxord4xcalcxrhs x mol rhs calculation for scalar variables x

11 x 11 Language: 11 fortran
11 x 11 Type:  11 function

11

MoLxCalcRHS (conditional) x scalarxord4xcalcxrhsxbdry x mol boundary rhs calculation for scalar variables x

11 x 11 After:  11 scalarxcalcrhs
11 x 11 Language: 11 fortran
11 x 11 Type:  11 function

11

MoLxRHSBoundaries (conditional) x scalarxord4xcalcxrhsxbdryxsph x mol boundary rhs calculation for scalar variables for the multipatch system x

11 x 11 Language: 11 fortran
11 x 11 Type:  11 function

11

MoLxPostStep (conditional) x scalarxboundaries x mol boundary enforcement for scalar variables x

11 x 11 Language: 11 fortran
11 x 11 Options: 11 level
11 x 11 Sync:  11 phi

11 x 11 x  11 kphi

11 x 11 Type:  11 function

11

MoLxPostStep (conditional) x applybcs x apply boundary conditions x

11 x 11 After: 11 scalarxboundaries
11 x 11 Type: 11 group

11

Aliased Functions x

11 Alias Name: xxxxxxx  11 Function Name:
11 ApplyBCs  11 ScalarxApplyBCs
11 ScalarxcalcxTmunu  11 ScalarxAddToTmunu
11 Scalarxord4xcalcxrhs  11 ScalarxCalcRHS
11 Scalarxord4xcalcxrhsxbdry  11 ScalarxCalcRHSxBdry
11 Scalarxord4xcalcxrhsxbdryxsph 11 ScalarxCalcRHSxBdryxSph