From: Michael P. <mpo...@pu...> - 2018-06-13 16:35:10
|
Hi John, It would be absolutely impossible for me to use Mesh on MPI_COMM_WORLD. Do you thing, will it possible either to reset the vtkMPIController or to split his communicator? Michael. On 06/13/2018 12:28 PM, John Peterson wrote: > > > On Wed, Jun 13, 2018 at 10:14 AM, Michael Povolotskyi > <mpo...@pu... <mailto:mpo...@pu...>> wrote: > > Thank you John, > > I do have some MPI code before LibMeshInit in my real application. > > Also, If I do not call MPI_Finalize at the very end I'm getting > warning messages from MPI. > > Thank you for you explanation with .pvtu, I have changed my code > to libMesh::VTKIO out(mesh); out.write("mesh1.pvtu"); and this > worked. > > Do you have any suggestions for the Problem #2 that I reported? > > It seems to me that the problem is that the communicator of the > Mesh object is smaller than the communicator of the VTK. This > causes a problem for me. > > > Hmm, I don't think we have considered this use case in the past, the > vtkMPIController is initialized in libmesh.C, and it must be assuming > MPI_COMM_WORLD... > > _vtk_mpi_controller = vtkMPIController::New(); > _vtk_mpi_controller->Initialize(&argc, const_cast<char ***>(&argv), > /*initialized_externally=*/1); > _vtk_mpi_controller->SetGlobalController(_vtk_mpi_controller); > > In order for the parallel VTK writer to work, the Mesh probably > therefore also needs to be using MPI_COMM_WORLD. > > -- > John |