有没有办法获得类似于 get_val() 的特定部分?

问题描述

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

解决方法

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...