#include <deal.II/base/time_stepping.h>
|
| ExplicitRungeKutta ()=default |
|
| ExplicitRungeKutta (const runge_kutta_method method) |
|
void | initialize (const runge_kutta_method method) override |
|
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) override |
|
double | evolve_one_time_step (const std::function< VectorType(const double, const VectorType &)> &f, double t, double delta_t, VectorType &y) |
|
const Status & | get_status () const override |
|
virtual | ~RungeKutta () override=default |
|
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 | ~TimeStepping ()=default |
|
|
void | compute_stages (const std::function< VectorType(const double, const VectorType &)> &f, const double t, const double delta_t, const VectorType &y, std::vector< VectorType > &f_stages) const |
|
|
unsigned int | n_stages |
|
std::vector< double > | b |
|
std::vector< double > | c |
|
std::vector< std::vector< double > > | a |
|
template<typename VectorType>
class TimeStepping::ExplicitRungeKutta< VectorType >
ExplicitRungeKutta is derived from RungeKutta and implement the explicit methods.
Definition at line 231 of file time_stepping.h.
◆ ExplicitRungeKutta() [1/2]
template<typename VectorType>
◆ ExplicitRungeKutta() [2/2]
template<typename VectorType>
◆ initialize()
template<typename VectorType>
◆ evolve_one_time_step() [1/2]
template<typename VectorType>
double TimeStepping::ExplicitRungeKutta< VectorType >::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 |
|
) |
| |
|
overridevirtual |
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 J}{\partial y} \). The input parameter 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.
Implements TimeStepping::RungeKutta< VectorType >.
◆ evolve_one_time_step() [2/2]
template<typename VectorType>
double TimeStepping::ExplicitRungeKutta< VectorType >::evolve_one_time_step |
( |
const std::function< VectorType(const double, const VectorType &)> & |
f, |
|
|
double |
t, |
|
|
double |
delta_t, |
|
|
VectorType & |
y |
|
) |
| |
This function is used to advance from time t
to t+ delta_t
. This function is similar to the one derived from RungeKutta, but does not required id_minus_tau_J_inverse because it is not used for explicit methods. evolve_one_time_step returns the time at the end of the time step.
◆ get_status()
template<typename VectorType>
◆ compute_stages()
template<typename VectorType>
void TimeStepping::ExplicitRungeKutta< VectorType >::compute_stages |
( |
const std::function< VectorType(const double, const VectorType &)> & |
f, |
|
|
const double |
t, |
|
|
const double |
delta_t, |
|
|
const VectorType & |
y, |
|
|
std::vector< VectorType > & |
f_stages |
|
) |
| const |
|
private |
Compute the different stages needed.
◆ status
template<typename VectorType>
The documentation for this class was generated from the following file: