next up previous contents
Next: Shift Vector Up: Programming With ADMBase Previous: 3+1 Variables   Contents

Initial Data

To include your initial data sets for the 3-metric, extrinsic curvature, lapse and shift in the ADMBase infrastructure, extend the keyword parameters initial_data, initial_lapse and initial_shift. For example, in the param.ccl file of CactusEinstein/IDAnalyticBH,

shares: ADMBase

EXTENDS KEYWORD initial_data 
{
  "schwarzschild"      :: "One Schwarzshild black hole"
  "bl_bh"              :: "Brill Lindquist black holes"
  "misner_bh"          :: "Misner black holes"
  "multiple_misner_bh" :: "Multiple Misner black holes"
  "kerr"	       :: "One Kerr black hole"	
}

ADMBase also schedules two groups ADMBase_InitialData and ADMBase_InitialGauge in this order at CCTK_INITIAL. Initial data and initial gauge thorns should schedule their routines to run in this group, for example

if (CCTK_Equals(initial_data,"schwarzschild")) 
{ 	
   schedule Schwarzschild in ADMBase_InitialData
   {
     LANG: C
   } "Construct initial data for a single Schwarzschild black hole"
}

ADMBase also schedules a group ADMBase_PostInitial at CCTK_INITIAL after both ADMBase_InitialData and ADMBase_InitialGauge. This group is meant for thorns that modify the initial data, such as e.g. adding noise to an exact solution.