什么是OpenMDAO?
为什么使用OpenMDAO?
更快、更稳定的设计优化。 快速开发新的分析工具。 将高保真分析紧密集成到系统级模型中
想了解更多信息吗?
引用我们
@文章{Gray2019a, 作者={Justin S.Gray和John T.Hwang 和Joaquim R.R.A.Martins 肯尼思·穆尔(Kenneth T.Moore)和布雷特·奈勒(Bret A.Naylor), Doi={10.1007/s00158-019-02211-z}, 期刊={结构和多学科优化}, 月份={四月}, 数字={4}, 页码={1075--1104}, Title={{OpenMDAO}:一个开源框架 用于多学科设计、分析、, 和优化}, 体积={59}, 年份={2019}}
OpenMDAO入门
安装说明:
示例优化文件
进口 openmdao.api 作为om #构建模型 prob=om.Problem() prob.model.add_subsystem(问题模型添加子系统)( '抛物面' , om.ExecComp公司( ‘f=(x-3)**2+x*y+(y+4)**2-3' )) #设置优化 prob.driver=om.ScieOptimizeDriver() prob.driver.options问题驱动程序选项[ “优化器” ] = “SLSQP” 问题模型添加设计变量( “抛物面.x” , 降低 =- 50 , 上面的 = 50 ) 问题模型添加设计变量( “抛物面.y” , 降低 =- 50 , 上面的 = 50 ) 问题模型添加对象( '抛物面.f' ) 问题设置() #设置初始值 问题设置值( “抛物面.x” , 3.0) 问题设置值( “抛物面.y” , -4.0) #运行优化 问题运行驱动程序() #最小值 打印 (问题获取值( '抛物面.f' )) #最小值的位置 打印 (问题获取值( “抛物面.x” )) 打印 (问题获取值( “抛物面.y” ))
优化已成功终止。 (退出模式0) 当前功能值:-27.333333333303336 迭代次数:5 功能评估:6 梯度评估:5 优化完成 ----------------------------------- [-27.33333333] [ 6.66666667] [-7.33333333]