FEniCS:评估点的函数梯度

时间:2018-03-15 17:40:57

标签: python gradient post-processing fenics

u成为使用FEniCS解决的给定问题的解决方案,在函数空间上V

from fenics import *
...
u = Function(V)
solve(a==L, u, bcs)

xPoint个对象。如何在x?

评估u的梯度

我试过

g = grad(u)
g(x)

引发了有关尺寸的错误:

UFLException: Expecting dim to match the geometric dimension, got dim=1 and gdim=2.

在函数空间上投影渐变不会产生令人鼓舞的结果:

h = project(grad(u), V)

也会引发错误

UFLException: Shape mismatch.

1 个答案:

答案 0 :(得分:1)

我想您在标量函数空间中投影函数时遇到尺寸问题。您可能需要执行以下操作:

 V_vec = VectorFunctionSpace(mesh, "CG", 1)
 h = project(grad(u),V_vec)

问候,莱昂纳多