    

 ## On this page

  

 

 # dynamic\_visualization\_store\_api.h File Reference

 Last update: 16.07.2025 

`#include <stdint.h>`  
`#include "<a class="el" href="dynamic__visualization__store__enums_8h_source.xhtml">dynamic_visualization_store_enums.h</a>"`  
`#include "<a class="el" href="dynamic__visualization__store__error__codes_8h_source.xhtml">dynamic_visualization_store_error_codes.h</a>"`  
`#include "<a class="el" href="dynamic__visualization__store__version_8h_source.xhtml">dynamic_visualization_store_version.h</a>"`  
`#include "include/dvs_import_export.h"`  


[Go to the source code of this file.](dynamic__visualization__store__api_8h_source.xhtml)

## <a id="nested-classes" name="nested-classes"></a>Classes

struct [dvs\_part\_info](structdvs__part__info.xhtml) struct [dvs\_var\_info](structdvs__var__info.xhtml) struct [dvs\_plot\_info](structdvs__plot__info.xhtml) ## <a id="typedef-members" name="typedef-members"></a>Typedefs

typedef void(\* [dvs\_log\_func](#a80c7c60e9cd61fcc0a0aacac09d66947)) (void \*, const char \*) ## <a id="func-members" name="func-members"></a>Functions

DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_connect](#ab96812d4412a9af10e7e7924c572a7c9) (int32\_t server\_id, enum [dvs\_client\_flags](dynamic__visualization__store__enums_8h.xhtml#aec8cbac60b9cafe5d1c0ad6593f05e9f) flags, const char \*secret, int32\_t \*session\_id) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_register\_log\_func](#ae57cf8cf0b10421aace6df32a98c60ae) (int32\_t session\_id, void \*user\_data, [dvs\_log\_func](#a80c7c60e9cd61fcc0a0aacac09d66947) func, enum [dvs\_log\_flags](dynamic__visualization__store__enums_8h.xhtml#a9bca12092877a90e6c497994093a8609) flags) DVS\_DLL\_EXPORT const char \* [dvs\_get\_version](#ab8e85aad9b7ec78976db76017803a6b6) () DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_begin\_init](#a3744408f15cd4a36d19880d24d442a0d) (int32\_t session\_id, const char \*dataset\_name, uint32\_t current\_rank, uint32\_t total\_ranks, uint32\_t num\_chunks) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_set\_unit\_system](#a14b52ceff846429259cab42ee11579f0) (int32\_t session\_id, const char \*system) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_add\_metadata](#ac5c67fdc3806bf89eebbe49e6daea5c2) (int32\_t session\_id, const char \*const metadata\_keys\[\], const char \*const metadata\_vals\[\], uint32\_t num\_metadata\_pairs) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_add\_part\_info](#a4e8a904ae19fd7f2b0c300543bc42576) (int32\_t session\_id, const struct [dvs\_part\_info](structdvs__part__info.xhtml) \*parts, uint32\_t num\_parts) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_add\_var\_info](#a0b9bbed0db0a5f3e91af8a02aed48e1e) (int32\_t session\_id, const struct [dvs\_var\_info](structdvs__var__info.xhtml) \*vars, uint32\_t num\_vars) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_add\_plot\_info](#afe298f932fd909b7caabd6f430489b16) (int32\_t session\_id, const struct [dvs\_plot\_info](structdvs__plot__info.xhtml) \*plots, uint32\_t num\_plots) DVS\_DLL\_EXPORT uint32\_t [dvs\_get\_num\_part\_info](#a5a6cd68f61a53bce6780d3ef95038277) (int32\_t session\_id) DVS\_DLL\_EXPORT uint32\_t [dvs\_get\_num\_var\_info](#ad75625cedecbcd365c868c9893c6c2d8) (int32\_t session\_id) DVS\_DLL\_EXPORT uint32\_t [dvs\_get\_num\_plot\_info](#aa44dcb6596c7833d2b9fe2a0435bb4c4) (int32\_t session\_id) DVS\_DLL\_EXPORT const struct [dvs\_part\_info](structdvs__part__info.xhtml) \* [dvs\_get\_part\_info](#a5b5a64e37bd6830f518947e7a0f7985e) (int32\_t session\_id, uint32\_t index) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_get\_part\_id](#aefeb5e79919700a670799d9f3e8f0e2c) (int32\_t session\_id, const char \*name, uint32\_t \*id) DVS\_DLL\_EXPORT const struct [dvs\_var\_info](structdvs__var__info.xhtml) \* [dvs\_get\_var\_info](#a8992f4a5e6c36c5e4da67968b170313c) (int32\_t session\_id, uint32\_t index) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_get\_var\_id](#a355c95f11b171a15755f748da3349e67) (int32\_t session\_id, const char \*name, uint32\_t \*id) DVS\_DLL\_EXPORT const struct [dvs\_plot\_info](structdvs__plot__info.xhtml) \* [dvs\_get\_plot\_info](#ac3fca7087e8b4366686cef98a95f241f) (int32\_t session\_id, uint32\_t index) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_get\_plot\_id](#a3ae625f138573f6fa9904f0609ca1eb1) (int32\_t session\_id, const char \*name, uint32\_t \*id) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_end\_init](#ac4d82529053c964b76bd42916c51835e) (int32\_t session\_id) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_begin\_update](#aaac598618be531e8aa2b72ad41e18537) (int32\_t session\_id, uint32\_t update\_num, uint32\_t rank, uint32\_t chunk, float time) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_update\_copy\_previous\_part](#af2223790199210c6fd1f5ac5ade6c60a) (int32\_t session\_id, uint32\_t part\_id, const char \*options) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_update\_nodes](#a7fdc956a0712ef2a60195fa013e59222) (int32\_t session\_id, uint32\_t part\_id, const float \*x, const float \*y, const float \*z, uint32\_t num\_values) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_update\_nodes\_parallelepiped](#a0d0312c5143eb8de2e08a903c929d8c3) (int32\_t session\_id, uint32\_t part\_id, const uint32\_t global\_ijk\_max\[3\], const uint32\_t local\_ijk\_min\[3\], const uint32\_t local\_ijk\_max\[3\], const float origin\[3\], const float dir\_i\[3\], const float dir\_j\[3\], const float dir\_k\[3\], const float \*i\_vals, const float \*j\_vals, const float \*k\_vals) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_update\_nodes\_curvilinear](#af69daaa5a2ac63f7ce31a2e8e3d66332) (int32\_t session\_id, uint32\_t part\_id, const uint32\_t global\_ijk\_max\[3\], const uint32\_t local\_ijk\_min\[3\], const uint32\_t local\_ijk\_max\[3\], const float \*x\_vals, const float \*y\_vals, const float \*z\_vals) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_update\_elements](#a05061077e83272567bbc43367c0b8e74) (int32\_t session\_id, uint32\_t part\_id, enum [dvs\_element\_type](dynamic__visualization__store__enums_8h.xhtml#af1c8824b29a0ab747460216716cc2895) type, const uint32\_t \*indices, uint32\_t num\_indices) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_update\_elements\_polygon](#a763afb059b0301ba18fefe3cd126ce79) (int32\_t session\_id, uint32\_t part\_id, enum [dvs\_element\_type](dynamic__visualization__store__enums_8h.xhtml#af1c8824b29a0ab747460216716cc2895) type, const uint32\_t \*nodes\_per\_polygon, uint32\_t nodes\_per\_polygon\_size, const uint32\_t \*indices, uint32\_t indices\_size) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_update\_elements\_polyhedral](#aff070e9087ba34f41200ff0cd1d3002e) (int32\_t session\_id, uint32\_t part\_id, enum [dvs\_element\_type](dynamic__visualization__store__enums_8h.xhtml#af1c8824b29a0ab747460216716cc2895) type, const uint32\_t \*faces\_per\_element, uint32\_t faces\_per\_element\_size, const uint32\_t \*nodes\_per\_face, uint32\_t nodes\_per\_face\_size, const uint32\_t \*indices, uint32\_t indices\_size) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_update\_var\_case\_scalar](#ad97de401448e85da8cb13d3e45cfb227) (int32\_t session\_id, uint32\_t var\_id, float scalar) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_update\_var\_part\_scalar](#a853ed7ef2608619b82dd51055cee3f60) (int32\_t session\_id, uint32\_t var\_id, uint32\_t part\_id, float scalar) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_update\_var\_case\_vector](#ab4e0ac12018e08551d6b8121971fea7e) (int32\_t session\_id, uint32\_t var\_id, const float \*vec) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_update\_var\_part\_vector](#a0b8da4c016b09b93b3fcf71afe384b21) (int32\_t session\_id, uint32\_t var\_id, uint32\_t part\_id, const float \*vec) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_update\_var\_element\_scalar](#aae3c0a5237c193d05266fba6e6798a4c) (int32\_t session\_id, uint32\_t var\_id, uint32\_t part\_id, enum [dvs\_element\_type](dynamic__visualization__store__enums_8h.xhtml#af1c8824b29a0ab747460216716cc2895) type, const float \*scalars, uint32\_t num\_vals) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_update\_var\_element\_scalar\_int64](#a008017a6bb9e8c8488e392d3cf58f7ad) (int32\_t session\_id, uint32\_t var\_id, uint32\_t part\_id, enum [dvs\_element\_type](dynamic__visualization__store__enums_8h.xhtml#af1c8824b29a0ab747460216716cc2895) type, const int64\_t \*scalars, uint32\_t num\_vals) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_update\_var\_node\_scalar](#aea17a7bbdc6ac8c2cdd4e6c35c1a8578) (int32\_t session\_id, uint32\_t var\_id, uint32\_t part\_id, const float \*scalars, uint32\_t num\_vals) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_update\_var\_node\_scalar\_int64](#a7c130a702347b1baa7e884303f3ce9d5) (int32\_t session\_id, uint32\_t var\_id, uint32\_t part\_id, const int64\_t \*scalars, uint32\_t num\_vals) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_update\_var\_element\_vector](#af3cd5ecfd626ca40b1273634734f38d5) (int32\_t session\_id, uint32\_t var\_id, uint32\_t part\_id, enum [dvs\_element\_type](dynamic__visualization__store__enums_8h.xhtml#af1c8824b29a0ab747460216716cc2895) type, const float \*values, uint32\_t num\_values) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_update\_var\_node\_vector](#a9086155711ed76c6141bdde2291f140a) (int32\_t session\_id, uint32\_t var\_id, uint32\_t part\_id, const float \*values, uint32\_t num\_values) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_update\_plot](#a433ce5100e551dca71dee92b0afe1563) (int32\_t session\_id, uint32\_t plot\_id, const float \*x\_values, const float \*y\_values, uint32\_t num\_values) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_end\_update](#ae75177bf47fcb28313e79840bf778c75) (int32\_t session\_id) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_delete\_item](#a5237ada583b0cb7817d12d1135f9349e) (int32\_t session\_id, uint32\_t update\_num, uint32\_t rank, const char \*filter) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_print\_stats](#a345e9b656b994a3e1677b354077b2fff) (int32\_t session\_id) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_session\_shutdown](#abf84206bdff4c0d6f00ada37f6eadf55) (int32\_t session\_id) DVS\_DLL\_EXPORT void [dvs\_session\_shutdown\_all](#adc2aa26177a1b4a487b3c8f3f7b7b23d) () <a id="a815bb1d2251e35e3bfd3c44a4a338052" name="a815bb1d2251e35e3bfd3c44a4a338052"></a>DVS\_DLL\_EXPORT void **dvs\_shutdown** () DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_server\_create](#a06196ff56fe7f270172239c1be4ce0cd) (const char \*server\_uri, int32\_t \*server\_id) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_server\_set\_option](#ae8abdb8455cea44bbd9f509c1a063516) (int32\_t server\_id, const char \*key, const char \*value) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_server\_start](#aa5722a5316ee73bdd998c9a327e8cb3d) (int32\_t server\_id, uint32\_t server\_number, uint32\_t local\_ranks) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_server\_started](#a996a1d0e1696ad7f991e44357d78a422) (int32\_t server\_id, uint32\_t \*running) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_server\_timestep\_count](#adeb64f5db63b08a79f2a59a85c5d9683) (int32\_t server\_id, uint32\_t \*num\_pending, uint32\_t \*num\_complete) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_server\_shutdown](#ad16ba277108c7187b0a11f461b1477ca) (int32\_t server\_id) <a id="ac16a3c06bb1968ddba06d83f5e2a1f56" name="ac16a3c06bb1968ddba06d83f5e2a1f56"></a>DVS\_DLL\_EXPORT void **dvs\_server\_shutdown\_all** () DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_server\_get\_uri](#a11887bd000ddab30ababc765e244b094) (int32\_t server\_id, char \*uri, uint32\_t \*size) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_add\_part\_rigid\_body\_motion](#ab768f6a1427178b8dd5e8888f19da0d4) (int32\_t session\_id, uint32\_t update\_num, uint32\_t part\_id, const float \*quaternion, const float \*displacement, const float \*cg\_offset) DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [dvs\_convert\_rotation\_to\_quaternion](#a21864240d89612eb1fb81fdceb829d1e) (int32\_t session\_id, const float \*axis\_start, const float \*axis\_end, float relative\_rotation\_angle, float \*quaternion) <a id="details" name="details"></a>## Detailed Description

```

Setup the initial connection and needed information
<p>1.) Call <a class="el" href="#a06196ff56fe7f270172239c1be4ce0cd" title="Create a Dynamic Visualization Store server instance for the client to connect.">dvs_server_create()</a>
2.) Call <a class="el" href="#ab96812d4412a9af10e7e7924c572a7c9" title="Connect to dvs server.">dvs_connect()</a>
3.) Provide a logging method (<a class="el" href="#ae57cf8cf0b10421aace6df32a98c60ae" title="Register logging function for client to call (optional but recommended)">dvs_register_log_func()</a>) (optional)
4.) Begin initialization (<a class="el" href="#a3744408f15cd4a36d19880d24d442a0d" title="begin setup of rank">dvs_begin_init()</a>)
5.) Set unit system (<a class="el" href="#a14b52ceff846429259cab42ee11579f0" title="Set a unit system (optional but recommended)">dvs_set_unit_system()</a>) (optional)
6.) Add information about all parts if applicable (<a class="el" href="#a4e8a904ae19fd7f2b0c300543bc42576" title="Add part info for simulation.">dvs_add_part_info()</a>)
7.) Add information about all variables if applicable (<a class="el" href="#a0b9bbed0db0a5f3e91af8a02aed48e1e" title="Add var info for simulation.">dvs_add_var_info()</a>) (optional)
8.) Add information about all plots if applicable (<a class="el" href="#afe298f932fd909b7caabd6f430489b16" title="Add plot info for simulation.">dvs_add_plot_info()</a>) (optional)
9.) End initialization (<a class="el" href="#ac4d82529053c964b76bd42916c51835e" title="end the initialization of the rank">dvs_end_init()</a>)</p>
<p>Now at the end of each timestep we can push data to the ensight server</p>
<p>1.) Begin the update (<a class="el" href="#aaac598618be531e8aa2b72ad41e18537" title="Method to begin an update.">dvs_begin_update()</a>)
2.) For Each Part
Update mesh/nodes (<a class="el" href="#a7fdc956a0712ef2a60195fa013e59222" title="Update nodes for a specific part.">dvs_update_nodes()</a>)
3.) For Each Element Type
Update Element (<a class="el" href="#a05061077e83272567bbc43367c0b8e74" title="Update elements for a specific part and element type.">dvs_update_elements()</a>)
4.) For Each Variable
If location on case or part use corresponding update methods i.e. <a class="el" href="#ad97de401448e85da8cb13d3e45cfb227" title="Update value of case scalar.">dvs_update_var_case_scalar()</a>,
<a class="el" href="#ab4e0ac12018e08551d6b8121971fea7e" title="Update value of case vector.">dvs_update_var_case_vector()</a>, <a class="el" href="#a853ed7ef2608619b82dd51055cee3f60" title="Update value of part scalar.">dvs_update_var_part_scalar()</a>, <a class="el" href="#a0b8da4c016b09b93b3fcf71afe384b21" title="Update value of part scalar.">dvs_update_var_part_vector()</a></p>
<code>    If location element or node use corresponding update methods i.e. <a class="el" href="#aae3c0a5237c193d05266fba6e6798a4c" title="Update a field of scalars on elements.">dvs_update_var_element_scalar()</a>,
    <a class="el" href="#af3cd5ecfd626ca40b1273634734f38d5" title="Update a field of vectors on elements.">dvs_update_var_element_vector()</a>, dvs_update_var_node_scalar, <a class="el" href="#a9086155711ed76c6141bdde2291f140a" title="Update a field of vectors on nodes.">dvs_update_var_node_vector()</a>
</code>
<p>4.) For Each Plot
Update plot values (<a class="el" href="#a433ce5100e551dca71dee92b0afe1563" title="Update the data for a plot.">dvs_update_plot()</a>)
5.) End update (<a class="el" href="#ae75177bf47fcb28313e79840bf778c75" title="Call to end the update for this timestep/rank/chunk.">dvs_end_update()</a>)</p>
<p>On application shutdown let the API shut itself down</p>
<p>1.) Call <a class="el" href="#a815bb1d2251e35e3bfd3c44a4a338052" title="Shuts down the api, performing any necessary cleanup, also calls dvs_server_shutdown_all() if any ser...">dvs_shutdown()</a> to cleanup data structures
</p>
```

Definition in file [dynamic\_visualization\_store\_api.h](dynamic__visualization__store__api_8h_source.xhtml).



## Typedef Documentation

<a id="a80c7c60e9cd61fcc0a0aacac09d66947" name="a80c7c60e9cd61fcc0a0aacac09d66947"></a>## [◆ ](#a80c7c60e9cd61fcc0a0aacac09d66947)dvs\_log\_func

 typedef void(\* dvs\_log\_func) (void \*, const char \*)

Function pointer for logging methods.

void\* param is for data to be sent back to logging method, might be NULL

Definition at line [143](dynamic__visualization__store__api_8h_source.xhtml#l00143) of file [dynamic\_visualization\_store\_api.h](dynamic__visualization__store__api_8h_source.xhtml).





## Function Documentation

<a id="ac5c67fdc3806bf89eebbe49e6daea5c2" name="ac5c67fdc3806bf89eebbe49e6daea5c2"></a>## [◆ ](#ac5c67fdc3806bf89eebbe49e6daea5c2)dvs\_add\_metadata()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_add\_metadata  ( int32\_t *session\_id*,    const char \*const *metadata\_keys*\[\],    const char \*const *metadata\_vals*\[\],    uint32\_t *num\_metadata\_pairs* )

Add metadata for the current dataset.

Errors:

- DVS\_NONE: Success
- DVS\_PARAM\_NULL: Method called with NULL params or num\_metadata\_pairs == 0
- DVS\_CLIENT\_INVALID\_TRANSPORT: Internal error, should not happen
- DVS\_TRANSPORT\_NULL\_INVALID\_SERVER: Internal error, should not happen
- DVS\_VERSION\_MISMATCH: Client version out of date with server version, update server and client to match
- DVS\_VERSION\_UNKNOWN: Unable to determine server version, update the server to match the client
- DVS\_TRANSPORT\_SERVICE\_FAILURE: Normally caused by server call retry time out or invalid secret key

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") metadata\_keysstring array of UTF-8 Compatible string keys, each string should be null terminated metadata\_valsstring array of UTF-8 Compatible string values, each string should be null terminated num\_metadata\_pairsnumber of key/value pairs in the arrays Returnsdvs\_ret DVS\_NONE on success, otherwise see method description 



<a id="a4e8a904ae19fd7f2b0c300543bc42576" name="a4e8a904ae19fd7f2b0c300543bc42576"></a>## [◆ ](#a4e8a904ae19fd7f2b0c300543bc42576)dvs\_add\_part\_info()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_add\_part\_info  ( int32\_t *session\_id*,    const struct [dvs\_part\_info](structdvs__part__info.xhtml) \* *parts*,    uint32\_t *num\_parts* )

Add part info for simulation.

Note: These cannot be changed once [dvs\_end\_init()](#ac4d82529053c964b76bd42916c51835e "end the initialization of the rank") is called

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") \[in\]partsthis solver handles num\_partssize of parts array, maximum number of parts (2^30) Returnsdvs\_ret TODO 



<a id="ab768f6a1427178b8dd5e8888f19da0d4" name="ab768f6a1427178b8dd5e8888f19da0d4"></a>## [◆ ](#ab768f6a1427178b8dd5e8888f19da0d4)dvs\_add\_part\_rigid\_body\_motion()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_add\_part\_rigid\_body\_motion  ( int32\_t *session\_id*,    uint32\_t *update\_num*,    uint32\_t *part\_id*,    const float \* *quaternion*,    const float \* *displacement*,    const float \* *cg\_offset* )

Add rigid body motion data to a specific part for a specific update. Any non-needed input can be set to NULL.

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") update\_numupdate number of this update, must be monotonically increasing quaternionthe quaternion defining the rigid body rotation. Can be NULL. displacementan array describing the rigid body translation. Can be NULL cg\_offsetan array describing the center of gravity offset to be applied before applying the rotation and the translation. Can be NULLReturnsDVS\_NONE if the update was successful 



<a id="afe298f932fd909b7caabd6f430489b16" name="afe298f932fd909b7caabd6f430489b16"></a>## [◆ ](#afe298f932fd909b7caabd6f430489b16)dvs\_add\_plot\_info()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_add\_plot\_info  ( int32\_t *session\_id*,    const struct [dvs\_plot\_info](structdvs__plot__info.xhtml) \* *plots*,    uint32\_t *num\_plots* )

Add plot info for simulation.

NOTE: These cannot be changed once end\_init() is called.

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") \[in\]plotsplots this solver handles num\_plotssize of plots array Returnsdvs\_ret TODO 



<a id="a0b9bbed0db0a5f3e91af8a02aed48e1e" name="a0b9bbed0db0a5f3e91af8a02aed48e1e"></a>## [◆ ](#a0b9bbed0db0a5f3e91af8a02aed48e1e)dvs\_add\_var\_info()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_add\_var\_info  ( int32\_t *session\_id*,    const struct [dvs\_var\_info](structdvs__var__info.xhtml) \* *vars*,    uint32\_t *num\_vars* )

Add var info for simulation.

Note: These cannot be changed once [dvs\_end\_init()](#ac4d82529053c964b76bd42916c51835e "end the initialization of the rank") is called

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") \[in\]varsvariables definitions which will be sent from this compute node num\_varssize of var array Returnsdvs\_ret TODO 



<a id="a3744408f15cd4a36d19880d24d442a0d" name="a3744408f15cd4a36d19880d24d442a0d"></a>## [◆ ](#a3744408f15cd4a36d19880d24d442a0d)dvs\_begin\_init()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_begin\_init  ( int32\_t *session\_id*,    const char \* *dataset\_name*,    uint32\_t *current\_rank*,    uint32\_t *total\_ranks*,    uint32\_t *num\_chunks* )

begin setup of rank

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") dataset\_namename for dataset current\_rankRank this solver is processing (zero based) total\_ranksTotal number of ranks across solver nodes num\_chunksNumber of chunks for this rank (usually 1)Returnsdvs\_ret TODO 



<a id="aaac598618be531e8aa2b72ad41e18537" name="aaac598618be531e8aa2b72ad41e18537"></a>## [◆ ](#aaac598618be531e8aa2b72ad41e18537)dvs\_begin\_update()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_begin\_update  ( int32\_t *session\_id*,    uint32\_t *update\_num*,    uint32\_t *rank*,    uint32\_t *chunk*,    float *time* )

Method to begin an update.

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") update\_numupdate number of this update, must be monotonically increasing rankthe rank we are sending an update for (zero based) chunkthe chunk number this update is for (zero based) timetime in seconds this update is for Returnsdvs\_ret TODO 



<a id="ab96812d4412a9af10e7e7924c572a7c9" name="ab96812d4412a9af10e7e7924c572a7c9"></a>## [◆ ](#ab96812d4412a9af10e7e7924c572a7c9)dvs\_connect()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_connect  ( int32\_t *server\_id*,    enum [dvs\_client\_flags](dynamic__visualization__store__enums_8h.xhtml#aec8cbac60b9cafe5d1c0ad6593f05e9f) *flags*,    const char \* *secret*,    int32\_t \* *session\_id* )

Connect to dvs server.

This call will connect to a server that has been created using [dvs\_server\_create()](#a06196ff56fe7f270172239c1be4ce0cd "Create a Dynamic Visualization Store server instance for the client to connect.") If server is being created locally [dvs\_server\_start()](#aa5722a5316ee73bdd998c9a327e8cb3d "Start a Dynamic Visualization Store server in a separate thread to receive data from solver node.") must be called before connecting.

Parameters server\_idid of server created by [dvs\_server\_create()](#a06196ff56fe7f270172239c1be4ce0cd "Create a Dynamic Visualization Store server instance for the client to connect.") flagsflags for client setup see dvs\_client\_flags ([dynamic\_visualization\_store\_enums.h](dynamic__visualization__store__enums_8h.xhtml "Contains enums used in C/C++ API.")) \[in\]secretshared secret to use for client, can be NULL \[out\]session\_iddynamic id created for connection, used for client dvs calls Returns0 on success, otherwise -1 



<a id="a21864240d89612eb1fb81fdceb829d1e" name="a21864240d89612eb1fb81fdceb829d1e"></a>## [◆ ](#a21864240d89612eb1fb81fdceb829d1e)dvs\_convert\_rotation\_to\_quaternion()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_convert\_rotation\_to\_quaternion  ( int32\_t *session\_id*,    const float \* *axis\_start*,    const float \* *axis\_end*,    float *relative\_rotation\_angle*,    float \* *quaternion* )

Utility API to convert a rigid body rotation described by the rotation axis and the angle of rotation to its quaternion representation.

Parameters \[in\]session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") \[in\]axis\_startan array of floats describing the starting point of the line representing the rotation axis \[in\]axis\_endan array of floats describing the end point of the line representing the rotation axis \[in\]relative\_rotation\_anglethe angle to rotate around the give axis \[out\]quaternionan array of 4 floats to be filled with the quaternion representation of the rotationReturnsDVS\_NONE if the convertion was successful 



<a id="a5237ada583b0cb7817d12d1135f9349e" name="a5237ada583b0cb7817d12d1135f9349e"></a>## [◆ ](#a5237ada583b0cb7817d12d1135f9349e)dvs\_delete\_item()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_delete\_item  ( int32\_t *session\_id*,    uint32\_t *update\_num*,    uint32\_t *rank*,    const char \* *filter* )

Delete an item.

This call must be called by every rank similarly to how begin\_update happens.

Currently this will only allow for timesteps to be deleted. In the future it can be expanded to all objects via the filter mechanism (see [Query Stanzas](group__group__dvs__filtering.xhtml#dvs_query_stanzas)). Currently this supports the operands of eq, gt, gte, lt, lte. Example: To delete all timesteps &gt;= time 1.1 the filter would be "/timestep.time/gte/1.1//" .

It also currently only supports one statement so /timestep.time/gt/1.1//and/timestep.time/lt/2.1// is not valid as of version 1.1.0.

Note: The update number should be monotonically increasing with the begin\_update calls

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") update\_numupdate number of this update, must be monotonically increasing rankrank making this call filterfilter for the item(s) to delete see detailed description for more info Returnsdvs\_ret TODO 



<a id="ac4d82529053c964b76bd42916c51835e" name="ac4d82529053c964b76bd42916c51835e"></a>## [◆ ](#ac4d82529053c964b76bd42916c51835e)dvs\_end\_init()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_end\_init  ( int32\_t *session\_id*) 

end the initialization of the rank

This must be called to let server know initialization for this rank is complete

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") Returnsdvs\_ret TODO 



<a id="ae75177bf47fcb28313e79840bf778c75" name="ae75177bf47fcb28313e79840bf778c75"></a>## [◆ ](#ae75177bf47fcb28313e79840bf778c75)dvs\_end\_update()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_end\_update  ( int32\_t *session\_id*) 

Call to end the update for this timestep/rank/chunk.

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") Returnsdvs\_ret TODO 



<a id="a5a6cd68f61a53bce6780d3ef95038277" name="a5a6cd68f61a53bce6780d3ef95038277"></a>## [◆ ](#a5a6cd68f61a53bce6780d3ef95038277)dvs\_get\_num\_part\_info()

 DVS\_DLL\_EXPORT uint32\_t dvs\_get\_num\_part\_info  ( int32\_t *session\_id*) 

Get the number of [dvs\_part\_info](structdvs__part__info.xhtml "Struct holding information for a part's definition.") objects for this client session.

Note: This checks the local client session information, does not contact server

Parameters session\_idwhich client session id to check Returnsuint32\_t number of [dvs\_part\_info](structdvs__part__info.xhtml "Struct holding information for a part's definition.") objects, or 0 on error 



<a id="aa44dcb6596c7833d2b9fe2a0435bb4c4" name="aa44dcb6596c7833d2b9fe2a0435bb4c4"></a>## [◆ ](#aa44dcb6596c7833d2b9fe2a0435bb4c4)dvs\_get\_num\_plot\_info()

 DVS\_DLL\_EXPORT uint32\_t dvs\_get\_num\_plot\_info  ( int32\_t *session\_id*) 

Get the number of [dvs\_plot\_info](structdvs__plot__info.xhtml "Struct holding information for a plot's definition.") objects for this client session.

Note: This checks the local client session information, does not contact server

Parameters session\_idwhich client session id to check Returnsuint32\_t number of [dvs\_plot\_info](structdvs__plot__info.xhtml "Struct holding information for a plot's definition.") objects, or 0 on error 



<a id="ad75625cedecbcd365c868c9893c6c2d8" name="ad75625cedecbcd365c868c9893c6c2d8"></a>## [◆ ](#ad75625cedecbcd365c868c9893c6c2d8)dvs\_get\_num\_var\_info()

 DVS\_DLL\_EXPORT uint32\_t dvs\_get\_num\_var\_info  ( int32\_t *session\_id*) 

Get the number of [dvs\_var\_info](structdvs__var__info.xhtml "Struct holding information for a variable's definiton.") objects for this client session.

Note: This checks the local client session information, does not contact server

Parameters session\_idwhich client session id to check Returnsuint32\_t number of [dvs\_var\_info](structdvs__var__info.xhtml "Struct holding information for a variable's definiton.") objects, or 0 on error 



<a id="aefeb5e79919700a670799d9f3e8f0e2c" name="aefeb5e79919700a670799d9f3e8f0e2c"></a>## [◆ ](#aefeb5e79919700a670799d9f3e8f0e2c)dvs\_get\_part\_id()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_get\_part\_id  ( int32\_t *session\_id*,    const char \* *name*,    uint32\_t \* *id* )

Get the ID being used by the client for the named part.

Errors: DVS\_NONE: Success DVS\_INVALID\_NAME: No object with name found DVS\_ID\_NO\_VALID\_SESSION: No session found matching session\_id DVS\_ID\_INVALID\_TYPE: Session id is of wrong type (possibly server) DVS\_PARAM\_NULL: Null param passed in

Parameters \[in\]session\_idwhich client session id to check \[in\]namethe name of the part to search for \[out\]idUINT32\_MAX on failure, otherwise the id of the part for this client ReturnsDVS\_NONE on success, else see method description 



<a id="a5b5a64e37bd6830f518947e7a0f7985e" name="a5b5a64e37bd6830f518947e7a0f7985e"></a>## [◆ ](#a5b5a64e37bd6830f518947e7a0f7985e)dvs\_get\_part\_info()

 DVS\_DLL\_EXPORT const struct [dvs\_part\_info](structdvs__part__info.xhtml) \* dvs\_get\_part\_info  ( int32\_t *session\_id*,    uint32\_t *index* )

Get the [dvs\_part\_info](structdvs__part__info.xhtml "Struct holding information for a part's definition.") object for this index.

Note: This checks the local client session information, does not contact server

Parameters session\_idwhich client session id to check indexindex of the [dvs\_part\_info](structdvs__part__info.xhtml "Struct holding information for a part's definition.") object to retrieve Returnsconst dvs\_part\_info\* object found or NULL on not found or error 



<a id="a3ae625f138573f6fa9904f0609ca1eb1" name="a3ae625f138573f6fa9904f0609ca1eb1"></a>## [◆ ](#a3ae625f138573f6fa9904f0609ca1eb1)dvs\_get\_plot\_id()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_get\_plot\_id  ( int32\_t *session\_id*,    const char \* *name*,    uint32\_t \* *id* )

Get the ID being used by the client for the named plot.

Errors: DVS\_NONE: Success DVS\_INVALID\_NAME: No object with name found DVS\_ID\_NO\_VALID\_SESSION: No session found matching session\_id DVS\_ID\_INVALID\_TYPE: Session id is of wrong type (possibly server) DVS\_PARAM\_NULL: Null param passed in

Parameters \[in\]session\_idwhich client session id to check \[in\]namethe name of the plot to search for \[out\]idUINT32\_MAX on failure, otherwise the id of the plot for this client ReturnsDVS\_NONE on success, else see method description 



<a id="ac3fca7087e8b4366686cef98a95f241f" name="ac3fca7087e8b4366686cef98a95f241f"></a>## [◆ ](#ac3fca7087e8b4366686cef98a95f241f)dvs\_get\_plot\_info()

 DVS\_DLL\_EXPORT const struct [dvs\_plot\_info](structdvs__plot__info.xhtml) \* dvs\_get\_plot\_info  ( int32\_t *session\_id*,    uint32\_t *index* )

Get the [dvs\_plot\_info](structdvs__plot__info.xhtml "Struct holding information for a plot's definition.") object for this index.

Note: This checks the local client session information, does not contact server

Parameters session\_idwhich client session id to check indexindex of the [dvs\_plot\_info](structdvs__plot__info.xhtml "Struct holding information for a plot's definition.") object to retrieve Returnsconst dvs\_plot\_info\* object found or NULL on not found or error 



<a id="a355c95f11b171a15755f748da3349e67" name="a355c95f11b171a15755f748da3349e67"></a>## [◆ ](#a355c95f11b171a15755f748da3349e67)dvs\_get\_var\_id()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_get\_var\_id  ( int32\_t *session\_id*,    const char \* *name*,    uint32\_t \* *id* )

Get the ID being used by the client for the named var.

Errors: DVS\_NONE: Success DVS\_INVALID\_NAME: No object with name found DVS\_ID\_NO\_VALID\_SESSION: No session found matching session\_id DVS\_ID\_INVALID\_TYPE: Session id is of wrong type (possibly server) DVS\_PARAM\_NULL: Null param passed in

Parameters \[in\]session\_idwhich client session id to check \[in\]namethe name of the var to search for \[out\]idUINT32\_MAX on failure, otherwise the id of the var for this client ReturnsDVS\_NONE on success, else see method description 



<a id="a8992f4a5e6c36c5e4da67968b170313c" name="a8992f4a5e6c36c5e4da67968b170313c"></a>## [◆ ](#a8992f4a5e6c36c5e4da67968b170313c)dvs\_get\_var\_info()

 DVS\_DLL\_EXPORT const struct [dvs\_var\_info](structdvs__var__info.xhtml) \* dvs\_get\_var\_info  ( int32\_t *session\_id*,    uint32\_t *index* )

Get the [dvs\_var\_info](structdvs__var__info.xhtml "Struct holding information for a variable's definiton.") object for this index.

Note: This checks the local client session information, does not contact server

Parameters session\_idwhich client session id to check indexindex of the [dvs\_var\_info](structdvs__var__info.xhtml "Struct holding information for a variable's definiton.") object to retrieve Returnsconst dvs\_var\_info\* object found or NULL on not found or error 



<a id="ab8e85aad9b7ec78976db76017803a6b6" name="ab8e85aad9b7ec78976db76017803a6b6"></a>## [◆ ](#ab8e85aad9b7ec78976db76017803a6b6)dvs\_get\_version()

 DVS\_DLL\_EXPORT const char \* dvs\_get\_version  ( ) 

Get the current version of the built library.

This gets the current semantic version of the DVS library. Can be checked against DVS\_CURRENT\_API\_VERSION in [dynamic\_visualization\_store\_version.h](dynamic__visualization__store__version_8h.xhtml "C API for using Dynamic Visualization Store.")

This version follows semantic versioning of MAJOR.MINOR.PATCH. Any change to MAJOR or MINOR should be considered incompatible and the library should be updated.

Returnsconst\* the current version of the built library 



<a id="a345e9b656b994a3e1677b354077b2fff" name="a345e9b656b994a3e1677b354077b2fff"></a>## [◆ ](#a345e9b656b994a3e1677b354077b2fff)dvs\_print\_stats()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_print\_stats  ( int32\_t *session\_id*) 

This will be deprecated, just placeholder for printing out stats that the client is collecting for prototyping.

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") 



<a id="ae57cf8cf0b10421aace6df32a98c60ae" name="ae57cf8cf0b10421aace6df32a98c60ae"></a>## [◆ ](#ae57cf8cf0b10421aace6df32a98c60ae)dvs\_register\_log\_func()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_register\_log\_func  ( int32\_t *session\_id*,    void \* *user\_data*,    [dvs\_log\_func](#a80c7c60e9cd61fcc0a0aacac09d66947) *func*,    enum [dvs\_log\_flags](dynamic__visualization__store__enums_8h.xhtml#a9bca12092877a90e6c497994093a8609) *flags* )

Register logging function for client to call (optional but recommended)

Will not see any logging messages if not registered

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") user\_datauser data that will be passed into dvs\_log\_func calls funcfunction pointer for logging (see dvs\_log\_func) flagswhich items to be logged, see dvs\_log\_flags ([dynamic\_visualization\_store\_enums.h](dynamic__visualization__store__enums_8h.xhtml "Contains enums used in C/C++ API.")) Returnsdvs\_ret TODO 



<a id="a06196ff56fe7f270172239c1be4ce0cd" name="a06196ff56fe7f270172239c1be4ce0cd"></a>## [◆ ](#a06196ff56fe7f270172239c1be4ce0cd)dvs\_server\_create()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_server\_create  ( const char \* *server\_uri*,    int32\_t \* *server\_id* )

Create a Dynamic Visualization Store server instance for the client to connect.

Parameters server\_uriURI of server to create of the format protocol://hostname:port, i.e. grpc://localhost:50055 or null:// see [Server URIs](group__group__dvs__uri.xhtml#dvs_server_uri) for more info. \[out\]server\_idunique id dynamically created for this server, -1 if failure Returns0 on success, else TODO 



<a id="a11887bd000ddab30ababc765e244b094" name="a11887bd000ddab30ababc765e244b094"></a>## [◆ ](#a11887bd000ddab30ababc765e244b094)dvs\_server\_get\_uri()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_server\_get\_uri  ( int32\_t *server\_id*,    char \* *uri*,    uint32\_t \* *size* )

Return the URI of the requested server.

// Usage:

uint32_t uri_size = 0;

err = [dvs\_server\_get\_uri](#a11887bd000ddab30ababc765e244b094)(server_id, NULL, &amp;uri_size);

 if (err == [DVS\_NONE](dynamic__visualization__store__error__codes_8h.xhtml#a83b88ce16159d34fe5ce63e7024462a7) &amp;&amp; uri_size &gt;0){

 char* my_uri = (char*)malloc (uri_size * sizeof(char));

 [dvs\_server\_get\_uri](#a11887bd000ddab30ababc765e244b094)(server_id, my_uri, &amp;uri_size);

 }

[dvs\_server\_get\_uri](#a11887bd000ddab30ababc765e244b094)

DVS_DLL_EXPORT dvs_ret dvs_server_get_uri(int32_t server_id, char *uri, uint32_t *size)

Return the URI of the requested server.



[DVS\_NONE](dynamic__visualization__store__error__codes_8h.xhtml#a83b88ce16159d34fe5ce63e7024462a7)

\#define DVS_NONE

No detected error has occurred.

**Definition** [dynamic\_visualization\_store\_error\_codes.h:103](dynamic__visualization__store__error__codes_8h_source.xhtml#l00103)





Parameters server\_idthe ID of the server \[out\]urian optional char array to be filled with the uri value \[out\]sizean optional uint32\_t to be filled with the size of the uri arrayReturnsDVS\_NONE if the server is running and a port is allocated. 



<a id="ae8abdb8455cea44bbd9f509c1a063516" name="ae8abdb8455cea44bbd9f509c1a063516"></a>## [◆ ](#ae8abdb8455cea44bbd9f509c1a063516)dvs\_server\_set\_option()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_server\_set\_option  ( int32\_t *server\_id*,    const char \* *key*,    const char \* *value* )

Add an option to the server.

These options are used on server startup. Setting an option after a server is started will do nothing until the server is restarted (not common). See [Server Options](group__group__dvs__server.xhtml#dvs_server_options).

Parameters server\_idid of server from [dvs\_server\_create()](#a06196ff56fe7f270172239c1be4ce0cd "Create a Dynamic Visualization Store server instance for the client to connect.") \[in\]keyKey for option to add, MAX LENGTH 2048 \[in\]valueValue for option, MAX LENGTH 2048Returns0 on success, else TODO 



<a id="ad16ba277108c7187b0a11f461b1477ca" name="ad16ba277108c7187b0a11f461b1477ca"></a>## [◆ ](#ad16ba277108c7187b0a11f461b1477ca)dvs\_server\_shutdown()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_server\_shutdown  ( int32\_t *server\_id*) 

Shutdown this server thread.

Parameters server\_idid of server from [dvs\_server\_create()](#a06196ff56fe7f270172239c1be4ce0cd "Create a Dynamic Visualization Store server instance for the client to connect.") Returns0 on success, else TODO 



<a id="aa5722a5316ee73bdd998c9a327e8cb3d" name="aa5722a5316ee73bdd998c9a327e8cb3d"></a>## [◆ ](#aa5722a5316ee73bdd998c9a327e8cb3d)dvs\_server\_start()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_server\_start  ( int32\_t *server\_id*,    uint32\_t *server\_number*,    uint32\_t *local\_ranks* )

Start a Dynamic Visualization Store server in a separate thread to receive data from solver node.

server\_number is used by the DVS server, for each group of servers this number should be unique and monotonically increasing with no gaps (valid: 0, 1, 2 invalid: 0, 2)

local\_ranks is used to determine how many clients will be connecting to this server

Parameters server\_idid of server from [dvs\_server\_create()](#a06196ff56fe7f270172239c1be4ce0cd "Create a Dynamic Visualization Store server instance for the client to connect.") server\_numberThe server number (zero based) for this server, should be unique for each server in this server group. local\_ranksNumber of local ranks this server will handle. Returns0 if server started, else TODO 



<a id="a996a1d0e1696ad7f991e44357d78a422" name="a996a1d0e1696ad7f991e44357d78a422"></a>## [◆ ](#a996a1d0e1696ad7f991e44357d78a422)dvs\_server\_started()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_server\_started  ( int32\_t *server\_id*,    uint32\_t \* *running* )

Check to see if a server was started with this server\_num.

Parameters server\_idid of server from [dvs\_server\_create()](#a06196ff56fe7f270172239c1be4ce0cd "Create a Dynamic Visualization Store server instance for the client to connect.") \[out\]running1 if running, else 0 Returns0 on success, else TODO 



<a id="adeb64f5db63b08a79f2a59a85c5d9683" name="adeb64f5db63b08a79f2a59a85c5d9683"></a>## [◆ ](#adeb64f5db63b08a79f2a59a85c5d9683)dvs\_server\_timestep\_count()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_server\_timestep\_count  ( int32\_t *server\_id*,    uint32\_t \* *num\_pending*,    uint32\_t \* *num\_complete* )

Query a Dynamic Visualization Store server as to the number of timesteps it contains.

Parameters server\_idid of server from [dvs\_server\_create()](#a06196ff56fe7f270172239c1be4ce0cd "Create a Dynamic Visualization Store server instance for the client to connect.") \[out\]num\_pendingThe number of incomplete timesteps currently in the server \[out\]num\_completeThe number of complete timesteps currently in the server Returns0 on success, else TODO 



<a id="abf84206bdff4c0d6f00ada37f6eadf55" name="abf84206bdff4c0d6f00ada37f6eadf55"></a>## [◆ ](#abf84206bdff4c0d6f00ada37f6eadf55)dvs\_session\_shutdown()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_session\_shutdown  ( int32\_t *session\_id*) 

Shutdown session.

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") Returnsdvs\_ret TODO 



<a id="adc2aa26177a1b4a487b3c8f3f7b7b23d" name="adc2aa26177a1b4a487b3c8f3f7b7b23d"></a>## [◆ ](#adc2aa26177a1b4a487b3c8f3f7b7b23d)dvs\_session\_shutdown\_all()

 DVS\_DLL\_EXPORT void dvs\_session\_shutdown\_all  ( ) 

Shutdown all connected sessions.

All previously returned session\_id's from dvs\_connect will be invalid once this call is made.





<a id="a14b52ceff846429259cab42ee11579f0" name="a14b52ceff846429259cab42ee11579f0"></a>## [◆ ](#a14b52ceff846429259cab42ee11579f0)dvs\_set\_unit\_system()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_set\_unit\_system  ( int32\_t *session\_id*,    const char \* *system* )

Set a unit system (optional but recommended)

Note: This cannot be changed once [dvs\_end\_init()](#ac4d82529053c964b76bd42916c51835e "end the initialization of the rank") is called

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") systemUTF-8 compatible unit system see: [https://nexusdemo.ensight.com/docs/python/html/ENS\_UNITSSchema.html](https://nexusdemo.ensight.com/docs/python/html/ENS_UNITSSchema.html) Returnsdvs\_ret TODO 



<a id="af2223790199210c6fd1f5ac5ade6c60a" name="af2223790199210c6fd1f5ac5ade6c60a"></a>## [◆ ](#af2223790199210c6fd1f5ac5ade6c60a)dvs\_update\_copy\_previous\_part()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_update\_copy\_previous\_part  ( int32\_t *session\_id*,    uint32\_t *part\_id*,    const char \* *options* )

Copy data from the previous timestep before applying other data.

Currently we only support the options of empty string, mesh or mesh.vars empty string and mesh.vars will copy the mesh, connectivity, and nodal/elemental variables. mesh only copies the mesh and connectivity. Note: Currently plots and case/part constant variables will not be copied via this option and must always be sent.

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") part\_idthe id of the part we are copying data for, UINT32\_MAX to select all parts optionsoptions to copy, see method description Returnsdvs\_ret TODO 



<a id="a05061077e83272567bbc43367c0b8e74" name="a05061077e83272567bbc43367c0b8e74"></a>## [◆ ](#a05061077e83272567bbc43367c0b8e74)dvs\_update\_elements()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_update\_elements  ( int32\_t *session\_id*,    uint32\_t *part\_id*,    enum [dvs\_element\_type](dynamic__visualization__store__enums_8h.xhtml#af1c8824b29a0ab747460216716cc2895) *type*,    const uint32\_t \* *indices*,    uint32\_t *num\_indices* )

Update elements for a specific part and element type.

This will update the elements for a part. The number of indices needed will vary depending on the type and the num\_elements. I.E. if updating triangles with 3 elements the indices array should be of size 9 (3 triangles with 3 indices)

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") part\_idunique id of part to update elements for (must match parts added with dvs\_add\_part\_info) typeelement type of elements to update (points, triangles, quads, etc.) indicesnode indices for each element, for ordering info per element type see EnSight's User Manual, section 9.2.3 Supported EnSight Gold Elements num\_indicesthe size of the indices array Returnsret\_val TODO 



<a id="a763afb059b0301ba18fefe3cd126ce79" name="a763afb059b0301ba18fefe3cd126ce79"></a>## [◆ ](#a763afb059b0301ba18fefe3cd126ce79)dvs\_update\_elements\_polygon()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_update\_elements\_polygon  ( int32\_t *session\_id*,    uint32\_t *part\_id*,    enum [dvs\_element\_type](dynamic__visualization__store__enums_8h.xhtml#af1c8824b29a0ab747460216716cc2895) *type*,    const uint32\_t \* *nodes\_per\_polygon*,    uint32\_t *nodes\_per\_polygon\_size*,    const uint32\_t \* *indices*,    uint32\_t *indices\_size* )

Update N-SIDED elements.

This method will send over a list of arbitrarily sized polygons. The nodes\_per\_polygon param is an array containing the size of each polygon. I.E. if sending a quadrangle, and a 25 sided element the nodes\_per\_polygon array might look like \[4, 25\]. The size of the indices array would be 4+25=29 in this example where the first 4 items in the indices array would correspond to the first item in the nodes\_per\_polygon array, the next 25 items in the indices array would correspond to the second item in the nodes\_per\_polygon array

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") part\_idunique id of part to update elements for (must match parts added with dvs\_add\_part\_info) typeelement type of elements to update (N\_SIDED\_POLYGON or N\_SIDED\_POLYGON\_GHOST) nodes\_per\_polygonArray containing number of nodes in each element/polygon nodes\_per\_polygon\_sizesize of nodes\_per\_polygon array indicesArray of node indices for the polygons described in nodes\_per\_polygon indices\_sizeSize of indices array Returnsdvs\_ret TODO 



<a id="aff070e9087ba34f41200ff0cd1d3002e" name="aff070e9087ba34f41200ff0cd1d3002e"></a>## [◆ ](#aff070e9087ba34f41200ff0cd1d3002e)dvs\_update\_elements\_polyhedral()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_update\_elements\_polyhedral  ( int32\_t *session\_id*,    uint32\_t *part\_id*,    enum [dvs\_element\_type](dynamic__visualization__store__enums_8h.xhtml#af1c8824b29a0ab747460216716cc2895) *type*,    const uint32\_t \* *faces\_per\_element*,    uint32\_t *faces\_per\_element\_size*,    const uint32\_t \* *nodes\_per\_face*,    uint32\_t *nodes\_per\_face\_size*,    const uint32\_t \* *indices*,    uint32\_t *indices\_size* )

Update N-FACED Elements.

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") part\_idunique id of part to update elements for (must match parts added with dvs\_add\_part\_info) typeelement type of elements to update (CONVEX\_POLYHEDRON or CONVEX\_POLYHEDRON\_GHOST) faces\_per\_elementArray of how many faces are in each element faces\_per\_element\_sizesize of faces\_per\_element array nodes\_per\_faceArray of how many nodes each face contains nodes\_per\_face\_sizesize of nodes\_per\_face array indicesNode indices for elements indices\_sizesize of node indices Returnsdvs\_ret TODO 



<a id="a7fdc956a0712ef2a60195fa013e59222" name="a7fdc956a0712ef2a60195fa013e59222"></a>## [◆ ](#a7fdc956a0712ef2a60195fa013e59222)dvs\_update\_nodes()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_update\_nodes  ( int32\_t *session\_id*,    uint32\_t *part\_id*,    const float \* *x*,    const float \* *y*,    const float \* *z*,    uint32\_t *num\_values* )

Update nodes for a specific part.

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") part\_idthe id of part we are updating nodes for \[in\]xarray of x components for nodes \[in\]yarray of y components for nodes \[in\]zarray of z components for nodes num\_valuesnumber of values in individual x/y/z arrays (max nodes in part 2^31) Returnsdvs\_ret TODO 



<a id="af69daaa5a2ac63f7ce31a2e8e3d66332" name="af69daaa5a2ac63f7ce31a2e8e3d66332"></a>## [◆ ](#af69daaa5a2ac63f7ce31a2e8e3d66332)dvs\_update\_nodes\_curvilinear()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_update\_nodes\_curvilinear  ( int32\_t *session\_id*,    uint32\_t *part\_id*,    const uint32\_t *global\_ijk\_max*\[3\],    const uint32\_t *local\_ijk\_min*\[3\],    const uint32\_t *local\_ijk\_max*\[3\],    const float \* *x\_vals*,    const float \* *y\_vals*,    const float \* *z\_vals* )

Update the nodes for a curvilinear structured part.

A curvilinear structured part is represented by the global IJK grid across ranks, the local sub-block's IJK rank, and the actual XYZ values for each IJK grid point in the local grid.

Local IJK Dimensions: The min/max represent a local sub-block from the overall global grid. This could be the entire range if not splitting the grid into multiple ranks or a specific slice. For example you could have a 2ix3jx4k grid where it was split across the I dimension. One rank would specify min/max IJK as min:\[0,0,0\], max:\[0,2,3\], the other rank would specify min/max IJK as min:\[1,0,0\], max:\[1,2,3\]. If sending the data all as one rank it would be the full range of: min:\[0,0,0\], max:\[1,2,3\]

IJK Vals: These specify the actual XYZ location for each IJK value in the grid. The order of these should be by the fastest changing dimension being I, the next being J, and the next being K. I.E. for a 2x2x2 grid the x\_vals array would contain the X component for IJK values: \[i0 j0 k0\]\[i1 j0 k0\]\[i0 j1 k0\]\[i1 j1 k0\]\[i0 j0 k1\]\[i1 j0 k1\]\[i0 j1 k1\]\[i1 j1 k1\].

**Note:** iblanking information is sent via [dvs\_update\_var\_node\_scalar()](#aea17a7bbdc6ac8c2cdd4e6c35c1a8578 "Update a field of scalars on nodes.") using [DVS\_STRUCTURED\_IBLANKED\_NODES](dynamic__visualization__store__enums_8h.xhtml#aa405c87964a066405de5426a3089702b) as the variable id

**Note:** Ghost element information is sent via [dvs\_update\_var\_element\_scalar()](#aae3c0a5237c193d05266fba6e6798a4c "Update a field of scalars on elements.") using [DVS\_STRUCTURED\_GHOST\_ELEMENTS](dynamic__visualization__store__enums_8h.xhtml#a5f85a0e808c3bad9b9b616e62f5724c0) as the variable id

Parameters \[in\]session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") \[in\]part\_idthe id of part we are updating nodes for \[in\]global\_ijk\_maxThe one based global ijk max of the mesh across all ranks \[in\]local\_ijk\_minthe zero based local sub-block ijk min for this rank \[in\]local\_ijk\_maxthe zero based local sub-block ijk max for this rank x\_valsThe actual X component for each IJK value for the local sub block (size (iMax-iMin+1)\*(jMax-jMin+1)\*(kMax-kMin+1)) y\_valsThe actual Y component for each IJK value for the local sub block (size (iMax-iMin+1)\*(jMax-jMin+1)\*(kMax-kMin+1)) z\_valsThe actual Z component for each IJK value for the local sub block (size (iMax-iMin+1)\*(jMax-jMin+1)\*(kMax-kMin+1)) Returnsdvs\_ret TODO 



<a id="a0d0312c5143eb8de2e08a903c929d8c3" name="a0d0312c5143eb8de2e08a903c929d8c3"></a>## [◆ ](#a0d0312c5143eb8de2e08a903c929d8c3)dvs\_update\_nodes\_parallelepiped()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_update\_nodes\_parallelepiped  ( int32\_t *session\_id*,    uint32\_t *part\_id*,    const uint32\_t *global\_ijk\_max*\[3\],    const uint32\_t *local\_ijk\_min*\[3\],    const uint32\_t *local\_ijk\_max*\[3\],    const float *origin*\[3\],    const float *dir\_i*\[3\],    const float *dir\_j*\[3\],    const float *dir\_k*\[3\],    const float \* *i\_vals*,    const float \* *j\_vals*,    const float \* *k\_vals* )

Update the nodes for a parallelepiped structured part.

A parallelepiped structured part is represented by the global IJK grid across ranks, the local sub-block's IJK range, the ogigin of the IJK sub-block, the normalized direction (unit) vectors for each IJK dimension, and the absolute distances for each IJK index from the origin of this sub-block.

Global IJK Max: for a 2x3x4 grid would be: \[2 3 4\]

Local IJK Dimensions: The min/max represent a local sub-block from the overall global grid. This could be the entire range if not splitting the grid into multiple ranks or a specific slice. For example you could have a 2ix3jx4k grid where it was split across the I dimension. One rank would specify min/max IJK as min:\[0,0,0\], max:\[0,2,3\], the other rank would specify min/max IJK as min:\[1,0,0\], max:\[1,2,3\]. If sending the data all as one rank it would be the full range of: min:\[0,0,0\], max:\[1,2,3\]

Direction (Unit) Vectors: These represent the XYZ orientation of each IJK axis. I.E. if I==X J==Y K==Z the vectors would be dir\_i: \[1 0 0\], dir\_j: \[0 1 0\], dir\_k: \[0 0 1\]

IJK Vals: These specify the absolute distance from the XYZ origin in each IJK direction(specified by the direction vectors). So if the distance was 1 between every I index, 2 between every J index, and 3 in between every K index the arrays would look like: i\_vals: \[0 1 2 3 4 5....\] j\_vals: \[0 2 4 6 8 10....\] k\_vals: \[0 3 6 9 12 15....\]

**Note:** iblanking information is sent via [dvs\_update\_var\_node\_scalar()](#aea17a7bbdc6ac8c2cdd4e6c35c1a8578 "Update a field of scalars on nodes.") using [DVS\_STRUCTURED\_IBLANKED\_NODES](dynamic__visualization__store__enums_8h.xhtml#aa405c87964a066405de5426a3089702b) as the variable id

**Note:** Ghost element information is sent via [dvs\_update\_var\_element\_scalar()](#aae3c0a5237c193d05266fba6e6798a4c "Update a field of scalars on elements.") using [DVS\_STRUCTURED\_GHOST\_ELEMENTS](dynamic__visualization__store__enums_8h.xhtml#a5f85a0e808c3bad9b9b616e62f5724c0) as the variable id

Parameters \[in\]session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") \[in\]part\_idthe id of part we are updating nodes for \[in\]global\_ijk\_maxThe one based global ijk max of the mesh across all ranks \[in\]local\_ijk\_minthe zero based local sub-block ijk min for this rank \[in\]local\_ijk\_maxthe zero based local sub-block ijk max for this rank \[in\]originthe XYZ origin of this local ijk block \[in\]dir\_iThe normalized XYZ direction vector for the i dimension \[in\]dir\_jThe normalized XYZ direction vector for the j dimension \[in\]dir\_kThe normalized XYZ direction vector for the k dimension \[in\]i\_valsThe absolute distance vector for each i index from the local sub block's origin of size iMax-iMin+1 \[in\]j\_valsThe absolute distance vector for each j index from the local sub block's origin of size jMax-jMin+1 \[in\]k\_valsThe absolute distance vector for each k index from the local sub block's origin of size kMax-kMin+1 Returnsdvs\_ret TODO 



<a id="a433ce5100e551dca71dee92b0afe1563" name="a433ce5100e551dca71dee92b0afe1563"></a>## [◆ ](#a433ce5100e551dca71dee92b0afe1563)dvs\_update\_plot()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_update\_plot  ( int32\_t *session\_id*,    uint32\_t *plot\_id*,    const float \* *x\_values*,    const float \* *y\_values*,    uint32\_t *num\_values* )

Update the data for a plot.

Update the data for a plot, the size of the x\_values and y\_values should match and be the same as num\_values

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") plot\_idid of plot to update matching plot\_infos sent with dvs\_add\_plot\_info \[in\]x\_valuesarray of x axis values \[in\]y\_valuesarray of y axis values num\_valuessize of arrays Returnsdvs\_ret TODO 



<a id="ad97de401448e85da8cb13d3e45cfb227" name="ad97de401448e85da8cb13d3e45cfb227"></a>## [◆ ](#ad97de401448e85da8cb13d3e45cfb227)dvs\_update\_var\_case\_scalar()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_update\_var\_case\_scalar  ( int32\_t *session\_id*,    uint32\_t *var\_id*,    float *scalar* )

Update value of case scalar.

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") var\_idunique id of variable to update (must match var added with dvs\_add\_var\_info) scalarvalue to update Returnsdvs\_ret TODO 



<a id="ab4e0ac12018e08551d6b8121971fea7e" name="ab4e0ac12018e08551d6b8121971fea7e"></a>## [◆ ](#ab4e0ac12018e08551d6b8121971fea7e)dvs\_update\_var\_case\_vector()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_update\_var\_case\_vector  ( int32\_t *session\_id*,    uint32\_t *var\_id*,    const float \* *vec* )

Update value of case vector.

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") var\_idunique id of variable to update (must match var added with dvs\_add\_var\_info) \[in\]vecarray of x,y,z values (size 3) Returnsdvs\_ret TODO 



<a id="aae3c0a5237c193d05266fba6e6798a4c" name="aae3c0a5237c193d05266fba6e6798a4c"></a>## [◆ ](#aae3c0a5237c193d05266fba6e6798a4c)dvs\_update\_var\_element\_scalar()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_update\_var\_element\_scalar  ( int32\_t *session\_id*,    uint32\_t *var\_id*,    uint32\_t *part\_id*,    enum [dvs\_element\_type](dynamic__visualization__store__enums_8h.xhtml#af1c8824b29a0ab747460216716cc2895) *type*,    const float \* *scalars*,    uint32\_t *num\_vals* )

Update a field of scalars on elements.

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") var\_idunique id for variable to update (must match var added with dvs\_add\_var\_info) part\_idunique id for part element is associated with (must match parts added with dvs\_add\_part\_info) typeelement type to update \[in\]scalarsarray of scalars num\_valsnumber of values in scalar array Returnsdvs\_ret TODO 



<a id="a008017a6bb9e8c8488e392d3cf58f7ad" name="a008017a6bb9e8c8488e392d3cf58f7ad"></a>## [◆ ](#a008017a6bb9e8c8488e392d3cf58f7ad)dvs\_update\_var\_element\_scalar\_int64()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_update\_var\_element\_scalar\_int64  ( int32\_t *session\_id*,    uint32\_t *var\_id*,    uint32\_t *part\_id*,    enum [dvs\_element\_type](dynamic__visualization__store__enums_8h.xhtml#af1c8824b29a0ab747460216716cc2895) *type*,    const int64\_t \* *scalars*,    uint32\_t *num\_vals* )

Update a field of int64 scalars on elements.

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") var\_idunique id for variable to update (must match var added with dvs\_add\_var\_info) part\_idunique id for part element is associated with (must match parts added with dvs\_add\_part\_info) typeelement type to update \[in\]scalarsarray of scalars num\_valsnumber of values in scalar array Returnsdvs\_ret TODO 



<a id="af3cd5ecfd626ca40b1273634734f38d5" name="af3cd5ecfd626ca40b1273634734f38d5"></a>## [◆ ](#af3cd5ecfd626ca40b1273634734f38d5)dvs\_update\_var\_element\_vector()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_update\_var\_element\_vector  ( int32\_t *session\_id*,    uint32\_t *var\_id*,    uint32\_t *part\_id*,    enum [dvs\_element\_type](dynamic__visualization__store__enums_8h.xhtml#af1c8824b29a0ab747460216716cc2895) *type*,    const float \* *values*,    uint32\_t *num\_values* )

Update a field of vectors on elements.

Updates a field of vectors on elements, the size of all coordinate arrays must be the same.

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") var\_idunique id for variable to update (must match var added with dvs\_add\_var\_info) part\_idunique id for part to update (must match parts added with dvs\_add\_part\_info) typeelement type to update \[in\]valuesarray of values to udpate, should be the size of number of elements \* 3, values are XYZ XYZ XYZ.......... XYZ num\_valuessize of values array Returnsdvs\_ret TODO 



<a id="aea17a7bbdc6ac8c2cdd4e6c35c1a8578" name="aea17a7bbdc6ac8c2cdd4e6c35c1a8578"></a>## [◆ ](#aea17a7bbdc6ac8c2cdd4e6c35c1a8578)dvs\_update\_var\_node\_scalar()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_update\_var\_node\_scalar  ( int32\_t *session\_id*,    uint32\_t *var\_id*,    uint32\_t *part\_id*,    const float \* *scalars*,    uint32\_t *num\_vals* )

Update a field of scalars on nodes.

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") var\_idunique id for variable to update (must match var added with dvs\_add\_var\_info) part\_idunique id for part nodes are associated with (must match parts added with dvs\_add\_part\_info) \[in\]scalarsarray of scalars to set on variable num\_valsnumber of values in scalar array Returnsdvs\_ret TODO 



<a id="a7c130a702347b1baa7e884303f3ce9d5" name="a7c130a702347b1baa7e884303f3ce9d5"></a>## [◆ ](#a7c130a702347b1baa7e884303f3ce9d5)dvs\_update\_var\_node\_scalar\_int64()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_update\_var\_node\_scalar\_int64  ( int32\_t *session\_id*,    uint32\_t *var\_id*,    uint32\_t *part\_id*,    const int64\_t \* *scalars*,    uint32\_t *num\_vals* )

Update a field of int64 scalars on nodes.

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") var\_idunique id for variable to update (must match var added with dvs\_add\_var\_info) part\_idunique id for part nodes are associated with (must match parts added with dvs\_add\_part\_info) \[in\]scalarsarray of scalars to set on variable num\_valsnumber of values in scalar array   
Returnsdvs\_ret TODO 



<a id="a9086155711ed76c6141bdde2291f140a" name="a9086155711ed76c6141bdde2291f140a"></a>## [◆ ](#a9086155711ed76c6141bdde2291f140a)dvs\_update\_var\_node\_vector()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_update\_var\_node\_vector  ( int32\_t *session\_id*,    uint32\_t *var\_id*,    uint32\_t *part\_id*,    const float \* *values*,    uint32\_t *num\_values* )

Update a field of vectors on nodes.

Updates a field of vectors on nodes, the size of all coordinate arrays must be the same.

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") var\_idunique id for variable to update (must match var added with dvs\_add\_var\_info) part\_idunique id for part to update (must match parts added with dvs\_add\_part\_info) \[in\]valuesarray of values to udpate, should be the size of number of nodes \* 3, values are XYZ XYZ XYZ.......... XYZ num\_valuessize of values array Returnsdvs\_ret TODO 



<a id="a853ed7ef2608619b82dd51055cee3f60" name="a853ed7ef2608619b82dd51055cee3f60"></a>## [◆ ](#a853ed7ef2608619b82dd51055cee3f60)dvs\_update\_var\_part\_scalar()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_update\_var\_part\_scalar  ( int32\_t *session\_id*,    uint32\_t *var\_id*,    uint32\_t *part\_id*,    float *scalar* )

Update value of part scalar.

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") var\_idunique id of variable to update (must match var added with dvs\_add\_var\_info) part\_idunique id of part associated with (must match parts added with dvs\_add\_part\_info) scalarvalue to update Returnsdvs\_ret TODO 



<a id="a0b8da4c016b09b93b3fcf71afe384b21" name="a0b8da4c016b09b93b3fcf71afe384b21"></a>## [◆ ](#a0b8da4c016b09b93b3fcf71afe384b21)dvs\_update\_var\_part\_vector()

 DVS\_DLL\_EXPORT [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) dvs\_update\_var\_part\_vector  ( int32\_t *session\_id*,    uint32\_t *var\_id*,    uint32\_t *part\_id*,    const float \* *vec* )

Update value of part scalar.

Parameters session\_idid for session created by [dvs\_connect()](#ab96812d4412a9af10e7e7924c572a7c9 "Connect to dvs server.") var\_idunique id of variable to update (must match var added with dvs\_add\_var\_info) part\_idunique id of part associated with (must match parts added with dvs\_add\_part\_info) \[in\]vecarray of x,y,z values (size 3) Returnsdvs\_ret TODO