7
4

2 回答 2

0

numpy如果您需要更轻的符号,我建议使用模块的转换:

u_v = numpy.array(u.vector())

或者,如果您更喜欢保留原始变量的结构

u_v = u.vector()

我更喜欢第一个,因为我更习惯于使用 MatLab 风格的向量。

于 2020-04-02T08:38:15.493 回答
0

根据 roby 的评论,array()已替换为get_local(). 因此,在第三个 fenics 教程的第 62-65 行中,以下工作:

    # Compute error at vertices
    u_e = interpolate(u_D, V)
    error = np.abs(u_e.vector().get_local() - u.vector().get_local()).max()
    print('t = %.2f: error = %.3g' % (t, error))
于 2019-07-25T01:20:34.090 回答