aboutsummaryrefslogtreecommitdiff
path: root/ML_WaveToy_CL/schedule.ccl
blob: 4f466bd68b0ba25575ae105815d870a07f0308b6 (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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
# File produced by Kranc


if (other_timelevels == 1)
{
  STORAGE: WT_eps[1]
}

if (timelevels == 1)
{
  STORAGE: WT_rho[1]
}
if (timelevels == 2)
{
  STORAGE: WT_rho[2]
}

if (timelevels == 1)
{
  STORAGE: WT_u[1]
}
if (timelevels == 2)
{
  STORAGE: WT_u[2]
}

if (rhs_timelevels == 1)
{
  STORAGE: WT_rhorhs[1]
}
if (rhs_timelevels == 2)
{
  STORAGE: WT_rhorhs[2]
}

if (rhs_timelevels == 1)
{
  STORAGE: WT_urhs[1]
}
if (rhs_timelevels == 2)
{
  STORAGE: WT_urhs[2]
}

schedule ML_WaveToy_CL_Startup at STARTUP
{
  LANG: C
  OPTIONS: meta
} "create banner"

schedule ML_WaveToy_CL_RegisterSymmetries in SymmetryRegister
{
  LANG: C
  OPTIONS: meta
} "register symmetries"


if (CCTK_EQUALS(initial_data, "Gaussian"))
{
  schedule WT_CL_Gaussian AT initial
  {
    LANG: C
    TAGS: Device=1
    READS:    grid::r(Everywhere)
    WRITES:   ML_WaveToy_CL::rho(Everywhere)
    WRITES:   ML_WaveToy_CL::u(Everywhere)
  } "WT_CL_Gaussian"
}


if (CCTK_EQUALS(initial_data, "Standing"))
{
  schedule WT_CL_Standing AT initial
  {
    LANG: C
    TAGS: Device=1
    READS:    grid::x(Everywhere)
    READS:    grid::y(Everywhere)
    READS:    grid::z(Everywhere)
    WRITES:   ML_WaveToy_CL::rho(Everywhere)
    WRITES:   ML_WaveToy_CL::u(Everywhere)
  } "WT_CL_Standing"
}

schedule WT_CL_RHS IN MoL_CalcRHS
{
  LANG: C
  TAGS: Device=1
  READS:    ML_WaveToy_CL::rho(Everywhere)
  READS:    ML_WaveToy_CL::u(Everywhere)
  WRITES:   ML_WaveToy_CL::rhorhs(Interior)
  WRITES:   ML_WaveToy_CL::urhs(Interior)
} "WT_CL_RHS"

schedule WT_CL_Dirichlet IN MoL_CalcRHS
{
  LANG: C
  TAGS: Device=1
  WRITES:   ML_WaveToy_CL::rhorhs(Boundary)
  WRITES:   ML_WaveToy_CL::urhs(Boundary)
} "WT_CL_Dirichlet"

schedule WT_CL_Dirichlet AT analysis
{
  LANG: C
  SYNC: WT_rhorhs
  SYNC: WT_urhs
  TAGS: Device=1
  WRITES:   ML_WaveToy_CL::rhorhs(Boundary)
  WRITES:   ML_WaveToy_CL::urhs(Boundary)
} "WT_CL_Dirichlet"

schedule WT_CL_Energy AT analysis
{
  LANG: C
  SYNC: WT_eps
  TAGS: Device=1
  READS:    ML_WaveToy_CL::rho(Everywhere)
  READS:    ML_WaveToy_CL::u(Everywhere)
  WRITES:   ML_WaveToy_CL::eps(Interior)
} "WT_CL_Energy"

schedule WT_CL_EnergyBoundary AT analysis
{
  LANG: C
  SYNC: WT_eps
  TAGS: Device=1
  WRITES:   ML_WaveToy_CL::eps(Boundary)
} "WT_CL_EnergyBoundary"

schedule ML_WaveToy_CL_SelectBoundConds in MoL_PostStep
{
  LANG: C
  OPTIONS: level
  SYNC: WT_rho
  SYNC: WT_u
} "select boundary conditions"

schedule ML_WaveToy_CL_CheckBoundaries at BASEGRID
{
  LANG: C
  OPTIONS: meta
} "check boundaries treatment"

schedule ML_WaveToy_CL_RegisterVars in MoL_Register
{
  LANG: C
  OPTIONS: meta
} "Register Variables for MoL"

schedule group ApplyBCs as ML_WaveToy_CL_ApplyBCs in MoL_PostStep after ML_WaveToy_CL_SelectBoundConds
{
} "Apply boundary conditions controlled by thorn Boundary"