Skip to main content

Post-processing tools 2023 R2

DVS Metadata

Last update: 17.04.2023

Description of supported metadata for the DVS API.

Description of supported metadata for the DVS API.

DVS Metadata

Description of supported metadata for the DVS API

Dynamic Visualization Store Metadata


Table of Contents


DVS Dataset Metadata

The DVS API supports writing dataset metadata via the dvs_add_metadata() or DVS::IClient::add_metadata() methods for the C/C++ API (similarly named methods for the Python API). This must be done during the initialization step between begin_init and end_init.

Supported EnSight Dataset Metadata

The EnSight DVS reader reserves specific metadata key/value pairs for specific operations within EnSight. Below is a list of currently supported tags.

KEY VALUE/DESCRIPTION
_DVS::REMOVE_ELEMENT_VAR The name of the variable definition being used to filter elements, see EnSight DVS Element Filtering
_DVS::REMOVE_ELEMENT_FILTER The logical equation to use when filtering elements based on a variable's value, see EnSight DVS Element Filtering

EnSight DVS Element Filtering

EnSight will automatically filter out elements based on a scalar variable value if the metadata tags are set on a dataset. To do this you first set _DVS::REMOVE_ELEMENT_VAR to the name of the variable definition that will be used and then set _DVS::REMOVE_ELEMENT_FILTER to the filtering equation. The filtering equation follows the standard format for Query Stanzas. There are some limitations however. Element filtering only works with scalar variables and the object/attribute must be "var.value". It also only supports the operators gt (>), lt (<), eq (==), and neq (!=). Lastly it only works for a max of 2 chained query stanzas. A few examples should help this make sense.

Example 1

A user would like to filter out elements if the value of "my_filter_var" is equal to 1.1 or 1.2.

KEY VALUE
_DVS::REMOVE_ELEMENT_VAR my_filter_var
_DVS::REMOVE_ELEMENT_FILTER /var.value/eq/1.1//or/var.value/eq/1.2

Example 2

A user would like to filter out elements based on the variable "pressure" if they are above the threshold of 2.0 and below the threshold of 15.4.

KEY VALUE
_DVS::REMOVE_ELEMENT_VAR pressure
_DVS::REMOVE_ELEMENT_FILTER /var.value/gt/2.0//and/var.value/lt/15.4

Example 3

A user would like to filter out elements based on the variable "delete_element" if the value is not equal to 1.0.

KEY VALUE
_DVS::REMOVE_ELEMENT_VAR delete_element
_DVS::REMOVE_ELEMENT_FILTER /var.value/neq/1.0

DVS Part Metadata

The DVS API supports writing part metadata via dvs_add_part_info() or DVS::IClient::add_part_info() methods for the C/C++ API through the dvs_part_info::_metadata_keys and dvs_part_info::_metadata_vals. The Python API method is dvs_add_part_info and metadata is passed via the tags dictionary on an object.

Supported EnSight Part Metadata

KEY VALUE
_DVS::PATHNAME Used to setup groups in the user interface. eg. My|Group would create 2 group levels (My->Group) and put the part under the "Group" group.
_DVS::OBJATTR See https://nexusdemo.ensight.com/docs/python/html/Python.html?ENS_OBJATTRSchema.html
_DVS::KIND Used to set part kind. eg. Inlet
_DVS::NO_AUTOLOAD Set to anything to not autoload the part when EnSight loads the dataset. Part must be manually loaded.

DVS Plot Metadata

The DVS API supports writing plot metadata via dvs_add_plot_info() or DVS::IClient::add_plot_info() methods for the C/C++ API through the dvs_plot_info::_metadata_keys and dvs_plot_info::_metadata_vals. The Python API method is dvs_add_plot_info and metadata is passed via the tags dictionary on an object.


DVS Variable Metadata

The DVS API supports writing variable metadata via dvs_add_var_info() or DVS::IClient::add_var_info() methods for the C/C++ API through the dvs_var_info::_metadata_keys and dvs_var_info::_metadata_vals. The Python API method is dvs_add_var_info and metadata is passed via the tags dictionary on an object.