ply_sampled_track_output Subroutine

public subroutine ply_sampled_track_output(me, mesh, bc, solver, proc, varSys, var_degree, lvl_degree, var_space, simControl, time)

Output sampled tracking data.

Iterates over all tracking instances in the given me variable, checks whether it should be written at the current point in time (if simControl is provided), subsamples the data and performs the hvs_output for the subsampled data.

Todo

Instead of recreating the sampled varsys and mesh everytime the tracking is written, store them in the ply_sampled_tracking_type.

Get the communicator description for the subsampled mesh.

Arguments

Type IntentOptional Attributes Name
type(ply_sampled_tracking_type), intent(inout) :: me

Sampled tracking instances.

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

Global mesh, required for the sampling.

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

Boundary properties, needed to inherit boundary information to refined meshes and allow the extraction of boundary shape geometries.

type(tem_solveHead_type), intent(in) :: solver

Information about the solver, needed for the output file name.

type(tem_comm_env_type), intent(in) :: proc

General communication environment

type(tem_varSys_type), intent(in) :: varSys

Original variable system

integer, intent(in) :: var_degree(:)

Maximal polynomial degree for each variable

Needs to match the size of the variable system.

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

Maximal polynomial degree for each level

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

Maximal polynomial space for each variable

Needs to match the size of the variable system.

type(tem_simControl_type), intent(in), optional :: simControl

Simulation control to determine, whether trackings should be written

If not provided, all trackings will be written unconditionally.

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

Provide a time for the current data set to write in tracking.

This only is respected if no simControl is provided. If simControl is present the time information from it will be used instead.