<div dir="ltr"><div><div><div><div>Andy,<br><br></div>For an nparts-number of pieces, I call this function 4 times, based on your advice (each outGrid is different every time the call is made):<br><br>void Write(const idx_t part)<br>{<br>  vtkSmartPointer<vtkXMLPUnstructuredGridWriter> pwriter =<br>    vtkSmartPointer<vtkXMLPUnstructuredGridWriter>::New();<br>    pwriter->SetFileName("file.pvtu");<br>  pwriter->SetNumberOfPieces(nparts);<br>  pwriter->SetGhostLevel(1);<br>  //pwriter->SetStartPiece(part);<br>  //pwriter->SetEndPiece(part);<br>  pwriter->SetStartPiece(0);<br>  pwriter->SetEndPiece(nparts-1);<br>  pwriter->SetInputData(outGrid);<br>  pwriter->SetDataModeToBinary();<br>  pwriter->SetCompressorTypeToZLib();<br>  pwriter->Write();<br>}<br><br></div>Is this what you mean? I'm not sure what you mean by a single call to Write.... I call write "nparts"-times.... Is the above correct?  (assuming I'm also using the  vtk-dummy-comms).<br><br></div>Cheers,<br></div><div>Andy<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 19 February 2018 at 13:47, Andy Bauer <span dir="ltr"><<a href="mailto:andy.bauer@kitware.com" target="_blank">andy.bauer@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>You need to have a  single call to pwriter->Write() with all of the pieces set in a single pass, otherwise the .pvtu file will overwrite each time. This looks like:<br>
<span style="color:rgb(51,51,51)">pwriter-></span><span style="color:rgb(38,139,210)">SetNumberOfPieces</span><span style="color:rgb(51,51,51)">(</span><span style="color:rgb(42,161,152)"><span style="color:rgb(51,51,51)">(</span><span style="color:rgb(7,54,66);font-weight:bold">in<wbr>t</span><span style="color:rgb(51,51,51)">)</span>nparts</span><span style="color:rgb(51,51,51)"></span><span style="color:rgb(38,139,210)"></span><span style="color:rgb(51,51,51)">);</span><span style="color:rgb(51,51,51)"><br>pwriter-></span><span style="color:rgb(38,139,210)">SetGhostLevel</span><span style="color:rgb(51,51,51)">(</span><span style="color:rgb(211,54,130)">1</span><span style="color:rgb(51,51,51)">);</span><span style="color:rgb(51,51,51)"></span><span style="color:rgb(51,51,51)"><br>pwriter-></span><span style="color:rgb(38,139,210)">SetStartPiece</span><span style="color:rgb(51,51,51)">(0</span><span style="color:rgb(7,54,66);font-weight:bold"></span><span style="color:rgb(51,51,51)">);</span><div><span style="color:rgb(51,51,51)">pwriter-></span><span style="color:rgb(38,139,210)">SetEndPiece</span><span style="color:rgb(51,51,51)">((</span><span style="color:rgb(7,54,66);font-weight:bold">int</span><span style="color:rgb(51,51,51)">)part<wbr>-1);</span></div>

<br><br></div>If you're not generating pieces in your pipeline then you'll probably need to merge your pieces into a single unstructured grid before calling the XMLPUnstructuredGridWriter.<br><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 19, 2018 at 7:51 AM, Andrew Parker <span dir="ltr"><<a href="mailto:andrew.parker@cantab.net" target="_blank">andrew.parker@cantab.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I'm using the following in the serial code:<span style="color:rgb(51,51,51)"><br><br>pwriter-></span><span style="color:rgb(38,139,210)">SetNumberOfPieces</span><span style="color:rgb(51,51,51)">(</span><span style="color:rgb(42,161,152)"><span style="color:rgb(51,51,51)">(</span><span style="color:rgb(7,54,66);font-weight:bold">in<wbr>t</span><span style="color:rgb(51,51,51)">)</span>nparts</span><span style="color:rgb(51,51,51)"></span><span style="color:rgb(38,139,210)"></span><span style="color:rgb(51,51,51)">);</span><span style="color:rgb(51,51,51)"><br>pwriter-></span><span style="color:rgb(38,139,210)">SetGhostLevel</span><span style="color:rgb(51,51,51)">(</span><span style="color:rgb(211,54,130)">1</span><span style="color:rgb(51,51,51)">);</span><span style="color:rgb(51,51,51)"></span><span style="color:rgb(51,51,51)"><br>pwriter-></span><span style="color:rgb(38,139,210)">SetStartPiece</span><span style="color:rgb(51,51,51)">((</span><span style="color:rgb(7,54,66);font-weight:bold">int</span><span style="color:rgb(51,51,51)">)pa<wbr>rt);</span><div><span style="color:rgb(51,51,51)">pwriter-></span><span style="color:rgb(38,139,210)">SetEndPiece</span><span style="color:rgb(51,51,51)">((</span><span style="color:rgb(7,54,66);font-weight:bold">int</span><span style="color:rgb(51,51,51)">)part<wbr>);<br><br></span></div><div><span style="color:rgb(51,51,51)">My writer function in which the above code is called is called "nparts" times, where part goes from 0->(nparts-1).  <br><br></span></div><div><span style="color:rgb(51,51,51)">For the dummy controller, and nparts=4, I have:<br></span><span style="color:rgb(51,51,51)"><br>vtkSmartPointer</span><span style="color:rgb(133,153,0)"><</span><span style="color:rgb(51,51,51)">vtkDummyContro<wbr>ller</span><span style="color:rgb(133,153,0)">></span><span style="color:rgb(51,51,51)"> vtk_mpi_controller;</span><span style="color:rgb(51,51,51)"></span><span style="color:rgb(51,51,51)"><br>vtk_mpi_controller </span><span style="color:rgb(133,153,0)">=</span><span style="color:rgb(51,51,51)"> vtkSmartPointer</span><span style="color:rgb(133,153,0)"><</span><span style="color:rgb(51,51,51)">vtkDummyContro<wbr>ller</span><span style="color:rgb(133,153,0)">></span><span style="color:rgb(38,139,210)">::New</span><span style="color:rgb(51,51,51)">();</span><span style="color:rgb(51,51,51)"><br>vtk_mpi_controller-></span><span style="color:rgb(38,139,210)">Initialize</span><span style="color:rgb(51,51,51)"><wbr>(</span><span style="color:rgb(133,153,0)">&</span><span style="color:rgb(51,51,51)">argc, </span><span style="color:rgb(133,153,0)">&</span><span style="color:rgb(51,51,51)">argv, </span><span style="color:rgb(211,54,130)">1</span><span style="color:rgb(51,51,51)">);</span><span style="color:rgb(51,51,51)"></span><span style="color:rgb(51,51,51)"><br>vtk_mpi_controller-></span><span style="color:rgb(38,139,210)">SetGlobalC<wbr>ontroller</span><span style="color:rgb(51,51,51)">(vtk_mpi_controller);</span><div><span style="color:rgb(51,51,51)">vtk_mpi_controller-></span><span style="color:rgb(38,139,210)">SetNumberO<wbr>fProcesses</span><span style="color:rgb(51,51,51)">(</span><span style="color:rgb(211,54,130)">4</span><span style="color:rgb(51,51,51)">);<br>....</span><div><span style="color:rgb(51,51,51)">vtk_mpi_controller-></span><span style="color:rgb(38,139,210)">Finalize</span><span style="color:rgb(51,51,51)">(</span><span style="color:rgb(211,54,130)">1</span><span style="color:rgb(51,51,51)"><wbr>);</span></div><span style="color:rgb(51,51,51)"></span><br></div><div>resulting bottom half of the pvtu reads:<span><br><br>    </PCellData><br>    <PPoints><br>      <PDataArray type="Float64" Name="Points" NumberOfComponents="3"/><br>    </PPoints><br></span>    <Piece Source="input_3.vtu"/><br>  </PUnstructuredGrid><br></VTKFile><br><br></div><div>Any thoughts?<br></div><div>Cheers,<br></div><div>Andy<br></div><div><span style="color:rgb(51,51,51)"></span></div><span style="color:rgb(51,51,51)"></span><br><span style="color:rgb(51,51,51)"></span></div><span style="color:rgb(51,51,51)"></span></div><div class="m_-6334570523859706776HOEnZb"><div class="m_-6334570523859706776h5"><div class="gmail_extra"><br><div class="gmail_quote">On 19 February 2018 at 12:38, Andy Bauer <span dir="ltr"><<a href="mailto:andy.bauer@kitware.com" target="_blank">andy.bauer@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>If you haven't used the SetStartPiece(), SetEndPiece() and SetNumberOfPieces() methods in serial that's what is probably missing. In serial you should be able to use vtkDummyController. <br><br></div><br></div><div class="m_-6334570523859706776m_1915170228664626542HOEnZb"><div class="m_-6334570523859706776m_1915170228664626542h5"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 19, 2018 at 4:59 AM, Andrew Parker <span dir="ltr"><<a href="mailto:andy.john.parker@googlemail.com" target="_blank">andy.john.parker@googlemail.c<wbr>om</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Andy,<br><br></div>I can confirm this now works for my parallel code.  However, I have a separate stand-alone serial code (has never had a communicator) which still calls the vtkXMLPUnstructuredGridWriter and produces several part/piece meshes and one global pvtu file.  This now fails with 7.1.1, same error before, only one entry in the pvtu.  I have tried to make the changes noted in your demo file (which have worked for my parallel code) but in this instance they do not work in my serial code.  I have also tried the vtkDummyController as a well as vtkmpicontroller, and have also tried explicitly setting the number of (fake) processors:<span style="color:rgb(51,51,51)"> vtk_mpi_controller-></span><span style="color:rgb(38,139,210)">SetNumberO<wbr>fProcesses</span><span style="color:rgb(51,51,51)">(</span><span style="color:rgb(211,54,130)">4</span><span style="color:rgb(51,51,51)">);  <br><br></span></div><div><span style="color:rgb(51,51,51)">Could I ask what the recommended way to now use the </span><span style="color:rgb(51,51,51)">vtkXMLPUnstructuredGridWriter is from a completely serial code where I still wish to write out piece meshes (and a corresponding pvtu) and do not have a communicator?  I should add this is not threaded code either.  The vtk 7.1.1 build is the same one that is now working correctly in my mpi parallel code.<br><br></span></div><div><span style="color:rgb(51,51,51)">Cheers again,<br></span></div><div><span style="color:rgb(51,51,51)">Andy<br></span></div></div><div class="m_-6334570523859706776m_1915170228664626542m_-3889246522711148243HOEnZb"><div class="m_-6334570523859706776m_1915170228664626542m_-3889246522711148243h5"><div class="gmail_extra"><br><div class="gmail_quote">On 6 February 2018 at 13:48, Andy Bauer <span dir="ltr"><<a href="mailto:andy.bauer@kitware.com" target="_blank">andy.bauer@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">My guess is that you've forgotten:<br><div><div><pre class="m_-6334570523859706776m_1915170228664626542m_-3889246522711148243m_1782549669565203338m_-4056723440164052924gmail-aLF-aPX-K0-aPE">controller->SetGlobalControlle<wbr>r(controller);</pre></div></div><div class="gmail_extra">Could you also verify that VTK was built with MPI enabled? If you try my example file does that work properly for you with both VTK versions?<br></div><div><div class="m_-6334570523859706776m_1915170228664626542m_-3889246522711148243m_1782549669565203338h5"><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_quote">On Tue, Feb 6, 2018 at 4:49 AM, Andrew Parker <span dir="ltr"><<a href="mailto:andy.john.parker@googlemail.com" target="_blank">andy.john.parker@googlemail.c<wbr>om</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>Andy, <br><br>To follow up.  So this is a direct copy of my source for writing vtu in parallel via mpi, no edits:<br><br>vtkSmartPointer<vtkXMLPUnstruc<wbr>turedGridWriter> pwriter = vtkSmartPointer<vtkXMLPUnstruc<wbr>turedGridWriter>::New();<br>std::stringstream sss;<br>sss << outputDirectory << "/";<br>sss << outputPrefix;<br>sss << "Parts";<br>sss << ".pvtu";<br><br>pwriter->SetFileName(sss.str()<wbr>.c_str());<br>pwriter->SetNumberOfPieces(com<wbr>ms.Size());<br>if(comms.IsParallel())<br>  pwriter->SetGhostLevel(1);<br>pwriter->SetStartPiece(comms.R<wbr>ank());<br>pwriter->SetEndPiece(comms.Ran<wbr>k());<br>pwriter->SetInputData(cellGrid<wbr>);<br>// pwriter->SetDataModeToAscii();<br>pwriter->SetDataModeToBinary()<wbr>;<br>pwriter->SetCompressorTypeToZL<wbr>ib();<br>pwriter->Write();<br><br>and for vtp files in parallel via mpi, no edits:<br><br>vtkSmartPointer<vtkXMLPPolyDat<wbr>aWriter> pwriter = vtkSmartPointer<vtkXMLPPolyDat<wbr>aWriter>::New();<br>std::stringstream sss;<br>sss << outputDirectory << "/";<br>sss << outputPrefix;<br>sss << bcName << "_";<br>sss << prefix;<br>sss << ".pvtp";<br>std::cout << "Output file name: " << sss.str().c_str() << std::endl;<br><br>pwriter->SetFileName(sss.str()<wbr>.c_str());<br>pwriter->SetNumberOfPieces(com<wbr>ms->Size());<br>if(comms->IsParallel())<br>  pwriter->SetGhostLevel(1);<br>pwriter->SetStartPiece(comms-><wbr>Rank());<br>pwriter->SetEndPiece(comms->Ra<wbr>nk());<br>pwriter->SetInputData(bounding<wbr>FaceGrids[i]);<br>pwriter->SetDataModeToBinary()<wbr>;<br>//pwriter->SetDataModeToAscii(<wbr>);<br>pwriter->SetCompressorTypeToZL<wbr>ib();<br>pwriter->Write();<br><br></div><div>I initialise the vtk-comms object in an identical way to your demo code, after my own mpi-comms, and I finalize before I finalize mine.  In between those calls the above source is called.  All processors partake in all calls both to init the vtk-mpi and in the above writing.<br><br></div>Do you have any further thoughts as to the problem?  Problem goes away if I use 6.3....<br><br></div>Cheers,<br></div>Andy<br><div><div><div><br></div></div></div></div><div class="m_-6334570523859706776m_1915170228664626542m_-3889246522711148243m_1782549669565203338m_-4056723440164052924HOEnZb"><div class="m_-6334570523859706776m_1915170228664626542m_-3889246522711148243m_1782549669565203338m_-4056723440164052924h5"><div class="gmail_extra"><br><div class="gmail_quote">On 5 February 2018 at 18:40, Andrew Parker <span dir="ltr"><<a href="mailto:andy.john.parker@googlemail.com" target="_blank">andy.john.parker@googlemail.c<wbr>om</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div dir="auto">Andy,</div><div dir="auto"><br></div><div dir="auto">My own code. I’ve always had those Piece lines in my src from day one, and always used it via mpi, so don’t need added. All procs call all lines in my file writer. There is no if-master-section.  Literally just a vtk version number change that causes the problem. Can’t get the data files or the cut down source until tomorrow. </div><div dir="auto"><br></div><div dir="auto">I shared the other two links as those in addition to this post are the only places I can find that reference such a major change to the library that is undocumented and causes such a significant change to user code. Are there any further references on this change that I can read about to try to resolve this?</div><div dir="auto"><br></div><div dir="auto">I find it strange that this has not come up more. It would mean all users of 7.1 without the additional vtkmpicontroller lines would fail when calling a parallel writer from a parallel mpi-user-code....</div><div dir="auto"><br></div><div dir="auto">Cheers,</div><div dir="auto">Andy</div><div><div class="m_-6334570523859706776m_1915170228664626542m_-3889246522711148243m_1782549669565203338m_-4056723440164052924m_2223182451034756203h5"><br><div class="gmail_quote"><div>On Mon, 5 Feb 2018 at 18:07, Andy Bauer <<a href="mailto:andy.bauer@kitware.com" target="_blank">andy.bauer@kitware.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div><div>Are you using libMesh or another simulation code? You'll definitely need the following to tell each process what piece it has:<br>pwriter->SetNumberOfPieces(npr<wbr>ocs);                         <wbr>                              <wbr>            <br>pwriter->SetStartPiece(rank); <wbr>                              <wbr>                              <wbr>                              <wbr>          <br>pwriter->SetEndPiece(rank);   <wbr>                              <wbr>                              <wbr>                              <wbr>          <br>pwriter->Write();             <wbr>   <br><br></div>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.<br><br></div>Thanks,<br></div>Andy                          <br><div><div><div><div><div><br></div></div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 5, 2018 at 12:08 PM, Andrew Parker <span><<a href="mailto:andy.john.parker@googlemail.com" target="_blank">andy.john.parker@googlemail.c<wbr>om</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div><div><div><div>Andy,<br><br></div>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:<br><br><a href="https://github.com/libMesh/libmesh/issues/1179" target="_blank">https://github.com/libMesh/lib<wbr>mesh/issues/1179</a><br><br></div>and here:<br><br><a href="https://gitlab.kitware.com/vtk/vtk/issues/16924" target="_blank">https://gitlab.kitware.com/vtk<wbr>/vtk/issues/16924</a><br><br></div>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).<br><br></div>Any thoughts?   <br><br></div><div>Thanks,<br></div>Andy<br><br></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="m_-6334570523859706776m_1915170228664626542m_-3889246522711148243m_1782549669565203338m_-4056723440164052924m_2223182451034756203m_-200165714325997725m_5133892900030491468h5">On 6 December 2016 at 16:12, Andy Bauer <span><<a href="mailto:andy.bauer@kitware.com" target="_blank">andy.bauer@kitware.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="m_-6334570523859706776m_1915170228664626542m_-3889246522711148243m_1782549669565203338m_-4056723440164052924m_2223182451034756203m_-200165714325997725m_5133892900030491468h5"><div><div><div><div><div>Hi John,<br><br></div>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::Get<wbr>GlobalController() 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.<br><br></div>Best,<br></div>Andy<br><br></div>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.<br></div><div class="m_-6334570523859706776m_1915170228664626542m_-3889246522711148243m_1782549669565203338m_-4056723440164052924m_2223182451034756203m_-200165714325997725m_5133892900030491468m_2367226779657850128HOEnZb"><div class="m_-6334570523859706776m_1915170228664626542m_-3889246522711148243m_1782549669565203338m_-4056723440164052924m_2223182451034756203m_-200165714325997725m_5133892900030491468m_2367226779657850128h5"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Dec 5, 2016 at 6:06 PM, John Peterson <span><<a href="mailto:jwpeterson@gmail.com" target="_blank">jwpeterson@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><br><div class="gmail_extra"><br><div class="gmail_quote"><span>On Mon, Dec 5, 2016 at 12:45 PM, Andy Bauer <span><<a href="mailto:andy.bauer@kitware.com" target="_blank">andy.bauer@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><div>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.<br></div></div></div></blockquote><div><br></div></span><div>Here's a standalone test code that reproduces the issue for me:</div><div><br></div><div><a href="https://gist.github.com/jwpeterson/92f4b8422d6fbb1056e848c9b14ee1d7" target="_blank">https://gist.github.com/jwpete<wbr>rson/92f4b8422d6fbb1056e848c9b<wbr>14ee1d7</a></div><div><br></div><div>Run on two procs with: mpiexec -np 2 and I get the following test.pvtu file:<br></div><div><br></div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><?xml version="1.0"?><span><br><VTKFile type="PUnstructuredGrid" version="0.1" byte_order="LittleEndian" header_type="UInt32" compressor="vtkZLibDataCompres<wbr>sor"><br>  <PUnstructuredGrid GhostLevel="1"><br>    <PPointData><br></span><span>      <PDataArray type="Float64" Name="u"/><br>    </PPointData><br>    <PCellData><br></span>      <PDataArray type="Int32" Name="elem_id"/><span><br>      <PDataArray type="Int32" Name="subdomain_id"/><br>      <PDataArray type="Int32" Name="processor_id"/><br>    </PCellData><br>    <PPoints><br></span>      <PDataArray type="Float64" Name="Points" NumberOfComponents="3"/><br>    </PPoints><br>    <Piece Source="test_0.vtu"/><br>  </PUnstructuredGrid><br></VTKFile></blockquote></div><div><br></div><div><br></div><div>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.</div><div><br></div><div>Thanks for your help,</div></div><div class="m_-6334570523859706776m_1915170228664626542m_-3889246522711148243m_1782549669565203338m_-4056723440164052924m_2223182451034756203m_-200165714325997725m_5133892900030491468m_2367226779657850128m_-8802502105114214918m_-3042913779814129432gmail_signature">John</div>
</div></div>
</blockquote></div><br></div>
</div></div><br></div></div><span>______________________________<wbr>_________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensou<wbr>rce/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" rel="noreferrer" target="_blank">http://www.vtk.org/Wiki/VTK_FA<wbr>Q</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" rel="noreferrer" target="_blank">http://markmail.org/search/?q=<wbr>vtkusers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/vtkusers" rel="noreferrer" target="_blank">http://public.kitware.com/mail<wbr>man/listinfo/vtkusers</a><br>
<br></span></blockquote></div><br></div>
</blockquote></div><br></div>
</blockquote></div></div></div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div></div></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div><br>______________________________<wbr>_________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/<wbr>opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" rel="noreferrer" target="_blank">http://www.vtk.org/Wiki/VTK_<wbr>FAQ</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" rel="noreferrer" target="_blank">http://markmail.org/search/?q=<wbr>vtkusers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="https://vtk.org/mailman/listinfo/vtkusers" rel="noreferrer" target="_blank">https://vtk.org/mailman/<wbr>listinfo/vtkusers</a><br>
<br></blockquote></div><br></div>