[vtkusers] create a parallel, distributed dataset from scratch

Sven Kramer svenkramer40 at gmail.com
Fri Jun 10 05:41:48 EDT 2016


Hello,
Vtk comes with a few parallel data sources and readers that distribute the
memory usage (and thus later cpu usage of algorithms) between a number of
MPI processes. I am wondering, how I can create such parallel datasets
"from scratch".

The starting point, from which I'd like to build a parallel Vtk dataset, is
the equivalent of a vtkUnstructuredGrid (namely points and their
connectivity, making cells), which is already decomposed so that each MPI
process carries only a fraction of all available points and cells. Of
cause, I could simply create one vtkUnstructuredGrid per process from the
points an cells local to that process. However, these grids wouldn't have
any information about which points and cell surfaces they share with
neighbouring pieces. But such connectivity information is essential, if
some algorithm has to add additional layers of ghost cells.

What I have:

MPI rank #0
points p00..p0{n0}
cells c00..c0{m0}
connectivity information between boundary cells and pieces on other ranks

MPI rank #1
points p1{n0+1}..p1{n1}
cells c1{n0+1}..c1{m1}
connectivity information between boundary cells and pieces on other ranks

...

MPI rank #R
points pR{n{R-1}+1}..pR{nR}
cells cR{n{R-1}+1}..cR{mR}
connectivity information between boundary cells and pieces on other ranks

What I need:
a parallel vtkUnstructuredGrid, decomposed into the same pieces as the
input data, including ghost cells and connectivity information between the
pieces.

Is the construction of such a parallel dataset described in some tutorial
or blog?

Regards,
Sven
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20160610/a091e937/attachment.html>


More information about the vtkusers mailing list