ply_oversample_module Module

This module provides functions to transfer polynomials from and to the oversampled representation for nodal treatments.



Subroutines

public subroutine ply_convert2oversample(state, poly_proj, nDim, modalCoeffs, nScalars, ensure_positivity)

Copy a single element state into a larger array and pad it with zeroes.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: state(:,:)

State in a single element, to be oversampled.

type(ply_poly_project_type), intent(in) :: poly_proj

Description of the projection method.

integer, intent(in) :: nDim

The number of dimensions to determine the correct oversampling routine.

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

Oversampled array for modal coefficients from state.

Read more…
integer, intent(in), optional :: nScalars

The number of scalar variables to convert. If nScalars is not passed to this subroutine, all variables of argument state will be considered by this routine.

logical, intent(in), optional :: ensure_positivity(:)

Only use modes up to the point, where we are sure that the resulting polynomial will be positive everywhere. This is an array of logicals for each variable, if not given, the default is false (no positivity ensured).

public subroutine ply_convertFromOversample(modalCoeffs, poly_proj, nDim, state, nScalars)

Truncating an oversampled polynomial representation back to the original representation.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: modalCoeffs(:,:)

Oversampled modal array for one element

type(ply_poly_project_type), intent(in) :: poly_proj

Data of the projection method

integer, intent(in) :: nDim

The number of dimensions to determine the correct oversampling routine.

real(kind=rk), intent(out) :: state(:,:)

Truncated state for one element obtained from the modalCoeffs

integer, intent(in), optional :: nScalars

The number of scalar variables to convert. If nScalars is not passed to this subroutine, all variables of argument state will be considered by this routine.

private subroutine ply_convert2oversample_3d(state, poly_proj, modalCoeffs, ensure_positivity)

Copy a single element state into a larger array and pad it with zeroes.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: state(:,:)

State in a single element, to be oversampled.

type(ply_poly_project_type), intent(in) :: poly_proj

Description of the projection method.

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

Oversampled array for modal coefficients from state.

Read more…
logical, intent(in), optional :: ensure_positivity(:)

Only use modes up to the point, where we are sure that the resulting polynomial will be positive everywhere.

Read more…

private subroutine ply_convertFromOversample_3d(modalCoeffs, poly_proj, state)

Truncating an oversampled polynomial representation back to the original representation.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: modalCoeffs(:,:)

Oversampled modal array for one element

type(ply_poly_project_type), intent(in) :: poly_proj

Data of the projection method

real(kind=rk), intent(out) :: state(:,:)

Truncated state for one element obtained from the modalCoeffs

private subroutine ply_convert2oversample_2d(state, poly_proj, modalCoeffs, nScalars, ensure_positivity)

Copy a single 2D element state into a larger array and pad it with zeroes.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: state(:,:)

State in a single element, to be oversampled.

type(ply_poly_project_type), intent(in) :: poly_proj

Description of the projection method.

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

Oversampled array for modal coefficients from state.

Read more…
integer, intent(in), optional :: nScalars

The number of scalar variables to convert. If nScalars is not passed to this subroutine, all variables of argument state will be considered by this routine.

logical, intent(in), optional :: ensure_positivity(:)

Only use modes up to the point, where we are sure that the resulting polynomial will be positive everywhere. This is an array of logicals for each variable, if not given, the default is false (no positivity ensured).

private subroutine ply_convertFromOversample_2d(modalCoeffs, poly_proj, state, nScalars)

Truncating an oversampled 2D polynomial representation back to the original representation.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: modalCoeffs(:,:)

Oversampled modal array for one element

type(ply_poly_project_type), intent(in) :: poly_proj

Data of the projection method

real(kind=rk), intent(out) :: state(:,:)

Truncated state for one element obtained from the modalCoeffs

integer, intent(in), optional :: nScalars

The number of scalar variables to convert. If nScalars is not passed to this subroutine, all variables of argument state will be considered by this routine.

private subroutine ply_convert2oversample_1d(state, poly_proj, modalCoeffs, nScalars, ensure_positivity)

Copy a single 1D element state into a larger array and pad it with zeroes.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: state(:,:)

State in a single element, to be oversampled.

type(ply_poly_project_type), intent(in) :: poly_proj

Description of the projection method.

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

Oversampled array for modal coefficients from state.

integer, intent(in), optional :: nScalars

The number of scalar variables to convert. If nScalars is not passed to this subroutine, all variables of argument state will be considered by this routine.

logical, intent(in), optional :: ensure_positivity(:)

Only use modes up to the point, where we are sure that the resulting polynomial will be positive everywhere. This is an array of logicals for each variable, if not given, the default is false (no positivity ensured).

private subroutine ply_convertFromOversample_1d(modalCoeffs, poly_proj, state, nScalars)

Truncating an oversampled 1D polynomial representation back to the original representation.

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: modalCoeffs(:,:)

Oversampled modal array for one element

type(ply_poly_project_type), intent(in) :: poly_proj

Data of the projection method

real(kind=rk), intent(out) :: state(:,:)

Truncated state for one element obtained from the modalCoeffs

integer, intent(in), optional :: nScalars

The number of scalar variables to convert. If nScalars is not passed to this subroutine, all variables of argument state will be considered by this routine.