ply_legFpt_3D_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_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

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

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

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

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

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

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

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

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

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

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