Multimesh computational domain should be either union of meshes or background

Issue #698 new
Jørgen Dokken created an issue

The multimesh implementation assumes that the computational domain is the union of all meshes. In some cases it is instead natural to have the computational domain set to the background mesh. This will require implementation of weak boundary conditions on the boundary of the background mesh (fictitious domain style). This is not more complex than what we already have implemented but will require defining a new UFL integral.

Comments (10)

  1. Anders Logg (Chalmers)

    I think there are two basic cases that need to be distinguished:

    1. The computational domain is the union of all meshes.

    2. The computational domain is the background mesh (part 0).

    In the first case, the on_boundary argument for the inside() function is overridden (see MultiMeshDirichletBC::MultiMeshSubDomain::inside in dolfin/fem/MultiMeshDirichletBC.cpp).

    In the second case, the logic in MultiMeshDirichletBC.cpp somewhat buggy. @carllundholm has a fix for this that works for one of the applications we are running but it needs to be merged in.

  2. Log in to comment