include/meltpooldg/time_integration/time_iterator.hpp Source File

Developer Documentation: include/meltpooldg/time_integration/time_iterator.hpp Source File
Developer Documentation
time_iterator.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <deal.II/base/function_parser.h>
4
7
9{
10 /*
11 * This class provides a simple time stepping routine.
12 */
13 template <typename number>
15 {
16 public:
18
19 bool
20 is_finished() const;
21
22 number
24
25 void
26 resize_current_time_increment(const number factor);
27
28 void
29 set_current_time_increment(const number value, const number factor = 1.0);
30
31 void
32 reset_max_n_time_steps(const unsigned int time_steps_in);
33
34 number
35 get_current_time() const;
36
37 number
39
40 unsigned int
42
43 number
45
46 number
47 get_old_time() const;
48
49 void
50 reset();
51
52 void
53 print_me(const ConditionalOStream &pcout) const;
54
58 bool
59 check_time_step_limit(const number &time_step_limit);
60
61 template <class Archive>
62 void
63 serialize(Archive &ar, const unsigned int /*version*/)
64 {
65 ar &old_time;
66 ar &current_time;
68 ar &n_time_steps;
70
71 // @note: we don't archive current_time_increment, since we want to set it during the restart.
72 }
73
74 private:
76 number old_time;
80 unsigned int n_time_steps;
81 dealii::FunctionParser<1> time_step_size_function;
82 };
83
84} // namespace MeltPoolDG::TimeIntegration
Definition conditional_ostream.hpp:7
Definition time_iterator.hpp:15
bool is_finished() const
Definition time_iterator.cpp:26
bool check_time_step_limit(const number &time_step_limit)
Definition time_iterator.cpp:167
void serialize(Archive &ar, const unsigned int)
Definition time_iterator.hpp:63
void reset()
Definition time_iterator.cpp:141
number current_time
Definition time_iterator.hpp:77
number old_time_increment
Definition time_iterator.hpp:79
void print_me(const ConditionalOStream &pcout) const
Definition time_iterator.cpp:152
dealii::FunctionParser< 1 > time_step_size_function
Definition time_iterator.hpp:81
number get_current_time() const
Definition time_iterator.cpp:106
unsigned int n_time_steps
Definition time_iterator.hpp:80
void set_current_time_increment(const number value, const number factor=1.0)
Definition time_iterator.cpp:79
void reset_max_n_time_steps(const unsigned int time_steps_in)
Definition time_iterator.cpp:99
number get_old_time_increment() const
Definition time_iterator.cpp:134
unsigned int get_current_time_step_number() const
Definition time_iterator.cpp:120
number get_current_time_increment() const
Definition time_iterator.cpp:113
void resize_current_time_increment(const number factor)
Definition time_iterator.cpp:72
number get_old_time() const
Definition time_iterator.cpp:127
number old_time
Definition time_iterator.hpp:76
number current_time_increment
Definition time_iterator.hpp:78
TimeSteppingData< number > time_data
Definition time_iterator.hpp:75
number compute_next_time_increment()
Definition time_iterator.cpp:44
Class providing different low storage explicit Runge-Kutta schemes. The schemes implemented in this c...
Definition bdf_time_integration.hpp:18
Definition time_stepping_data.hpp:11