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.


Calls

proc~~ply_sampled_track_output~~CallsGraph proc~ply_sampled_track_output ply_sampled_track_output config config proc~ply_sampled_track_output->config free_treelmesh free_treelmesh proc~ply_sampled_track_output->free_treelmesh hvs_output_close hvs_output_close proc~ply_sampled_track_output->hvs_output_close hvs_output_init hvs_output_init proc~ply_sampled_track_output->hvs_output_init hvs_output_open hvs_output_open proc~ply_sampled_track_output->hvs_output_open hvs_output_write hvs_output_write proc~ply_sampled_track_output->hvs_output_write instance instance proc~ply_sampled_track_output->instance ply_sample_data ply_sample_data proc~ply_sampled_track_output->ply_sample_data ply_sampling_free_methoddata ply_sampling_free_methoddata proc~ply_sampled_track_output->ply_sampling_free_methoddata tem_empty_varsys tem_empty_varsys proc~ply_sampled_track_output->tem_empty_varsys tem_time_reset tem_time_reset proc~ply_sampled_track_output->tem_time_reset tem_tracker tem_tracker proc~ply_sampled_track_output->tem_tracker tem_tracking_has_triggered tem_tracking_has_triggered proc~ply_sampled_track_output->tem_tracking_has_triggered val val proc~ply_sampled_track_output->val

Called by

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