if (evolution_storage==1) { STORAGE:ADM_metric_prev,ADM_curv_prev COMMUNICATION: ADM_metric_prev } if (CCTK_Equals(evolution_system,"ADM")) { STORAGE: ADM_metric_prev,ADM_lapse_prev,ADM_curv_prev COMMUNICATION: ADM_metric_prev,ADM_lapse_prev schedule ADMSetSym at CCTK_BASEGRID { LANG: Fortran } "Set symmetries for ADM grid functions" if (store_initial_lapse == 1) { STORAGE:ADM_initlapse } schedule ADM_Preloop at CCTK_INITIAL9 { LANG: Fortran }"Report on parameters for ADM Evolution" if (store_initial_lapse) { schedule ADM_alp0_init at CCTK_INITIAL9 { LANG: Fortran }"Save the lapse function at the initial timestep" } if (CCTK_Equals(method,"stagleap")) { # Evolve using Staggered Leapfrog STORAGE: ADM_curv_stag,ADM_sources,ADM_extrap,ADM_gauge if (minimal_communications==0) { COMMUNICATION:ADM_curv_stag } schedule ADM_StaggeredLeapfrog at CCTK_EVOL { LANG: Fortran }"Evolve using Staggered Leapfrog" } else if (CCTK_Equals(method,"leapfrog")) { # Evolve using Double Leapfrog STORAGE: ADM_sources,ADM_gauge schedule ADM_DoubleLeap at CCTK_EVOL { LANG: Fortran }"Evolve using Double Leapfrog" } else if (CCTK_Equals(method,"ICN")) { # Evolve using Iterative Crank-Nicholson STORAGE: ADM_sources,ADM_gauge schedule ADM_IterativeCN at CCTK_EVOL { LANG: Fortran }"Evolve using Iterative Crank-Nicholson" } }