[Paraview] Multiblock support in ParaView

David C Thompson dcthomp at sandia.gov
Wed Oct 11 04:13:52 EDT 2006


Berk,

	I am having a problem with Extract Dataset filter in ParaView when it's
run on "multiblock of multiblock" datasets. It's not that anything is
broken... but it keeps me from getting at some of the data; because
Extract Dataset shows only one level of children and always returns a
multiblock dataset with the same structure as the original (with only
the selected children present), there's no way for me to extract the
child of a child dataset.

	Here's an example: by default, the LSDynaReader (checkin coming later
tonight :-), writes a multiblock dataset containing a mesh for each of
the possible LSDyna cell types:

vtkMultiBlockDataSet with 1 groups. (0x2065c90)
  Group 0 has 5 children:
    NULL entry
    vtkMultiBlockDataSet with 1 groups. (0x21e8d00)
      Group 0 has 1 children:
        vtkUnstructuredGrid with 8560 points and 1 cells.
    vtkMultiBlockDataSet with 1 groups. (0x2221520)
      Group 0 has 1 children:
        vtkUnstructuredGrid with 8560 points and 288 cells.
    NULL entry
    vtkMultiBlockDataSet with 1 groups. (0x2274280)
      Group 0 has 1 children:
        vtkUnstructuredGrid with 8560 points and 5671 cells.

For this case, Extract Dataset filter works fine. However, when I turn
on an option to split each grid into pieces based on the material IDs of
the cells, the LSDyna reader outputs a multiblock dataset containing
other multiblock datasets like so:

vtkMultiBlockDataSet with 1 groups. (0x2065c90)
  Group 0 has 5 children:
    NULL entry
    vtkMultiBlockDataSet with 1 groups. (0x26ba650)
      Group 0 has 8 children:
        vtkUnstructuredGrid with 8560 points and 0 cells.
        vtkUnstructuredGrid with 8560 points and 0 cells.
        vtkUnstructuredGrid with 8560 points and 1 cells.
        vtkUnstructuredGrid with 8560 points and 0 cells.
        vtkUnstructuredGrid with 8560 points and 0 cells.
        vtkUnstructuredGrid with 8560 points and 0 cells.
        vtkUnstructuredGrid with 8560 points and 0 cells.
        vtkUnstructuredGrid with 8560 points and 0 cells.
    vtkMultiBlockDataSet with 1 groups. (0x27b3b90)
      Group 0 has 8 children:
        vtkUnstructuredGrid with 8560 points and 0 cells.
        vtkUnstructuredGrid with 8560 points and 288 cells.
        vtkUnstructuredGrid with 8560 points and 0 cells.
        vtkUnstructuredGrid with 8560 points and 0 cells.
        vtkUnstructuredGrid with 8560 points and 0 cells.
        vtkUnstructuredGrid with 8560 points and 0 cells.
        vtkUnstructuredGrid with 8560 points and 0 cells.
        vtkUnstructuredGrid with 8560 points and 0 cells.
    NULL entry
    vtkMultiBlockDataSet with 1 groups. (0x2904e90)
      Group 0 has 8 children:
        vtkUnstructuredGrid with 8560 points and 2892 cells.
        vtkUnstructuredGrid with 8560 points and 0 cells.
        vtkUnstructuredGrid with 8560 points and 0 cells.
        vtkUnstructuredGrid with 8560 points and 81 cells.
        vtkUnstructuredGrid with 8560 points and 420 cells.
        vtkUnstructuredGrid with 8560 points and 2112 cells.
        vtkUnstructuredGrid with 8560 points and 64 cells.
        vtkUnstructuredGrid with 8560 points and 102 cells.

Now I can run Extract Dataset once and eliminate some of the unwanted
meshes, but I can't run a second Extract Dataset on the result to gain
access to an individual grandchild mesh. While I could work around this
by eliminating the middle man meshes (to mix metaphors), the hierarchy
is easier to create and makes more sense in terms of the user interface.
So, do you think the Extract Dataset filter could be modified to
- Remove one level of "multiblockness" each time it is run, or
- Show the entire hierarchy and allow any subset to be selected?

	Thanks,
	David



More information about the ParaView mailing list