← Back to team overview

dolfin team mailing list archive

Re: [Question #109900]: L2-scaling

 

Question #109900 on DOLFIN changed:
https://answers.launchpad.net/dolfin/+question/109900

Marie Rognes proposed the following answer:
Anders Logg wrote:
> On Thu, May 06, 2010 at 08:42:19PM -0000, Marie Rognes wrote:
>   
>> Question #109900 on DOLFIN changed:
>> https://answers.launchpad.net/dolfin/+question/109900
>>
>> Marie Rognes proposed the following answer:
>> Anders Logg wrote:
>>     
>>> Question #109900 on DOLFIN changed:
>>> https://answers.launchpad.net/dolfin/+question/109900
>>>
>>> Anders Logg proposed the following answer:
>>> On Thu, May 06, 2010 at 02:52:33PM +0200, Marie Rognes wrote:
>>>
>>>       
>>>> Achim Schroll wrote:
>>>>
>>>>         
>>>>> New question #109900 on DOLFIN:
>>>>> https://answers.launchpad.net/dolfin/+question/109900
>>>>>
>>>>> for a plain Poisson eqn with pure Neumann b.c., how to specify the scaling condition u*dx = 0 ?
>>>>>
>>>>>           
>>>> If you have a recent dolfin, you can introduce a constant c acting
>>>> as a Lagrange multiplier corresponding to the constraint. See
>>>> example below.
>>>>
>>>> from dolfin import *
>>>>
>>>> mesh = UnitSquare(32, 32)
>>>> V = FunctionSpace(mesh, "CG", 1)
>>>> Q = FunctionSpace(mesh, "R", 0)
>>>> M = V * Q
>>>>
>>>> (u, c) = TrialFunctions(M)
>>>> (v, d) = TestFunctions(M)
>>>>
>>>> f = Expression("x[0]*x[1]*sin(pi*x[0])")
>>>>
>>>> a = dot(grad(v), grad(u))*dx + d*u*dx + c*v*dx
>>>> L = v*f*dx
>>>>
>>>> pde = VariationalProblem(a, L)
>>>> u_h = pde.solve()
>>>>
>>>> plot(u_h[0])
>>>> interactive()
>>>>
>>>>         
>>> But make sure to not name that space 'M' if you try this with a UFL
>>> file or you will get a strange error (since 'M' is reserved in form
>>> files).
>>>
>>> Anyway, I'm wondering about the dofmap for the "R" element. It sets
>>> _global_dimension to m.num_entities[2] which is the global number of
>>> cells, but then it maps all dofs to 0. Is that right? Shouldn't the
>>> global dimension be 1?
>>>
>>>
>>>       
>> Yes, it is a bug for non-mixed elements(!). I noticed but didn't really
>> want to start fixing before
>> the weekend. It's on the todo-list though.
>>     
>
> ok! I thought I might have missed the point but then I think I know
> what's going on. Very cool feature.
>
>   

It is a true hack that I added for testing purposes. But it seems 
useful, so let's keep it. I'll clean it up a bit (and fix that bug.)

> Btw, you can add that demo now. ;-)
>   
>

Great.

--
Marie

-- 
You received this question notification because you are a member of
DOLFIN Team, which is an answer contact for DOLFIN.



References