aboutsummaryrefslogtreecommitdiff
path: root/Carpet/Carpet/schedule.ccl
blob: 215bcde7a38710a8d1f716dbded1ce08b7d3ee9d (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
# Schedule definitions for thorn Carpet

storage: point_classification
storage: timing timing_procs timing_levels

schedule CarpetMultiModelStartup at STARTUP as MultiModel_Startup before Driver_Startup
{
  LANG: C
} "Multi-model Startup routine"

schedule CarpetStartup at STARTUP as Driver_Startup
{
  LANG: C
} "Startup routine"

schedule CarpetParamCheck at PARAMCHECK
{
  LANG: C
} "Parameter checking routine"



# Correct time step for finer levels when there are non-trivial
# time refinement factors

if (refine_timestep)
{
  SCHEDULE CarpetRefineTimeStep AT basegrid AFTER Time_Simple
  {
    LANG: C
    OPTIONS: singlemap
  } "Correct time step size for spacing on finer grids"
}

if (use_unusedpoints_mask)
{
  storage: carpet_unusedpoints_mask

  schedule CarpetUnusedMask AT BASEGRID
  {
    LANG: C
  } "Set mask of unused points"

  schedule CarpetUnusedMask AT POSTREGRID
  {
    LANG: C
  } "Set mask of unused points"
}

# Handle requirements of boundary and symmtery condition. This uses knowledge
# of the internal workings of thorn boundary.
if (check_requirements)
{
  schedule CarpetCheckReadsBeforeBoundary IN ApplyBCs BEFORE BoundaryConditions
  {
    LANG: C
    OPTIONS: singlemap # local would also work but we don't really need it
  } "Check that interior of grid function is valid before boundary conditions are applied"

  schedule CarpetNotifyWritesAfterBoundary IN ApplyBCs AFTER Boundary_ApplyPhysicalBCs BEFORE Boundary_ClearSelection
  {
    LANG: C
    OPTIONS: singlemap # local would also work but we don't really need it
  } "Notify that grid functions with boundary condtions are valid in boundary"
}