hyper.deal
Loading...
Searching...
No Matches
hyperdeal::LowStorageRungeKuttaIntegrator< Number, VectorType > Class Template Reference

#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 &current_time, const Number &time_step, const std::function< void(const VectorType &, VectorType &, const Number)> &op)
 
unsigned int n_stages () const
 

Detailed Description

template<typename Number, typename VectorType>
class hyperdeal::LowStorageRungeKuttaIntegrator< Number, VectorType >

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.

Note
For details on the basic low-storage implementation, see step-69 in deal.II.

Constructor & Destructor Documentation

◆ LowStorageRungeKuttaIntegrator()

template<typename Number , typename VectorType >
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.

Note
Currently rk33, rk45, rk47, rk59 (order, stages) are supported.

Member Function Documentation

◆ perform_time_step()

template<typename Number , typename VectorType >
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.


The documentation for this class was generated from the following files: