ply_subsampleData Subroutine

private subroutine ply_subsampleData(tree, meshData, nDofs, nChildDofs, nComponents, projection, projection_oneDof, refine_tree, new_refine_tree, ndims, subsamp, newMeshData)

Routine to subsample mesh information for one refinement level.


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

The tree the data is written for.

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

The data to sub-sample.

integer, intent(in) :: nDofs

The number of degrees of freedom for each scalar variable.

integer, intent(in) :: nChildDofs

The number of degrees of freedom per scalar variable on the child elements.

integer, intent(in) :: nComponents

Number of components

type(ply_ProjCoeff_type), intent(in) :: projection

Projection coefficients for the given data.

type(ply_ProjCoeff_type), intent(in), optional :: projection_oneDof

Projection coeffiecients for the the reduction to polynomial degree of 0.

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

Logical array that marks all elements for refinement from the last sampling lvl.

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

Logical array that marks all elements for refinement

integer, intent(in) :: ndims

The number of dimensions in the polynomial representation.

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

Parameters for the subsampling.

real(kind=rk), intent(out), allocatable:: newMeshData(:)

The subsampled data.


proc~~ply_subsampledata~~CallsGraph proc~ply_subsampledata ply_subsampleData proc~ply_projdatatochild ply_projDataToChild proc~ply_subsampledata->proc~ply_projdatatochild

Called by

proc~~ply_subsampledata~~CalledByGraph proc~ply_subsampledata ply_subsampleData proc~ply_qpolyprojection ply_QPolyProjection proc~ply_qpolyprojection->proc~ply_subsampledata



integer, private :: nElems
integer, private :: nChilds
integer, private :: nParentElems
integer, private :: nElemsToRefine
integer, private :: nElemsNotToRefine
integer, private :: iElem
integer, private :: iParentElem
integer, private :: iChild
integer, private :: lowElemIndex
integer, private :: upElemIndex
integer, private :: lowChildIndex
integer, private :: upChildIndex
integer, private :: oneDof
integer, private :: noChilds
integer, private :: childpos
real(kind=rk), private, allocatable:: childData(:)