24 #include <boost/exception/detail/error_info_impl.hpp> 25 #include <boost/exception/info.hpp> 93 else DebugOut().fmt(
"Method 'initialize' of '{}' is not implemented.\n",
typeid(*this).name());
104 if (
equation_empty_)
DebugOut().fmt(
"Calling 'zero_time_step' of empty equation '{}'.\n",
typeid(*this).name());
105 else DebugOut().fmt(
"Method 'zero_time_step' of '{}' is not implemented.\n",
typeid(*this).name());
121 if (
equation_empty_)
DebugOut().fmt(
"Calling 'update_solution' of empty equation '{}'.\n",
typeid(*this).name());
122 else DebugOut().fmt(
"Method 'update_solution' of '{}' is not implemented.\n",
typeid(*this).name());
187 inline std::shared_ptr<Balance>
balance()
const 215 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.
double estimate_time() const
virtual void initialize()
double fix_dt_until_mark()
Fixing time step until fixed time mark.
int set_lower_constraint(double lower, std::string message)
Sets lower constraint for the next time step estimating.
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.
static Input::Type::Record & record_template()
Template Record with common keys for derived equations.
Global macros to enhance readability and debugging, general constants.
TimeMark::Type equation_mark_type() const
std::shared_ptr< Balance > balance_
object for calculation and writing the mass balance to file.
std::shared_ptr< Balance > balance() const
virtual void set_time_governor(TimeGovernor &time)
int set_upper_constraint(double upper, std::string message)
Sets upper constraint for the next time step estimating.
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.