Function that is used to advance the solution by time dt.
430 using namespace StringConversion;
432 object_pt->actions_before_explicit_timestep();
433 object_pt->actions_before_explicit_stage();
437 unsigned tnm1 = tn + 1;
438 unsigned tnm2 = tnm1 + 1;
444 if (
std::abs(dt - object_pt->time_pt()->dt(0)) > 1
e-15)
447 "Inconsistent dts! Predictor is stepping by " +
to_string(dt);
448 err +=
" but dt(0) = " +
to_string(object_pt->time_pt()->dt(0));
455 double dtnm1 = object_pt->time_pt()->dt(1);
456 double dtnm2 = object_pt->time_pt()->dt(2);
465 object_pt->get_dvaluesdt(fn);
470 object_pt->get_dofs(tn, yn);
472 object_pt->get_dofs(tnm1, ynm1);
474 object_pt->get_dofs(tnm2, ynm2);
485 object_pt->set_dofs(ynp1);
486 object_pt->time() += dt;
489 object_pt->actions_after_explicit_stage();
490 object_pt->actions_after_explicit_timestep();
AnnoyingScalar abs(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:135
Array< double, 1, 3 > e(1./3., 0.5, 2.)
void set_weights(const double &dtn, const double &dtnm1, const double &dtnm2)
Calculate the weights for this set of step sizes.
Definition: explicit_timesteppers.cc:494
std::string string(const unsigned &i)
Definition: oomph_definitions.cc:286
std::string to_string(T object, unsigned float_precision=8)
Definition: oomph_utilities.h:189
#define OOMPH_EXCEPTION_LOCATION
Definition: oomph_definitions.h:61
#define OOMPH_CURRENT_FUNCTION
Definition: oomph_definitions.h:86