template<typename VectorType>
class TimeStepping::LowStorageRungeKutta< VectorType >
The LowStorageRungeKutta class is derived from RungeKutta and implements a specific class of explicit methods. The main advantages of low-storage methods are the reduced memory consumption and the reduced memory access.
This function is used to advance from time t to t+ delta_t. f is the function 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 where is the identity matrix, is given, and is the Jacobian . The input parameters are the time, , 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.
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. Note that vec_ki holds the evaluation of the differential operator, and vec_ri holds the right-hand side for the differential operator application.
Get the coefficients of the scheme. Note that here vector a is not the conventional definition in terms of a Butcher tableau but merely one of the sub-diagonals. More details can be found in step-67 and the references therein.
This function is used to advance from time t to t+ delta_t. F is a vector of functions 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, , 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.