有什么方法可以得到类似于 get_val() 的特定部分吗?

Is there any way to get a specific partial similar to get_val()?

如标题所述,get_val() 函数允许用户检索输入、输出或残差的值。是否有类似于 get_partial(of=..., wrt=...) 的东西允许用户检索衍生品?或者从问题或模型中检索它的最佳方法是什么?

为了在系统中获取一般导数,推荐的做法是使用compute_totals方法。 即使您只想查看偏导数,也可以使用 ofwrt 参数来指向特定的偏导数。你会得到一个总数,但它应该等于部分。

查看偏音的一般调试做法是使用check_partials。这将为您提供所有要查看的部分的完整值。但是如果你需要一个算法方法作为 运行 脚本的一部分,那么使用 compute_totals.

OpenMDAO 存储输出,因此获取这些输出是获取已经存在的值的问题(因此 get_val)。 对于导数,根据 OpenMDAO 的使用方式,不能保证总计存在于内存中,因此必须在需要时计算它们。