[vtkusers] Different behavior of vtkXMLPUnstructuredGridWriter in VTK 7.1

Andy Bauer andy.bauer at kitware.com
Mon Feb 5 13:07:26 EST 2018

Are you using libMesh or another simulation code? You'll definitely need
the following to tell each process what piece it has:




Can you share the portion of your code that uses
vtkXMLPUnstructuredGridWriter? Also, looking at the data files from 6.3 and
7.1.1 may help.


On Mon, Feb 5, 2018 at 12:08 PM, Andrew Parker <
andy.john.parker at googlemail.com> wrote:

> Andy,
> Just moved from vtk 6.3.0 to vtk 7.1.1.  Cannot for the life of me get
> your modifications to work from your vtk_test.C.  I've included the
> vtkmpiController stuff after I init mpi myself.  I found the migration
> problem mentioned here:
> https://github.com/libMesh/libmesh/issues/1179
> and here:
> https://gitlab.kitware.com/vtk/vtk/issues/16924
> as well as this post.  My parallel unstructured grid now only contains one
> source within the piece section of the pvtu, as opposed to n-processor
> sources (all processors have real data to write and this is not a case of
> empty meshes on these processors).  I can re-link and recompile against 6.3
> and the problem goes away and I get the correct number of sources written
> to the pvtu file as before.  Can you help?  I make extensive use of pvtu
> files from my mpi-based code and now all grid files (pvtu and pvtp) have
> stopped working just by moving to 7.1.1 (which has been built with
> mpi-enabled).
> Any thoughts?
> Thanks,
> Andy
> On 6 December 2016 at 16:12, Andy Bauer <andy.bauer at kitware.com> wrote:
>> Hi John,
>> The issue is indeed due to changes that I mentioned before (i.e. only
>> data sets that have data get written out and the .pvtu file is adjusted
>> accordingly). With this change though interprocess communication is
>> required which is done the the vtkMultiProcessController::GetGlobalController()
>> object which essentially acts as MPI_COMM_WORLD within VTK. You need to
>> create a vtkMPIController which derives from vtkMultiProcessController. See
>> the attached files for how that is done. This should also be backwards
>> compatible but if it isn't, please let us know.
>> Best,
>> Andy
>> ps. Ignore the ADIOS stuff in there (it's commented out). I was trying to
>> do two things at once and that's why the ADIOS stuff is in the
>> CMakeLists.txt.
>> On Mon, Dec 5, 2016 at 6:06 PM, John Peterson <jwpeterson at gmail.com>
>> wrote:
>>> On Mon, Dec 5, 2016 at 12:45 PM, Andy Bauer <andy.bauer at kitware.com>
>>> wrote:
>>>> Beyond this I can't think of any change off the top of my head that
>>>> would cause your issue. I looked at the repo but can't figure out the VTK
>>>> configurations from that. If you can share a simple test case which
>>>> demonstrates the issue I may be able to easily diagnose it.
>>> Here's a standalone test code that reproduces the issue for me:
>>> https://gist.github.com/jwpeterson/92f4b8422d6fbb1056e848c9b14ee1d7
>>> Run on two procs with: mpiexec -np 2 and I get the following test.pvtu
>>> file:
>>> <?xml version="1.0"?>
>>>> <VTKFile type="PUnstructuredGrid" version="0.1"
>>>> byte_order="LittleEndian" header_type="UInt32"
>>>> compressor="vtkZLibDataCompressor">
>>>>   <PUnstructuredGrid GhostLevel="1">
>>>>     <PPointData>
>>>>       <PDataArray type="Float64" Name="u"/>
>>>>     </PPointData>
>>>>     <PCellData>
>>>>       <PDataArray type="Int32" Name="elem_id"/>
>>>>       <PDataArray type="Int32" Name="subdomain_id"/>
>>>>       <PDataArray type="Int32" Name="processor_id"/>
>>>>     </PCellData>
>>>>     <PPoints>
>>>>       <PDataArray type="Float64" Name="Points" NumberOfComponents="3"/>
>>>>     </PPoints>
>>>>     <Piece Source="test_0.vtu"/>
>>>>   </PUnstructuredGrid>
>>>> </VTKFile>
>>> As you can see, only one "Piece Source" is listed, but the output of the
>>> program is actually all 3 files (test.pvtu, test_0.vtu, test_1.vtu) and
>>> both the _0 and _1 files have nodes in them.  Furthermore, if I simply add
>>> a second "Piece Source" line corresponding to "test_1.vtu", the whole thing
>>> opens up just fine in Paraview.  I am a novice VTK programmer so it's very
>>> possible I'm doing something wrong, but this code definitely worked in VTK
>>> 6.x, and 7.0.
>>> Thanks for your help,
>>> John
>> _______________________________________________
>> Powered by www.kitware.com
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>> Please keep messages on-topic and check the VTK FAQ at:
>> http://www.vtk.org/Wiki/VTK_FAQ
>> Search the list archives at: http://markmail.org/search/?q=vtkusers
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/vtkusers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://vtk.org/pipermail/vtkusers/attachments/20180205/fa1f6ca8/attachment.html>

More information about the vtkusers mailing list