https://www.paraview.org/ParaView/index.php?title=Block_Hierarchy_Meta_Data&feed=atom&action=historyBlock Hierarchy Meta Data - Revision history2024-03-29T11:03:21ZRevision history for this page on the wikiMediaWiki 1.39.3https://www.paraview.org/ParaView/index.php?title=Block_Hierarchy_Meta_Data&diff=6033&oldid=prevUtkarsh: Replacing page with 'Moved to [http://www.paraview.org/Wiki/Block_Hierarchy_Meta_Data ParaView public Wiki]'2008-08-04T12:07:02Z<p>Replacing page with 'Moved to [http://www.paraview.org/Wiki/Block_Hierarchy_Meta_Data ParaView public Wiki]'</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 08:07, 4 August 2008</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">==Problem statement==</del></div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Moved </ins>to [<ins style="font-weight: bold; text-decoration: none;">http</ins>:<ins style="font-weight: bold; text-decoration: none;">//www</ins>.<ins style="font-weight: bold; text-decoration: none;">paraview</ins>.<ins style="font-weight: bold; text-decoration: none;">org</ins>/<ins style="font-weight: bold; text-decoration: none;">Wiki</ins>/<ins style="font-weight: bold; text-decoration: none;">Block_Hierarchy_Meta_Data ParaView public Wiki]</ins></div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">Several file formats have multiple ways of representing data blocks in hierarchies. The most of important of these are Exodus and SILO. All Exodus data files contain a collection of element blocks. Furthermore, some contain additional meta-data to groups these blocks into hierarchies and also material groups. Similarly, SILO files contains domains and materials. One major difference between the two formats is that, in SILO, domains are element blocks that can contain multiple materials. There is a separate data structure that lists the elements of different materials. Therefore, extract a certain material out of a domain requires reading the whole domain and the list of elements for that material and then extracting those elements out.</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">The problem we are trying to address is the fact that there is no easy way of getting meta-data about these blocks, materials and hierarchies and delivering it to the client for use by the GUI. Currently, the GUI knows nothing about the relationship between blocks, materials and hierarchies. For example, when the user selects a material, the GUI updates the server side reader's material selection and asks it to give back a new selection for all blocks and hierarchies. For large number of blocks, this has a significant overhead. We want to be able to deliver the whole hierarchy as meta-data </del>to <del style="font-weight: bold; text-decoration: none;">the client so that the selection GUI can avoid any additional communication with the server.</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">==Proposed solution==</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">First of all, we need a data structure that represents the various data hierarchies. For this, I propose using a DAG. An example DAG is below.</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">[</del>[<del style="font-weight: bold; text-decoration: none;">Image</del>:<del style="font-weight: bold; text-decoration: none;">Sil.png|800px]]</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">Here, the top node SIL is an artificial root. It points to three groupings: Blocks, Materials and Assembly. All these grouping are subdivided further. The important thing to note is that all leaf nodes are blocks. This is natural for Exodus files since blocks are the smallest building blocks of a datasets. It is not as natural for SILO since these "blocks" correspond to individual materials inside domains. However, this DAG still contains all the necessary information to represent the hierarchy inside SILO files.</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">This DAG will have to be created by the reader and provided as meta-data. The easiest way of doing this is for the reader to create a vtkGraph (vtkMutableDirectedGraph actually) and adding it to the output information</del>. <del style="font-weight: bold; text-decoration: none;">Once the DAG is available as meta-data, an information object can bring it back to the client side</del>. <del style="font-weight: bold; text-decoration: none;">This is especially easy with vtkGraph because it can be serialized</del>/<del style="font-weight: bold; text-decoration: none;">unserialized using the legacy writers</del>/<del style="font-weight: bold; text-decoration: none;">readers.</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">Once on the client side, a custom item model would adapt this DAG to a set of tree widgets - one per grouping. The existing GUI is sufficient and does not have to change. Here, if the user unselects a particular node, for example "Steel" in this example, the GUI code has to traverse down the graph and unselect all the leaf nodes, blocks 1 and 2 in this example. Then, the model for blocks and assembly would be updated based on this information. Note that to determine whether a non-leaf node is on, off or partial, the GUI has to traverse down to the leaf nodes.</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">Once the user applies, all the GUI has to do is to send a list of blocks to the reader. No information about materials or hierarchies is needed. This will probably require a bit of work for the SILO reader since it does not know about blocks but it should be fairly easy.</del></div></td><td colspan="2" class="diff-side-added"></td></tr>
</table>Utkarshhttps://www.paraview.org/ParaView/index.php?title=Block_Hierarchy_Meta_Data&diff=6031&oldid=prevBerk: /* Proposed solution */2008-07-16T19:04:35Z<p><span dir="auto"><span class="autocomment">Proposed solution</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 15:04, 16 July 2008</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l15">Line 15:</td>
<td colspan="2" class="diff-lineno">Line 15:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>This DAG will have to be created by the reader and provided as meta-data. The easiest way of doing this is for the reader to create a vtkGraph (vtkMutableDirectedGraph actually) and adding it to the output information. Once the DAG is available as meta-data, an information object can bring it back to the client side. This is especially easy with vtkGraph because it can be serialized/unserialized using the legacy writers/readers.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>This DAG will have to be created by the reader and provided as meta-data. The easiest way of doing this is for the reader to create a vtkGraph (vtkMutableDirectedGraph actually) and adding it to the output information. Once the DAG is available as meta-data, an information object can bring it back to the client side. This is especially easy with vtkGraph because it can be serialized/unserialized using the legacy writers/readers.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Once on the client side, a custom item model would adapt this DAG to a set of tree widgets - one per grouping. The existing GUI is sufficient and does not have to change. Here, if the user unselects a particular node, for example "Steel" in this example, the GUI code has to traverse down the graph and unselect all the leaf nodes, blocks 1 and 2 in this example. Then, the model for blocks and assembly would be updated based on this information. Note that to determine whether a non-leaf node is on, off or partial, the GUI has to traverse down to the leaf nodes.</ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Once <del style="font-weight: bold; text-decoration: none;">on </del>the <del style="font-weight: bold; text-decoration: none;">client side</del>, <del style="font-weight: bold; text-decoration: none;">a custom item model would adapt this DAG </del>to a <del style="font-weight: bold; text-decoration: none;">set </del>of <del style="font-weight: bold; text-decoration: none;">tree widgets - one per grouping</del>. <del style="font-weight: bold; text-decoration: none;">The existing GUI </del>is <del style="font-weight: bold; text-decoration: none;">sufficient and </del>does not <del style="font-weight: bold; text-decoration: none;">have to change</del>. <del style="font-weight: bold; text-decoration: none;">Here, if the user unselects a particular node</del></div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Once the <ins style="font-weight: bold; text-decoration: none;">user applies</ins>, <ins style="font-weight: bold; text-decoration: none;">all the GUI has to do is </ins>to <ins style="font-weight: bold; text-decoration: none;">send </ins>a <ins style="font-weight: bold; text-decoration: none;">list </ins>of <ins style="font-weight: bold; text-decoration: none;">blocks to the reader</ins>. <ins style="font-weight: bold; text-decoration: none;">No information about materials or hierarchies </ins>is <ins style="font-weight: bold; text-decoration: none;">needed. This will probably require a bit of work for the SILO reader since it </ins>does not <ins style="font-weight: bold; text-decoration: none;">know about blocks but it should be fairly easy</ins>.</div></td></tr>
</table>Berkhttps://www.paraview.org/ParaView/index.php?title=Block_Hierarchy_Meta_Data&diff=6030&oldid=prevBerk: /* Proposed solution */2008-07-16T19:01:01Z<p><span dir="auto"><span class="autocomment">Proposed solution</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 15:01, 16 July 2008</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l10">Line 10:</td>
<td colspan="2" class="diff-lineno">Line 10:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Image:Sil.png|800px]]</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Image:Sil.png|800px]]</div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Here, the top node SIL is an artificial root. It points to three groupings: Blocks, Materials and Assembly. All these grouping are subdivided further. The important thing to note is that all leaf nodes are blocks. This is natural for Exodus files since blocks are the smallest building blocks of a datasets. It is not as natural for SILO since these "blocks" correspond to individual materials inside domains. However, this DAG still contains all the necessary information to represent the hierarchy inside SILO files.</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">This DAG will have to be created by the reader and provided as meta-data. The easiest way of doing this is for the reader to create a vtkGraph (vtkMutableDirectedGraph actually) and adding it to the output information. Once the DAG is available as meta-data, an information object can bring it back to the client side. This is especially easy with vtkGraph because it can be serialized/unserialized using the legacy writers/readers.</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Once on the client side, a custom item model would adapt this DAG to a set of tree widgets - one per grouping. The existing GUI is sufficient and does not have to change. Here, if the user unselects a particular node</ins></div></td></tr>
</table>Berkhttps://www.paraview.org/ParaView/index.php?title=Block_Hierarchy_Meta_Data&diff=6029&oldid=prevBerk: /* Proposed solution */2008-07-16T18:53:53Z<p><span dir="auto"><span class="autocomment">Proposed solution</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 14:53, 16 July 2008</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l8">Line 8:</td>
<td colspan="2" class="diff-lineno">Line 8:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>First of all, we need a data structure that represents the various data hierarchies. For this, I propose using a DAG. An example DAG is below.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>First of all, we need a data structure that represents the various data hierarchies. For this, I propose using a DAG. An example DAG is below.</div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[[Image:Sil.png|800px]]</ins></div></td></tr>
</table>Berkhttps://www.paraview.org/ParaView/index.php?title=Block_Hierarchy_Meta_Data&diff=6027&oldid=prevBerk: /* Problem statement */2008-07-16T18:50:52Z<p><span dir="auto"><span class="autocomment">Problem statement</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 14:50, 16 July 2008</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>=Problem statement=</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">=</ins>=Problem statement<ins style="font-weight: bold; text-decoration: none;">=</ins>=</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Several file formats have multiple ways of representing data blocks in hierarchies. The most of important of these are Exodus and SILO. All Exodus data files contain a collection of element blocks. Furthermore, some contain additional meta-data to groups these blocks into hierarchies and also material groups. Similarly, SILO files contains domains and materials. One major difference between the two formats is that, in SILO, domains are element blocks that can contain multiple materials. There is a separate data structure that lists the elements of different materials. Therefore, extract a certain material out of a domain requires reading the whole domain and the list of elements for that material and then extracting those elements out.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Several file formats have multiple ways of representing data blocks in hierarchies. The most of important of these are Exodus and SILO. All Exodus data files contain a collection of element blocks. Furthermore, some contain additional meta-data to groups these blocks into hierarchies and also material groups. Similarly, SILO files contains domains and materials. One major difference between the two formats is that, in SILO, domains are element blocks that can contain multiple materials. There is a separate data structure that lists the elements of different materials. Therefore, extract a certain material out of a domain requires reading the whole domain and the list of elements for that material and then extracting those elements out.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The problem we are trying to address is the fact that there is no easy way of getting meta-data about these blocks, materials and hierarchies and delivering it to the client for use by the GUI. Currently, the GUI knows nothing about the relationship between blocks, materials and hierarchies. For example, when the user selects a material, the GUI updates the server side reader's material selection and asks it to give back a new selection for all blocks and hierarchies. For large number of blocks, this has a significant overhead. We want to be able to deliver the whole hierarchy as meta-data to the client so that the selection GUI can avoid any additional communication with the server.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The problem we are trying to address is the fact that there is no easy way of getting meta-data about these blocks, materials and hierarchies and delivering it to the client for use by the GUI. Currently, the GUI knows nothing about the relationship between blocks, materials and hierarchies. For example, when the user selects a material, the GUI updates the server side reader's material selection and asks it to give back a new selection for all blocks and hierarchies. For large number of blocks, this has a significant overhead. We want to be able to deliver the whole hierarchy as meta-data to the client so that the selection GUI can avoid any additional communication with the server.</div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">==Proposed solution==</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">First of all, we need a data structure that represents the various data hierarchies. For this, I propose using a DAG. An example DAG is below.</ins></div></td></tr>
</table>Berkhttps://www.paraview.org/ParaView/index.php?title=Block_Hierarchy_Meta_Data&diff=6026&oldid=prevBerk: /* Problem statement */2008-07-16T18:48:56Z<p><span dir="auto"><span class="autocomment">Problem statement</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 14:48, 16 July 2008</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l2">Line 2:</td>
<td colspan="2" class="diff-lineno">Line 2:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Several file formats have multiple ways of representing data blocks in hierarchies. The most of important of these are Exodus and SILO. All Exodus data files contain a collection of element blocks. Furthermore, some contain additional meta-data to groups these blocks into hierarchies and also material groups. Similarly, SILO files contains domains and materials. One major difference between the two formats is that, in SILO, domains are element blocks that can contain multiple materials. There is a separate data structure that lists the elements of different materials. Therefore, extract a certain material out of a domain requires reading the whole domain and the list of elements for that material and then extracting those elements out.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Several file formats have multiple ways of representing data blocks in hierarchies. The most of important of these are Exodus and SILO. All Exodus data files contain a collection of element blocks. Furthermore, some contain additional meta-data to groups these blocks into hierarchies and also material groups. Similarly, SILO files contains domains and materials. One major difference between the two formats is that, in SILO, domains are element blocks that can contain multiple materials. There is a separate data structure that lists the elements of different materials. Therefore, extract a certain material out of a domain requires reading the whole domain and the list of elements for that material and then extracting those elements out.</div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">The problem we are trying to address is the fact that there is no easy way of getting meta-data about these blocks, materials and hierarchies and delivering it to the client for use by the GUI. Currently, the GUI knows nothing about the relationship between blocks, materials and hierarchies. For example, when the user selects a material, the GUI updates the server side reader's material selection and asks it to give back a new selection for all blocks and hierarchies. For large number of blocks, this has a significant overhead. We want to be able to deliver the whole hierarchy as meta-data to the client so that the selection GUI can avoid any additional communication with the server.</ins></div></td></tr>
</table>Berkhttps://www.paraview.org/ParaView/index.php?title=Block_Hierarchy_Meta_Data&diff=6025&oldid=prevBerk: New page: =Problem statement= Several file formats have multiple ways of representing data blocks in hierarchies. The most of important of these are Exodus and SILO. All Exodus data files contain a...2008-07-16T18:44:51Z<p>New page: =Problem statement= Several file formats have multiple ways of representing data blocks in hierarchies. The most of important of these are Exodus and SILO. All Exodus data files contain a...</p>
<p><b>New page</b></p><div>=Problem statement=<br />
<br />
Several file formats have multiple ways of representing data blocks in hierarchies. The most of important of these are Exodus and SILO. All Exodus data files contain a collection of element blocks. Furthermore, some contain additional meta-data to groups these blocks into hierarchies and also material groups. Similarly, SILO files contains domains and materials. One major difference between the two formats is that, in SILO, domains are element blocks that can contain multiple materials. There is a separate data structure that lists the elements of different materials. Therefore, extract a certain material out of a domain requires reading the whole domain and the list of elements for that material and then extracting those elements out.</div>Berk