OpenMDAO徽标

高效多学科优化的开源框架。

什么是OpenMDAO?

OpenMDAO是一个开源优化框架,是一个使用分析衍生工具构建新分析工具的平台。

为什么使用OpenMDAO?

  • 更快、更稳定的设计优化。
  • 快速开发新的分析工具。
  • 将高保真分析紧密集成到系统级模型中

想了解更多信息吗?

我们的联机文档内容广泛,包括入门教程和功能文档。我们有我们的github上的代码库,包括2021年发展路线图.我们的出版物是一个了解我们如何使用OpenMDAO的好地方。社区使用的精彩介绍可以在 2019年OpenMDAO研讨会YouTube,2020 OpenMDAO反向黑客马拉松github回购。外部用户经常在以下方面提出问题栈溢出。您还可以查看我们在openmdao上开发的两个主要库:Dymos公司(瞬态建模和最优控制)和pyCycle(pyCycles)(涡轮发动机循环分析)。两者都提供带有分析导数的工程分析。

引用我们

J.S.Gray、J.T.Hwang、J.R.R.A.Martins、K.T.Moore和B.A.Naylor,“OpenMDAO:多学科设计、分析和优化的开源框架”,结构和多学科优化,2019年。

@文章{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入门

安装说明:

从您的python环境(我们建议水蟒),只需键入:

>>pip(点阵) 安装'openmdao[all]'

示例优化文件

下面是一个简单的运行文件示例,让您开始运行第一个优化。将以下代码复制到名为抛物面_min.py:

进口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”))

然后,要运行该文件,只需键入:

>>蟒蛇抛物面_min.py

如果所有工作都按计划进行,结果应如下所示:

优化已成功终止。(退出模式0)当前功能值:-27.333333333303336迭代次数:5功能评估:6梯度评估:5优化完成-----------------------------------[-27.33333333][ 6.66666667][-7.33333333]
在GitHub上找到我