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.
Type | Intent | Optional | 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. TodoNeeds 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. |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
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 |