Hello Catalyst community,
I’m designing the support of VTK field data in Catalyst2. Field data is basically metadata associated to a Data Object. The main problem is to define where the field data should be defined in the conduit nodes.
Conduit upstream advises to use the state
node of the BluePrint mesh, which seems reasonable.
Looking at the vtkConduitSource, a catalyst node already supports a state
node at the channel
level and the child nodes (timestep/cycle/times) are already transformed to field data. As far as I understand, there is only one data
node associated to a channel, hence only one blueprint mesh per channel. So adding the field data at the channel
level is also a valid solution.
First question: should we put the field data nodes in the state
node of the channel or in the state
node of the Blueprint mesh?
Regarding the protocol, we could extend the state
node by allowing user defined child nodes where the name of the node will be the data array name and the node’s values will be the data array content. We should be flexible here to allow single values (integer, double, strings…), mcArrays and string arrays.
An other approach is to add a intermediate child node field_data
in the state
node to avoid mixing existing state child like “timestep” or “cycle”, from the user defined nodes.
Second question: should we add and intermediate node field_data
in the state
node or consider all child node as field data’s arrays?
Feel free to comment and suggest any improvement. Thanks!