diff options
Diffstat (limited to 'schedule.ccl')
-rw-r--r-- | schedule.ccl | 180 |
1 files changed, 176 insertions, 4 deletions
diff --git a/schedule.ccl b/schedule.ccl index 64378c9..e19e0cc 100644 --- a/schedule.ccl +++ b/schedule.ccl @@ -4,6 +4,9 @@ STORAGE: level_set[2] STORAGE: slevel_set STORAGE: dlevel_set +STORAGE: eh_mask_all +STORAGE: rep_mask +STORAGE: ftmp schedule EHFinder_Init at CCTK_POSTINITIAL { @@ -11,18 +14,187 @@ schedule EHFinder_Init at CCTK_POSTINITIAL SYNC: level_set } "Setup the initial surface" +schedule EHFinder_SetSym at CCTK_BASEGRID +{ + LANG: Fortran +} "Register the symmetries for the level set function" + +schedule EHFinder_MaskInit at CCTK_POSTINITIAL after EHFinder_Init +{ + LANG: Fortran +} "Setup the initial mask" + +schedule EHFinder_SetMask at CCTK_POSTINITIAL after EHFinder_MaskInit +{ + LANG: Fortran +} "Set the mask" + +#schedule GROUP EHFinder_ReParamInit at CCTK_POSTINITIAL after EHFinder_MaskInit +#{ +# LANG: Fortran +#} "Initial re-parametrization and setting of the mask" +# +#if (CCTK_Equals(re_param_method,"approx")) +#{ +# schedule GROUP Init_ReParametrize in EHFinder_ReParamInit +# { +# LANG: Fortran +# STORAGE: rep_mask +# } "Approximation re-parametrization" +# +# schedule EHFinder_ReParametrize5 in Init_ReParametrize +# { +# LANG: Fortran +# SYNC: level_set +# SYNC: rep_mask +# } "First step in approximation re-parametrization" +# +# schedule EHFinder_ReParametrize6 in Init_ReParametrize AFTER EHFinder_ReParametrize5 WHILE ehfinder::re_param_control +# { +# LANG: Fortran +# SYNC: level_set +# SYNC: rep_mask +# } "Second step in approximation re-parametrization" +#} + +#schedule EHFinder_SetMask in EHFinder_ReParamInit after EHFinder_ReParametrize6 +#{ +# LANG: Fortran +#} "Set the mask" + schedule EHFinder_MoLRegister in MoL_Register { LANG: Fortran } "Register evolution variables" -schedule EHFinder_Sources in MoL_CalcRHS +if (CCTK_Equals(mode,"normal")) { - LANG: Fortran -} "Calculate the source terms" + schedule EHFinder_Sources in MoL_CalcRHS + { + LANG: Fortran + } "Calculate the source terms" +} + +if (CCTK_Equals(mode,"test_reparam")) +{ + schedule EHFinder_Sources3 in MoL_CalcRHS + { + LANG: Fortran + } "Calculate the source terms for reparam test" +} schedule GROUP EHFinder_PostStep in MoL_PostStep { LANG: Fortran - SYNC: level_set +# SYNC: level_set } "Schedule syncing of level set" + +schedule EHFinder_ApplySym in EHFinder_PostStep +{ + LANG: Fortran + SYNC: level_set +} "Apply symmetry boundaries" + +if (!CCTK_Equals(mode,"test_reparam")) +{ + schedule GROUP EHFinder_ReParametrize at CCTK_POSTSTEP + { + LANG: Fortran + } "Re-parametrize the level set function" + + if (CCTK_Equals(re_param_method,"pde")) + { + schedule EHFinder_ReParametrize1 in EHFinder_ReParametrize + { + LANG: Fortran + } "Initializes the re-parametrization control" + + if (CCTK_Equals(re_param_int_method,"euler")) + { + schedule EHFinder_ReParametrize4 in EHFinder_ReParametrize AFTER EHFinder_ReParametrize1 WHILE ehfinder::re_param_control + { + LANG: Fortran + SYNC: level_set + } "Euler scheme" + } + + if (CCTK_Equals(re_param_int_method,"rk2")) + { + schedule GROUP RK2_ReParametrize in EHFinder_ReParametrize AFTER EHFinder_ReParametrize1 WHILE ehfinder::re_param_control + { + LANG: Fortran + } "rk2 evolution for re-parametrization" + + schedule EHFinder_ReParametrize2 in RK2_ReParametrize + { + LANG: Fortran + SYNC: ftmp + } "First step of the RK2 scheme" + + schedule EHFinder_ReParametrize3 in RK2_ReParametrize + { + LANG: Fortran + SYNC: level_set + } "Second step of the RK2 scheme" + } + } + + if (CCTK_Equals(re_param_method,"approx")) + { + schedule GROUP Approx_ReParametrize in EHFinder_ReParametrize + { + LANG: Fortran + } "Approximation re-parametrization" + + schedule EHFinder_ReParametrize5 in Approx_ReParametrize + { + LANG: Fortran + SYNC: level_set + SYNC: dlevel_set + SYNC: rep_mask + } "First step in approximation re-parametrization" + + schedule EHFinder_ApplySym in Approx_ReParametrize AFTER EHFinder_ReParametrize5 + { + LANG: Fortran + SYNC: level_set + SYNC: rep_mask + } "Apply symmetry boundaries" + + schedule GROUP EHFinder_Loop in Approx_ReParametrize AFTER EHFinder_ApplySym WHILE ehfinder::re_param_control + { + LANG: Fortran + SYNC: eh_mask_all + } "Loop for second step in approximation re-parametrization" + + schedule EHFinder_ReParametrize6 in EHFinder_Loop + { + LANG: Fortran + } "Second step in approximation re-parametrization" + + schedule EHFinder_ReParametrize7 in EHFinder_Loop AFTER EHFinder_ReParametrize6 + { + LANG: Fortran + } "Update the re-parametrization mask" + + schedule EHFinder_ApplySym in EHFinder_Loop AFTER EHFinder_ReParametrize7 + { + LANG: Fortran + SYNC: level_set + SYNC: rep_mask + } "Apply symmetry boundaries" + + schedule EHFinder_SetMask in EHFinder_ReParametrize after Approx_ReParametrize + { + LANG: Fortran + SYNC: level_set + } "Set the mask" + + schedule EHFinder_ApplySym in EHFinder_ReParametrize after EHFinder_SetMask + { + LANG: Fortran + SYNC: level_set + } "apply symmetry boundaries" + + } +} |