Mallard 0.8.0
Unstructured, GPU accelerated, high-order finite volume CFD solver
Mallard website
Loading...
Searching...
No Matches
time_integrator.cpp File Reference

Time integrator class implementations. More...

#include "time_integrator.h"

Functions

void axpby (const rtype a_host, const State &x, const rtype b, const State &y, const rtype *a_device)
 y = a * x + b * y, on both blocks of the state.
 
void lerp (const rtype a, const State &x, const State &y)
 y = (1 - a) y + a x as y + a (x - y), on both blocks of the state: unlike axpby with rounded weights a and 1 - a, it leaves y unchanged where x == y.
 

Detailed Description

Time integrator class implementations.

Author
Matthew Bonanni (mbona.nosp@m.nni0.nosp@m.01@gm.nosp@m.ail..nosp@m.com)
Version
0.2
Date
2023-12-22

Function Documentation

◆ axpby()

void axpby ( const rtype  a,
const State &  x,
const rtype  b,
const State &  y,
const rtype *  a_device = nullptr 
)

y = a * x + b * y, on both blocks of the state.

y = a x + b y, with a read from device memory instead when a_device is given (graph-captured steps, whose dt lives on the device).

◆ lerp()

void lerp ( const rtype  a,
const State &  x,
const State &  y 
)

y = (1 - a) y + a x as y + a (x - y), on both blocks of the state: unlike axpby with rounded weights a and 1 - a, it leaves y unchanged where x == y.