ply_fxt_module Module

Fast polynomial transformation using the FXTPACK implementation of a fast multipole method.



Derived Types

type, public ::  ply_fxt_type

Components

Type Visibility Attributes Name Initial
type(fxtf_flptld_type), public :: flpt
real(kind=rk), public :: prec
integer, public :: ndims

Subroutines

public subroutine ply_init_fxt(fxt, header, degree)

Initialize the flpt data structure for fast legendre polynomial transformation via the fxtpack.

Arguments

Type IntentOptional Attributes Name
type(ply_fxt_type), intent(out) :: fxt

Handle to the resulting fast polynomial table.

type(ply_fxt_header_type), intent(in) :: header
integer, intent(in) :: degree

Polynomial degree.

public subroutine ply_fxt_m2n_1D(fxt, modal_data, nodal_data)

Convert modal data to nodal data in 1D using flpt.

Read more…

Arguments

Type IntentOptional Attributes Name
type(ply_fxt_type) :: fxt

Description of the Fast Legendre Polynomial Transform

real(kind=rk), intent(inout), target :: modal_data(:)

Modal data

real(kind=rk), intent(inout), target :: nodal_data(:)

Nodal data

public subroutine ply_fxt_m2n_2D(fxt, modal_data, nodal_data, oversamp_degree)

Convert modal data to nodal data in 2D using flpt.

Arguments

Type IntentOptional Attributes Name
type(ply_fxt_type) :: fxt

Description of the Fast Legendre Polynomial Transform

real(kind=rk), intent(inout), target :: modal_data(:)

Modal data

real(kind=rk), intent(inout), target :: nodal_data(:)

Nodal data

integer, intent(in) :: oversamp_degree

public subroutine ply_fxt_m2n_3D(fxt, modal_data, nodal_data, oversamp_degree)

Convert modal data to nodal data in 3D using flpt.

Arguments

Type IntentOptional Attributes Name
type(ply_fxt_type) :: fxt

Description of the Fast Legendre Polynomial Transform

real(kind=rk), intent(inout), target :: modal_data(:)

Modal data

real(kind=rk), intent(inout), target :: nodal_data(:)

Nodal data

integer, intent(in) :: oversamp_degree

public subroutine ply_fxt_n2m_1D(fxt, nodal_data, modal_data)

Convert nodal data to modal data using flpt.

Read more…

Arguments

Type IntentOptional Attributes Name
type(ply_fxt_type) :: fxt

Description of the Fast Legendre Polynomial Transform

real(kind=rk), intent(inout), target :: nodal_data(:)

Nodal data

real(kind=rk), intent(inout), target :: modal_data(:)

Modal data

public subroutine ply_fxt_n2m_2D(fxt, nodal_data, modal_data, oversamp_degree)

Arguments

Type IntentOptional Attributes Name
type(ply_fxt_type) :: fxt

Description of the Fast Legendre Polynomial Transform

real(kind=rk), target :: nodal_data(:)

Nodal data

real(kind=rk), target :: modal_data(:)

Modal data

integer, intent(in) :: oversamp_degree

public subroutine ply_fxt_n2m_3D(fxt, nodal_data, modal_data, oversamp_degree)

Arguments

Type IntentOptional Attributes Name
type(ply_fxt_type) :: fxt

Description of the Fast Legendre Polynomial Transform

real(kind=rk), intent(inout), target :: nodal_data(:)

Nodal data

real(kind=rk), intent(inout), target :: modal_data(:)

Modal data

integer, intent(in) :: oversamp_degree