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
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |