dS integration in parallel

Issue #753 duplicate
Miro Kuchta created an issue
from dolfin import *

mesh = UnitSquareMesh(10, 10)
facet_f = FacetFunction('size_t', mesh, 0)
CompiledSubDomain('near(x[0], 0.5)').mark(facet_f, 1)

form = Constant(1)*dS(domain=mesh, subdomain_data=facet_f, subdomain_id=1)
value = assemble(form)
print value

Running the above code with 1,2,3 and 4 cpus prints respectively 1, 0, 1, 0, i.e. the correct value is obtained only with odd number of processes. With even number the marked domain happens to be the process boundary. Is there some special initialization that is required for this to work correctly, or is this a bug?

Comments (4)

  1. Log in to comment