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 env_module env_module module~ply_leg_diff_module->env_module

Used by

  • module~~ply_leg_diff_module~~UsedByGraph module~ply_leg_diff_module ply_leg_diff_module module~atl_eqn_filnvrstk_var_module atl_eqn_filNvrStk_var_module module~atl_eqn_filnvrstk_var_module->module~ply_leg_diff_module module~atl_operator_module atl_operator_module module~atl_eqn_filnvrstk_var_module->module~atl_operator_module module~atl_modg_1d_heat_kernel_module atl_modg_1d_heat_kernel_module module~atl_modg_1d_heat_kernel_module->module~ply_leg_diff_module module~atl_modg_1d_kernel_module atl_modg_1d_kernel_module module~atl_modg_1d_kernel_module->module~ply_leg_diff_module module~atl_modg_2d_heat_kernel_module atl_modg_2d_heat_kernel_module module~atl_modg_2d_heat_kernel_module->module~ply_leg_diff_module module~atl_modg_heat_kernel_module atl_modg_heat_kernel_module module~atl_modg_heat_kernel_module->module~ply_leg_diff_module module~atl_operator_module->module~ply_leg_diff_module module~atl_voltoface_module atl_volToFace_module module~atl_voltoface_module->module~ply_leg_diff_module proc~modg_2d_compute_project_physflux modg_2d_compute_project_physFlux proc~modg_2d_compute_project_physflux->module~ply_leg_diff_module proc~modg_2d_compute_project_physflux->module~atl_modg_2d_heat_kernel_module proc~modg_compute_project_physflux modg_compute_project_physFlux proc~modg_compute_project_physflux->module~ply_leg_diff_module module~atl_container_module atl_container_module module~atl_container_module->module~atl_modg_1d_kernel_module module~atl_eqn_euler_1d_var_module atl_eqn_euler_1d_var_module module~atl_eqn_euler_1d_var_module->module~atl_operator_module module~atl_eqn_euler_2d_var_module atl_eqn_euler_2d_var_module module~atl_eqn_euler_2d_var_module->module~atl_operator_module module~atl_eqn_euler_var_module atl_eqn_euler_var_module module~atl_eqn_euler_var_module->module~atl_operator_module module~atl_eqn_filnvrstk_hlp_module atl_eqn_filnvrStk_hlp_module module~atl_eqn_filnvrstk_hlp_module->module~atl_eqn_filnvrstk_var_module module~atl_eqn_nvrstk_var_module atl_eqn_nvrstk_var_module module~atl_eqn_nvrstk_var_module->module~atl_operator_module module~atl_initialize_module atl_initialize_module module~atl_initialize_module->module~atl_operator_module module~atl_modg_2d_kernel_module atl_modg_2d_kernel_module module~atl_modg_2d_kernel_module->module~atl_voltoface_module module~atl_modg_kernel_module atl_modg_kernel_module module~atl_modg_kernel_module->module~atl_voltoface_module module~atl_physfluxfilnvrstk_module atl_physFluxFilNvrStk_module module~atl_physfluxfilnvrstk_module->module~atl_eqn_filnvrstk_var_module module~atl_source_module atl_source_module module~atl_source_module->module~atl_operator_module proc~compute_rhs_cubes_modg compute_rhs_cubes_modg proc~compute_rhs_cubes_modg->module~atl_modg_heat_kernel_module proc~compute_rhs_cubes_modg_1d compute_rhs_cubes_modg_1d proc~compute_rhs_cubes_modg_1d->module~atl_modg_1d_heat_kernel_module proc~compute_rhs_cubes_modg_1d->module~atl_modg_1d_kernel_module proc~compute_rhs_cubes_modg_2d compute_rhs_cubes_modg_2d proc~compute_rhs_cubes_modg_2d->module~atl_modg_2d_heat_kernel_module proc~modg_1d_compute_project_physflux modg_1d_compute_project_physFlux proc~modg_1d_compute_project_physflux->module~atl_modg_1d_heat_kernel_module proc~modg_1d_compute_project_physflux->module~atl_modg_1d_kernel_module proc~postprocess_rhs_cubes postprocess_rhs_cubes proc~postprocess_rhs_cubes->module~atl_modg_1d_kernel_module proc~preprocess_rhs_cubes preprocess_rhs_cubes proc~preprocess_rhs_cubes->module~atl_modg_1d_kernel_module proc~preprocess_rhs_cubes->module~atl_voltoface_module

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

Type IntentOptional 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

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

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

Arguments

Type IntentOptional 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. * 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

Type IntentOptional 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. * 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

Type IntentOptional 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. * 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

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

The direction vector for the rotation

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

Arguments

Type IntentOptional 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) :: 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

Type IntentOptional 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) :: 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

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

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

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