aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetWeb/talk-2004-12-13/schedule.ccl
blob: 11074cd7593706570e235f3be1c969d858bfd517 (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
# Schedule definitions for thorn MultiPatchWaveToy
# $Header: /numrelcvs/AEIDevelopment/MultiPatchWaveToy/schedule.ccl,v 1.14 2004/12/08 21:20:47 schnetter Exp $

# Evolved variables
STORAGE: scalar[3] density[3] velocity[3]

# Background metric
STORAGE: metric inverse_metric lapse shift volume_element



# Startup

SCHEDULE MPWT_startup AT startup
{
  LANG: C
  OPTIONS: meta
} "Register banner with Cactus"

SCHEDULE MPWT_register_MoL IN MoL_Register
{
  LANG: C
  OPTIONS: meta
} "Register variables with MoL"



# Set up initial data

SCHEDULE MPWT_init_metric AT initial
{
  LANG: C
} "Initialise the metric"

SCHEDULE MPWT_transform_metric AT initial AFTER MPWT_init_metric
{
  LANG: Fortran
} "Transform the metric"

SCHEDULE MPWT_init AT initial
{
  LANG: C
} "Initialise the system"

SCHEDULE MPWT_transform AT initial AFTER MPWT_init AFTER MPWT_transform_metric
{
  LANG: Fortran
} "Transform the system"

SCHEDULE MPWT_init2 AT initial AFTER MPWT_transform
{
  LANG: C
} "Initialise the system, part 2"



# Calculate the RHS

SCHEDULE GROUP MPWT_RHS IN MoL_CalcRHS
{
  STORAGE: densitydot velocitydot
} "Calculate the RHS of the evolution equations"

SCHEDULE MPWT_calc_rhs IN MPWT_RHS
{
  LANG: Fortran
  SYNC: scalardot densitydot velocitydot
  STORAGE: velocity_upper
} "Calculate the RHS"

SCHEDULE MPWT_rhs_boundaries IN MPWT_RHS AFTER MPWT_calc_rhs
{
  LANG: Fortran
  OPTIONS: level
} "Select the RHS boundary conditions"

SCHEDULE GROUP ApplyBCs AS MPWT_ApplyBCs_rhs IN MPWT_RHS AFTER MPWT_rhs_boundaries
{
} "Apply the RHS boundary conditions"



# Apply the boundary conditions

SCHEDULE MPWT_boundaries IN MoL_PostStep
{
  LANG: Fortran
  SYNC: density velocity
  OPTIONS: level
} "Select the boundary condition"

SCHEDULE GROUP ApplyBCs AS MPWT_ApplyBCs IN MoL_PostStep AFTER MPWT_boundaries
{
} "Apply the boundary conditions"



# Calculate the constraints

SCHEDULE GROUP MPWT_constraints AT analysis
{
  STORAGE: constraints difference_v velocity_squared
  TRIGGERS: constraints difference_v velocity_squared
} "Calculate the constraints"

SCHEDULE MPWT_calc_constraints IN MPWT_constraints
{
  LANG: Fortran
} "Calculate the constraints"

SCHEDULE MPWT_constraint_boundaries IN MPWT_constraints AFTER MPWT_calc_constraints
{
  LANG: Fortran
  SYNC: constraints difference_v velocity_squared
  OPTIONS: level
} "Select the constraint boundary conditions"

SCHEDULE GROUP ApplyBCs AS MPWT_ApplyBCs_constraints IN MPWT_constraints AFTER MPWT_constraint_boundaries
{
} "Apply the constraint boundary conditions"



# Calculate other analysis quantities

SCHEDULE GROUP MPWT_RHS AT analysis
{
  STORAGE: scalardot densitydot velocitydot
  TRIGGERS: scalardot densitydot velocitydot
} "Calculate the RHS of the evolution equations"

SCHEDULE MPWT_CalcEnergy AT analysis
{
  LANG: Fortran
  SYNC: scalarenergy
  STORAGE: scalarenergy
  TRIGGERS: scalarenergy
} "Calculate the energy of the scalar field"

SCHEDULE MPWT_min_spacing AT analysis
{
  LANG: Fortran
  SYNC: min_spacing
  STORAGE: min_spacing
  TRIGGERS: min_spacing
} "Calculate the smallest grid spacing"