Hello!

This code snippet
-----------------------------------------------------------------------
from dolfin import *

m = Mesh()

editor = MeshEditor()
editor.open(m, 2, 2)
editor.init_vertices(3)
editor.add_vertex(0, Point(.0, .0))
editor.add_vertex(1, Point(1., .0))
editor.add_vertex(2, Point(0., 1.))

editor.init_cells(1)
editor.add_cell(0, 0, 1, 2)
editor.close()

print MeshQuality.radius_ratio_min_max(m)
-----------------------------------------------------------------------

gives this error (when Dolfin is built with MPI support)

benjamik@benjamik-hp:~/tmp/dolfin$ python test.py
*** The MPI_Allreduce() function was called before MPI_INIT was invoked.
*** This is disallowed by the MPI standard.
*** Your MPI job will now abort.
[benjamik-hp:28604] Local abort before MPI_INIT completed
successfully; not able to aggregate error messages, and not able to
guarantee that all other processes were killed!

The reason is that MeshQuality::radius_ratio_min_max() calls
MPI::min() which calls MPI_Allreduce().

Who is responsible for initializing MPI in this case?

Regards

Benjamin
_______________________________________________
fenics mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics

Reply via email to