← Back to team overview

dolfin team mailing list archive

[Bug 733834] Re: Computing functions on boundaries gives incorrect result in parallel

 

** Changed in: dolfin
    Milestone: 0.9.11 => 0.9.12

** Changed in: dolfin
     Assignee: (unassigned) => Garth Wells (garth-wells)

-- 
You received this bug notification because you are a member of DOLFIN
Team, which is subscribed to DOLFIN.
https://bugs.launchpad.net/bugs/733834

Title:
  Computing functions on boundaries gives incorrect result in parallel

Status in DOLFIN:
  In Progress

Bug description:
  The MeshFunction that stores exterior facets and which is used in
  parallel, is computed when a DofMap is created. This is a problem when
  assembling functionals on exterior facets and passing the mesh because
  the mesh never computes the "exterior facets" MeshFunction. The below
  code reproduced the error.

  from dolfin import *
  mesh = UnitSquare(24, 24)
  f = Constant(1.0)
  M = f*ds

  # This is a hack to get around the bug
  #if MPI.num_processes() > 1:
  #    cpp.MeshPartitioning.number_entities(mesh, mesh.topology().dim() - 1);

  # This should print 4.0
  print assemble(M, mesh=mesh)



References