-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathschedule.ccl
158 lines (126 loc) · 4.32 KB
/
schedule.ccl
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
154
155
156
157
158
# Schedule definitions for thorn ODESolvers
SCHEDULE ODESolvers_Solve AT evol
{
LANG: C
OPTIONS: level
} "Solve ODEs loop"
# CarpetX scheduled groups:
#
# Startup:
# STARTUP (special)
# WRAGH
# PARAMCHECK
#
# Initialization:
# Initialization loop:
# If regridding:
# [regrid]
# BASEGRID (in driver)
# POSTREGRID (in driver, except for initial coarsest level that is created from scratch)
# InputGH
# INITIAL
# POSTINITIAL
# POSTPOSTINITIAL
# (disabled) [restrict]
# (disabled) POSTRESTRICT
# POSTSTEP
# CPINITIAL
# ANALYSIS
# OutputGH
#
# Time evolution loop:
# If regridding:
# [regrid]
# BASEGRID (in driver)
# POSTREGRID (in driver)
# [cycle time levels]
# PRESTEP
# EVOL
# [reflux]
# (disabled) [restrict]
# (disabled) POSTRESTRICT
# POSTSTEP
# CHECKPOINT
# ANALYSIS
# OutputGH
#
# Shutdown:
# TERMINATE
# SHUTDOWN (special)
# Desirable schedule groups:
#
# Initial condition loop:
# BaseGrid: Set up constants (e.g. coordinates) everywhere on the grid
# Initial: Set up initial conditions on interior of state vector
# PostStep: Apply boundary conditions to state vector, and project if necessary
# EstimateError: Estimate discretization error (for regridding)
# Analysis: Calculate analysis quantities everywhere
#
# Time evolution loop:
# EstimateError: Estimate discretization error (for regridding)
# If regridding:
# [regrid]
# BaseGrid: Set up constants (e.g. coordinates) everywhere on the grid
# [interpolate]
# PostStep: Apply boundary conditions to state vector, and project if necessary
# Time stepping loop:
# RHS: Evaluate RHS for of state vector everywhere on the grid
# [time step]
# PostStep: Apply boundary conditions to state vector, and project if necessary
# Analysis: Calculate analysis quantities everywhere
# BaseGrid: Set up constants (e.g. coordinates) everywhere on the grid
# Initial: Set up initial conditions on interior of state vector
# PostStep: Apply boundary conditions to state vector, and project if necessary
# EstimateError: Estimate discretization error (for regridding)
# Analysis: Calculate analysis quantities everywhere
# RHS: Evaluate RHS for of state vector everywhere on the grid
# TODO: Use only interior of RHS in ODESolver
# Initialization
SCHEDULE GROUP ODESolvers_BaseGrid AT basegrid
{
} "Set up constants (e.g. coordinates) everywhere on the grid"
SCHEDULE GROUP ODESolvers_Initial AT initial
{
} "Set up initial conditions on interior of state vector"
SCHEDULE GROUP ODESolvers_PostStep AT postinitial
{
} "Apply boundary conditions to state vector, and project if necessary"
SCHEDULE GROUP ODESolvers_RHS AT postinitial AFTER ODESolvers_PostStep
{
} "Evaluate RHS for of state vector everywhere on the grid"
SCHEDULE GROUP ODESolvers_NonStiffRHS AT postinitial AFTER ODESolvers_PostStep
{
} "Evaluate non stiff RHS for of state vector everywhere on the grid"
SCHEDULE GROUP ODESolvers_EstimateError AT postinitial AFTER (ODESolvers_PostStep, ODESolvers_RHS)
{
} "Estimate discretization error (for regridding)"
# Time evolution
# This group will also be scheduled dynamically from ODESolvers_solve
SCHEDULE GROUP ODESolvers_PostStep AT poststep
{
} "Apply boundary conditions to state vector, and project if necessary"
# This group will also be scheduled dynamically from ODESolvers_solve
SCHEDULE GROUP ODESolvers_RHS AT poststep AFTER ODESolvers_PostStep
{
} "Evaluate the RHS for of state vector everywhere on the grid"
SCHEDULE GROUP ODESolvers_NonStiffRHS AT poststep AFTER ODESolvers_PostStep
{
} "Evaluate the non stiff RHS of state vector everywhere on the grid"
SCHEDULE GROUP ODESolvers_ImplicitStep
{
} "Take an implicit step everywhere on the grid"
SCHEDULE GROUP ODESolvers_EstimateError AT poststep AFTER (ODESolvers_PostStep, ODESolvers_RHS)
{
} "Estimate discretization error (for regridding)"
# Regridding
SCHEDULE GROUP ODESolvers_PostStep AT postregrid
{
} "Apply boundary conditions to state vector, and project if necessary"
# Restricting
SCHEDULE GROUP ODESolvers_PostStep AT postrestrict
{
} "Apply boundary conditions to state vector, and project if necessary"
# Analysis
SCHEDULE GROUP ODESolvers_Analysis AT analysis
{
} "Calculate analysis quantities everywhere"