ply_Poly_Transformation Subroutine

public subroutine ply_Poly_Transformation(subsamp, dofReduction, mesh, meshData, varDofs, varComps, ndims, refine_tree, new_refine_tree, newMeshData, newVarDofs)

Projection of polynomial data from parent elements to child elements. The projection is done by a direct transformation of the modal coeffiecients to another coordinate system with z=ax+b.


type(ply_subsample_type), intent(in) :: subsamp

Parameters for the subsampling

real(kind=rk), intent(in) :: dofReduction(:)

Factor for reduction of degrees of freedom.

type(treelmesh_type), intent(in) :: mesh

The mesh related to meshData.

type(ply_array_type), intent(in) :: meshData(:)

The data for subsampling.

integer, intent(in) :: varDofs(:)

The number of degrees of freedom for every variable.

integer, intent(in) :: varComps(:)

The number of components for every variable.

integer, intent(in) :: ndims

Number of dimensions in the polynomial representation.

logical, intent(in) :: refine_tree(:)

Logical array that marks elements for refinement of the previous sampling level.

logical, intent(in) :: new_refine_tree(:)

Logical array that marks elements for refinement.

type(ply_array_type), intent(out), allocatable:: newMeshData(:)

The subsampled data for new_refine_tree.

integer, intent(out), allocatable:: newVarDofs(:)

The number of dofs for the subsampled data.


proc~~ply_poly_transformation~~CallsGraph proc~ply_poly_transformation ply_Poly_Transformation proc~ply_subsampledata~2 ply_subsampleData proc~ply_poly_transformation->proc~ply_subsampledata~2 proc~ply_projdatatochild~2 ply_projDataToChild proc~ply_subsampledata~2->proc~ply_projdatatochild~2 proc~ply_transform_matrix ply_transform_matrix proc~ply_subsampledata~2->proc~ply_transform_matrix proc~ply_beta ply_beta proc~ply_transform_matrix->proc~ply_beta proc~ply_alpha_beta ply_alpha_beta proc~ply_transform_matrix->proc~ply_alpha_beta proc~ply_alpha ply_alpha proc~ply_transform_matrix->proc~ply_alpha proc~ply_alpha_frac ply_alpha_frac proc~ply_transform_matrix->proc~ply_alpha_frac



real(kind=rk), private, allocatable:: workData(:)
real(kind=rk), private, allocatable:: newWorkData(:)
integer, private :: nVars
integer, private :: nDofs
integer, private :: nComponents
integer, private :: nChildDofs
integer, private :: iVar