Discontinuous Galerkin Library
#include "dg/algorithm.h"

For the dg::evaluate and dg::blas1::evaluate functions. More...

Collaboration diagram for Simple:

Classes

struct  dg::ZERO
 \( f(x) = f(x,y) = f(x,y,z) = 0\) More...
 
struct  dg::ONE
 \( f(x) = f(x,y) = f(x,y,z) = 1\) More...
 
struct  dg::CONSTANT
 \( f(x) = f(x,y) = f(x,y,z) = c\) More...
 
struct  dg::PLUS< T >
 \( f(x) = x + c\) More...
 
struct  dg::EXP< T >
 \( f(x) = \exp( x)\) More...
 
struct  dg::LN< T >
 \( f(x) = \ln(x)\) More...
 
struct  dg::SQRT< T >
 \( f(x) = \sqrt{x}\) More...
 
struct  dg::Square
 \( f(x) = x^2\) More...
 
struct  dg::InvSqrt< T >
 \( f(x) = \frac{1}{\sqrt{x}}\) More...
 
struct  dg::INVERT< T >
 \( f(x) = 1/x \) More...
 
struct  dg::ABS< T >
 \( f(x) = |x|\) More...
 
struct  dg::Sign< T >
 \( f(x) = \text{sgn}(x) = \begin{cases} -1 \text{ for } x < 0 \\ 0 \text{ for } x = 0 \\ +1 \text{ for } x > 0 \end{cases}\) More...
 
struct  dg::AbsMax< T >
 \( f(x,y) = \max(|x|,|y|)\) More...
 
struct  dg::AbsMin< T >
 \( f(x,y) = \min(|x|,|y|)\) More...
 
struct  dg::POSVALUE< T >
 \( f(x) = \begin{cases} x \text{ for } x>0 \\ 0 \text{ else} \end{cases} \) More...
 
struct  dg::MOD< T >
 \( f(x) = \) x mod m > 0 ? x mod m : x mod m + m More...
 
struct  dg::ISNFINITE< T >
 \( f(x) = \mathrm{!std::isfinite(x)}\) More...
 
struct  dg::ISNSANE< T >
 \( f(x) =\begin{cases} \mathrm{true\ if}\ |x| > 10^{100}\\ \mathrm{false\ else} \end{cases}\) More...
 
struct  dg::MinMod
 \( f(x_1, x_2, ...) = \begin{cases} \min(x_1, x_2, ...) &\text{ for } x_1, x_2, ... >0 \\ \max(x_1, x_2, ...) &\text{ for } x_1, x_2, ... <0 \\ 0 &\text{ else} \end{cases} \) More...
 
struct  dg::VanLeer
 \( f(x_1,x_2) = 2\begin{cases} \frac{x_1x_2}{x_1+x_2} &\text{ if } x_1x_2 > 0 \\ 0 & \text { else } \end{cases} \) More...
 
struct  dg::Upwind
 \( \text{up}(v, b, f ) = \begin{cases} b &\text{ if } v \geq 0 \\ f &\text{ else} \end{cases} \) More...
 
struct  dg::UpwindProduct
 \( \text{up}(v, b, f ) = v \begin{cases} b &\text{ if } v \geq 0 \\ f &\text{ else} \end{cases} \) More...
 
struct  dg::SlopeLimiter< Limiter >
 \( \text{up}(v, g_m, g_0, g_p, h_m, h_p ) = \begin{cases} +h_m \Lambda( g_0, g_m) &\text{ if } v \geq 0 \\ -h_p \Lambda( g_p, g_0) &\text{ else} \end{cases} \) More...
 
struct  dg::SlopeLimiterProduct< Limiter >
 \( \text{up}(v, g_m, g_0, g_p, h_m, h_p ) = v \begin{cases} +h_m \Lambda( g_0, g_m) &\text{ if } v \geq 0 \\ -h_p \Lambda( g_p, g_0) &\text{ else} \end{cases} \) More...
 
struct  dg::IDENTITY
 \( f(x) = x\) More...
 

Functions

static DG_DEVICE double dg::one (double x)
 \( f(x) = 1\) More...
 
static DG_DEVICE double dg::one (double x, double y)
 \( f(x,y) = 1\) More...
 
static DG_DEVICE double dg::one (double x, double y, double z)
 \( f(x,y,z) = 1\) More...
 
static DG_DEVICE double dg::zero (double x)
 \( f(x) = 0\) More...
 
static DG_DEVICE double dg::zero (double x, double y)
 \( f(x,y) = 0\) More...
 
static DG_DEVICE double dg::zero (double x, double y, double z)
 \( f(x,y,z) = 0\) More...
 
static DG_DEVICE double dg::cooX1d (double x)
 \( f(x) = x\) More...
 
static DG_DEVICE double dg::cooX2d (double x, double y)
 \( f(x,y) = x\) More...
 
static DG_DEVICE double dg::cooX3d (double x, double y, double z)
 \( f(x,y,z) = x\) More...
 
static DG_DEVICE double dg::cooY2d (double x, double y)
 \( f(x,y) = y\) More...
 
static DG_DEVICE double dg::cooY3d (double x, double y, double z)
 \( f(x,y,z) = y\) More...
 
static DG_DEVICE double dg::cooZ3d (double x, double y, double z)
 \( f(x,y,z) = z\) More...
 
static DG_DEVICE double dg::cooRZP2X (double R, double Z, double P)
 \( x = R\sin(\varphi)\) More...
 
static DG_DEVICE double dg::cooRZP2Y (double R, double Z, double P)
 \( y = R\cos(\varphi)\) More...
 
static DG_DEVICE double dg::cooRZP2Z (double R, double Z, double P)
 \( z = Z\) More...
 
static DG_DEVICE float dg::one (float x)
 \( f(x) = 1\) More...
 
static DG_DEVICE float dg::one (float x, float y)
 \( f(x,y) = 1\) More...
 
static DG_DEVICE float dg::one (float x, float y, float z)
 \( f(x,y,z) = 1\) More...
 
static DG_DEVICE float dg::zero (float x)
 \( f(x) = 0\) More...
 
static DG_DEVICE float dg::zero (float x, float y)
 \( f(x,y) = 0\) More...
 
static DG_DEVICE float dg::zero (float x, float y, float z)
 \( f(x,y,z) = 0\) More...
 

Detailed Description

For the dg::evaluate and dg::blas1::evaluate functions.

Function Documentation

◆ cooRZP2X()

static DG_DEVICE double dg::cooRZP2X ( double  R,
double  Z,
double  P 
)
inlinestatic

\( x = R\sin(\varphi)\)

◆ cooRZP2Y()

static DG_DEVICE double dg::cooRZP2Y ( double  R,
double  Z,
double  P 
)
inlinestatic

\( y = R\cos(\varphi)\)

◆ cooRZP2Z()

static DG_DEVICE double dg::cooRZP2Z ( double  R,
double  Z,
double  P 
)
inlinestatic

\( z = Z\)

◆ cooX1d()

static DG_DEVICE double dg::cooX1d ( double  x)
inlinestatic

\( f(x) = x\)

◆ cooX2d()

static DG_DEVICE double dg::cooX2d ( double  x,
double  y 
)
inlinestatic

\( f(x,y) = x\)

◆ cooX3d()

static DG_DEVICE double dg::cooX3d ( double  x,
double  y,
double  z 
)
inlinestatic

\( f(x,y,z) = x\)

◆ cooY2d()

static DG_DEVICE double dg::cooY2d ( double  x,
double  y 
)
inlinestatic

\( f(x,y) = y\)

◆ cooY3d()

static DG_DEVICE double dg::cooY3d ( double  x,
double  y,
double  z 
)
inlinestatic

\( f(x,y,z) = y\)

◆ cooZ3d()

static DG_DEVICE double dg::cooZ3d ( double  x,
double  y,
double  z 
)
inlinestatic

\( f(x,y,z) = z\)

◆ one() [1/6]

static DG_DEVICE double dg::one ( double  x)
inlinestatic

\( f(x) = 1\)

◆ one() [2/6]

static DG_DEVICE double dg::one ( double  x,
double  y 
)
inlinestatic

\( f(x,y) = 1\)

◆ one() [3/6]

static DG_DEVICE double dg::one ( double  x,
double  y,
double  z 
)
inlinestatic

\( f(x,y,z) = 1\)

◆ one() [4/6]

static DG_DEVICE float dg::one ( float  x)
inlinestatic

\( f(x) = 1\)

◆ one() [5/6]

static DG_DEVICE float dg::one ( float  x,
float  y 
)
inlinestatic

\( f(x,y) = 1\)

◆ one() [6/6]

static DG_DEVICE float dg::one ( float  x,
float  y,
float  z 
)
inlinestatic

\( f(x,y,z) = 1\)

◆ zero() [1/6]

static DG_DEVICE double dg::zero ( double  x)
inlinestatic

\( f(x) = 0\)

◆ zero() [2/6]

static DG_DEVICE double dg::zero ( double  x,
double  y 
)
inlinestatic

\( f(x,y) = 0\)

◆ zero() [3/6]

static DG_DEVICE double dg::zero ( double  x,
double  y,
double  z 
)
inlinestatic

\( f(x,y,z) = 0\)

◆ zero() [4/6]

static DG_DEVICE float dg::zero ( float  x)
inlinestatic

\( f(x) = 0\)

◆ zero() [5/6]

static DG_DEVICE float dg::zero ( float  x,
float  y 
)
inlinestatic

\( f(x,y) = 0\)

◆ zero() [6/6]

static DG_DEVICE float dg::zero ( float  x,
float  y,
float  z 
)
inlinestatic

\( f(x,y,z) = 0\)