ply_calcDiff_leg_normal Subroutine

public subroutine ply_calcDiff_leg_normal(legCoeffs, legCoeffsDiff, mPd, nVars, elemLength, iDir, dirVec)

do IDeg1 = 1, mPd+1 do IDeg2 = 1, mPd=1 !! iDeg2 = mod(iDeg-1,mpd+1)+1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

do iDeg1 = 1, mPd+1 do iDeg2 = 1, mPd+1 do iDeg3 = 1, mPd+1 leg = (/iDeg1, iDeg2, iDeg3/) dofPos = 1 + (iDeg1-1) & & + (iDeg2-1)(mPd+1) & & + (iDeg3-1)(mPd+1)(mPd+1) legCoeffsDiff(dofPos,:,iDir) = legCoeffsDiff(dofPos,:,iDir) & & * (2.0_rk/elemLength) & & * (2.0_rkleg(iDir) - 1.0_rk) end do end do end do

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(in) :: legCoeffs(:,:)
real(kind=rk), intent(inout) :: legCoeffsDiff(:,:)

Modal expansion of the derivative of legCoeffs in terms of Legendre modal coefficients. \n First index is the number of modal coefficients. \n Second index is the number of velocity components \n Third index is the number of partial derivatives, i.e. 3 in 3D.

integer, intent(in) :: mPd
integer, intent(in) :: nVars

The number of varibales to differentiate

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

The physical length of the element to build the derivatives for.

integer, intent(in) :: iDir

The direction to differentiate

integer, optional :: dirVec(3)

The direction vector for the rotation


Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iVar
integer, private :: dofPos
integer, private :: dofPosPrev
integer, private :: dofPos2Prev
integer, private :: leg(3)
integer, private :: iDeg
integer, private :: iDeg1
integer, private :: iDeg2
integer, private :: iDeg3
integer, private :: DV(3)