2.2. Order Routines are Called

The various main operations are given basically in the order they will be performed. Within each operation, the order the routines will be called is given.

Called when library is loaded

1. Setting name in the graphical user interface, and specifying one or two input fields - called when library is loaded.

USERD_get_name_of_reader

USERD_get_reader_descrip (optional)

USERD_prefer_auto_distribute (optional)

USERD_set_filename_button_labels (optional)

USERD_get_extra_gui_numbers (optional)

USERD_get_extra_gui_defaults (optional)

USERD_get_reader_release (optional)

Called once at initial data load when 'OK' pressed to load data

2. Setting filenames and getting time info

USERD_set_extra_gui_data (optional)

USERD_set_filenames

USERD_get_number_of_time_steps

USERD_get_solution_times

USERD_set_time_step

3. Gathering info for part builder

USERD_set_time_step

USERD_get_changing_geometry_status

USERD_get_node_label_status

USERD_get_element_label_status

USERD_get_number_of_files_in_dataset

USERD_get_dataset_query_file_info

USERD_get_description_lines (for geometry)

USERD_get_number_of_model_parts

USERD_get_part_build_info

USERD_get_number_of_global_nodes

USERD_get_global_coords (for model extents)

USERD_get_block_coords_by_component (for model extents)

4. Gathering Variable info

USERD_get_number_of_variables

USERD_get_variable_info

5. Part building (per part created)

USERD_set_time_step

USERD_get_global_coords

USERD_get_global_node_ids

USERD_get_element_connectivities_for_part

USERD_get_element_ids_for_part

USERD_get_block_iblanking

USERD_get_block_coords_by_component

USERD_stop_part_building (only once when part builder dialog is closed)

6. Loading variables

Calls for all constants at this point and not called again. (Nested loops, outer is over all constants, inner is over all timesteps)

constants:

USERD_set_time_step

USERD_get_constant_value

Called when activated or when timestep changes

scalars:

USERD_get_description_lines

USERD_set_time_step

USERD_get_scalar_values

USERD_get_block_scalar_values

vectors:

USERD_get_description_lines

USERD_set_time_step

USERD_get_vector_values

USERD_get_block_vector_values_by_component

Called when timestep changes

7. Changing geometry

changing coords only:

USERD_set_time_step

USERD_get_global_coords

USERD_get_block_coords_by_component

changing connectivity:

USERD_set_time_step

USERD_get_number_of_model_parts

USERD_get_part_build_info

USERD_get_number_of_global_nodes

USERD_get_global_coords

USERD_get_global_node_ids

USERD_get_element_connectivities_for_part

USERD_get_element_ids_for_part

USERD_get_block_iblanking

USERD_get_block_coords_by_component

Called for node or element queries over time or at a specific node or element

8. Node or element queries over time

USERD_get_variable_value_at_specific