tem_math_module Module

Some generic matrix and vector function

Interfaces

• private function tem_intp_trilinearReduced_scal(srcVal, targetCoord) result(phi)

This function returns the tri-linearly interpolated values from the seven source points to the target position located at targetCoord. The source points are arranged in a square from (0,0,0)x(1,1,1) The order of the source points are according to the morton curve

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(in) :: srcVal(7)

source values of the square corners

real(kind=rk), intent(in) :: targetCoord(3)

interpolation location within the square

Return Value real(kind=rk)

interpolated value

• private function tem_intp_trilinearReduced_vect(srcVal, targetCoord, nSize) result(phi)

This function returns the tri-linearly interpolated values from the seven source points to the target position located at targetCoord. The source points are arranged in a square from (0,0,0)x(1,1,1) The order of the source points are according to the morton curve

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(in) :: srcVal(nSize,7)

source values of the square corners

real(kind=rk), intent(in) :: targetCoord(3)

interpolation location within the square

integer, intent(in) :: nSize

vector size

Return Value real(kind=rk)(nSize)

interpolated value

Functions

public pure function cross_product3D(a, b) result(cross)

This function calculate the cross product of two 3D vector

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(in) :: a(3)

input vector a

real(kind=rk), intent(in) :: b(3)

input vector b

Return Value real(kind=rk)(3)

resulting cross produkt

public function inamuroDelta3D(r, dx) result(res)

This function calculates the delta function used in the paper of Ota et al. [7] (bibliography of treelm) for a vector by multiplying the results of the 1D version.

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(in) :: r(3)

input point coordinates

real(kind=rk), intent(in) :: dx

spatial discretization

Return Value real(kind=rk)

resulting value of the 3D delta function

private function tem_intp_trilinearReduced_scal(srcVal, targetCoord) result(phi)

This function returns the tri-linearly interpolated values from the seven source points to the target position located at targetCoord. The source points are arranged in a square from (0,0,0)x(1,1,1) The order of the source points are according to the morton curve

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(in) :: srcVal(7)

source values of the square corners

real(kind=rk), intent(in) :: targetCoord(3)

interpolation location within the square

Return Value real(kind=rk)

interpolated value

private function tem_intp_trilinearReduced_vect(srcVal, targetCoord, nSize) result(phi)

This function returns the tri-linearly interpolated values from the seven source points to the target position located at targetCoord. The source points are arranged in a square from (0,0,0)x(1,1,1) The order of the source points are according to the morton curve

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(in) :: srcVal(nSize,7)

source values of the square corners

real(kind=rk), intent(in) :: targetCoord(3)

interpolation location within the square

integer, intent(in) :: nSize

vector size

Return Value real(kind=rk)(nSize)

interpolated value

private function inamuroDelta1D(r) result(res)

This function calculates the delta function used in the paper of Ota et al. [7] (bibliography of treelm) for a single value.

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(in) :: r

input point coordinate

Return Value real(kind=rk)

resulting value of the 1D delta function