hyper.deal
|
#include <time_integrators.h>
Public Member Functions | |
LowStorageRungeKuttaIntegrator (VectorType &vec_Ki, VectorType &vec_Ti, const std::string type, const bool only_Ti_is_ghosted=true) | |
void | perform_time_step (VectorType &solution, const Number ¤t_time, const Number &time_step, const std::function< void(const VectorType &, VectorType &, const Number)> &op) |
unsigned int | n_stages () const |
Efficient specialized low-storage Runge-Kutta implementations.
We provide an implementation, which only needs one vector (vec_Ti) to be ghosted. This is in particular useful in high-dimensions, where memory is scarce.
hyperdeal::LowStorageRungeKuttaIntegrator< Number, VectorType >::LowStorageRungeKuttaIntegrator | ( | VectorType & | vec_Ki, |
VectorType & | vec_Ti, | ||
const std::string | type, | ||
const bool | only_Ti_is_ghosted = true ) |
Constructor. The user provides from outside two register vectors vec_Ki
and vev_Ti
.
void hyperdeal::LowStorageRungeKuttaIntegrator< Number, VectorType >::perform_time_step | ( | VectorType & | solution, |
const Number & | current_time, | ||
const Number & | time_step, | ||
const std::function< void(const VectorType &, VectorType &, const Number)> & | op ) |
Perform time step: evaluate right-hand side provided by op
at a specified time current_time
and with a given time_step
. The previous solution is provided by solution
and the new solution is written into the same vector.