0

让我们u在函数空间上使用 FEniCS 解决给定问题的解决方案V

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

x成为一个Point对象。如何评估 u 在 x 处的梯度?


我试过了

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.
4

1 回答 1

1

我猜你有尺寸问题,同时在标量函数空间中投影一个函数。你可能需要做这样的事情:

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

问候,莱昂纳多

于 2018-07-27T06:27:20.017 回答