ply_transfer_dofs_3D Subroutine

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

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

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.


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.

Called by

proc~~ply_transfer_dofs_3d~~CalledByGraph proc~ply_transfer_dofs_3d ply_transfer_dofs_3D proc~ply_transfer_dofs ply_transfer_dofs proc~ply_transfer_dofs->proc~ply_transfer_dofs_3d proc~ply_subres_import_color ply_subres_import_color proc~ply_subres_import_color->proc~ply_transfer_dofs proc~sdr_hvs_props_import_dofs sdr_hvs_props_import_dofs proc~sdr_hvs_props_import_dofs->proc~ply_subres_import_color program~sdr_harvesting sdr_harvesting program~sdr_harvesting->proc~sdr_hvs_props_import_dofs



integer, private :: outdofs
integer, private :: indofs
integer, private :: min_dofs
integer, private :: iStep
integer, private :: iDof
integer, private :: out_X
integer, private :: out_Y
integer, private :: out_Z
integer, private :: in_X
integer, private :: in_Y
integer, private :: in_Z
integer, private :: out_pos
integer, private :: in_pos
integer, private :: out_off
integer, private :: out_zoff
integer, private :: in_off
integer, private :: in_zoff
integer, private :: minOrd