<div dir="ltr"><div>/Hi,</div><div><br></div><div>I am working on a C++ CFD parallel code on HPC architecture for vizualization with Paraview and I would like to use the vtk C++ library along with MPI. I have been trying to use the vtkXMLPRectilinearGridWriter without any success so far. I encountered the following problems:</div><div>- The extent of the piece in the .pvtr file and of each .vtr file is wrong</div><div>- When I correct the extents manually, I cannot open it in paraview as it seems it cannot properly represent the boundaries between each piece.</div><div><br></div><div>Below is a small test code:</div><div><br></div><div>Please note that locatl dimension dimX_l = dimX_g / mpi_size and dimY_l, dimZ_l = dimY_g, dimZ_g (1D domain partitioning)</div><div><br></div><div><div>void writePVTR(const int mpi_rank, const int mpi_size, std::string& fileName,</div><div><div>  vtkSmartPointer<vtkDoubleArray> scalarArray) {</div><div>  </div></div><div>  int startX = mpi_rank * dimX_l;</div><div>  std::cout << startX << std::endl;</div><div><br></div><div>vtkSmartPointer<vtkRectilinearGrid> rectilinearGrid =</div><div>    vtkSmartPointer<vtkRectilinearGrid>::New();</div><div><br></div><div> rectilinearGrid->SetDimensions(dimX_l, dimY_l, dimZ_l);<br></div><div> rectilinearGrid->SetExtent(startX, startX+dimX_l-1, 0, dimY_l-1, 0, dimZ_l-1);</div><div><br></div><div><div>  rectilinearGrid->GetPointData()->AddArray(scalarArray);</div></div><div><br></div><div>  vtkSmartPointer<vtkDoubleArray> xArray =<br></div><div>    vtkSmartPointer<vtkDoubleArray>::New();</div><div>  xArray->SetName("X");</div><div>  for(unsigned int iX = startX; iX < startX+dimX_l; ++iX) {</div><div>    xArray->InsertNextValue(iX);</div><div>  }</div><div>  rectilinearGrid->SetXCoordinates(xArray);</div><div><br></div><div>  vtkSmartPointer<vtkDoubleArray> yArray =</div><div>    vtkSmartPointer<vtkDoubleArray>::New();</div><div>  yArray->SetName("Y");</div><div>  for(unsigned int iY = 0; iY < dimY_l; ++iY) {</div><div>    yArray->InsertNextValue(iY);</div><div>  }</div><div>  rectilinearGrid->SetYCoordinates(yArray);</div><div><br></div><div>  vtkSmartPointer<vtkDoubleArray> zArray =</div><div>    vtkSmartPointer<vtkDoubleArray>::New();</div><div>  zArray->SetName("Z");</div><div>  for(unsigned int iZ = 0; iZ < dimZ_l; ++iZ) {</div><div>    zArray->InsertNextValue(iZ);</div><div>  }</div><div>  rectilinearGrid->SetZCoordinates(zArray);</div><div><br></div><div><div>  std::string parallel_fileName = fileName + ".pvtr";</div><div>  vtkSmartPointer<vtkXMLPRectilinearGridWriter> pwriter =</div><div>     vtkSmartPointer<vtkXMLPRectilinearGridWriter>::New();</div><div>   pwriter->SetNumberOfPieces(mpi_size);</div><div>   pwriter->SetStartPiece(0);</div><div>   pwriter->SetEndPiece(mpi_size-1);</div><div>   pwriter->SetFileName(parallel_fileName.c_str());</div><div>   pwriter->SetInputData(rectilinearGrid);</div><div>   pwriter->Write();</div></div><div><br></div><div>}</div></div><div><br></div><div>Does anyone have insights on how to use vtkXMLPRectilinearGridWriter with MPI properly? If anyone has any working example and would like to share, that would be greatly appreciated</div><div><br></div>Thank you for your help,<div>Guillaume<br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div style="text-align:left"><div style="font-family:arial;font-size:small"></div></div><ul style="margin:0px;padding:0px 0px 8px;border:0px;outline:0px;vertical-align:baseline;list-style:none;display:table-cell;width:505px"><li style="margin:0px;padding:8px 12px 2px 0px;border:0px;outline:0px;vertical-align:baseline"><dl style="margin:0px;padding:0px;border:0px;outline:0px;vertical-align:baseline;word-wrap:break-word"><div><div style="color:rgb(34,34,34);font-size:small;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:normal;font-family:arial"><span style="font-family:arial,helvetica,sans-serif">Guillaume</span></div></div><ul style="color:rgb(51,51,51);font-size:12px;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:17px;font-family:inherit;margin:0px;padding:0px 0px 8px;border:0px;outline:0px;vertical-align:baseline;list-style:none;display:table-cell;width:505px"><br></ul></dl></li></ul></div></div></div></div></div></div>
</div></div>