89 if (equation_empty_)
DebugOut().fmt(
"Calling 'initialize' of empty equation '{}'.\n",
typeid(*this).name());
90 else DebugOut().fmt(
"Method 'initialize' of '{}' is not implemented.\n",
typeid(*this).name());
101 if (equation_empty_)
DebugOut().fmt(
"Calling 'zero_time_step' of empty equation '{}'.\n",
typeid(*this).name());
102 else DebugOut().fmt(
"Method 'zero_time_step' of '{}' is not implemented.\n",
typeid(*this).name());
116 if (equation_empty_)
DebugOut().fmt(
"Calling 'update_solution' of empty equation '{}'.\n",
typeid(*this).name());
117 else DebugOut().fmt(
"Method 'update_solution' of '{}' is not implemented.\n",
typeid(*this).name());
129 {time_->fix_dt_until_mark();}
135 {time_->set_upper_constraint(dt, message);}
141 {time_->set_lower_constraint(dt, message);}
148 OLD_ASSERT( time_,
"Time governor was not created.\n");
163 {
return time_->estimate_time(); }
169 {
return time_->t(); }
193 OLD_ASSERT(eq_data_,
"The equation %s did not set eq_data_ pointer.\n", input_record_.address_string().c_str());
202 {
OLD_ASSERT(0,
"If using, needs to be implemented in ancestors!"); };
209 {
OLD_ASSERT(0,
"If using, needs to be implemented in ancestors!"); };
215 if (equation_empty_)
DebugOut().fmt(
"Calling 'output_data' of empty equation '{}'.\n",
typeid(*this).name());
216 else DebugOut().fmt(
"Method 'output_data' of '{}' is not implemented.\n",
typeid(*this).name());
virtual void zero_time_step()
virtual void set_time_lower_constraint(double dt, std::string message)
Container for various descendants of FieldCommonBase.
virtual void initialize()
virtual void set_time_upper_constraint(double dt, std::string message)
Basic time management functionality for unsteady (and steady) solvers (class Equation).
virtual void choose_next_time()
virtual void output_data()
Write computed fields.
Basic time management class.
TimeMark::Type equation_mark_type() const
std::shared_ptr< Balance > balance_
object for calculation and writing the mass balance to file.
virtual void get_parallel_solution_vector(Vec &vector)
virtual void get_solution_vector(double *&vector, unsigned int &size)
bool equation_empty_
flag is true if only default constructor was called
virtual void update_solution()
Input::Record input_record_
TimeMark::Type mark_type()
#define DebugOut()
Macro defining 'debug' record of log.