plotMPI, how to get plot display for parallelization hpddm

Dear developer,

I am a beginner in parallelization. I tried to run the example code “elasticity-3d.edp” in hpddm folder.
Please see the link: https://doc.freefem.org/documentation/parallelization.html#hpddm-solvers

I input the following command in the terminal:
ff-mpirun -np 4 Elasticity3D.edp -glut ffglut

However, the program normally ends up without a plot display.
I tried several other hpddm examples on both Mac OS and Ubuntu and met the same problem.
Could you please give me some advice?

In addition, when doing parallelization with hpddm, how could I output the “.vtu” file for paraview visualization?

Sincerely yours,
Hao

By default, visualisation is turned off when you use ff-mpirun. You need to add the flag “-wg” on your command line (we have very recently fixed a bug for plotting 3D solutions, so you may run into an issue if you don’t have a recent enough installation, cf. this commit, maybe try in 2D first).
The best way is to use ParaView has you mentioned. Here are two examples:

Just open the resulting .pvd with ParaView and you’ll have access to your distributed solution.

Thanks so much for your documents.
I installed the recently released version, it does work for 3D plot!

On the other hand, I tried the Paraview exportation as you suggested. I found it works on Ubuntu, but failed on MacOS 10.15.1. The error message is shown in the attached figure.

Thanks very much.

Best regards,
Hao

I’ve slightly updated the script, could you try the new version, please? If this is still not working, may I ask what exact command line are you using?

Thanks for your timely reply.

The installation package I used is:

The testing code I used is:

The command line:
ff-mpirun -np 4 stokes-3d-io.edp

And I noticed that besides a “.pvd” file, another 4 “.vtu” files have been also generated. Please check the attached .zip file.

In addition, I hope to know the extensibility of hpddm with regards to the adaptive mesh. Would it be possible to use hpddm if the mesh is updated based on level set function with the MMG3d tool. Please see the links: https://www.mmgtools.org/mmg-remesher-try-mmg/mmg-remesher-tutorials/mmg-remesher-mmg3d/mmg-remesher-implicit-domain-meshing
I have realized this updating process without parallelization. But if the hpddm can be integrated into the solver, it will be very helpful to speed up our optimization.

Archive.zip (111.8 KB)
Best regards,
Hao

Could you try with the latest .edp, available there? PETSc and HPDDM solvers work with mesh adaptation, see one example here. It’s in 2D, so we use adaptmesh instead of MMG3D, but we have applications in 3D as well. You can reach me via email if you want a more detailed explanation or need help to adapt your script.

I tried your latest version, and it works.

I very much appreciate your kind support. Sure, I will reach you via email.

Thanks again.

BR,
Hao