# Schedule definitions for thorn PadHydro # $Header$ STORAGE: particle_const particle_data[2] STORAGE: grid_data[2] STORAGE: star_data star_desc star_info SCHEDULE padhydro_make_star AT initial { LANG: C } "Calculate the initial star structure" SCHEDULE padhydro_initial AT initial AFTER padhydro_make_star { LANG: C } "Initial data" if (oscillation_amplitude != 0) { SCHEDULE padhydro_impose_oscillations AT postinitial { LANG: C } "Impose velocity oscillations" SCHEDULE padhydro_impose_oscillations AT post_recover_variables { LANG: C } "Impose velocity oscillations" } /* if oscillation_amplitude != 0 */ SCHEDULE padhydro_set_timestep_size AT poststep BEFORE Time_Courant { LANG: C } "Set the maximum time step size" SCHEDULE GROUP padhydro_integrate AT evol { STORAGE: particle_rhs particle_analysis particle_stats STORAGE: grid_rhs } "Integrate" SCHEDULE padhydro_normalise AT poststep { LANG: C } "Normalise particles" SCHEDULE GROUP pad_use_interactions_outer AT analysis { STORAGE: particle_rhs particle_analysis particle_stats STORAGE: grid_rhs #TRIGGERS: particle_rhs particle_analysis particle_stats #TRIGGERS: grid_rhs } "Calculate right hand side" #STORAGE: particle_rhs particle_analysis particle_stats #STORAGE: grid_rhs #SCHEDULE GROUP pad_use_interactions_outer AT poststep AFTER padhydro_normalise #{ #} "Calculate right hand side" SCHEDULE padhydro_step0 IN padhydro_integrate { LANG: C } "Initialise the time step" SCHEDULE GROUP padhydro_rhs_outer1 IN padhydro_integrate AFTER padhydro_step0 { } "Calculate right hand side" SCHEDULE padhydro_step1 IN padhydro_integrate AFTER padhydro_rhs_outer1 { LANG: C } "Time step, part 1" SCHEDULE GROUP padhydro_rhs_outer2 IN padhydro_integrate AFTER padhydro_step1 { } "Calculate right hand side" SCHEDULE padhydro_step2 IN padhydro_integrate AFTER padhydro_rhs_outer2 { LANG: C } "Time step, part 2" SCHEDULE GROUP pad_use_interactions_outer IN padhydro_rhs_outer1 { } "Calculate right hand side" SCHEDULE GROUP pad_use_interactions_outer IN padhydro_rhs_outer2 { } "Calculate right hand side" if (selfgravity) { SCHEDULE padhydro_selfgravity IN pad_use_interactions_inner { LANG: C TRIGGERS: grid_rhs } "Calculate self-gravity" } SCHEDULE padhydro_rhs IN pad_use_interactions_inner AFTER pad_find_interactions AFTER padhydro_selfgrav { LANG: C TRIGGERS: particle_rhs } "Calculate right hand side" SCHEDULE padhydro_analyse IN pad_use_interactions_inner AFTER pad_rhs AFTER padhydro_selfgrav { LANG: C TRIGGERS: particle_analysis } "Analyse particle distribution" SCHEDULE padhydro_stats IN pad_use_interactions_inner AFTER pad_rhs AFTER padhydro_selfgrav { LANG: C TRIGGERS: particle_stats } "Calculate statistics"