dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #20434
[Question #137463]: DG VectorFunctionSpace
New question #137463 on DOLFIN:
https://answers.launchpad.net/dolfin/+question/137463
Hello -- I seem to get different answers when I project a discontinuous vector function component by component or using the vector DG function space. I expected the difference to be machine precision. What could I be doing wrongly? Thanks, --Jay
from dolfin import *
degree=1
n=10
mesh = UnitSquare(n,n)
Q = Expression(("(x[1]>=0.5? 10.0 : 0.0)","(x[0]>=0.5? 100.0 : 0.0)"))
VDG = VectorFunctionSpace(mesh, "DG", degree)
DG = FunctionSpace(mesh, "DG", degree)
q = project(Q, VDG, degree)
qx = project(Q[0], DG, degree)
qy = project(Q[1], DG, degree)
print 'q and (qx,qy) differs by: %e, %e' % \
( sqrt(abs(assemble( dot(q[0]-qx,q[0]-qx)*dx, mesh=mesh))), \
sqrt(abs(assemble( dot(q[1]-qy,q[1]-qy)*dx, mesh=mesh))) )
n = FacetNormal(mesh)
print 'jump(q)=%e, jump(qx)=%e, jump(qy)=%e' %\
( sqrt(abs(assemble( jump(q,n)*jump(q,n)*dS, mesh=mesh))), \
sqrt(abs(assemble( jump(qx)*jump(qx)*dS, mesh=mesh))), \
sqrt(abs(assemble( jump(qy)*jump(qy)*dS, mesh=mesh))) )
Output:
q and (qx,qy) differs by: 5.215406e-08, 3.885747e-07
jump(q)=3.516078e-14, jump(qx)=1.931411e-07, jump(qy)=2.697398e-06
You received this question notification because you are a member of
DOLFIN Team, which is an answer contact for DOLFIN.