名单加载模型方法无法映射到组件未知数
Namelist load model method fails to map to component unknowns
我已经将几个遗留的 FORTRAN 代码合并到一个 openmdao 模型中。遗留代码既可以读取也可以写入名单。我按照 "File Wrapping Tutorial" 中的说明进行了名单。除了用于读取名单的 load_model 方法外,一切都按照文档工作。文档说:
Namelist 对象还包括一些函数,用于解析 namelist 文件并将变量值加载到组件的未知数中。
但是,load_model 的实际源代码引用了参数而不是未知数:
参数=self.comp.params
我的问题很简单,这是什么意思?
作为变通方法,我跳过 load_model 方法并在 parse_file 方法之后硬编码 1:1 var 到未知映射。
load_model
方法的目的是获取一个名单文件并将值加载到模型中,所以是的,它应该是 params
而不是未知数。您真的不需要 load_model
方法来成功换行;它的目的实际上只是为了将遗留模型引入 OpenMDAO(并且它对于文件包装组件的单元测试也很有用。)
我们可能需要清理一些内容以改进名单和文件包装的文档。
我已经将几个遗留的 FORTRAN 代码合并到一个 openmdao 模型中。遗留代码既可以读取也可以写入名单。我按照 "File Wrapping Tutorial" 中的说明进行了名单。除了用于读取名单的 load_model 方法外,一切都按照文档工作。文档说:
Namelist 对象还包括一些函数,用于解析 namelist 文件并将变量值加载到组件的未知数中。
但是,load_model 的实际源代码引用了参数而不是未知数:
参数=self.comp.params
我的问题很简单,这是什么意思?
作为变通方法,我跳过 load_model 方法并在 parse_file 方法之后硬编码 1:1 var 到未知映射。
load_model
方法的目的是获取一个名单文件并将值加载到模型中,所以是的,它应该是 params
而不是未知数。您真的不需要 load_model
方法来成功换行;它的目的实际上只是为了将遗留模型引入 OpenMDAO(并且它对于文件包装组件的单元测试也很有用。)
我们可能需要清理一些内容以改进名单和文件包装的文档。