ply_sample_data Subroutine

public subroutine ply_sample_data(me, orig_mesh, orig_bcs, varsys, var_degree, lvl_degree, var_space, ndims, trackInst, trackConfig, time, new_mesh, resvars)

Sampling polynomial data from a given array and mesh to a new mesh with a new data array, where just a single degree of freedom per element is used.

Arguments

Type IntentOptional Attributes Name
type(ply_sampling_type), intent(in) :: me

A ply_sampling_type to describe the sampling method.

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

The original mesh to be refined.

type(tem_BC_prop_type), intent(in) :: orig_bcs

Boundary conditions for the original mesh.

type(tem_varSys_type), intent(in) :: varsys
integer, intent(in) :: var_degree(:)

Maximal polynomial degree for each variable.

Needs to be matching the variable definition in the variable system.

Todo

Needs to be changed to be an information per element per variable! Possibly by defining a variable in the varsys, providing the degree.

integer, intent(in) :: lvl_degree(:)

Maximal polynomial degree for each level.

integer, intent(in) :: var_space(:)

Polynomial space for each variable.

Needs to be matching the variable definition in the variable system.

integer, intent(in) :: ndims

Number of dimensions in the polynomial representation.

type(tem_tracking_instance_type), intent(in) :: trackInst
type(tem_tracking_config_type), intent(in) :: trackConfig
type(tem_time_type), intent(in) :: time
type(treelmesh_type), intent(out) :: new_mesh

The new mesh with the refined elements.

type(tem_varSys_type), intent(out) :: resvars

Resulting system of variables describing the data in the arrays of subsampled elements.