ply_transfer_dofs_2D Subroutine

public subroutine ply_transfer_dofs_2D(indat, inspace, indegree, outdat, outspace, outdegree)

Transfer of degrees of freedom from one polynomial to another in 2D.

If the indat is larger than outdat, the higher modes are truncated. If outdat is larger, higher modes are padded with zeros.

When different multidimensional polynomial layouts are used, the modes are copied to to the corresponding locations.

Arguments

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

Input data to transfer to output data.

integer, intent(in) :: inspace

Multi-dimensional polynomial layout of the input data.

Has to be either Q_space or P_space.

integer, intent(in) :: indegree

Maximal polynomial degree in the input data.

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

Output data to fill with input data.

integer, intent(in) :: outspace

Multi-dimensional polynomial layout of the output data.

Has to be either Q_space or P_space.

integer, intent(in) :: outdegree

Maximal polynomial degree in the output data.