ply_legFpt_2D_module Module

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


Uses

  • module~~ply_legfpt_2d_module~~UsesGraph module~ply_legfpt_2d_module ply_legFpt_2D_module iso_c_binding iso_c_binding module~ply_legfpt_2d_module->iso_c_binding module~env_module env_module module~ply_legfpt_2d_module->module~env_module fftw_wrap fftw_wrap module~ply_legfpt_2d_module->fftw_wrap module~ply_legfpt_module ply_legFpt_module module~ply_legfpt_2d_module->module~ply_legfpt_module module~ply_legfpt_module->iso_c_binding module~ply_legfpt_module->module~env_module module~ply_legfpt_module->fftw_wrap module~ply_polybaseexc_module ply_polyBaseExc_module module~ply_legfpt_module->module~ply_polybaseexc_module 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->iso_c_binding module~ply_polybaseexc_module->module~env_module module~ply_polybaseexc_module->fftw_wrap module~ply_polybaseexc_module->module~ply_fpt_header_module module~tem_logging_module tem_logging_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~tem_float_module tem_float_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_fpt_header_module->module~env_module module~ply_fpt_header_module->module~tem_compileconf_module module~ply_fpt_header_module->module~tem_logging_module module~tem_tools_module tem_tools_module module~ply_fpt_header_module->module~tem_tools_module module~aot_out_module aot_out_module module~ply_fpt_header_module->module~aot_out_module module~ply_nodes_header_module ply_nodes_header_module module~ply_fpt_header_module->module~ply_nodes_header_module module~aotus_module aotus_module module~ply_fpt_header_module->module~aotus_module module~ply_fpt_header_module->module~tem_float_module module~tem_aux_module tem_aux_module module~ply_fpt_header_module->module~tem_aux_module module~ply_nodes_header_module->module~env_module

Used by

  • module~~ply_legfpt_2d_module~~UsedByGraph module~ply_legfpt_2d_module ply_legFpt_2D_module module~ply_poly_project_module ply_poly_project_module module~ply_poly_project_module->module~ply_legfpt_2d_module module~sdr_proto2treelm_module sdr_proto2treelm_module module~sdr_proto2treelm_module->module~ply_poly_project_module module~ply_oversample_module ply_oversample_module module~sdr_proto2treelm_module->module~ply_oversample_module module~ply_oversample_module->module~ply_poly_project_module program~seeder seeder program~seeder->module~sdr_proto2treelm_module

Contents


Interfaces

public interface ply_legToPnt_2D

  • private subroutine ply_legToPnt_2D_singVar(fpt, legCoeffs, pntVal)

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

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

    The resulting point values (Chebyshev nodes).

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

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

    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(:,:)

    The resulting point values (Chebyshev nodes).

    integer, intent(in) :: nVars

    The number of scalar variables to transform.

public interface ply_pntToLeg_2D

  • private subroutine ply_pntToLeg_2D_singVar(fpt, pntVal, legCoeffs)

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

    Arguments

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

    Parameters of the Fast Polynomial transformation.

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

    The point values to transform to 2D 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(:)

    The Legendre coefficients.

  • private subroutine ply_pntToLeg_2D_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

    Parameters of the Fast Polynomial transformation.

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

    The point values to transform to 2D 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(:,:)

    The Legendre coefficients.

    integer, intent(in) :: nVars

    The number of scalar variables to transform.


Subroutines

private subroutine ply_legToPnt_2D_singVar(fpt, legCoeffs, pntVal)

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

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

The resulting point values (Chebyshev nodes).

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

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

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(:,:)

The resulting point values (Chebyshev nodes).

integer, intent(in) :: nVars

The number of scalar variables to transform.

private subroutine ply_pntToLeg_2D_singVar(fpt, pntVal, legCoeffs)

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

Arguments

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

Parameters of the Fast Polynomial transformation.

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

The point values to transform to 2D 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(:)

The Legendre coefficients.

private subroutine ply_pntToLeg_2D_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

Parameters of the Fast Polynomial transformation.

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

The point values to transform to 2D 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(:,:)

The Legendre coefficients.

integer, intent(in) :: nVars

The number of scalar variables to transform.