ply_sampling_varsys_module Module

Managing the variable system description for sampled data.


Uses

  • module~~ply_sampling_varsys_module~~UsesGraph module~ply_sampling_varsys_module ply_sampling_varsys_module env_module env_module module~ply_sampling_varsys_module->env_module tem_time_module tem_time_module module~ply_sampling_varsys_module->tem_time_module tem_topology_module tem_topology_module module~ply_sampling_varsys_module->tem_topology_module tem_tracking_module tem_tracking_module module~ply_sampling_varsys_module->tem_tracking_module tem_varSys_module tem_varSys_module module~ply_sampling_varsys_module->tem_varSys_module treelmesh_module treelmesh_module module~ply_sampling_varsys_module->treelmesh_module

Used by

  • module~~ply_sampling_varsys_module~~UsedByGraph module~ply_sampling_varsys_module ply_sampling_varsys_module module~ply_sampling_adaptive_module ply_sampling_adaptive_module module~ply_sampling_adaptive_module->module~ply_sampling_varsys_module

Derived Types

type, public ::  ply_sampling_var_type

Small helping type to allow arrays of arrays for the variable data.

Components

Type Visibility Attributes Name Initial
integer, public :: nDeviating
integer, public, allocatable :: degree(:)
integer, public, allocatable :: first(:)
real(kind=rk), public, pointer :: dat(:)
logical, public, allocatable :: deviates(:)

Subroutines

public subroutine ply_sampling_varsys_for_track(varsys, trackInst, mesh, nDims, lvl_degree, sample_varsys, var, time)

Create a variable system for the given tracking instance.

Arguments

Type IntentOptional Attributes Name
type(tem_varSys_type), intent(in) :: varsys

Variable system describing the access to the original data to sample.

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

The tracking object that should be sampled.

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

Original mesh describing the spatial organisation of the data to sample.

integer, intent(in) :: nDims

Dimensionality of the data to sample.

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

Maximal polynomial degree for each level.

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

Variable system for the sampled data.

type(ply_sampling_var_type), pointer :: var(:)

Extracted data for all the variables requested in the given tracking instance.

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

Point in time to get the data for.

public subroutine ply_sampling_var_allocate(var, nElems, datalen)

Allocate memory for a sampled variable.

Arguments

Type IntentOptional Attributes Name
type(ply_sampling_var_type), intent(inout) :: var

The variable to allocate the space for.

integer, intent(in) :: nElems

Number of elements the data lives in.

integer, intent(in) :: datalen

Size of the container to use for representation of the polynomial data across all elements.

public subroutine ply_sampling_var_move(source, destination)

Move the variable data from source to destination.

Read more…

Arguments

Type IntentOptional Attributes Name
type(ply_sampling_var_type), pointer :: source(:)

Variable data to move (and make accessible via destination).

Read more…
type(ply_sampling_var_type), pointer :: destination(:)

Pointer to refer to the data in source. If destination already contains data, this data will be discarded.

public subroutine ply_sampling_var_compute_elemdev(var, threshold, min_mean)

This routine computes for each element whether the solution in it is considered to be deviating from the mean above the given threshold or not. The logical result is stored in var%deviates for each element.

Read more…

Arguments

Type IntentOptional Attributes Name
type(ply_sampling_var_type), intent(inout) :: var

Variable data to compute the deviation for.

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

Relative threshold to use as decision whether an element has a high deviation or not.

Read more…
real(kind=rk), intent(in) :: min_mean

A minimal mean value to use as comparison (to cut off changes that are too close to 0).

Read more…