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

TypeIntentOptionalAttributesName
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.

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.


Calls

proc~~ply_sample_data~~CallsGraph proc~ply_sample_data ply_sample_data proc~tem_create_subtree_of tem_create_subTree_of proc~ply_sample_data->proc~tem_create_subtree_of proc~tem_varsys_append_statevar tem_varSys_append_stateVar proc~ply_sample_data->proc~tem_varsys_append_statevar proc~tem_refine_global_subtree tem_refine_global_subtree proc~ply_sample_data->proc~tem_refine_global_subtree proc~free_treelmesh free_treelmesh proc~ply_sample_data->proc~free_treelmesh proc~tem_varsys_init tem_varSys_init proc~ply_sample_data->proc~tem_varsys_init proc~ply_sample_adaptive ply_sample_adaptive proc~ply_sample_data->proc~ply_sample_adaptive proc~tem_create_tree_from_sub tem_create_tree_from_sub proc~ply_sample_data->proc~tem_create_tree_from_sub proc~tem_destroy_subtree tem_destroy_subTree proc~ply_sample_data->proc~tem_destroy_subtree proc~tem_abort tem_abort proc~ply_sample_data->proc~tem_abort proc~ply_legendre_1d ply_legendre_1D proc~ply_sample_data->proc~ply_legendre_1d proc~tem_coordofid tem_CoordOfId proc~ply_sample_data->proc~tem_coordofid proc~ply_sample_adaptive->proc~tem_create_subtree_of proc~ply_sample_adaptive->proc~tem_varsys_append_statevar proc~ply_sample_adaptive->proc~tem_refine_global_subtree proc~ply_sample_adaptive->proc~tem_create_tree_from_sub proc~ply_sample_adaptive->proc~tem_destroy_subtree proc~tem_bc_prop_pos tem_bc_prop_pos proc~ply_sample_adaptive->proc~tem_bc_prop_pos proc~ply_sampling_var_move ply_sampling_var_move proc~ply_sample_adaptive->proc~ply_sampling_var_move proc~tem_levelof tem_LevelOf proc~ply_sample_adaptive->proc~tem_levelof proc~tem_bc_prop_sublist tem_bc_prop_sublist proc~ply_sample_adaptive->proc~tem_bc_prop_sublist proc~ply_sampling_var_allocate ply_sampling_var_allocate proc~ply_sample_adaptive->proc~ply_sampling_var_allocate proc~ply_split_element_init ply_split_element_init proc~ply_sample_adaptive->proc~ply_split_element_init proc~ply_sampling_varsys_for_track ply_sampling_varsys_for_track proc~ply_sample_adaptive->proc~ply_sampling_varsys_for_track proc~ply_sampling_var_compute_elemdev ply_sampling_var_compute_elemdev proc~ply_sample_adaptive->proc~ply_sampling_var_compute_elemdev mpi_allreduce mpi_allreduce proc~ply_sample_adaptive->mpi_allreduce proc~tem_subtree_from tem_subTree_from proc~ply_sample_adaptive->proc~tem_subtree_from proc~ply_split_legendre_matrix ply_split_legendre_matrix proc~ply_split_element_init->proc~ply_split_legendre_matrix proc~ply_sampling_varsys_for_track->proc~tem_varsys_init proc~ply_sampling_varsys_for_track->proc~tem_levelof proc~ply_sampling_varsys_for_track->proc~ply_sampling_var_allocate proc~beta beta proc~ply_split_legendre_matrix->proc~beta proc~alpha alpha proc~ply_split_legendre_matrix->proc~alpha proc~alpha_frac alpha_frac proc~ply_split_legendre_matrix->proc~alpha_frac proc~alpha_beta alpha_beta proc~ply_split_legendre_matrix->proc~alpha_beta

Called by

proc~~ply_sample_data~~CalledByGraph proc~ply_sample_data ply_sample_data proc~ply_sampled_track_output ply_sampled_track_output proc~ply_sampled_track_output->proc~ply_sample_data program~sdr_harvesting sdr_harvesting program~sdr_harvesting->proc~ply_sampled_track_output

Contents


Variables

TypeVisibilityAttributesNameInitial
type(treelmesh_type), private :: tmp_mesh(0:1)
type(tem_BC_prop_type), private :: tmp_bcs(0:1)
type(tem_subTree_type), private :: tmp_subtree
type(capsule_array_type), private, pointer:: res
real(kind=rk), private, allocatable:: vardat(:)
real(kind=rk), private, allocatable:: points(:)
real(kind=rk), private, allocatable:: pointval(:,:)
integer, private, allocatable:: vardofs(:)
integer, private, allocatable:: elempos(:)
integer, private :: pointCoord(4)
integer, private :: iElem
integer, private :: nOrigElems
integer, private :: iVar
integer, private :: nVars
integer, private :: varPos
integer, private :: iDof
integer, private :: nDofs
integer, private :: maxDofs
integer, private :: iComp
integer, private :: nComponents
integer, private :: iChild
integer, private :: nChilds
integer, private :: n1D_childs
integer, private :: cur
integer, private :: prev
integer, private :: ans(3)
integer, private :: i
integer, private :: ii
integer, private :: iMesh
integer, private :: iLevel
integer, private :: iProp
integer, private :: childpos
integer, private :: parentpos
integer, private :: lastdegree
integer, private :: fak(2)
integer, private :: bitlevel
real(kind=rk), private :: legval
real(kind=rk), private :: point_spacing
real(kind=rk), private :: point_start
procedure(tem_varSys_proc_element), private, pointer:: get_element
procedure(tem_varSys_proc_point), private, pointer:: get_point
procedure(tem_varSys_proc_setParams), private, pointer:: set_params
procedure(tem_varSys_proc_getParams), private, pointer:: get_params
procedure(tem_varSys_proc_setupIndices), private, pointer:: setup_indices
procedure(tem_varSys_proc_getValOfIndex), private, pointer:: get_valOfIndex