deal.II version GIT relicensing-2167-g9622207b8f 2024-11-21 12:40:00+00:00
|
#include <deal.II/base/time_stepping.h>
Public Member Functions | |
virtual | ~RungeKutta () override=default |
virtual void | initialize (const runge_kutta_method method)=0 |
double | evolve_one_time_step (std::vector< std::function< VectorType(const double, const VectorType &)> > &F, std::vector< std::function< VectorType(const double, const double, const VectorType &)> > &J_inverse, double t, double delta_t, VectorType &y) override |
virtual double | evolve_one_time_step (const std::function< VectorType(const double, const VectorType &)> &f, const std::function< VectorType(const double, const double, const VectorType &)> &id_minus_tau_J_inverse, double t, double delta_t, VectorType &y)=0 |
virtual const Status & | get_status () const =0 |
Protected Attributes | |
unsigned int | n_stages |
std::vector< double > | b |
std::vector< double > | c |
std::vector< std::vector< double > > | a |
Base class for the Runge-Kutta method
Definition at line 221 of file time_stepping.h.
|
overridevirtualdefault |
Virtual destructor.
|
pure virtual |
Purely virtual method used to initialize the Runge-Kutta method.
Implemented in TimeStepping::ExplicitRungeKutta< VectorType >, TimeStepping::LowStorageRungeKutta< VectorType >, TimeStepping::ImplicitRungeKutta< VectorType >, and TimeStepping::EmbeddedExplicitRungeKutta< VectorType >.
|
overridevirtual |
This function is used to advance from time t
to t+ delta_t
. F
is a vector of functions \( f(t,y) \) that should be integrated, the input parameters are the time t and the vector y and the output is value of f at this point. J_inverse
is a vector functions that compute the inverse of the Jacobians associated to the implicit problems. The input parameters are the time, \( \tau \), and a vector. The output is the value of function at this point. This function returns the time at the end of the time step. When using Runge-Kutta methods, F
and J_inverse
can only contain one element.
Implements TimeStepping::TimeStepping< VectorType >.
|
pure virtual |
Purely virtual function. This function is used to advance from time t
to t+ delta_t
. f
is the function \( f(t,y) \) that should be integrated, the input parameters are the time t and the vector y and the output is value of f at this point. id_minus_tau_J_inverse
is a function that computes \( inv(I-\tau J)\) where \( I \) is the identity matrix, \( \tau \) is given, and \( J \) is the Jacobian \( \frac{\partial
f}{\partial y} \). The input parameters are the time, \( \tau \), and a vector. The output is the value of function at this point. evolve_one_time_step returns the time at the end of the time step.
Implemented in TimeStepping::ExplicitRungeKutta< VectorType >, TimeStepping::LowStorageRungeKutta< VectorType >, TimeStepping::ImplicitRungeKutta< VectorType >, and TimeStepping::EmbeddedExplicitRungeKutta< VectorType >.
|
pure virtualinherited |
Purely virtual function that return Status.
Implemented in TimeStepping::ExplicitRungeKutta< VectorType >, TimeStepping::LowStorageRungeKutta< VectorType >, TimeStepping::ImplicitRungeKutta< VectorType >, and TimeStepping::EmbeddedExplicitRungeKutta< VectorType >.
|
protected |
Number of stages of the Runge-Kutta method.
Definition at line 281 of file time_stepping.h.
|
protected |
Butcher tableau coefficients.
Definition at line 286 of file time_stepping.h.
|
protected |
Butcher tableau coefficients.
Definition at line 291 of file time_stepping.h.
|
protected |
Butcher tableau coefficients.
Definition at line 296 of file time_stepping.h.