### Mixed FunctionSpace on mesh and boundary mesh

97

views

0

Dear all,

is there a way to create a mixed FunctionSpace of sub spaces defined on a mesh *and* on (parts of) its boundary mesh?

I need to enforce a coupling condition on the boundary by means of a non-constant Lagrange multiplier.

MWE:

This fails with the error: UFLException: Sub elements must live on the same cell.

Thanks,

David

is there a way to create a mixed FunctionSpace of sub spaces defined on a mesh *and* on (parts of) its boundary mesh?

I need to enforce a coupling condition on the boundary by means of a non-constant Lagrange multiplier.

MWE:

```
from dolfin import *
mesh = UnitSquareMesh(4, 4)
bmesh = BoundaryMesh(mesh, 'exterior')
P = FiniteElement('P', mesh.ufl_cell(), 1)
M = FiniteElement('P', bmesh.ufl_cell(), 1)
W = FunctionSpace(mesh, MixedElement([P, M]))
```

This fails with the error: UFLException: Sub elements must live on the same cell.

Thanks,

David

Community: FEniCS Project

How so? Creating the MixedElement fails, didn't get to integrate anything.

written
5 weeks ago by
David

Just create your Lagrange multiplier function as a normal function over P, but only integrate the Lagrange multiplier functional over the boundary.

written
5 weeks ago by
pf4d

I see. But this would result in a highly underdetermined problem, wouldn't it? There are no conditions for all the interior DOFs of the Lagrange multiplier.

written
5 weeks ago by
David

Adjoining Lagrange multipliers to the PDE will typically require new solution methods. That said, if your functional does not include any Lagrange-multiplier interior terms, these unused interior terms are not specified in the form and hence will not affect your solution on the boundaries.

written
5 weeks ago by
pf4d

Please login to add an answer/comment or follow this question.

Have you tried restricting the integration of your Lagrange-multiplier term to the exterior?