diff options
Diffstat (limited to 'schedule.ccl')
-rwxr-xr-x | schedule.ccl | 118 |
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" +} |