← 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 posted a new comment:
Marie Rognes wrote:
> 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.


Added. Where should I put documentation?

--
Marie

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



Follow ups

References