ply_legFpt_2D_module Module

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



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

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

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

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

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

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

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

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

Type IntentOptional Attributes Name
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.