xx CanudaXBSSNMoL: An Einstein Toolkit thorn for evolving Einstein’s equations in the BSSN formalism

CanudaXxBSSNMoL: An Einstein Toolkit thorn for evolving Einstein’s equations in the BSSN formalism

Cheng-Hsin Cheng

April 15, 2026

Abstract

CanudaXxBSSNMoL is the CarpetX-compatible version of LeanBSSNMoL, which solves Einstein’s equations in the BSSN formalism. CanudaXxBSSNMoL uses finite-difference stencils which are accurate up to 8th order, compared with only 6th order in LeanBSSNMoL. It relies on the ODESolvers thorn for the time integration.

1 CanudaXxBSSNMoL

The Lean code was first introduced inx[1], to evolve vacuum spacetimes with the BSSN formalism. It has since been modified into LeanBSSNMoL to run with the MoL thorn for the time integration and generalized to include matter terms through the TmunuBase thorn. LeanBSSNMoL was made publicly available through the Canuda numerical relativity libraryx[2], and has since been distributed also as a part of the Einstein Toolkit.

CanudaXxBSSNMoL is the CarpetX-compatible version of LeanBSSNMoL which further introduces several new physics and computational capabilities:

Slicing conditions: geodesic, harmonic, shock-avoidingx[3], and slow-start lapsex[4]

Local AMR regridding criterion using the conformal factorx[5], useful for dynamically refining around and tracking black holes

8th order centered and lopsided finite difference stencils for spatial derivatives, along with 9th order accurate Kreiss-Oliger dissipation stencils

The bulk of the code is written in C++ and should be simple to follow – emphasis has been given to readability. The main part of the code, where the right-hand side of the evolution equations is computed, can be found in the file calcxbssnxrhs.cxx. For the conformal factor the code uses the “W” version, i.e.x, and it employs the usual “1+log” and “Gamma-driver” gauge conditions by default.

2 Obtaining this thorn

CanudaXxBSSNMoL 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]xxxT.xW.xBaumgarte and D.xHilditch, “Shock-avoiding slicing conditions: Tests and calibrations,” Phys. Rev. D 106, no.4, 044014 (2022) doi:10.1103/PhysRevD.106.044014 [arXiv:2207.06376 [gr-qc]].

[4]xxxZ.xB.xEtienne, “Improved moving-puncture techniques for compact binary simulations,” Phys. Rev. D 110, no.6, 064045 (2024) doi:10.1103/PhysRevD.110.064045 [arXiv:2404.01137 [gr-qc]].

[5]xxxM.xRadia,  U.xSperhake,  A.xDrew,  K.xClough,  P.xFigueras,  E.xA.xLim,

J.xL.xRipley, J.xC.xAurrekoetxea, T.xFranxa and T.xHelfer, “Lessons for adaptive mesh refinement in numerical relativity,” Class. Quant. Grav. 39, no.13, 135006 (2022) doi:10.1088/1361-6382/ac6fa9 [arXiv:2112.10567 [gr-qc]].

3 Parameters

11 addxkoxdissipation 10 Scope: private01 BOOLEAN

11 Description: Add Kreiss-Oliger dissipation?

11                         10              01  Default: yes

11

11 betaxalp  10 Scope: private01  REAL

11 Description: Exponent for lapse in front of Gammax in shift condition

11 Range 10 01 Default: 0.0
11 *:*  10 Anything possible, default is zero

11

11 betaxgamma  10 Scope: private01  REAL

11 Description: Prefactor to the Gammax term in shift condition

11 Range 10 01 Default: 0.75
11 *:*  10 Anything possible

11

11 boundaryxconditions  10 Scope: private01  KEYWORD

11 Description: Outer boundary conditions for BSSN variables

11 Range 10 01 Default: radiative
11 radiative  10 Use radiative boundary conditions from NewRadX
11 none  10 Do not impose boundary conditions here, but let CarpetX set it

11 calculatexconstraints  10 Scope: private01  BOOLEAN

11 Description: Calculate the BSSN constraints?

11                         10              01  Default: no

11

11 calculatexconstraintsxevery 10 Scope: private01  INT

11 Description: Calculate the BSSN constraints every N iterations

11 Range 10 01 Default: 1
11 *:*  10 0 or a negative value means never compute them

11

11 chixgamma  10 Scope: private01  REAL

11 Description: Coefficient to Yo-term in the \tilde{Gamma} equation. See gr-qc/0209066

11 Range 10 01 Default: 0.666666666666667
11 *:*  10 2/3 is a good value; the sign must be the same as betak,k

11

11 confxfacxfloor  10 Scope: private01  REAL

11 Description: Minimal value of conformal factor

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

11

11 derivsxorder  10 Scope: private01  INT

11 Description: Accuracy of spatial finite difference stencils in RHS calculation

11 Range 10 01 Default: 4
11 4  10 4th order accurate stencils
11 6  10 6th order accurate stencils
11 8  10 8th order accurate stencils

11

11 dissxeps  10 Scope: private01  REAL

11 Description: Strength coefficient for Kreiss-Oliger dissipation

11 Range 10 01 Default: 0.15
11 0.0:*  10 0 to turn off dissipation, most commonly use 0.15

11

11 dissxorder  10 Scope: private01  INT

11 Description: Accuracy of Kreiss-Oliger dissipation stencils; should be 1 highehr than derivsxorder

11 Range 10 01 Default: 5
11 5  10 5th order accurate stencils
11 7  10 7th order accurate stencils
11 9  10 9th order accurate stencils

11

11 etaxbeta  10 Scope: private01  REAL

11 Description: Damping parameter in live shift

11 Range 10 01 Default: 1
11 0:*  10 non-negative

11

11 etaxtransition  10 Scope: private01  BOOLEAN

11 Description: Use an r-dependent damping parameter eta?

11                         10              01  Default: no

11

11 etaxtransitionxeps  10 Scope: private01  REAL

11 Description: Minimal value of radius squared for etaxtransition

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

11

11 etaxtransitionxr  10 Scope: private01  REAL

11 Description: Transition radius for r-dependent eta

11 Range 10 01 Default: 1
11 0:*  10 non-negative

11 imposexconfxfacxfloorxatxinitial 10 Scope: private01  BOOLEAN

11 Description: Use floor value on initial data?

11                         10              01  Default: no

11

11 kappaxalpha  10 Scope: private01  REAL

11 Description: Coefficient in slicing condition - default is 2 for 1+log

11 Range 10 01 Default: 2.0
11 *:*  10 Any value possible

11

11 makexaaxtracefree  10 Scope: private01  BOOLEAN

11 Description: Remove trace of \tilde{A}x{ij} after each timestep?

11                         10              01  Default: yes

11

11 nxaij  10 Scope: private01  INT

11 Description: n power of outgoing boundary rn̂ fall off rate for conformal tracefree extrinsic curvature

11  Range  10              01  Default: 2
11 0:2  10 2 is reasonable

11

11 nxalpha  10 Scope: private01  INT

11 Description: n power of outgoing boundary rn̂ fall off rate for lapse

11 Range 10 01 Default: 1
11 0:2  10 1 is my guess

11

11 nxbeta  10 Scope: private01  INT

11 Description: n power of outgoing boundary rn̂ fall off rate for shift

11 Range 10 01 Default: 1
11 0:2  10 1 is my guess

11

11 nxconfxfac  10 Scope: private01  INT

11 Description: n power of outgoing boundary rn̂ fall off rate for conformal factor

11 Range 10 01 Default: 1
11 0:2  10 1 is reasonable

11

11 nxgammat  10 Scope: private01  INT

11 Description: n power of outgoing boundary rn̂ fall off rate for conformal connection

11 Range 10 01 Default: 1
11 0:2  10 Maybe 1?

11

11 nxhij  10 Scope: private01  INT

11 Description: n power of outgoing boundary rn̂ fall off rate for conformal metric

11 Range 10 01 Default: 1
11 0:2  10 1 is reasonable

11

11 nxtrk  10 Scope: private01  INT

11 Description: n power of outgoing boundary rn̂ fall off rate for trace of extrinsic curvature

11 Range 10 01 Default: 2
11 0:2  10 2 is reasonable

11

11 precollapsedxlapse  10 Scope: private01  BOOLEAN

11 Description: Initialize lapse as alp*psiˆ{ -2} ?

11                         10              01  Default: no

11 refinementxcriterion  10 Scope: private01  KEYWORD

11 Description: How to compute regrid error for AMR?

11 Range 10 01 Default: fixed
11 fixed  10 Distance to origin
11 see [1] below  10 Conformal factor minus 1
11 confxfacxlaplacian  10 Laplacian of conformal factor
11 see [1] below  10 Sum absolute values of each term in Hamiltonian constraint

11

conf\_fac\_minus\_one

[1]

ham\_constraint\_absolute

11 rescalexshiftxinitial  10 Scope: private01  BOOLEAN

11 Description: Initialize shift as psiˆ{ -2} beta ?

11                         10              01  Default: no

11

11 resetxdethh  10 Scope: private01  BOOLEAN

11 Description: Reset determinant of conformal metric?

11                         10              01  Default: yes

11

11 slicingxcondition  10 Scope: private01  KEYWORD

11 Description: Lapse slicing condition

11 Range 10 01 Default: 1+log
11 geodesic  10 geodesic slicing
11 harmonic  10 harmonic slicing
11 1+log  10 1+log slicing
11 shock-avoiding  10 shock-avoiding slicing from arXiv:2207.06376 [gr-qc]
11 SSL  10 slow-start lapse from arXiv:2404.01137 [gr-qc]

11

11 sslxamp  10 Scope: private01  REAL

11 Description: Amplitude of slow-start lapse Gaussian

11 Range 10 01 Default: 0.6
11 0:*  10 Anything positive; 0.6 was used in arXiv:2404.01137 [gr-qc]

11

11 sslxsigma  10 Scope: private01  REAL

11 Description: Width of slow-start lapse Gaussian

11 Range 10 01 Default: 20.0
11 0:*  10 Anything positive; 20 was used in arXiv:2404.01137 [gr-qc]

11

11 usexadvectionxstencils  10 Scope: private01  BOOLEAN

11 Description: Use lopsided stencils for advection derivatives?

11                         10              01  Default: yes

11

11 usexlocalxerrorxestimate 10 Scope: private01  BOOLEAN

11 Description: Compute local regrid error to refine/derefine cells?

11                         10              01  Default: no

11

11 zetaxalpha  10 Scope: private01  REAL

11 Description: Prefactor to the advection term in slicing condition

11 Range 10 01 Default: 1
11 *:*  10 Anything possible

11

11 zetaxbeta  10 Scope: private01  REAL

11 Description: Prefactor to the advection term in shift condition

11 Range 10 01 Default: 1
11 0:*  10 non-negative

11

11 stressxenergyxstate  10 Scope: restricted01  BOOLEAN

11 Description: Add matter contributions from TmunuBaseX to RHS and constraints?

11                         10                01  Default: no

11 zxisxradial  10 Scope: restricted01  BOOLEAN

11 Description: Use with multipatch?

11                         10                01  Default: no

11

4 Interfaces

General Implements: canudaxxbssnmol

Inherits: admbasex carpetxregrid tmunubasex

Grid Variables

4.0.1 PUBLIC GROUPS

11 x Group Names x 10 x Variable Names x01 Details x 11 x
11  alpha  10                    01  centering 11 centering={0 0 0}
11                    10  alpha  01  compact 11 0
11                    10                    01 description 11 Lapse function
11                    10                    01 dimensions 11 3
11                    10                    01 distribution 11 DEFAULT
11                    10                    01 group type 11 GF
11                    10                    01  tags 11 parities={+1 +1 +1} rhs=”alphaxrhs”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11  alphaxrhs  10                    01  centering 11 centering={0 0 0}
11                    10  alphaxrhs  01  compact 11 0
11                    10                    01 description 11 Time derivative of lapse function
11                    10                    01 dimensions 11 3
11                    10                    01 distribution 11 DEFAULT
11                    10                    01 group type 11 GF
11                    10                    01  tags 11 parities={+1 +1 +1} checkpoint=”no”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11  beta  10                    01  centering 11 centering={0 0 0}
11                    10  betx  01  compact 11 0
11                    10  bety  01 description 11 Shift vector betax
11                    10  betz  01 dimensions 11 3
11                    10                    01 distribution 11 DEFAULT
11                    10                    01 group type 11 GF
11                    10                    01  tags 11 parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} rhs=”betaxrhs”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11  betaxrhs  10                    01  centering 11 centering={0 0 0}
11                    10  betxxrhs  01  compact 11 0
11                    10  betyxrhs  01 description 11 Time derivative of shift vector
11                    10  betzxrhs  01 dimensions 11 3
11                    10                    01 distribution 11 DEFAULT
11                    10                    01 group type 11 GF
11                    10                    01  tags 11 parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} checkpoint=”no”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11  confxfac  10                    01  centering 11 centering={0 0 0}
11                    10  confxfac  01  compact 11 0
11                    10                    01 description 11 Conformal factor W=det(gammax{ij}) ˆ{ -1/6}
11                    10                    01 dimensions 11 3
11                    10                    01 distribution 11 DEFAULT
11                    10                    01 group type 11 GF
11                    10                    01  tags 11 parities={+1 +1 +1} rhs=”confxfacxrhs”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11  confxfacxrhs  10                    01  centering 11 centering={0 0 0}
11                    10  confxfacxrhs  01  compact 11 0
11                    10                    01 description 11 Time derivative of conformal factor
11                    10                    01 dimensions 11 3
11                    10                    01 distribution 11 DEFAULT
11                    10                    01 group type 11 GF
11                    10                    01  tags 11 parities={+1 +1 +1} checkpoint=”no”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL

11 x Group Names x 10 x Variable Names x01 Details x 11 x
11  hmetric  10                    01  centering 11 centering={0 0 0}
11                    10  hxx  01  compact 11 0
11                    10  hxy  01 description 11 Conformal metric \tilde{gamma}x{ij}
11                    10  hxz  01 dimensions 11 3
11                    10  hyy  01 distribution 11 DEFAULT
11                    10  hyz  01 group type 11 GF
11                    10  hzz  01  tags 11 parities={+1 +1 +1 -1 -1 +1 -1 +1 -1 +1 +1 +1 +1 -1 -1 +1 +1 +1} rhs=”hmetricxrhs”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11  hmetricxrhs  10                    01  centering 11 centering={0 0 0}
11                    10  hxxxrhs  01  compact 11 0
11                    10  hxyxrhs  01 description 11 Time derivative of conformal metric
11                    10  hxzxrhs  01 dimensions 11 3
11                    10  hyyxrhs  01 distribution 11 DEFAULT
11                    10  hyzxrhs  01 group type 11 GF
11                    10  hzzxrhs  01  tags 11 parities={+1 +1 +1 -1 -1 +1 -1 +1 -1 +1 +1 +1 +1 -1 -1 +1 +1 +1} checkpoint=”no”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11  hcurv  10                    01  centering 11 centering={0 0 0}
11                    10  axx  01  compact 11 0
11                    10  axy  01 description 11 Conformal tracefree part of extrinsic curvature \tilde{A}x{ij}
11                    10  axz  01 dimensions 11 3
11                    10  ayy  01 distribution 11 DEFAULT
11                    10  ayz  01 group type 11 GF
11                    10  azz  01  tags 11 parities={+1 +1 +1 -1 -1 +1 -1 +1 -1 +1 +1 +1 +1 -1 -1 +1 +1 +1} rhs=”hcurvxrhs”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11  hcurvxrhs  10                    01  centering 11 centering={0 0 0}
11                    10  axxxrhs  01  compact 11 0
11                    10  axyxrhs  01 description 11 Time derivative of conformal tracefree extrinsic curvature
11                    10  axzxrhs  01 dimensions 11 3
11                    10  ayyxrhs  01 distribution 11 DEFAULT
11                    10  ayzxrhs  01 group type 11 GF
11                    10  azzxrhs  01  tags 11 parities={+1 +1 +1 -1 -1 +1 -1 +1 -1 +1 +1 +1 +1 -1 -1 +1 +1 +1} checkpoint=”no”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11  trk  10                    01  centering 11 centering={0 0 0}
11                    10  tracek  01  compact 11 0
11                    10                    01 description 11 Trace of extrinsic curvature
11                    10                    01 dimensions 11 3
11                    10                    01 distribution 11 DEFAULT
11                    10                    01 group type 11 GF
11                    10                    01  tags 11 parities={+1 +1 +1} rhs=”trkxrhs”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11  trkxrhs  10                    01  centering 11 centering={0 0 0}
11                    10  tracekxrhs  01  compact 11 0
11                    10                    01 description 11 Time derivative of Trace of extrinsic curvature
11                    10                    01 dimensions 11 3
11                    10                    01 distribution 11 DEFAULT
11                    10                    01 group type 11 GF
11                    10                    01  tags 11 parities={+1 +1 +1} checkpoint=”no”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL

11 x Group Names x 10 x Variable Names x01 Details x 11 x
11  gammat  10                    01  centering 11 centering={0 0 0}
11                    10  gammatx  01  compact 11 0
11                    10  gammaty  01 description 11 Conformal connection function \tilde{Gamma}x
11                    10  gammatz  01 dimensions 11 3
11                    10                    01 distribution 11 DEFAULT
11                    10                    01 group type 11 GF
11                    10                    01  tags 11 parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} rhs=”gammatxrhs”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11  gammatxrhs  10                    01  centering 11 centering={0 0 0}
11                    10  gammatxxrhs 01  compact 11 0
11                    10  gammatyxrhs 01 description 11 Time derivative of conformal connection function
11                    10  gammatzxrhs 01 dimensions 11 3
11                    10                    01 distribution 11 DEFAULT
11                    10                    01 group type 11 GF
11                    10                    01  tags 11 parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} checkpoint=”no”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11  ham  10                    01  centering 11 centering={0 0 0}
11                    10  hc  01  compact 11 0
11                    10                    01 description 11 Hamiltonian constraint
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”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL
11  mom  10                    01  centering 11 centering={0 0 0}
11                    10  mcx  01  compact 11 0
11                    10  mcy  01 description 11 Momentum constraints
11                    10  mcz  01 dimensions 11 3
11                    10                    01 distribution 11 DEFAULT
11                    10                    01 group type 11 GF
11                    10                    01  tags 11 parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} checkpoint=”no”
11                    10                    01 timelevels 11 1
11                    10                    01 variable type 11 REAL

11

Adds header: evolvexutils.hxx fdxstencils.hxx

Uses header: loop.hxx loopxdevice.hxx newradx.hxx

5 Schedule This section lists all the variables which are assigned storage by thorn CanudaX/CanudaXxBSSNMoL. 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 Conditional:
11 ADMBaseX::metric 11 ADMBaseX::lapse
11 beta  11 ham
11 confxfacxrhs  11 mom
11 hmetricxrhs  11 x
11 hcurvxrhs  11 x
11 trkxrhs  11 x
11 gammatxrhs  11 x
11 alphaxrhs  11 x
11 betaxrhs  11 x
11 ADMBaseX::shift 11 x
11 ADMBaseX::curv 11 x
11 confxfac  11 x
11 hmetric  11 x
11 hcurv  11 x

11 trk  11 x

11 gammat  11 x
11 alpha  11 x

11 x  11 x

11

Scheduled Functions

CCTKxINITIAL (conditional) x canudaxxbssnmolxinitialgroup x canudaxxbssnmol: initial bin x

11 x 11 After: 11 tmunubasexxsettmunuvars
11 x 11 Type: 11 group

11

ODESolversxPostStep (conditional) x canudaxxbssnmolxpoststepgroup x canudaxxbssnmol: post-step operations x

11 x 11 Before: 11 admbasexxsetadmvars
11 x 11 Type: 11 group

11

CanudaXxBSSNMoLxRHSGroup (conditional) x canudaxxbssnmolxapplyxboundaryxconditions x apply radiative boundary conditions

11 x 11 After:  11 canudaxxbssnmolxcalcxbssnxrhs
11 x 11 Language: 11 c
11 x 11 Reads:  11 alpha(interior)
11 x 11 x  11 beta(interior)
11 x 11 x  11 confxfac(interior)
11 x 11 x  11 hmetric(interior)
11 x 11 x  11 trk(interior)
11 x 11 x  11 hcurv(interior)
11 x 11 x  11 gammat(interior)
11 x 11 x  11 alphaxrhs(interior)
11 x 11 x  11 betaxrhs(interior)
11 x 11 x  11 confxfacxrhs(interior)
11 x 11 x  11 trkxrhs(interior)
11 x 11 x  11 hmetricxrhs(interior)
11 x 11 x  11 hcurvxrhs(interior)
11 x 11 x  11 gammatxrhs(interior)
11 x 11 Type:  11 function
11 x 11 Writes: 11 alphaxrhs(interior)
11 x 11 x  11 betaxrhs(interior)
11 x 11 x  11 confxfacxrhs(interior)
11 x 11 x  11 trkxrhs(interior)
11 x 11 x  11 hmetricxrhs(interior)
11 x 11 x  11 hcurvxrhs(interior)
11 x 11 x  11 gammatxrhs(interior)

11

CanudaXxBSSNMoLxPostStepGroup (conditional) x canudaxxbssnmolxsync x sync state vector x

11 x 11 Language: 11 c
11 x 11 Options: 11 global
11 x 11 Sync:  11 alpha

11 x 11 x  11 beta

11 x 11 x  11 confxfac
11 x 11 x  11 hmetric

11 x 11 x  11 trk

11 x 11 x  11 hcurv
11 x 11 x  11 gammat
11 x 11 Type:  11 function

11

CanudaXxBSSNMoLxPostStepGroup (conditional) x canudaxxbssnmolximposexconfxfacxfloor x make sure conformal factor does not drop below specified value x

11 x 11 Before: 11 canudaxxbssnmolxsync
11 x 11 Language: 11 c
11 x 11 Reads:  11 confxfac(interior)
11 x 11 Type:  11 function
11 x 11 Writes: 11 confxfac(interior)

11

CanudaXxBSSNMoLxPostStepGroup (conditional) x canudaxxbssnmolxresetxdetmetric x reset dethh = 1 x

11 x 11 After:  11 canudaxxbssnmolximposexconfxfacxfloor
11 x 11 Before: 11 canudaxxbssnmolxsync
11 x 11 Language: 11 c
11 x 11 Reads:  11 hmetric(interior)
11 x 11 Type:  11 function
11 x 11 Writes: 11 hmetric(interior)

CanudaXxBSSNMoLxPostStepGroup (conditional) x canudaxxbssnmolxremovextra x remove trace of a x

11 x 11 After:  11 canudaxxbssnmolxresetxdetmetric
11 x 11 Before: 11 canudaxxbssnmolxsync
11 x 11 Language: 11 c
11 x 11 Reads:  11 hcurv(interior)
11 x 11 x  11 hmetric(interior)
11 x 11 Type:  11 function
11 x 11 Writes: 11 hcurv(interior)
11 x 11 x  11 hmetric(interior)

11

CanudaXxBSSNMoLxPostStepGroup (conditional) x canudaxxbssnmolxbssn2adm x convert variables back to the adm ones x

11 x 11 After:  11 canudaxxbssnmolxsync
11 x 11 Before: 11 admbasexxsetadmvars
11 x 11 Language: 11 c
11 x 11 Options: 11 local
11 x 11 Reads:  11 alpha(everywhere)
11 x 11 x  11 beta(everywhere)
11 x 11 x  11 confxfac(everywhere)
11 x 11 x  11 hmetric(everywhere)
11 x 11 x  11 trk(everywhere)
11 x 11 x  11 hcurv(everywhere)
11 x 11 x  11 gammat(everywhere)
11 x 11 Type:  11 function
11 x 11 Writes: 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

CCTKxANALYSIS (conditional) x canudaxxbssnmolxbssnxconstraints x compute constraints x

11 x 11 Language: 11 c
11 x 11 Reads:  11 alpha(everywhere)
11 x 11 x  11 beta(everywhere)
11 x 11 x  11 confxfac(everywhere)
11 x 11 x  11 hmetric(everywhere)
11 x 11 x  11 trk(everywhere)
11 x 11 x  11 hcurv(everywhere)
11 x 11 x  11 gammat(everywhere)
11 x 11 x  11 tmunubasex::ettt(interior)
11 x 11 x  11 tmunubasex::etti(interior)
11 x 11 x  11 tmunubasex::etij(interior)
11 x 11 Type:  11 function
11 x 11 Writes: 11 ham(interior)
11 x 11 x  11 mom(interior)

11

ODESolversxRHS (conditional) x canudaxxbssnmolxrhsgroup x canudaxxbssnmol: calculate bssn rhs x

11 x 11 Type: 11 group

CCTKxPARAMCHECK (conditional) x canudaxxbssnmolxparamcheck x check canudaxxbssnmol parameters for consistency x

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

11

CanudaXxBSSNMoLxInitialGroup (conditional) x canudaxxbssnmolxadm2bssn x convert initial data into bssn variables x

11 x 11 Language: 11 c
11 x 11 Options: 11 local
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 Type:  11 function
11 x 11 Writes: 11 alpha(everywhere)
11 x 11 x  11 beta(everywhere)
11 x 11 x  11 confxfac(everywhere)
11 x 11 x  11 hmetric(everywhere)
11 x 11 x  11 hcurv(everywhere)
11 x 11 x  11 trk(everywhere)

11

CanudaXxBSSNMoLxInitialGroup (conditional) x canudaxxbssnmolxgammat x set gammat initial data x

11 x 11 After:  11 canudaxxbssnmolxadm2bssn
11 x 11 Language: 11 c
11 x 11 Options: 11 local
11 x 11 Reads:  11 hmetric(everywhere)
11 x 11 Sync:  11 gammat
11 x 11 Type:  11 function
11 x 11 Writes: 11 gammat(interior)

11

CanudaXxBSSNMoLxInitialGroup (conditional) x canudaxxbssnmolxestimatexerror x estimate error for regridding x

11 x 11 After:  11 canudaxxbssnmolxsync
11 x 11 Language: 11 c
11 x 11 Reads:  11 confxfac(everywhere)
11 x 11 Type:  11 function
11 x 11 Writes: 11 carpetxregrid::regridxerror(interior)

11

ODESolversxEstimateError (conditional) x canudaxxbssnmolxestimatexerror x estimate error for regridding x

11 x 11 Language: 11 c
11 x 11 Reads:  11 confxfac(everywhere)
11 x 11 Type:  11 function
11 x 11 Writes: 11 carpetxregrid::regridxerror(interior)

CanudaXxBSSNMoLxRHSGroup (conditional) x canudaxxbssnmolxcalcxbssnxrhs x mol rhs calculation x

11 x 11 Language: 11 c
11 x 11 Reads:  11 alpha(everywhere)
11 x 11 x  11 beta(everywhere)
11 x 11 x  11 confxfac(everywhere)
11 x 11 x  11 hmetric(everywhere)
11 x 11 x  11 trk(everywhere)
11 x 11 x  11 hcurv(everywhere)
11 x 11 x  11 gammat(everywhere)
11 x 11 x  11 tmunubasex::ettt(interior)
11 x 11 x  11 tmunubasex::etti(interior)
11 x 11 x  11 tmunubasex::etij(interior)
11 x 11 Type:  11 function
11 x 11 Writes: 11 alphaxrhs(interior)
11 x 11 x  11 betaxrhs(interior)
11 x 11 x  11 confxfacxrhs(interior)
11 x 11 x  11 trkxrhs(interior)
11 x 11 x  11 hmetricxrhs(interior)
11 x 11 x  11 hcurvxrhs(interior)
11 x 11 x  11 gammatxrhs(interior)

11

CanudaXxBSSNMoLxRHSGroup (conditional) x canudaxxbssnmolxaddxdissipation x add ko dissipation x

11 x 11 After:  11 canudaxxbssnmolxcalcxbssnxrhs
11 x 11 Before: 11 canudaxxbssnmolxapplyxboundaryxconditions
11 x 11 Language: 11 c
11 x 11 Reads:  11 alpha(everywhere)
11 x 11 x  11 beta(everywhere)
11 x 11 x  11 confxfac(everywhere)
11 x 11 x  11 hmetric(everywhere)
11 x 11 x  11 trk(everywhere)
11 x 11 x  11 hcurv(everywhere)
11 x 11 x  11 gammat(everywhere)
11 x 11 x  11 alphaxrhs(interior)
11 x 11 x  11 betaxrhs(interior)
11 x 11 x  11 confxfacxrhs(interior)
11 x 11 x  11 trkxrhs(interior)
11 x 11 x  11 hmetricxrhs(interior)
11 x 11 x  11 hcurvxrhs(interior)
11 x 11 x  11 gammatxrhs(interior)
11 x 11 Type:  11 function
11 x 11 Writes: 11 alphaxrhs(interior)
11 x 11 x  11 betaxrhs(interior)
11 x 11 x  11 confxfacxrhs(interior)
11 x 11 x  11 trkxrhs(interior)
11 x 11 x  11 hmetricxrhs(interior)
11 x 11 x  11 hcurvxrhs(interior)
11 x 11 x  11 gammatxrhs(interior)