使用OpenAeroStruct执行plot_wing报错:SqliteCaseReader无system_options属性
解决OpenAeroStruct中
plot_wing命令报错SqliteCaseReader' object has no attribute 'system_options' 检查版本兼容性
最新版OpenMDAO调整了SqliteCaseReader的API,移除了system_options属性,但OpenAeroStruct的绘图工具未同步适配。查看OpenAeroStruct的官方依赖说明,安装与之匹配的OpenMDAO版本,而非盲目使用最新版。修改
plot_wing脚本的API调用
找到plot_wing对应的脚本文件(通常在openaerostruct/utils/plotting.py路径下),定位到调用case_reader.system_options的代码段,替换为OpenMDAO最新版的等效实现。例如:
原代码可能类似:opts = case_reader.system_options可替换为从
problem_metadata中获取相关配置:opts = case_reader.problem_metadata.get('system_options', {})若不确定具体替代属性,参考OpenMDAO的官方API文档,找到
SqliteCaseReader中存储原system_options内容的新字段。直接在仿真脚本中调用绘图函数
跳过事后读取数据库的方式,在你的优化/分析脚本执行完成后,直接传入Problem实例调用绘图函数:from openaerostruct.utils.plotting import plot_wing # 执行完prob.run_model()或prob.run_driver()后 plot_wing(prob)这种方式无需依赖数据库文件的API,能避免版本兼容问题。
内容的提问来源于stack exchange,提问作者Larissa Paixão
相关产品推荐
相关产品推荐

