← Back to team overview

dolfin team mailing list archive

Re: Question about essential boundary conditions

 

>>> On Thu, Feb 07, 2008 at 05:43:13PM +0100, Marie Rognes wrote:
>>>> Anders Logg wrote:
>>>> > On Thu, Feb 07, 2008 at 05:07:46PM +0100, Marie Rognes wrote:
>>>> >
>>>> >> Hi,
>>>> >>
>>>> >> I would like to construct a vector-valued finite element space
>>>> where
>>>> the
>>>> >> components may be related to each other on the boundary.
>>>> >>
>>>> >> Example:
>>>> >>
>>>> >>     Let P1 be piecewise linears on K.
>>>> >>     I want the subspace {(u, v) \in P1 x P1 such that u = v on the
>>>> >> boundary of K.}
>>>> >>
>>>> >> Is this possible in DOLFIN today?
>>>> >>
>>>> >
>>>> > Not that I know. Generally, we can't handle constraints.
>>>> >
>>>> >
>>>>
>>>> Darn. How hard do you think it would be to set-up?
>>>
>>> I don't know. There was some discussion a month back on setting
>>> no-slip constraints (zero normal component on boundaries) which is
>>> similar. I think the conclusion was that we didn't find a general
>>> solution. (But most likely there is one...)
>>>
>>> --
>>> Anders
>>
>> I guess you could set it up as a penalty on (u-v)?
>>
>> For the zero normal component case things are a little bit different,
>> since then you use a local coordinate transormation of the test
>> functions
>> from Cartesian to normal-tangent coordinates, so that you can let the
>> tanget direction be free but the normal direction constrained. This is
>> planned to be part of the next release of Unicorn for linear (P1) vector
>> elements. But as Anders says it is not evident how to extend this to
>> general elements.
>>
>> /Johan
>>
>
> I think there are three ways to do this:
> 1) Remove the dofs that are constrained (i.e. v on boundary)
>     This can be done by slicing matrices and vectors in an appropriate
> way.
>     I guess it would be easy in Matlab, but not (yet) in fenics ?

Yes, this would be similar to a strategy to implement periodic boundary
conditions; setting v t oa slave dof (with u a master dof).

> 2) Use a penalty term, as Johan says, this introduces an extra parameter
>     in front of the penalty term.

This is usually a simple fix, but may come at a price. The conditioning of
the system may depend on the penalty parameter.

> 3) Use Lagrange multipliers to impose the constraint, which leads to a
> larger
>     system to solve.

This is probably a good idea for general constraints. Although at the
price of more dofs as Kent says. In some applications these dofs can carry
usable information such as the forces needed to invoke the constraints.

/Johan

>
>
> Kent
>
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev
>




References