Neko 1.99.1
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
vector_math Module Reference

Functions/Subroutines

subroutine, public vector_rzero (a, n)
 Zero a real vector.
 
subroutine, public vector_rone (a, n)
 Set all elements to one.
 
subroutine, public vector_copy (a, b, n)
 Copy a vector \( a = b \).
 
subroutine, public vector_cmult (a, c, n)
 Multiplication by constant c \( a = c \cdot a \).
 
subroutine, public vector_cadd (a, s, n)
 Add a scalar to vector \( a = \sum a_i + s \).
 
subroutine, public vector_cfill (a, c, n)
 Set all elements to a constant c \( a = c \).
 
subroutine, public vector_invcol1 (a, n)
 Invert a vector \( a = 1 / a \).
 
subroutine, public vector_invcol3 (a, b, c, n)
 Invert a vector \( a = b / c \).
 
subroutine, public vector_vdot3 (dot, u1, u2, u3, v1, v2, v3, n)
 Compute a dot product \( dot = u \cdot v \) (3-d version) assuming vector components \( u = (u_1, u_2, u_3) \) etc.
 
subroutine, public vector_add2 (a, b, n)
 Vector addition \( a = a + b \).
 
subroutine, public vector_add3 (a, b, c, n)
 Vector addition \( a = b + c \).
 
subroutine vector_add4 (a, b, c, d, n)
 Vector addition \( a = b + c + d \).
 
subroutine, public vector_sub2 (a, b, n)
 Vector substraction \( a = a - b \).
 
subroutine, public vector_sub3 (a, b, c, n)
 Vector subtraction \( a = b - c \).
 
subroutine, public vector_add2s1 (a, b, c1, n)
 Vector addition with scalar multiplication \( a = c_1 a + b \) (multiplication on first argument)
 
subroutine, public vector_add2s2 (a, b, c1, n)
 Vector addition with scalar multiplication \( a = a + c_1 b \) (multiplication on second argument)
 
subroutine, public vector_addsqr2s2 (a, b, c1, n)
 Returns \( a = a + c1 * (b * b )\).
 
subroutine, public vector_cmult2 (a, b, c, n)
 Multiplication by constant c \( a = c \cdot b \).
 
subroutine, public vector_invcol2 (a, b, n)
 Vector division \( a = a / b \).
 
subroutine, public vector_col2 (a, b, n)
 Vector multiplication \( a = a \cdot b \).
 
subroutine, public vector_col3 (a, b, c, n)
 Vector multiplication with 3 vectors \( a = b \cdot c \).
 
subroutine, public vector_subcol3 (a, b, c, n)
 Returns \( a = a - b*c \).
 
subroutine, public vector_add3s2 (a, b, c, c1, c2, n)
 Returns \( a = c1 * b + c2 * c \).
 
subroutine, public vector_addcol3 (a, b, c, n)
 Returns \( a = a + b*c \).
 
subroutine, public vector_addcol4 (a, b, c, d, n)
 Returns \( a = a + b*c*d \).
 
real(kind=rp) function, public vector_glsum (a, n)
 
real(kind=rp) function, public vector_glsc2 (a, b, n)
 
real(kind=rp) function, public vector_glsc3 (a, b, c, n)
 
real(kind=rp) function, public vector_glsubnorm (a, b, n)
 
subroutine, public vector_masked_gather_copy_0 (a, b, mask, n, n_mask)
 Gather a vector to reduced contigous array \( a = b(mask) \).
 
subroutine, public vector_masked_scatter_copy_0 (a, b, mask, n, n_mask)
 Gather a contigous array into a vector \( a(mask) = b \).
 

Function/Subroutine Documentation

◆ vector_add2()

subroutine, public vector_math::vector_add2 ( type(vector_t), intent(inout a,
type(vector_t), intent(in b,
integer, intent(in), optional  n 
)

Definition at line 282 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_add2s1()

subroutine, public vector_math::vector_add2s1 ( type(vector_t), intent(inout a,
type(vector_t), intent(inout b,
real(kind=rp), intent(in c1,
integer, intent(in), optional  n 
)

Definition at line 390 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_add2s2()

subroutine, public vector_math::vector_add2s2 ( type(vector_t), intent(inout a,
type(vector_t), intent(inout b,
real(kind=rp), intent(in c1,
integer, intent(in), optional  n 
)

Definition at line 413 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_add3()

subroutine, public vector_math::vector_add3 ( type(vector_t), intent(inout a,
type(vector_t), intent(in b,
type(vector_t), intent(in c,
integer, intent(in), optional  n 
)

Definition at line 303 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_add3s2()

subroutine, public vector_math::vector_add3s2 ( type(vector_t), intent(inout a,
type(vector_t), intent(in b,
type(vector_t), intent(in c,
real(kind=rp), intent(in c1,
real(kind=rp), intent(in c2,
integer, intent(in), optional  n 
)

Definition at line 566 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_add4()

subroutine vector_math::vector_add4 ( type(vector_t), intent(inout a,
type(vector_t), intent(in b,
type(vector_t), intent(in c,
type(vector_t), intent(in d,
integer, intent(in), optional  n 
)
private

Definition at line 324 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_addcol3()

subroutine, public vector_math::vector_addcol3 ( type(vector_t), intent(inout a,
type(vector_t), intent(in b,
type(vector_t), intent(in c,
integer, intent(in), optional  n 
)

Definition at line 589 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_addcol4()

subroutine, public vector_math::vector_addcol4 ( type(vector_t), intent(inout a,
type(vector_t), intent(in b,
type(vector_t), intent(in c,
type(vector_t), intent(in d,
integer, intent(in), optional  n 
)

Definition at line 611 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_addsqr2s2()

subroutine, public vector_math::vector_addsqr2s2 ( type(vector_t), intent(inout a,
type(vector_t), intent(in b,
real(kind=rp), intent(in c1,
integer, intent(in), optional  n 
)

Definition at line 435 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_cadd()

subroutine, public vector_math::vector_cadd ( type(vector_t), intent(inout a,
real(kind=rp), intent(in s,
integer, intent(in), optional  n 
)

Definition at line 171 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_cfill()

subroutine, public vector_math::vector_cfill ( type(vector_t), intent(inout a,
real(kind=rp), intent(in c,
integer, intent(in), optional  n 
)

Definition at line 191 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_cmult()

subroutine, public vector_math::vector_cmult ( type(vector_t), intent(inout a,
real(kind=rp), intent(in c,
integer, intent(in), optional  n 
)

Definition at line 151 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_cmult2()

subroutine, public vector_math::vector_cmult2 ( type(vector_t), intent(inout a,
type(vector_t), intent(in b,
real(kind=rp), intent(in c,
integer, intent(in), optional  n 
)

Definition at line 457 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_col2()

subroutine, public vector_math::vector_col2 ( type(vector_t), intent(inout a,
type(vector_t), intent(in b,
integer, intent(in), optional  n 
)

Definition at line 501 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_col3()

subroutine, public vector_math::vector_col3 ( type(vector_t), intent(inout a,
type(vector_t), intent(in b,
type(vector_t), intent(in c,
integer, intent(in), optional  n 
)

Definition at line 522 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_copy()

subroutine, public vector_math::vector_copy ( type(vector_t), intent(inout a,
type(vector_t), intent(in b,
integer, intent(in), optional  n 
)

Definition at line 131 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_glsc2()

real(kind=rp) function, public vector_math::vector_glsc2 ( type(vector_t), intent(in a,
type(vector_t), intent(in b,
integer, intent(in), optional  n 
)

Definition at line 653 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_glsc3()

real(kind=rp) function, public vector_math::vector_glsc3 ( type(vector_t), intent(in a,
type(vector_t), intent(in b,
type(vector_t), intent(in c,
integer, intent(in), optional  n 
)

Definition at line 673 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_glsubnorm()

real(kind=rp) function, public vector_math::vector_glsubnorm ( type(vector_t), intent(in a,
type(vector_t), intent(in b,
integer, intent(in), optional  n 
)

Definition at line 693 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_glsum()

real(kind=rp) function, public vector_math::vector_glsum ( type(vector_t), intent(in a,
integer, intent(in), optional  n 
)

Definition at line 633 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_invcol1()

subroutine, public vector_math::vector_invcol1 ( type(vector_t), intent(inout a,
integer, intent(in), optional  n 
)

Definition at line 211 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_invcol2()

subroutine, public vector_math::vector_invcol2 ( type(vector_t), intent(inout a,
type(vector_t), intent(in b,
integer, intent(in), optional  n 
)

Definition at line 479 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_invcol3()

subroutine, public vector_math::vector_invcol3 ( type(vector_t), intent(inout a,
type(vector_t), intent(in b,
type(vector_t), intent(in c,
integer, intent(in), optional  n 
)

Definition at line 231 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_masked_gather_copy_0()

subroutine, public vector_math::vector_masked_gather_copy_0 ( real(kind=rp), dimension(n_mask), intent(inout a,
type(vector_t b,
integer, dimension(0:n_mask mask,
integer, intent(in n,
integer, intent(in n_mask 
)
Parameters
aDestination array of size n_mask.
bSource array of size n.
maskMask array of length n_mask + 1, where mask(0) = n_mask the length of the mask array.
nSize of the vector b.
n_maskSize of the mask array mask and a.

Definition at line 721 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_masked_scatter_copy_0()

subroutine, public vector_math::vector_masked_scatter_copy_0 ( type(vector_t), intent(inout a,
real(kind=rp), dimension(n_mask), intent(in b,
integer, dimension(0:n_mask mask,
integer, intent(in n,
integer, intent(in n_mask 
)
Parameters
aDestination vector.
bSource array of size n_mask.
maskMask array of length n_mask + 1, where mask(0) = n_mask the length of the mask array.
nSize of the vector a.
n_maskSize of the mask array mask and b.

Definition at line 746 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_rone()

subroutine, public vector_math::vector_rone ( type(vector_t), intent(inout a,
integer, intent(in), optional  n 
)

Definition at line 112 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_rzero()

subroutine, public vector_math::vector_rzero ( type(vector_t), intent(inout a,
integer, intent(in), optional  n 
)

Definition at line 93 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_sub2()

subroutine, public vector_math::vector_sub2 ( type(vector_t), intent(inout a,
type(vector_t), intent(inout b,
integer, intent(in), optional  n 
)

Definition at line 345 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_sub3()

subroutine, public vector_math::vector_sub3 ( type(vector_t), intent(inout a,
type(vector_t), intent(in b,
type(vector_t), intent(in c,
integer, intent(in), optional  n 
)

Definition at line 366 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_subcol3()

subroutine, public vector_math::vector_subcol3 ( type(vector_t), intent(inout a,
type(vector_t), intent(in b,
type(vector_t), intent(in c,
integer, intent(in), optional  n 
)

Definition at line 544 of file vector_math.f90.

Here is the call graph for this function:

◆ vector_vdot3()

subroutine, public vector_math::vector_vdot3 ( type(vector_t), intent(out dot,
type(vector_t), intent(in u1,
type(vector_t), intent(in u2,
type(vector_t), intent(in u3,
type(vector_t), intent(in v1,
type(vector_t), intent(in v2,
type(vector_t), intent(in v3,
integer, intent(in), optional  n 
)

Definition at line 254 of file vector_math.f90.

Here is the call graph for this function: