Dear fellows,
I am running the following code with mpi:
start_time = time.time()
from dolfin import *
class HalfDomain(SubDomain):
def inside(self, x, on_boundary):
return between(x[0], (0, 0.5))
class DirichletBoundaryY(SubDomain):
def inside(self, x, on_boundary):
return (x[1] < DOLFIN_EPS)
mesh_full = UnitCubeMesh(7,7,7)
mark_sub_domain = MeshFunction("size_t", mesh_full, mesh_full.topology().dim(), 0)
# marking the subdomain
mark_sub_domain.set_all(0)
mark_domain = HalfDomain()
mark_domain.mark(mark_sub_domain, 1)
mesh = MeshView.create(mark_sub_domain, 1)
V = VectorFunctionSpace(mesh, "Lagrange", 1)
bc0 = DirichletBC(V.sub(0), Constant(0.0), DirichletBoundaryY(), method="pointwise")
print("--- %s seconds ---" % (time.time() - start_time))
Till mpirun -np 3
it runs fine and beyond that it returns the error:
--- 0.7297325134277344 seconds ---
Traceback (most recent call last):
File "thermal_profile_export_and_plastic_solve_mwe_for_meshview.py", line 25, in <module>
bc0 = DirichletBC(V.sub(0), Constant(0.0), DirichletBoundaryY(), method="pointwise")
File "/usr/local/lib/python3.6/dist-packages/dolfin/function/functionspace.py", line 124, in sub
return FunctionSpace(cpp.function.FunctionSpace.sub(self._cpp_object, i))
RuntimeError:
*** -------------------------------------------------------------------------
*** DOLFIN encountered an error. If you are not able to resolve this issue
*** using the information listed below, you can ask for help at
***
*** fenics-support@googlegroups.com
***
*** Remember to include the error message listed below and, if possible,
*** include a *minimal* running example to reproduce the error.
***
*** -------------------------------------------------------------------------
*** Error: Unable to build sub-dofmap view.
*** Reason: Re-ordering map not available. It may be been cleared by the user.
*** Where: This error was encountered inside DofMapBuilder.cpp.
*** Process: 2
***
*** DOLFIN version: 2019.2.0.dev0
*** Git changeset: 3eacdb46ed4e6dcdcbfb3b2f5eefa73f32e1b8a8
*** -------------------------------------------------------------------------
--- 0.7300558090209961 seconds ---
--- 0.730745792388916 seconds ---
I tried to run the mwe from Problem with interpolating and mixed function over a submesh in parallel but it also runs till mpirun -np 8
and beyond that it returns the same error (Unable to build sub-dofmap view.).
Can someone share the idea how to tackle this issue? I am using Dolfin 2019.2.0.dev0 with docker. Thank you!