49 double const & end_time_,
50 unsigned int const max_number_of_time_steps_,
52 MPI_Comm
const & mpi_comm_,
63 setup(
bool const do_restart) = 0;
88 advance_one_timestep();
94 advance_one_timestep_pre_solve(
bool const print_header);
97 advance_one_timestep_solve();
100 advance_one_timestep_post_solve();
106 reset_time(
double const & current_time);
113 prepare_coarsening_and_refinement();
116 interpolate_after_coarsening_and_refinement();
122 get_time_step_size()
const = 0;
128 set_current_time_step_size(
double const & time_step_size) = 0;
140 get_next_time()
const;
146 get_number_of_time_steps()
const;
148 std::shared_ptr<TimerTree>
167 do_timestep_pre_solve(
bool const print_header) = 0;
173 do_timestep_solve() = 0;
179 do_timestep_post_solve() = 0;
185 postprocessing()
const = 0;
191 get_time_step_number()
const;
198 write_restart()
const;
210 output_solver_info_header()
const;
217 output_remaining_time()
const;
222 double start_time, end_time;
237 dealii::ConditionalOStream pcout;
242 types::time_step time_step_number;
247 unsigned int const max_number_of_time_steps;
257 MPI_Comm
const mpi_comm;
262 dealii::Timer global_timer;
263 std::shared_ptr<TimerTree> timer_tree;
271 do_write_restart(std::string
const & filename)
const = 0;
277 do_read_restart(std::ifstream & in) = 0;