ply_leg_diff_module Module

ply_leg_diff_module

This module contains the subroutine for differentiation of the legendre Polynomials in 1D, 2D and 3D.


Uses

  • module~~ply_leg_diff_module~~UsesGraph module~ply_leg_diff_module ply_leg_diff_module module~env_module env_module module~ply_leg_diff_module->module~env_module

Contents


Subroutines

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 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Read more…

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

public subroutine ply_calcDiff_leg_x_vec(legCoeffs, legCoeffsDiff, mPd, nVars, elemLength)

Compute the derivative in X direction for 3D Legendre polynomial.

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. * First index is the number of modal coefficients. * Second index is the number of variable components

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.

public subroutine ply_calcDiff_leg_y_vec(legCoeffs, legCoeffsDiff, mPd, nVars, elemLength)

Compute the derivative in Y direction for 3D Legendre polynomial.

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. * First index is the number of modal coefficients. * Second index is the number of variable components

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.

public subroutine ply_calcDiff_leg_z_vec(legCoeffs, legCoeffsDiff, mPd, nVars, elemLength)

Compute the derivative in Y direction for 3D Legendre polynomial.

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. * First index is the number of modal coefficients. * Second index is the number of variable components

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.

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

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(2)

The direction vector for the rotation

public subroutine ply_calcDiff_leg(legCoeffs, legCoeffsDiff, maxPolyDegree, nVars, elemLength)

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) :: maxPolyDegree
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.

public subroutine ply_calcDiff_leg_2d(legCoeffs, legCoeffsDiff, maxPolyDegree, nVars, elemLength)

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) :: maxPolyDegree
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.

public subroutine ply_calcDiff_leg_1d(legCoeffs, legCoeffsDiff, maxPolyDegree, elemLength)

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 var components \n

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

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

private subroutine calcDiff_leg_normal_vec(legCoeffs, legCoeffsDiff, mPd, nVars, elemLength, iDir, dirVec)

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

Read more…

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