getGradRhoUVZ_3D Function

private pure function getGradRhoUVZ_3D(auxField, gradData, velPos, densPos, nDims, nAuxScalars, nSolve, elemOffset) result(gradRhoUVZ)

This function computes gradient of rho * velocity^3 from gradient, density and veleocity data. Just derivatives u_x, v_y and w_z. Gradient is computed using central difference. if an element has an boundary then neighbor refers to current element then forward difference is used.


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


type(mus_gradData_type), intent(in) :: gradData

gradient data

integer, intent(in) :: velPos(3)

Position of velocity field in auxField

integer, intent(in) :: densPos

Position of velocity field in auxField

integer, intent(in) :: nDims


integer, intent(in) :: nAuxScalars

Number of scalars in auxField array

integer, intent(in) :: nSolve

Number of element to solve in this level

integer, intent(in) :: elemOffset

Offset for elements when computing chunkwise

Return Value real(kind=rk)(nDims,nSolve)

output: gradient of velocity



integer, private :: iElem
integer, private :: elempos
integer, private :: leftngh(3)
integer, private :: rightngh(3)
real(kind=rk), private :: leftvel(3)
real(kind=rk), private :: rightvel(3)