Poisson topology optimization demo doesn't work on Ubuntu


it turned out, that poisson-topology.py demo doesn’t work, running with the latest Dolfin-Adjoint docker image on Ubuntu. It freezes at the first IPOPT iteration.

*** Finding Acceptable Trial Point for Iteration 0:

--> Starting line search in iteration 0 <--
Mu has changed in line search - resetting watchdog counters.
residual_ratio = 1.000103e+00
The current filter has 0 entries.
minimal step size ALPHA_MIN = 5.000000E-07
Starting checks for alpha (primal) = 9.90e-01

Changing to one process mpiexec -n 1 python poisson-topology.py resolves the issue.

Previously I made a post on time distributed demo running with MPI and IPOPT where I reported the same issue. I thought: OK, IPOPT is not really suitable for multithreading. But in the case of the demo, it should work.

Is there a workaround for Ubuntu users?

I’m also considering trying other linear solvers since now only MUMPS is available and it’s reported to have troubles with MPI. But this will be quite demanding, as I will need to add corresponding libraries and connections through docker and create a custom image.


Works with HSL solvers and manual installation. See this post for the configuration details.

1 Like