De mon côté, le solveur Poisson s'exécute normalement sans aucun problème.
La seule difficulté est à la ligne 76
io.save(str(path_vtu), arrays_dict, mesh)
Il y a un message d'erreur car les dimensions des arrays ne concordent pas avec celles de l'objet mesh. En effet, les arrays de l'objet Device d changent de dimension lorsque le maillage est adapté, mais l'objet mesh reflète le maillage original avant l'adaptation.
Pour que cette ligne fonctionne, il faut la remplacer par
io.save(str(path_vtu), arrays_dict, d.mesh)