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());
189 inline std::shared_ptr<Balance>
balance()
const
226 else DebugOut().fmt(
"Method 'output_data' of '{}' is not implemented.\n",
typeid(*this).name());
#define ASSERT_PTR(ptr)
Definition of assert macro checking non-null pointer (PTR) only for debug mode.
std::shared_ptr< Balance > balance() const
Input::Record input_record_
static Input::Type::Record & record_template()
Template Record with common keys for derived equations.
virtual double solved_time()
std::shared_ptr< FieldSet > eq_fieldset_
virtual void output_data()
Write computed fields.
TimeMark::Type mark_type()
virtual void zero_time_step()
std::shared_ptr< FieldSet > eq_fieldset_ptr()
virtual void initialize()
virtual void set_time_governor(TimeGovernor &time)
void init_user_fields(Input::Array user_fields, FieldSet &output_fields)
bool equation_empty_
flag is true if only default constructor was called
virtual void set_time_lower_constraint(double dt, std::string message)
virtual void update_solution()
virtual void set_time_upper_constraint(double dt, std::string message)
virtual void choose_next_time()
static Input::Type::Record & user_fields_template(std::string equation_name)
Template Record with common key user_fields for derived equations.
std::shared_ptr< Balance > balance_
object for calculation and writing the mass balance to file.
Container for various descendants of FieldCommonBase.
Basic time management functionality for unsteady (and steady) solvers (class Equation).
int set_lower_constraint(double lower, std::string message)
Sets lower constraint for the next time step estimating.
int set_upper_constraint(double upper, std::string message)
Sets upper constraint for the next time step estimating.
TimeMark::Type equation_mark_type() const
double estimate_time() const
double fix_dt_until_mark()
Fixing time step until fixed time mark.
#define DebugOut()
Macro defining 'debug' record of log.
Basic time management class.