【问题标题】:FEniCS: evaluate gradient of function at pointFEniCS:评估点处的函数梯度
【发布时间】:2018-03-15 17:40:56
【问题描述】:

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

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.

【问题讨论】:

    标签: python gradient post-processing fenics


    【解决方案1】:

    我猜您在将函数投影到标量函数空间时遇到了维度问题。你可能需要做这样的事情:

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

    问候,莱昂纳多

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-16
      • 2021-05-19
      • 2018-01-15
      • 2023-02-10
      • 2020-06-02
      • 1970-01-01
      相关资源
      最近更新 更多