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

How to apply boundary condition on 'subspace' of a BDM element?

+1 vote

Hi there,

In the official Mixed Poission tutorial, the velocity sigma is represented by the BDM (Brezzi-Douglas-Marini). My question is: is it possible to apply boundary condition on part of this BDM element? Physically, it means to restrict velocity vlaue in one direction.

I tried

BDM = FunctionSpace(mesh, "BDM", 1)
DG = FunctionSpace(mesh, "DG", 0)
W = BDM * DG    

and the boudary condition is like:

DirichletBC(W.sub(0).sub(0), Boundary_Expression, boundaries, 1)

but it failed, and the error message:

ValueError: Can only extract SubSpaces with i = 0 ... -1

It seems I have no access to the inner component of a BDM element. What's the right way to apply BC on part of the element?

asked Dec 19, 2014 by Chao Zhang FEniCS User (1,180 points)

1 Answer

0 votes
 
Best answer

The BDM space has no subspaces, since its degrees of freedom are only interior moments (for higher orders) and normal components at the facets. You cannot compare this to a vector-space of a Lagrangian element since it has a different type of continuity built in. If you want to constrain the normal component, then this is a degree of freedom which you can explicitly specify, and you can do this as shown in the tutorial. For tangential components, you have no chance in this way. You could however try to penalize them in a DG-fashion. There are a number of articles, where the authors use these types of spaces to solve incompressible flow problems (e.g. this one). Here they have the problem that their velocity solution should be in H^1 but the space is not H^1-conforming but only H(div)-conforming. Thus they add additional interior-penalty-type stabilization terms to the variational form to control the tangential components. I have no idea if this actually works for your problem, but my guess would be that you have not many other choices to consider.

answered Dec 19, 2014 by Christian Waluga FEniCS Expert (12,310 points)
selected May 12, 2015 by Chao Zhang

I'm reading the paper you suggested, hope I could understand it.

...