aboutsummaryrefslogtreecommitdiff
path: root/schedule.ccl
blob: 200f405a65466c6095c2a9e0f64209794f47fd73 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# Schedule definitions for thorn ADMBase
# $Header$

STORAGE: shift_state, dtlapse_state, dtshift_state, metric[1], curv[1], lapse[1]

SCHEDULE ADMBase_ParamCheck at CCTK_PARAMCHECK
{
  LANG: C
  OPTIONS: global
} "Check consistency of parameters"

# Schedule group for setting initial data

SCHEDULE group ADMBase_InitialData at CCTK_INITIAL
{
} "Schedule group for calculating ADM initial data"

SCHEDULE group ADMBase_InitialGauge at CCTK_INITIAL after ADMBase_InitialData
{
} "Schedule group for the ADM initial gauge condition"

SCHEDULE group ADMBase_PostInitial at CCTK_INITIAL after ADMBase_InitialGauge
{
} "Schedule group for modifying the ADM initial data, such as e.g. adding noise"

# Initial data for the spatial slices

if(CCTK_Equals(initial_data, "Cartesian Minkowski"))
{
  SCHEDULE ADMBase_CartesianMinkowski in ADMBase_InitialData
  {
    LANG: C
  } "Set the metric and extrinsic curvature to cartesian minkowski values"
}

# Initial data for the lapse

if(CCTK_Equals(initial_lapse, "one"))
{
  SCHEDULE ADMBase_LapseOne in ADMBase_InitialGauge
  {
    LANG: C
  } "Set the lapse to 1 at all points"
}

# Do we have storage for the shift ?
if (!CCTK_Equals(initial_shift, "none")) 
{
  STORAGE: shift[1]

  SCHEDULE ADMBase_SetShiftStateOn at CCTK_BASEGRID
  {
    LANG: C
  } "Set the shift_state variable to 1"
}
else
{
  SCHEDULE ADMBase_SetShiftStateOff at CCTK_BASEGRID
  {
    LANG: C
  } "Set the shift_state variable to 0"
}

# Initial data for the shift

if(CCTK_Equals(initial_shift, "zero"))
{
  SCHEDULE ADMBase_ShiftZero in ADMBase_InitialGauge
  {
    LANG: C
  } "Set the shift to 0 at all points"
}

# Do we have storage for dtlapse ?
if (!CCTK_Equals(initial_dtlapse, "none")) 
{
  STORAGE: dtlapse[1]

  SCHEDULE ADMBase_SetDtlapseStateOn at CCTK_BASEGRID
  {
    LANG: C
  } "Set the dtlapse_state variable to 1"
}
else
{
  SCHEDULE ADMBase_SetDtlapseStateOff at CCTK_BASEGRID
  {
    LANG: C
  } "Set the dtlase_state variable to 0"
}

# Initial data for dtlapse

if(CCTK_Equals(initial_dtlapse, "zero"))
{
  SCHEDULE ADMBase_DtlapseZero in ADMBase_InitialGauge
  {
    LANG: C
  } "Set dtlapse to 0 at all points"
}

# Do we have storage for dtshift ?
if (!CCTK_Equals(initial_dtshift, "none")) 
{
  STORAGE: dtshift[1]

  SCHEDULE ADMBase_SetDtshiftStateOn at CCTK_BASEGRID
  {
    LANG: C
  } "Set the dtshift_state variable to 1"
}
else
{
  SCHEDULE ADMBase_SetDtshiftStateOff at CCTK_BASEGRID
  {
    LANG: C
  } "Set the dtlase_state variable to 0"
}

# Initial data for dtshift

if(CCTK_Equals(initial_dtshift, "zero"))
{
  SCHEDULE ADMBase_DtshiftZero in ADMBase_InitialGauge
  {
    LANG: C
  } "Set dtshift to 0 at all points"
}

# FIXME: Remove this when symmetries done better 
schedule Einstein_InitSymBound at CCTK_WRAGH
{
  LANG: C
  OPTIONS: global
} "Set up GF symmetries"