Mallard 0.8.0
Unstructured, GPU accelerated, high-order finite volume CFD solver
Mallard website
Loading...
Searching...
No Matches
TimeIntegrator Class Referenceabstract

#include <time_integrator.h>

Inheritance diagram for TimeIntegrator:
FE RK4 SSPRK3

Public Member Functions

virtual ~TimeIntegrator ()=default
 
TimeIntegratorType get_type () const
 
uint8_t get_n_solution_vectors () const
 
uint8_t get_n_rhs_vectors () const
 
virtual void take_step (const rtype t, const rtype dt, std::vector< State > &solution_vec, std::vector< State > &rhs_vec, const RHSFunction &calc_rhs, const rtype *dt_device=nullptr)=0
 Advance solution_vec[0] from time t by dt.
 

Protected Attributes

TimeIntegratorType type
 
uint8_t n_solution_vectors
 
uint8_t n_rhs_vectors
 

Constructor & Destructor Documentation

◆ ~TimeIntegrator()

virtual TimeIntegrator::~TimeIntegrator ( )
virtualdefault

Member Function Documentation

◆ get_n_rhs_vectors()

uint8_t TimeIntegrator::get_n_rhs_vectors ( ) const
inline

◆ get_n_solution_vectors()

uint8_t TimeIntegrator::get_n_solution_vectors ( ) const
inline

◆ get_type()

TimeIntegratorType TimeIntegrator::get_type ( ) const
inline

◆ take_step()

virtual void TimeIntegrator::take_step ( const rtype  t,
const rtype  dt,
std::vector< State > &  solution_vec,
std::vector< State > &  rhs_vec,
const RHSFunction &  calc_rhs,
const rtype *  dt_device = nullptr 
)
pure virtual

Advance solution_vec[0] from time t by dt.

Parameters
tTime at the start of the step.
dtTime step.
solution_vecSolution (index 0) and scratch states.
rhs_vecScratch RHS states.
calc_rhsRHS evaluator, dU/dt = calc_rhs(U, t).
dt_deviceDevice array of dt's multiples (see dt_scales), which the updates read instead of dt when given.

Implemented in FE, RK4, and SSPRK3.

Member Data Documentation

◆ n_rhs_vectors

uint8_t TimeIntegrator::n_rhs_vectors
protected

◆ n_solution_vectors

uint8_t TimeIntegrator::n_solution_vectors
protected

◆ type

TimeIntegratorType TimeIntegrator::type
protected

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