ply_sample_adaptive Subroutine

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

Sample data described by varsys in orig_mesh according to the tracking object trackInst with adaptive refinements.

Only works for Q-Polynomials.

Arguments

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

A ply_sampling_type to describe the sampling method.

integer, intent(in) :: ndims

Number of dimensions in the polynomial representation.

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

Variable system of the original data to do the sampling on.

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.

type(tem_tracking_instance_type), intent(in) :: trackInst

Tracking object describing what to sample.

type(tem_tracking_config_type), intent(in) :: trackConfig

Tracking configuration with the geometry to obtain from the overall mesh.

type(tem_time_type), intent(in) :: time

Point in time to get the data for.

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.