Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
Loading...
Searching...
No Matches
math_ext.f90 File Reference

Go to the source code of this file.

Modules

module  math_ext
 

Functions/Subroutines

subroutine math_ext::copy_mask (a, b, size, mask, mask_size)
 Copy within a mask. NOTE, this differs from masked_copy in the indexing. \( a_i = b_i, for i in mask \).
 
subroutine math_ext::cadd_mask (a, c, size, mask, mask_size)
 Add a constant to a masked vector. \( a_i = a_i + c, for i in mask \).
 
subroutine math_ext::invcol1_mask (a, size, mask, mask_size)
 Invert a masked vector. \( a_i = 1/a_i, for i in mask \).
 
subroutine math_ext::cmult_mask (a, c, size, mask, mask_size)
 Multiply a masked vector by a constant. \( a_i = c * a_i, for i in mask \).
 
subroutine math_ext::col2_mask (a, b, size, mask, mask_size)
 Multiply 2 masked vectors. Save the result in a new vector. \( a_i = b_i * c_i, for i in mask \).
 
subroutine math_ext::col3_mask (a, b, c, size, mask, mask_size)
 Multiply 2 masked vectors. Save the result in a new vector. \( a_i = b_i * c_i, for i in mask \).
 
subroutine math_ext::sub3_mask (a, b, c, size, mask, mask_size)
 Subtract 2 masked vectors. Save the result in a new vector. \( a_i = b_i - c_i, for i in mask \).
 
real(kind=rp) function math_ext::glsc2_mask (a, b, size, mask, mask_size)
 Weighted inner product \( a^T b \) for indices in the mask.