This is a read only copy of the old FEniCS QA forum. Please visit the new QA forum to ask questions

Lagrange multipliers on the boundary

+6 votes

My question is related to Lagrange multipliers on the boundary. There are examples defining a restricted FunctionSpace on the skeleton of the mesh using something like FunctionSpace(mesh, 'CG', 1, restriction='facet'). How can one restrict the space to "live" only on the boundary of the domain (e.g., what can one use instead of 'facet' here)?

asked Apr 26, 2014 by aaev FEniCS Novice (180 points)

Hi,
Did you find the answer because I am also interesting by defining Lagrange multiplier on the boundary ??
Thanks
Stéphane Pagano

Hi,
I do not think I found the answer at the time. There is a way to restrict the space to the boundary:

boundary_mesh = BoundaryMesh(mesh, 'exterior')
M = FunctionSpace(boundary_mesh,'DG',0)

but it is my understanding that you cannot mix restricted/unrestricted spaces in one variational form yet (???).

1 Answer

0 votes

I don't think that mixing functions on different meshes or restricted and non-restricted functions in sigle form is now in production-ready state or even possible at all. Recently there has been supplied a lot of infrastructure for this to UFL by Martin Alnaes and also Anders Logg is working on something which has to do with different meshes. So expect this in near future.

answered Apr 28, 2014 by Jan Blechta FEniCS Expert (51,420 points)
...