dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #18209
Re: [Question #109900]: L2-scaling
Question #109900 on DOLFIN changed:
https://answers.launchpad.net/dolfin/+question/109900
Status: Open => Answered
Marie Rognes proposed the following answer:
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()
--
Marie
--
You received this question notification because you are a member of
DOLFIN Team, which is an answer contact for DOLFIN.