I’m working with a vtkMultiBlockDataSet with around 6,000 blocks where each block is a vtkUnstructuredGrid. The data represents a finite element mesh and each block is a separate “Part”. Some of the blocks contain 3D cells, some 2D and some 1D - but I’m using vtkUnstructuredGrids for all of them right now although I can easily use PolyData for the 1D/2D blocks if necessary.
I’m trying to figure out how to efficiently and quickly apply filters to this data set. It seems obvious that filters such as creating free faces, feature edges, mesh quality etc. should be possible using a parallel pipeline, however I can’t find any examples or tutorials to help me get started.
So I have a few questions for the forum,
- Is my assumption that the above filters can be run in parallel across the blocks of a MultiBlockDataSet valid or not? To be clear, I’m thinking about SMP type parallelism at this point - using multiple cores on a single workstation
- If the answer to 10 is Yes… What is the basic approach that I should be looking at?
- Finally, a very basic question. It seems that I cannot pass the MultiBlockDataSet directly to any mapper - and that I first have to extract the faces into a vtkPolyData using something like vtkCompositeDataGeometryFilter before rendering. Is this the idiomatic way of rendering MultiBlockDataSets or am I missing something?
Thanks in advance for your help,