CottonmouthBSSN

Lucas Sanches
Max Morris
Steven R. Brandt

\( \)Date\( \)

Abstract

Provides the BSSN equations as generated by the EinsteinEngine.

1 Introduction

The Einstein Engine is a DSL and toolkit for creating Cactus thorns. It can generate complete CarpetX thorns from simple recipes written in Python.

1.1 How to set up EinsteinEngine

1.2 How to generate a thorn

2 Parameters

TBD

3 Parameters




conformal_factor_floor
Scope: restricted REAL



Description: The conformal factor W will never be smaller than this value



Range Default: 1e-10
*






dissipation_epsilon
Scope: restricted REAL



Description: The ammount of dissipation to add. Should be in the [0, 1/3[ range



Range Default: 0.2
*






eta_b
Scope: restricted REAL



Description: Mass dependent damping coefficient for the hyperbolic gamma driver shift



Range Default: 1.0
*






evolved_lapse_floor
Scope: restricted REAL



Description: The evolved lapse will never be smaller than this value



Range Default: 0.0
*



4 Interfaces

General

Implements:

cottonmouthbssnok

Inherits:

admbasex

driver

odesolvers

tmunubasex

Grid Variables

4.0.1 PUBLIC GROUPS





  Group Names     Variable Names   Details    




at centering centering={0 0 0}
AtDD00 compact 0
AtDD01 dimensions 3
AtDD02 distribution DEFAULT
AtDD11 group type GF
AtDD12 tags rhs=”CottonmouthBSSNOK::At_rhs” parities={+1 +1 +1 -1 -1 +1 -1 +1 -1 +1 +1 +1 +1 -1 -1 +1 +1 +1}
AtDD22 timelevels 1
variable type REAL




at_rhs centering centering={0 0 0}
At_rhsDD00 compact 0
At_rhsDD01 dimensions 3
At_rhsDD02 distribution DEFAULT
At_rhsDD11 group type GF
At_rhsDD12 tags checkpoint=”no” parities={+1 +1 +1 -1 -1 +1 -1 +1 -1 +1 +1 +1 +1 -1 -1 +1 +1 +1}
At_rhsDD22 timelevels 1
variable type REAL




confconnect centering centering={0 0 0}
ConfConnectU0 compact 0
ConfConnectU1 dimensions 3
ConfConnectU2 distribution DEFAULT
group type GF
tags rhs=”CottonmouthBSSNOK::ConfConnect_rhs” parities={-1 +1 +1 +1 -1 +1 +1 +1 -1}
timelevels 1
variable type REAL




confconnect_rhs centering centering={0 0 0}
ConfConnect_rhsU0 compact 0
ConfConnect_rhsU1 dimensions 3
ConfConnect_rhsU2 distribution DEFAULT
group type GF
tags checkpoint=”no” parities={-1 +1 +1 +1 -1 +1 +1 +1 -1}
timelevels 1
variable type REAL




deltacons centering centering={0 0 0}
DeltaConsU0 compact 0
DeltaConsU1 dimensions 3
DeltaConsU2 distribution DEFAULT
group type GF
tags checkpoint=”no” parities={-1 +1 +1 +1 -1 +1 +1 +1 -1}
timelevels 1
variable type REAL




hamcons centering centering={0 0 0}
HamCons compact 0
dimensions 3
distribution DEFAULT
group type GF
tags checkpoint=”no” parities={+1 +1 +1}
timelevels 1
variable type REAL








  Group Names     Variable Names   Details    




momcons centering centering={0 0 0}
MomConsU0 compact 0
MomConsU1 dimensions 3
MomConsU2 distribution DEFAULT
group type GF
tags checkpoint=”no” parities={-1 +1 +1 +1 -1 +1 +1 +1 -1}
timelevels 1
variable type REAL




evo_lapse centering centering={0 0 0}
evo_lapse compact 0
dimensions 3
distribution DEFAULT
group type GF
tags rhs=”CottonmouthBSSNOK::evo_lapse_rhs” parities={+1 +1 +1}
timelevels 1
variable type REAL




evo_lapse_rhs centering centering={0 0 0}
evo_lapse_rhs compact 0
dimensions 3
distribution DEFAULT
group type GF
tags checkpoint=”no” parities={+1 +1 +1}
timelevels 1
variable type REAL




evo_shift centering centering={0 0 0}
evo_shiftU0 compact 0
evo_shiftU1 dimensions 3
evo_shiftU2 distribution DEFAULT
group type GF
tags rhs=”CottonmouthBSSNOK::evo_shift_rhs” parities={-1 +1 +1 +1 -1 +1 +1 +1 -1}
timelevels 1
variable type REAL




evo_shift_rhs centering centering={0 0 0}
evo_shift_rhsU0 compact 0
evo_shift_rhsU1 dimensions 3
evo_shift_rhsU2 distribution DEFAULT
group type GF
tags checkpoint=”no” parities={-1 +1 +1 +1 -1 +1 +1 +1 -1}
timelevels 1
variable type REAL




gt centering centering={0 0 0}
gtDD00 compact 0
gtDD01 dimensions 3
gtDD02 distribution DEFAULT
gtDD11 group type GF
gtDD12 tags rhs=”CottonmouthBSSNOK::gt_rhs” parities={+1 +1 +1 -1 -1 +1 -1 +1 -1 +1 +1 +1 +1 -1 -1 +1 +1 +1}
gtDD22 timelevels 1
variable type REAL








  Group Names     Variable Names   Details    




gt_rhs centering centering={0 0 0}
gt_rhsDD00 compact 0
gt_rhsDD01 dimensions 3
gt_rhsDD02 distribution DEFAULT
gt_rhsDD11 group type GF
gt_rhsDD12 tags checkpoint=”no” parities={+1 +1 +1 -1 -1 +1 -1 +1 -1 +1 +1 +1 +1 -1 -1 +1 +1 +1}
gt_rhsDD22 timelevels 1
variable type REAL




shift_b centering centering={0 0 0}
shift_BU0 compact 0
shift_BU1 dimensions 3
shift_BU2 distribution DEFAULT
group type GF
tags rhs=”CottonmouthBSSNOK::shift_B_rhs” parities={-1 +1 +1 +1 -1 +1 +1 +1 -1}
timelevels 1
variable type REAL




shift_b_rhs centering centering={0 0 0}
shift_B_rhsU0 compact 0
shift_B_rhsU1 dimensions 3
shift_B_rhsU2 distribution DEFAULT
group type GF
tags checkpoint=”no” parities={-1 +1 +1 +1 -1 +1 +1 +1 -1}
timelevels 1
variable type REAL




trk centering centering={0 0 0}
trK compact 0
dimensions 3
distribution DEFAULT
group type GF
tags rhs=”CottonmouthBSSNOK::trK_rhs” parities={+1 +1 +1}
timelevels 1
variable type REAL




trk_rhs centering centering={0 0 0}
trK_rhs compact 0
dimensions 3
distribution DEFAULT
group type GF
tags checkpoint=”no” parities={+1 +1 +1}
timelevels 1
variable type REAL




w centering centering={0 0 0}
w compact 0
dimensions 3
distribution DEFAULT
group type GF
tags rhs=”CottonmouthBSSNOK::w_rhs” parities={+1 +1 +1}
timelevels 1
variable type REAL








  Group Names     Variable Names   Details    




w_rhs centering centering={0 0 0}
w_rhs compact 0
dimensions 3
distribution DEFAULT
group type GF
tags checkpoint=”no” parities={+1 +1 +1}
timelevels 1
variable type REAL




Uses header:

newradx.hxx

5 Schedule

This section lists all the variables which are assigned storage by thorn Cottonmouth/CottonmouthBSSNOK. 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:  
At[1]  
At_rhs[1]  
evo_shift_rhs[1]  
gt[1]  
gt_rhs[1]  
shift_B[1]  
shift_B_rhs[1]  
trK[1]  
trK_rhs[1]  
w[1]  
w_rhs[1]  
ConfConnect[1]  
ConfConnect_rhs[1]  
DeltaCons[1]  
HamCons[1]  
MomCons[1]  
evo_lapse[1]  
evo_lapse_rhs[1]  
evo_shift[1]  
   

Scheduled Functions

CottonmouthBSSNOK_InitialGroup

  adm2bssn_pt1_group

  group for function ‘adm2bssn_pt1‘. generated by einsteinengine.

 

  Language: c
  Type: group

adm2bssn_pt1_group

  adm2bssn_pt1

  function ‘adm2bssn_pt1‘ generated by einsteinengine.

 

  Language: c
  Reads: admbasex::alp(interior)
    admbasex::betax(everywhere)
    admbasex::betay(everywhere)
    admbasex::betaz(everywhere)
    admbasex::dtbetax(interior)
    admbasex::dtbetay(interior)
    admbasex::dtbetaz(interior)
    admbasex::gxx(interior)
    admbasex::gxy(interior)
    admbasex::gxz(interior)
    admbasex::gyy(interior)
    admbasex::gyz(interior)
    admbasex::gzz(interior)
    admbasex::kxx(interior)
    admbasex::kxy(interior)
    admbasex::kxz(interior)
    admbasex::kyy(interior)
    admbasex::kyz(interior)
    admbasex::kzz(interior)
  Type: function
  Writes: atdd00(interior)
    atdd01(interior)
    atdd02(interior)
    atdd11(interior)
    atdd12(interior)
    atdd22(interior)
    evo_lapse(interior)
    evo_shiftu0(interior)
    evo_shiftu1(interior)
    evo_shiftu2(interior)
    gtdd00(interior)
    gtdd01(interior)
    gtdd02(interior)
    gtdd11(interior)
    gtdd12(interior)
    gtdd22(interior)
    shift_bu0(interior)
    shift_bu1(interior)
    shift_bu2(interior)
    trk(interior)
    w(interior)

bssn2adm_group

  bssn2adm

  function ‘bssn2adm‘ generated by einsteinengine.

 

  Language: c
  Reads: atdd00(everywhere)
    atdd01(everywhere)
    atdd02(everywhere)
    atdd11(everywhere)
    atdd12(everywhere)
    atdd22(everywhere)
    evo_lapse(everywhere)
    evo_shiftu0(everywhere)
    evo_shiftu1(everywhere)
    evo_shiftu2(everywhere)
    gtdd00(everywhere)
    gtdd01(everywhere)
    gtdd02(everywhere)
    gtdd11(everywhere)
    gtdd12(everywhere)
    gtdd22(everywhere)
    trk(everywhere)
    w(everywhere)
  Type: function
  Writes: admbasex::alp(everywhere)
    admbasex::betax(everywhere)
    admbasex::betay(everywhere)
    admbasex::betaz(everywhere)
    admbasex::gxx(everywhere)
    admbasex::gxy(everywhere)
    admbasex::gxz(everywhere)
    admbasex::gyy(everywhere)
    admbasex::gyz(everywhere)
    admbasex::gzz(everywhere)
    admbasex::kxx(everywhere)
    admbasex::kxy(everywhere)
    admbasex::kxz(everywhere)
    admbasex::kyy(everywhere)
    admbasex::kyz(everywhere)
    admbasex::kzz(everywhere)

bssn2adm_group

  statesync_cottonmouthbssnok

  empty function for explicitly syncing variables read everywhere in function ‘bssn2adm‘. syncs: at, evo_lapse, evo_shift, gt, trk, w. generated by einsteinengine.

 

  Before: bssn2adm
  Language: c
  Sync: at
    evo_lapse
    evo_shift
    gt
    trk
    w
  Type: function

CottonmouthBSSNOK_AnalysisGroup

  constraints_group

  group for function ‘constraints‘. generated by einsteinengine.

 

  Language: c
  Type: group

constraints_group

  constraints

  function ‘constraints‘ generated by einsteinengine.

 

  Language: c
  Reads: atdd00(everywhere)
    atdd01(everywhere)
    atdd02(everywhere)
    atdd11(everywhere)
    atdd12(everywhere)
    atdd22(everywhere)
    confconnectu0(everywhere)
    confconnectu1(everywhere)
    confconnectu2(everywhere)
    tmunubasex::ettt(interior)
    tmunubasex::ettx(interior)
    tmunubasex::etty(interior)
    tmunubasex::ettz(interior)
    tmunubasex::etxx(interior)
    tmunubasex::etxy(interior)
    tmunubasex::etxz(interior)
    tmunubasex::etyy(interior)
    tmunubasex::etyz(interior)
    tmunubasex::etzz(interior)
    evo_lapse(interior)
    evo_shiftu0(interior)
    evo_shiftu1(interior)
    evo_shiftu2(interior)
    gtdd00(everywhere)
    gtdd01(everywhere)
    gtdd02(everywhere)
    gtdd11(everywhere)
    gtdd12(everywhere)
    gtdd22(everywhere)
    trk(everywhere)
    w(everywhere)
  Type: function
  Writes: deltaconsu0(interior)
    deltaconsu1(interior)
    deltaconsu2(interior)
    hamcons(interior)
    momconsu0(interior)
    momconsu1(interior)
    momconsu2(interior)

constraints_group

  statesync_cottonmouthbssnok

  empty function for explicitly syncing variables read everywhere in function ‘constraints‘. syncs: at, confconnect, gt, trk, w. generated by einsteinengine.

 

  Before: constraints
  Language: c
  Sync: at
    confconnect
    gt
    trk
    w
  Type: function

CottonmouthBSSNOK_PostStepGroup

  enforce_pt1_group

  group for function ‘enforce_pt1‘. generated by einsteinengine.

 

  Language: c
  Type: group

enforce_pt1_group

  enforce_pt1

  function ‘enforce_pt1‘ generated by einsteinengine.

 

  Language: c
  Reads: evo_lapse(interior)
    gtdd00(interior)
    gtdd01(interior)
    gtdd02(interior)
    gtdd11(interior)
    gtdd12(interior)
    gtdd22(interior)
    w(interior)
  Type: function
  Writes: evo_lapse(interior)
    gtdd00(interior)
    gtdd01(interior)
    gtdd02(interior)
    gtdd11(interior)
    gtdd12(interior)
    gtdd22(interior)
    w(interior)

CottonmouthBSSNOK_PostStepGroup

  enforce_pt2_group

  group for function ‘enforce_pt2‘. generated by einsteinengine.

 

  After: enforce_pt1_group
  Language: c
  Type: group

enforce_pt2_group

  enforce_pt2

  function ‘enforce_pt2‘ generated by einsteinengine.

 

  Language: c
  Reads: atdd00(interior)
    atdd01(interior)
    atdd02(interior)
    atdd11(interior)
    atdd12(interior)
    atdd22(interior)
    gtdd00(interior)
    gtdd01(interior)
    gtdd02(interior)
    gtdd11(interior)
    gtdd12(interior)
    gtdd22(interior)
  Type: function
  Writes: atdd00(interior)
    atdd01(interior)
    atdd02(interior)
    atdd11(interior)
    atdd12(interior)
    atdd22(interior)

CottonmouthBSSNOK_RHSGroup

  rhs_group

  group for function ‘rhs‘. generated by einsteinengine.

 

  Language: c
  Type: group

adm2bssn_pt1_group

  statesync_cottonmouthbssnok

  empty function for explicitly syncing variables read everywhere in function ‘adm2bssn_pt1‘. syncs: admbasex::shift. generated by einsteinengine.

 

  Before: adm2bssn_pt1
  Language: c
  Sync: admbasex::shift
  Type: function

rhs_group

  rhs

  function ‘rhs‘ generated by einsteinengine.

 

  Language: c
  Reads: atdd00(everywhere)
    atdd01(everywhere)
    atdd02(everywhere)
    atdd11(everywhere)
    atdd12(everywhere)
    atdd22(everywhere)
    confconnectu0(everywhere)
    confconnectu1(everywhere)
    confconnectu2(everywhere)
    tmunubasex::ettt(interior)
    tmunubasex::ettx(interior)
    tmunubasex::etty(interior)
    tmunubasex::ettz(interior)
    tmunubasex::etxx(interior)
    tmunubasex::etxy(interior)
    tmunubasex::etxz(interior)
    tmunubasex::etyy(interior)
    tmunubasex::etyz(interior)
    tmunubasex::etzz(interior)
    evo_lapse(everywhere)
    evo_shiftu0(everywhere)
    evo_shiftu1(everywhere)
    evo_shiftu2(everywhere)
    gtdd00(everywhere)
    gtdd01(everywhere)
    gtdd02(everywhere)
    gtdd11(everywhere)
    gtdd12(everywhere)
    gtdd22(everywhere)
    shift_bu0(everywhere)
    shift_bu1(everywhere)
    shift_bu2(everywhere)
    trk(everywhere)
    w(everywhere)
  Type: function
  Writes: at_rhsdd00(interior)
    at_rhsdd01(interior)
    at_rhsdd02(interior)
    at_rhsdd11(interior)
    at_rhsdd12(interior)
    at_rhsdd22(interior)
    confconnect_rhsu0(interior)
    confconnect_rhsu1(interior)
    confconnect_rhsu2(interior)
    evo_lapse_rhs(interior)
    evo_shift_rhsu0(interior)
    evo_shift_rhsu1(interior)
    evo_shift_rhsu2(interior)
    gt_rhsdd00(interior)
    gt_rhsdd01(interior)
    gt_rhsdd02(interior)
    gt_rhsdd11(interior)
    gt_rhsdd12(interior)
    gt_rhsdd22(interior)
    shift_b_rhsu0(interior)
    shift_b_rhsu1(interior)
    shift_b_rhsu2(interior)
    trk_rhs(interior)
    w_rhs(interior)

rhs_group

  statesync_cottonmouthbssnok

  empty function for explicitly syncing variables read everywhere in function ‘rhs‘. syncs: at, confconnect, evo_lapse, evo_shift, gt, shift_b, trk, w. generated by einsteinengine.

 

  Before: rhs
  Language: c
  Sync: at
    confconnect
    evo_lapse
    evo_shift
    gt
    shift_b
    trk
    w
  Type: function

ODESolvers_Initial

  cottonmouthbssnok_initialgroup

  bssnok initialization routines

 

  After: admbasex_postinitial
  Type: group

ODESolvers_PostStep

  cottonmouthbssnok_poststepgroup

  bssnok post-step routines

 

  Before: admbasex_setadmvars
  Type: group

ODESolvers_RHS

  cottonmouthbssnok_rhsgroup

  bssnok equations rhs computation

 

  Type: group

CCTK_ANALYSIS

  cottonmouthbssnok_analysisgroup

  bssnok analysis routines

 

  Type: group

CottonmouthBSSNOK_AnalysisGroup

  sync_monitored_constraints

  empty function for explicitly syncing variables as provided in an explicitsyncbatch. syncs: hamcons, momcons, deltacons. generated by einsteinengine.

 

  After: constraints
  Language: c
  Sync: hamcons
    momcons
    deltacons
  Type: function

CCTK_POSTPOSTINITIAL

  init_evolve_cottonmouthbssnok

  group containing all functions from evolve that should run before step 0. generated by einsteinengine.

 

  Language: c
  Type: group

CCTK_POSTPOSTINITIAL

  init_analysis_cottonmouthbssnok

  group containing all functions from analysis that should run before step 0. generated by einsteinengine.

 

  After: init_evolve_cottonmouthbssnok
  Language: c
  Type: group

CCTK_POSTPOSTINITIAL

  statesync_cottonmouthbssnok

  empty function to sync the state vector. syncs: at, confconnect, evo_lapse, evo_shift, gt, shift_b, trk, w. generated by einsteinengine.

 

  Before: init_evolve_cottonmouthbssnok
  Language: c
  Sync: at
    confconnect
    evo_lapse
    evo_shift
    gt
    shift_b
    trk
    w
  Type: function

CottonmouthBSSNOK_InitialGroup

  adm2bssn_pt2_group

  group for function ‘adm2bssn_pt2‘. generated by einsteinengine.

 

  After: adm2bssn_pt1_group
  Language: c
  Type: group

CCTK_POSTSTEP

  statesync_cottonmouthbssnok

  empty function to sync the state vector. syncs: at, confconnect, evo_lapse, evo_shift, gt, shift_b, trk, w. generated by einsteinengine.

 

  Language: c
  Sync: at
    confconnect
    evo_lapse
    evo_shift
    gt
    shift_b
    trk
    w
  Type: function

adm2bssn_pt2_group

  adm2bssn_pt2

  function ‘adm2bssn_pt2‘ generated by einsteinengine.

 

  Language: c
  Reads: gtdd00(everywhere)
    gtdd01(everywhere)
    gtdd02(everywhere)
    gtdd11(everywhere)
    gtdd12(everywhere)
    gtdd22(everywhere)
  Type: function
  Writes: confconnectu0(interior)
    confconnectu1(interior)
    confconnectu2(interior)

adm2bssn_pt2_group

  statesync_cottonmouthbssnok

  empty function for explicitly syncing variables read everywhere in function ‘adm2bssn_pt2‘. syncs: gt. generated by einsteinengine.

 

  Before: adm2bssn_pt2
  Language: c
  Sync: gt
  Type: function

CottonmouthBSSNOK_RHSGroup

  apply_dissipation_group

  group for function ‘apply_dissipation‘. generated by einsteinengine.

 

  After: rhs_group
  Language: c
  Type: group

apply_dissipation_group

  apply_dissipation

  function ‘apply_dissipation‘ generated by einsteinengine.

 

  Language: c
  Reads: atdd00(everywhere)
    atdd01(everywhere)
    atdd02(everywhere)
    atdd11(everywhere)
    atdd12(everywhere)
    atdd22(everywhere)
    at_rhsdd00(interior)
    at_rhsdd01(interior)
    at_rhsdd02(interior)
    at_rhsdd11(interior)
    at_rhsdd12(interior)
    at_rhsdd22(interior)
    confconnectu0(everywhere)
    confconnectu1(everywhere)
    confconnectu2(everywhere)
    confconnect_rhsu0(interior)
    confconnect_rhsu1(interior)
    confconnect_rhsu2(interior)
    evo_lapse(everywhere)
    evo_lapse_rhs(interior)
    evo_shiftu0(everywhere)
    evo_shiftu1(everywhere)
    evo_shiftu2(everywhere)
    evo_shift_rhsu0(interior)
    evo_shift_rhsu1(interior)
    evo_shift_rhsu2(interior)
    gtdd00(everywhere)
    gtdd01(everywhere)
    gtdd02(everywhere)
    gtdd11(everywhere)
    gtdd12(everywhere)
    gtdd22(everywhere)
    gt_rhsdd00(interior)
    gt_rhsdd01(interior)
    gt_rhsdd02(interior)
    gt_rhsdd11(interior)
    gt_rhsdd12(interior)
    gt_rhsdd22(interior)
    shift_bu0(everywhere)
    shift_bu1(everywhere)
    shift_bu2(everywhere)
    shift_b_rhsu0(interior)
    shift_b_rhsu1(interior)
    shift_b_rhsu2(interior)
    trk(everywhere)
    trk_rhs(interior)
    w(everywhere)
    w_rhs(interior)
  Type: function
  Writes: at_rhsdd00(interior)
    at_rhsdd01(interior)
    at_rhsdd02(interior)
    at_rhsdd11(interior)
    at_rhsdd12(interior)
    at_rhsdd22(interior)
    confconnect_rhsu0(interior)
    confconnect_rhsu1(interior)
    confconnect_rhsu2(interior)
    evo_lapse_rhs(interior)
    evo_shift_rhsu0(interior)
    evo_shift_rhsu1(interior)
    evo_shift_rhsu2(interior)
    gt_rhsdd00(interior)
    gt_rhsdd01(interior)
    gt_rhsdd02(interior)
    gt_rhsdd11(interior)
    gt_rhsdd12(interior)
    gt_rhsdd22(interior)
    shift_b_rhsu0(interior)
    shift_b_rhsu1(interior)
    shift_b_rhsu2(interior)
    trk_rhs(interior)
    w_rhs(interior)

apply_dissipation_group

  statesync_cottonmouthbssnok

  empty function for explicitly syncing variables read everywhere in function ‘apply_dissipation‘. syncs: at, confconnect, evo_lapse, evo_shift, gt, shift_b, trk, w. generated by einsteinengine.

 

  Before: apply_dissipation
  Language: c
  Sync: at
    confconnect
    evo_lapse
    evo_shift
    gt
    shift_b
    trk
    w
  Type: function

CottonmouthBSSNOK_PostStepGroup

  bssn2adm_group

  group for function ‘bssn2adm‘. generated by einsteinengine.

 

  After: enforce_pt2_group
  Language: c
  Type: group