Neko
0.8.99
A portable framework for high-order spectral element flow simulations
|
Go to the source code of this file.
Modules | |
module | device_math |
Functions/Subroutines | |
subroutine, public | device_math::device_copy (a_d, b_d, n) |
Copy a vector \( a = b \). More... | |
subroutine, public | device_math::device_masked_copy (a_d, b_d, mask_d, n, m) |
Copy a masked vector \( a(mask) = b(mask) \). More... | |
subroutine, public | device_math::device_cfill_mask (a_d, c, size, mask_d, mask_size) |
Fill a constant to a masked vector. \( a_i = c, for i in mask \). More... | |
subroutine, public | device_math::device_rzero (a_d, n) |
Zero a real vector. More... | |
subroutine, public | device_math::device_rone (a_d, n) |
Set all elements to one. More... | |
subroutine, public | device_math::device_cmult (a_d, c, n) |
Multiplication by constant c \( a = c \cdot a \). More... | |
subroutine, public | device_math::device_cmult2 (a_d, b_d, c, n) |
Multiplication by constant c \( a = c \cdot b \). More... | |
subroutine, public | device_math::device_cadd (a_d, c, n) |
Add a scalar to vector \( a = a + s \). More... | |
subroutine, public | device_math::device_cadd2 (a_d, b_d, c, n) |
Add a scalar to vector \( a = b + s \). More... | |
subroutine, public | device_math::device_cfill (a_d, c, n) |
Set all elements to a constant c \( a = c \). More... | |
subroutine, public | device_math::device_add2 (a_d, b_d, n) |
Vector addition \( a = a + b \). More... | |
subroutine, public | device_math::device_add2s1 (a_d, b_d, c1, n) |
subroutine, public | device_math::device_add2s2 (a_d, b_d, c1, n) |
Vector addition with scalar multiplication \( a = c_1 a + b \) (multiplication on first argument) More... | |
subroutine, public | device_math::device_addsqr2s2 (a_d, b_d, c1, n) |
Returns \( a = a + c1 * (b * b )\). More... | |
subroutine, public | device_math::device_add3 (a_d, b_d, c_d, n) |
Vector addition \( a = b + c \). More... | |
subroutine, public | device_math::device_add3s2 (a_d, b_d, c_d, c1, c2, n) |
Returns \( a = c1 * b + c2 * c \). More... | |
subroutine, public | device_math::device_invcol1 (a_d, n) |
Invert a vector \( a = 1 / a \). More... | |
subroutine, public | device_math::device_invcol2 (a_d, b_d, n) |
Vector division \( a = a / b \). More... | |
subroutine, public | device_math::device_col2 (a_d, b_d, n) |
Vector multiplication \( a = a \cdot b \). More... | |
subroutine, public | device_math::device_col3 (a_d, b_d, c_d, n) |
Vector multiplication with 3 vectors \( a = b \cdot c \). More... | |
subroutine, public | device_math::device_subcol3 (a_d, b_d, c_d, n) |
Returns \( a = a - b*c \). More... | |
subroutine, public | device_math::device_sub2 (a_d, b_d, n) |
Vector substraction \( a = a - b \). More... | |
subroutine, public | device_math::device_sub3 (a_d, b_d, c_d, n) |
Vector subtraction \( a = b - c \). More... | |
subroutine, public | device_math::device_addcol3 (a_d, b_d, c_d, n) |
Returns \( a = a + b*c \). More... | |
subroutine, public | device_math::device_addcol4 (a_d, b_d, c_d, d_d, n) |
Returns \( a = a + b*c*d \). More... | |
subroutine, public | device_math::device_vdot3 (dot_d, u1_d, u2_d, u3_d, v1_d, v2_d, v3_d, n) |
Compute a dot product \( dot = u \cdot v \) (3-d version) assuming vector components \( u = (u_1, u_2, u_3) \) etc. More... | |
real(kind=rp) function, public | device_math::device_vlsc3 (u_d, v_d, w_d, n) |
Compute multiplication sum \( dot = u \cdot v \cdot w \). More... | |
real(kind=rp) function, public | device_math::device_glsc3 (a_d, b_d, c_d, n) |
Weighted inner product \( a^T b c \). More... | |
subroutine, public | device_math::device_glsc3_many (h, w_d, v_d_d, mult_d, j, n) |
subroutine, public | device_math::device_add2s2_many (y_d, x_d_d, a_d, j, n) |
real(kind=rp) function, public | device_math::device_glsc2 (a_d, b_d, n) |
Weighted inner product \( a^T b \). More... | |
real(kind=rp) function, public | device_math::device_glsum (a_d, n) |
Sum a vector of length n. More... | |