aboutsummaryrefslogtreecommitdiff
path: root/schedule.ccl
diff options
context:
space:
mode:
Diffstat (limited to 'schedule.ccl')
-rwxr-xr-xschedule.ccl118
1 files changed, 66 insertions, 52 deletions
diff --git a/schedule.ccl b/schedule.ccl
index 539efe5..57de555 100755
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -1,105 +1,119 @@
# Schedule definitions for thorn HydroBase
-#######################################################################
-### We leave the storage on all the time for the variables required ###
-### by MoL. There is probably a better way of doing this. ###
-#######################################################################
-
-if (timelevels == 3)
+if (timelevels == 1)
{
- STORAGE:rho[3]
- STORAGE:press[3]
- STORAGE:eps[3]
- STORAGE:vel[3]
+ STORAGE: rho[1]
+ STORAGE: press[1]
+ STORAGE: eps[1]
+ STORAGE: vel[1]
if (!CCTK_EQUALS(initial_Y_e, "none"))
{
- STORAGE:Y_e[3]
+ STORAGE: Y_e[1]
}
}
else if (timelevels == 2)
{
- STORAGE:rho[2]
- STORAGE:press[2]
- STORAGE:eps[2]
- STORAGE:vel[2]
+ STORAGE: rho[2]
+ STORAGE: press[2]
+ STORAGE: eps[2]
+ STORAGE: vel[2]
if (!CCTK_EQUALS(initial_Y_e, "none"))
{
- STORAGE:Y_e[2]
+ STORAGE: Y_e[2]
}
}
-else if (timelevels == 1)
+else if (timelevels == 3)
{
- STORAGE:rho[1]
- STORAGE:press[1]
- STORAGE:eps[1]
- STORAGE:vel[1]
+ STORAGE: rho[3]
+ STORAGE: press[3]
+ STORAGE: eps[3]
+ STORAGE: vel[3]
if (!CCTK_EQUALS(initial_Y_e, "none"))
{
- STORAGE:Y_e[1]
+ STORAGE: Y_e[3]
}
}
-schedule group HydroBase_Initial AT Initial after ADMBase_InitialData after ADMBase_InitialGauge after IOUtil_RecoverIDFromDatafiles before ADMBase_PostInitial before SetTmunu
+schedule group HydroBase_Initial at CCTK_INITIAL \
+ after (ADMBase_InitialData ADMBase_InitialGauge \
+ IOUtil_RecoverIDFromDatafiles) \
+ before (ADMBase_PostInitial SetTmunu)
{
} "HydroBase initial data group"
-if(CCTK_Equals(initial_Y_e, "one"))
-{
- SCHEDULE HydroBase_Y_e_one in HydroBase_Initial
- {
- LANG: C
- } "Set electron fraction to 1 at all points"
-}
-
-schedule HydroBase_StartUp AT WRAGH
+schedule HydroBase_StartUp at CCTK_STARTUP
{
LANG: C
} "Startup banner"
-schedule group HydroBase_RHS IN MoL_CalcRHS
+schedule group HydroBase_RHS in MoL_CalcRHS
{
} "Groups for scheduling tasks for calculating RHS of hydro variables"
-schedule group HydroBase_PostStep IN MoL_PostStep BEFORE SetTmunu
+schedule group HydroBase_PostStep in MoL_PostStep before SetTmunu
{
} "Post step tasks for hydro thorns"
-schedule group HydroBase_PostStep AT POSTRESTRICTINITIAL
+schedule group HydroBase_PostStep at CCTK_POSTRESTRICTINITIAL
{
} "Post step tasks for hydro thorns"
-# Hydro thorns should not schedule something in group HydroBase_Boundaries
-# (schedule them in HydroBase_Select_Boundaries), but they can refer to it
-# in order to schedule own routines before or after the boundary
-# treatment or they can schedule the whole group
-schedule group HydroBase_Boundaries IN HydroBase_PostStep BEFORE HydroBase_Con2Prim
+# Hydro thorns should not schedule anything in group
+# HydroBase_Boundaries; they should schedule in
+# HydroBase_Select_Boundaries instead. However, they may refer to
+# HydroBase_Boundaries in order to schedule own routines before or
+# after the boundary treatment, or in order to schedule the whole
+# group.
+schedule group HydroBase_Boundaries in HydroBase_PostStep \
+ before HydroBase_Con2Prim
{
} "HydroBase-internal Boundary conditions group"
-# Here codes would have to schedule functions to specify which boundary conditions
-# should be applied to which variables
-schedule group HydroBase_Select_Boundaries IN HydroBase_Boundaries
+# This is where hydro thorns schedule functions that select which
+# boundary conditions should be applied to which variables.
+schedule group HydroBase_Select_Boundaries in HydroBase_Boundaries
{
} "Group to schedule the boundary condition functions"
-# This will then later actually apply all the selected boundary conditions. Thorns
-# using HydroBase should not need to change something here.
-schedule group ApplyBCs AS HydroBase_ApplyBCs IN HydroBase_Boundaries AFTER HydroBase_Select_Boundaries
+# This group actually applies all selected boundary conditions. Hydro
+# thorns should not need to change anything here.
+schedule group ApplyBCs as HydroBase_ApplyBCs in HydroBase_Boundaries \
+ after HydroBase_Select_Boundaries
{
} "Apply the boundary conditions of HydroBase"
-# This is a group to schedule Con2Prim routines, scheduled at different times during
-# an evolution
-schedule group HydroBase_Con2Prim IN HydroBase_PostStep
+# Hydro thorns should schedule their Con2Prim routines in this group.
+# This group is then scheduled at different times during an evolution.
+schedule group HydroBase_Con2Prim in HydroBase_PostStep
{
} "Convert from conservative to primitive variables"
-schedule group HydroBase_Con2Prim AT CCTK_PostPostInitial AS Con2Prim BEFORE ADMConstraintsGroup
+schedule group HydroBase_Con2Prim at CCTK_PostPostInitial as Con2Prim \
+ before ADMConstraintsGroup
{
} "Convert from conservative to primitive variables (might be redundant)"
-# Schedule prim2con after initial data
-schedule group HydroBase_Prim2ConInitial AT Initial AFTER HydroBase_Initial
+# Hydro thorns should schedule their Prim2Con routines in this group.
+# This group is then scheduled at different times during an evolution.
+schedule group HydroBase_Prim2ConInitial at CCTK_INITIAL \
+ after HydroBase_Initial
{
} "Recover the conservative variables from the primitive variables"
+
+
+if (CCTK_EQUALS(initial_hydro, "zero"))
+{
+ schedule HydroBase_Zero in HydroBase_Initial
+ {
+ LANG: C
+ } "Set up zero (vacuum without atmosphere) hydro initial data"
+}
+
+if (CCTK_Equals(initial_Y_e, "one"))
+{
+ SCHEDULE HydroBase_Y_e_one in HydroBase_Initial
+ {
+ LANG: C
+ } "Set electron fraction to 1"
+}