首页 > 解决方案 > 有没有办法获得类似于 get_val() 的特定部分?

问题描述

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

标签: openmdao

解决方案


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

查看部分的一般调试实践是使用check_partials。这将为您提供所有要查看的部分的完整值。但是,如果您需要将算法方法作为运行脚本的一部分,请使用 compute_totals。

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


推荐阅读