Some generic matrix and vector function
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 1234(0,0,0);(1,0,0);(0,1,0);(1,1,0)567(0,0,1);(1,0,1);(0,1,1)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
interpolated value
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
1234(0,0,0);(1,0,0);(0,1,0);(1,1,0)567(0,0,1);(1,0,1);(0,1,1)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
interpolated value
This function calculate the cross product of two 3D vector
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | a(3) |
input vector a |
||
real(kind=rk), | intent(in) | :: | b(3) |
input vector b |
resulting cross produkt
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. W(r)=w(r1Δx)⋅w(r2Δx)⋅w(r3Δx)⋅1Δx3
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | r(3) |
input point coordinates |
||
real(kind=rk), | intent(in) | :: | dx |
spatial discretization |
resulting value of the 3D delta function
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 1234(0,0,0);(1,0,0);(0,1,0);(1,1,0)567(0,0,1);(1,0,1);(0,1,1)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
interpolated value
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
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
interpolated value
This function calculates the delta function used in the paper of Ota et al. [7] (bibliography of treelm) for a single value. w(r)={18(3−2|r|+√1+4|r|−4r2),|r|≤118(5−2|r|+√−7+12|r|−4r2),1≤|r|≤20,else
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | r |
input point coordinate |
resulting value of the 1D delta function