On 01/23/2014 04:19 AM, Jan Blechta wrote:
> On Wed, 22 Jan 2014 11:39:30 -0800
> Nikolaus Rath <[email protected]> wrote:
> 
>> Hi Jan,
>>
>> It was my impression from the other thread that I could handle the
>> problem of multiple solutions by giving the nullspace to the solver.
>> But I'll try the Laplace constraint as well.
>>
>> But then, even with u constrained, I still need to somehow put the
>> same constraint on the test functions, don't I? That's the part I'm
>> struggling with.
> 
> Sure. This is why it seems logical to me to constraint both trial and
> test space by Laplace equation. Nevertheless I did not think it over a
> much.


For what it's worth, it seems logical to me as well... I just don't know
how to impose the second constraint.

So, if anyone could give me a hint or point me to a demo that shows how
to constrain test functions, I'd be very happy.


Best,
Nikolaus



>> On 01/22/2014 11:22 AM, Jan Blechta wrote:
>>> Actually there is a very good reason to constraint also u, say by
>>> Laplace equation in the interior, as your original problem is
>>> singular on a usual H^1 space - there are infinintely many
>>> solutions to the problem. So you need to pick some.
>>>
>>> Jan
>>> ------------------------------------------------------------------------
>>> From: Nikolaus Rath <mailto:[email protected]>
>>> Sent: ‎22/‎01/‎2014 19:27
>>> To: Jan Blechta <mailto:[email protected]>
>>> Cc: [email protected] <mailto:[email protected]>
>>> Subject: Re: [FEniCS] How to impose constraints on test functions?
>>>
>>> On 01/21/2014 01:57 AM, Jan Blechta wrote:
>>>>>>>> However, I am still struggling to combine the finite element
>>>>>>>> method with Lagrange multipliers. I think I have a good handle
>>>>>>>> on Lagrange multipliers for constrained optimization of a
>>>>>>>> scalar function or integral, but I fail to transfer this to FE.
>>>>>>>
>>>>>>> Ok, potential for Poisson problem is
>>>>>>>
>>>>>>> \Psi(u) = 1/2 \int |\nabla u|^2 - L(u)
>>>>>>
>>>>>> Ah, the potential is the starting point. Thanks!
>>>>>>
>>>>>>> So if you want to minimize \Psi on V = H^1(\Omega) subject to
>>>>>>> constraint \int u = 0, you do can try to find a minimum (u, c)
>>>>>>> \in (V \times R) of
>>>>>>>
>>>>>>> \Psi(u) - c \int u
>>>>>>>
>>>>>>
>>>>>> My apologies if I'm slow, but why would I want to find a minimum
>>>>>> (u,c) \in (V * R)? It seems to me that I don't want to find a
>>>>>> specific value c -- I want a minimum u \in V \forall c.
>>>>>
>>>>> Nevermind that question. Since c is the Lagrange multiplier of
>>>>> course we need to solve for it. I got confused because I didn't
>>>>> see any additional constraint equations being used to actually
>>>>> determine the value. But that is just because of the special case
>>>>> \int u = 0, correct?
>>>>>
>>>>> For the more general case \int u = u0, am I right that we'd need
>>>>> to set up an extra term in the linear form?
>>>>>
>>>>> (u, c) = TrialFunction(W)
>>>>> (v, d) = TestFunctions(W)
>>>>> g = Expression("-sin(5*x[0])")
>>>>> a = (inner(grad(u), grad(v)) + c*v + u*d)*dx
>>>>> L = g*v*ds + Constant(u0) * d * dx
>>>>
>>>> Correct.
>>>
>>> Ah, good :-). Thanks!
>>>
>>>
>>> Could you also give me a similar hint for my original problem?
>>>
>>> To recap: I want to find u on the boundary such that with
>>>
>>> L = dot(f, grad(v)) * dx
>>> a = u * dot(grad(v), FacetNormal(mesh)) * ds
>>>
>>> L(v) == a(u, v) holds for all v that satisfy div(grad(v)) = 0
>>> (without any boundary conditions on v).
>>>
>>>
>>> I tried to start setting up the potential problem:
>>>
>>> \Psi(u) = 1/2 a(u,u) - L(u)
>>>
>>> but in contrast to the Poisson-Neumann example, now the constraint
>>> isn't on the solution u but on the test functions v, so I'm not
>>> sure how I can add the Lagrange multiplier here... As far as I can
>>> see, there's no reason to constrain the variation of u to satisfy
>>> Laplace's equation when looking for a stationary point of \Psi.
>>>
>>> What am I missing this time?
>>>
>>>
>>> Thanks so much for all your help!
>>> Nikolaus
>>
>>
> 


-- 
Nikolaus Rath, Ph.D.
Senior Scientist
Tri Alpha Energy, Inc.
+1 949 830 2117 ext 211
_______________________________________________
fenics mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics

Reply via email to