aboutsummaryrefslogtreecommitdiff
path: root/schedule.ccl
diff options
context:
space:
mode:
Diffstat (limited to 'schedule.ccl')
-rw-r--r--schedule.ccl145
1 files changed, 144 insertions, 1 deletions
diff --git a/schedule.ccl b/schedule.ccl
index ac7b7b1..54d402b 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -1,7 +1,150 @@
# Schedule definitions for thorn NoExcision
# $Header$
-SCHEDULE NoExcision_Overwrite AT initial AFTER (ADMBase_InitialData ADMBase_InitialGauge)
+SCHEDULE NoExcision_Overwrite IN ADMBase_PostInitial
{
LANG: Fortran
} "Overwrite regions with Minkowski"
+
+if (CCTK_Equals(method,"new")) {
+ schedule NoExcision_SetSym at CCTK_BASEGRID
+ {
+ LANG: Fortran
+ } "Register the symmetries for the conjugate gradient functions."
+}
+
+if (smooth_regions) {
+ if (CCTK_Equals(method,"old")) {
+ SCHEDULE NoExcision_Smooth IN ADMBase_PostInitial AFTER NoExcision_Overwrite
+ {
+ LANG: Fortran
+ } "Smooth regions"
+ } else {
+
+ SCHEDULE GROUP NoExcision_CGSmoothing IN ADMBase_PostInitial
+ {
+ STORAGE: cg_res_metric, cg_res_curv, cg_res_shift, cg_res_lapse
+ STORAGE: cg_d_metric, cg_d_curv, cg_d_shift, cg_d_lapse
+ STORAGE: cg_q_metric, cg_q_curv, cg_q_shift, cg_q_lapse
+ STORAGE: cg_red_all
+ STORAGE: smask
+ STORAGE: loop_control
+
+ } "Conjugate Gradient smoothing"
+
+ SCHEDULE NoExcision_CGInit_1 IN NoExcision_CGSmoothing
+ {
+ LANG: Fortran
+ } "Initialise the conjugate gradient method 1"
+
+ SCHEDULE NoExcision_CGApplySym AS NoExcision_CGApplySym_p1 IN NoExcision_CGSmoothing AFTER NoExcision_CGInit_1
+ {
+ LANG: Fortran
+ SYNC: cg_d_metric
+ SYNC: cg_d_curv
+ SYNC: cg_d_shift
+ SYNC: cg_d_lapse
+ SYNC: cg_res_metric
+ SYNC: cg_res_curv
+ SYNC: cg_res_shift
+ SYNC: cg_res_lapse
+ SYNC: cg_red_all
+ } "Select variables for boundary conditions 1"
+
+ SCHEDULE GROUP ApplyBCs AS NoExcision_CGApplyBCs_p1 IN NoExcision_CGSmoothing AFTER NoExcision_CGApplySym_p1
+ {
+ } "Apply boundary conditions (Symmetries) 1"
+
+ SCHEDULE NoExcision_CGInit_2 IN NoExcision_CGSmoothing AFTER NoExcision_CGApplySym_p1
+ {
+ LANG: Fortran
+ OPTIONS: level
+ } "Initialise the conjugate gradient method 2"
+
+ SCHEDULE GROUP NoExcision_Smoothing IN NoExcision_CGSmoothing AFTER NoExcision_CGInit_2 while NoExcision::loop_control
+ {
+ } "Smooth regions"
+
+ SCHEDULE NoExcision_CG_1 IN NoExcision_Smoothing
+ {
+ LANG: Fortran
+ } "Conjugate gradients step 1"
+
+ SCHEDULE NoExcision_CGApplySym AS NoExcision_CGApplySym_p2 IN NoExcision_Smoothing AFTER NoExcision_CG_1
+ {
+ LANG: Fortran
+ SYNC: cg_q_metric
+ SYNC: cg_q_curv
+ SYNC: cg_q_shift
+ SYNC: cg_q_lapse
+ SYNC: cg_red_all
+ } "Select variables for boundary conditions 2"
+
+ SCHEDULE GROUP ApplyBCs AS NoExcision_CGApplyBCs_p2 IN NoExcision_Smoothing AFTER NoExcision_CGApplySym_p2
+ {
+ } "Apply boundary conditions (Symmetries) 2"
+
+ SCHEDULE NoExcision_CG_2 IN NoExcision_Smoothing AFTER NoExcision_CG_1
+ {
+ LANG: Fortran
+ OPTIONS: level
+ } "Conjugate gradients step 2"
+
+ SCHEDULE NoExcision_CG_3 IN NoExcision_Smoothing
+ {
+ LANG: Fortran
+ } "Conjugate gradients step 3"
+
+ SCHEDULE NoExcision_CGApplySym AS NoExcision_CGApplySym_p3 IN NoExcision_Smoothing AFTER NoExcision_CG_3
+ {
+ LANG: Fortran
+ SYNC: cg_res_metric
+ SYNC: cg_res_curv
+ SYNC: cg_res_shift
+ SYNC: cg_res_lapse
+ SYNC: metric
+ SYNC: curv
+ SYNC: shift
+ SYNC: lapse
+ SYNC: cg_red_all
+ } "Select variables for boundary conditions 3"
+
+ SCHEDULE GROUP ApplyBCs AS NoExcision_CGApplyBCs_p3 IN NoExcision_Smoothing AFTER NoExcision_CGApplySym_p3
+ {
+ } "Apply boundary conditions (Symmetries) 3"
+
+ SCHEDULE NoExcision_CG_4 IN NoExcision_Smoothing AFTER NoExcision_CG_1
+ {
+ LANG: Fortran
+ OPTIONS: level
+ } "Conjugate gradients step 4"
+
+ SCHEDULE NoExcision_CG_5 IN NoExcision_Smoothing
+ {
+ LANG: Fortran
+ } "Conjugate gradients step 5"
+
+ SCHEDULE NoExcision_CGApplySym AS NoExcision_CGApplySym_p4 IN NoExcision_CGSmoothing AFTER NoExcision_CG_5
+ {
+ LANG: Fortran
+ SYNC: cg_d_metric
+ SYNC: cg_d_curv
+ SYNC: cg_d_shift
+ SYNC: cg_d_lapse
+ } "Select variables for boundary conditions 4"
+
+ SCHEDULE GROUP ApplyBCs AS NoExcision_CGApplyBCs_p4 IN NoExcision_CGSmoothing AFTER NoExcision_CGApplySym_p4
+ {
+ } "Apply boundary conditions (Symmetries) 4"
+ }
+}
+
+#SCHEDULE NoExcision_OverwriteBSSN AT poststep
+#{
+# LANG: Fortran
+#} "Overwrite regions with Minkowski"
+
+SCHEDULE NoExcision_Reduce IN MoL_PostRHS
+{
+ LANG: C
+} "Reduce RHS"