ply_legFpt_3D_module Module

Module providing datatypes and routines for a fast transformation of Legendre expansion to point values. \author{Jens Zudrop}


Uses

  • module~~ply_legfpt_3d_module~~UsesGraph module~ply_legfpt_3d_module ply_legFpt_3D_module module~ply_legfpt_module ply_legFpt_module module~ply_legfpt_3d_module->module~ply_legfpt_module module~env_module env_module module~ply_legfpt_3d_module->module~env_module iso_c_binding iso_c_binding module~ply_legfpt_3d_module->iso_c_binding fftw_wrap fftw_wrap module~ply_legfpt_3d_module->fftw_wrap module~ply_legfpt_module->module~env_module module~ply_legfpt_module->iso_c_binding module~ply_legfpt_module->fftw_wrap module~ply_fpt_header_module ply_fpt_header_module module~ply_legfpt_module->module~ply_fpt_header_module module~tem_compileconf_module tem_compileconf_module module~ply_legfpt_module->module~tem_compileconf_module module~ply_polybaseexc_module ply_polyBaseExc_module module~ply_legfpt_module->module~ply_polybaseexc_module module~ply_fpt_header_module->module~env_module module~ply_fpt_header_module->module~tem_compileconf_module module~aotus_module aotus_module module~ply_fpt_header_module->module~aotus_module module~aot_out_module aot_out_module module~ply_fpt_header_module->module~aot_out_module module~tem_logging_module tem_logging_module module~ply_fpt_header_module->module~tem_logging_module module~tem_aux_module tem_aux_module module~ply_fpt_header_module->module~tem_aux_module module~tem_float_module tem_float_module module~ply_fpt_header_module->module~tem_float_module module~ply_nodes_header_module ply_nodes_header_module module~ply_fpt_header_module->module~ply_nodes_header_module module~tem_tools_module tem_tools_module module~ply_fpt_header_module->module~tem_tools_module module~ply_polybaseexc_module->module~env_module module~ply_polybaseexc_module->iso_c_binding module~ply_polybaseexc_module->fftw_wrap module~ply_polybaseexc_module->module~ply_fpt_header_module module~ply_polybaseexc_module->module~tem_logging_module module~tem_gamma_module tem_gamma_module module~ply_polybaseexc_module->module~tem_gamma_module module~ply_polybaseexc_module->module~tem_float_module module~tem_param_module tem_param_module module~ply_polybaseexc_module->module~tem_param_module module~ply_nodes_header_module->module~env_module

Used by

  • module~~ply_legfpt_3d_module~~UsedByGraph module~ply_legfpt_3d_module ply_legFpt_3D_module module~ply_poly_project_module ply_poly_project_module module~ply_poly_project_module->module~ply_legfpt_3d_module

Contents


Interfaces

public interface ply_LegTopnt_3D

  • private subroutine ply_legToPnt_3D_multVar(fpt, legCoeffs, pntVal, nVars)

    Subroutine to transform Legendre expansion to point values at Chebyshev nodes. VK: no multivar fashion of this routine is used anymore

    Arguments

    TypeIntentOptionalAttributesName
    type(ply_legFpt_type), intent(inout) :: fpt
    real(kind=rk), intent(inout) :: legCoeffs(:,:)

    The Legendre coefficients to convert to point values (Chebyshev nodes). \attention Although this array serves as input only, it is modified inside of this routine by the underlying FPT algorithm. So, when this routine returns from its call the original values of pntVal will be modified.

    real(kind=rk), intent(inout) :: pntVal(:,:)
    integer, intent(in) :: nVars
  • private subroutine ply_legToPnt_3D_singvar(fpt, legCoeffs, pntVal)

    Arguments

    TypeIntentOptionalAttributesName
    type(ply_legFpt_type), intent(inout) :: fpt

    The FPT parameters.

    real(kind=rk), intent(inout) :: legCoeffs(:)

    The Legendre coefficients to convert to point values (Chebyshev nodes). \attention Although this array serves as input only, it is modified inside of this routine by the underlying FPT algorithm. So, when this routine returns from its call the original values of pntVal will be modified.

    real(kind=rk), intent(inout) :: pntVal(:)

public interface ply_pntToLeg_3D

  • private subroutine ply_pntToLeg_3D_multVar(fpt, pntVal, legCoeffs, nVars)

    Subroutine to transform Legendre expansion to point values at Chebyshev nodes.

    Arguments

    TypeIntentOptionalAttributesName
    type(ply_legFpt_type), intent(inout) :: fpt
    real(kind=rk), intent(inout) :: pntVal(:,:)

    The point values to transform to 3D modal Legendre expansion. \attention Although this array serves as input only, it is modified inside of this routine by the underlying DCT algorithm. So, when this routine returns from its call the original values of pntVal will be modified.

    real(kind=rk), intent(inout) :: legCoeffs(:,:)
    integer, intent(in) :: nVars
  • private subroutine ply_pntToLeg_3D_singVar(fpt, pntVal, legCoeffs)

    Subroutine to transform Legendre expansion to point values at Chebyshev nodes.

    Arguments

    TypeIntentOptionalAttributesName
    type(ply_legFpt_type), intent(inout) :: fpt
    real(kind=rk), intent(inout) :: pntVal(:)

    The point values to transform to 3D modal Legendre expansion. \attention Although this array serves as input only, it is modified inside of this routine by the underlying DCT algorithm. So, when this routine returns from its call the original values of pntVal will be modified.

    real(kind=rk), intent(inout) :: legCoeffs(:)

Subroutines

private subroutine ply_legToPnt_3D_singvar(fpt, legCoeffs, pntVal)

Arguments

TypeIntentOptionalAttributesName
type(ply_legFpt_type), intent(inout) :: fpt

The FPT parameters.

real(kind=rk), intent(inout) :: legCoeffs(:)

The Legendre coefficients to convert to point values (Chebyshev nodes). \attention Although this array serves as input only, it is modified inside of this routine by the underlying FPT algorithm. So, when this routine returns from its call the original values of pntVal will be modified.

real(kind=rk), intent(inout) :: pntVal(:)

private subroutine ply_legToPnt_3D_multVar(fpt, legCoeffs, pntVal, nVars)

Subroutine to transform Legendre expansion to point values at Chebyshev nodes. VK: no multivar fashion of this routine is used anymore

Arguments

TypeIntentOptionalAttributesName
type(ply_legFpt_type), intent(inout) :: fpt
real(kind=rk), intent(inout) :: legCoeffs(:,:)

The Legendre coefficients to convert to point values (Chebyshev nodes). \attention Although this array serves as input only, it is modified inside of this routine by the underlying FPT algorithm. So, when this routine returns from its call the original values of pntVal will be modified.

real(kind=rk), intent(inout) :: pntVal(:,:)
integer, intent(in) :: nVars

private subroutine ply_pntToLeg_3D_multVar(fpt, pntVal, legCoeffs, nVars)

Subroutine to transform Legendre expansion to point values at Chebyshev nodes.

Arguments

TypeIntentOptionalAttributesName
type(ply_legFpt_type), intent(inout) :: fpt
real(kind=rk), intent(inout) :: pntVal(:,:)

The point values to transform to 3D modal Legendre expansion. \attention Although this array serves as input only, it is modified inside of this routine by the underlying DCT algorithm. So, when this routine returns from its call the original values of pntVal will be modified.

real(kind=rk), intent(inout) :: legCoeffs(:,:)
integer, intent(in) :: nVars

private subroutine ply_pntToLeg_3D_singVar(fpt, pntVal, legCoeffs)

Subroutine to transform Legendre expansion to point values at Chebyshev nodes.

Arguments

TypeIntentOptionalAttributesName
type(ply_legFpt_type), intent(inout) :: fpt
real(kind=rk), intent(inout) :: pntVal(:)

The point values to transform to 3D modal Legendre expansion. \attention Although this array serves as input only, it is modified inside of this routine by the underlying DCT algorithm. So, when this routine returns from its call the original values of pntVal will be modified.

real(kind=rk), intent(inout) :: legCoeffs(:)