Optimization CAD中的自动设计、FEA中的分析和优化

Optimization CAD中的自动设计、FEA中的分析和优化,optimization,scripting,automation,cad,finite-element-analysis,Optimization,Scripting,Automation,Cad,Finite Element Analysis,我想通过让优化器对CAD文件进行更改来优化设计,然后在FEM中对其进行分析,并将结果反馈给优化器,以便根据FEM对设计进行更改,直到解决方案收敛到最佳值(质量、刚度等) 这就是我的设想: 在CAD软件(如CATIA)中创建零件的蓝图 从编程语言(如Python)中运行优化器代码(如fmincon)。优化器的参数是CAD模型的参数(角度、长度、厚度等) 优化器评估某个设计(参数集)。编程语言调用CAD软件并相应地修改设计 编程语言提取一些信息(例如质量) 然后,编程语言提取STEP文件并将其传递

我想通过让优化器对CAD文件进行更改来优化设计,然后在FEM中对其进行分析,并将结果反馈给优化器,以便根据FEM对设计进行更改,直到解决方案收敛到最佳值(质量、刚度等)

这就是我的设想:

  • 在CAD软件(如CATIA)中创建零件的蓝图
  • 从编程语言(如Python)中运行优化器代码(如fmincon)。优化器的参数是CAD模型的参数(角度、长度、厚度等)
  • 优化器评估某个设计(参数集)。编程语言调用CAD软件并相应地修改设计
  • 编程语言提取一些信息(例如质量)
  • 然后,编程语言提取STEP文件并将其传递给FEA解算器(例如Abaqus),在该解算器中执行预定义的分析
  • 编程语言读取结果(例如max van Mises应力)
  • CAD和FEM的结果(如质量和应力)被输入优化器,优化器相应地更改设计
  • 直到它收敛
我知道这存在于一个封闭的体系结构中(例如isight),但我想使用一个开放的体系结构,在这个体系结构中,优化器是从一种开放的编程语言(理想情况下是Python)中调用的

最后,我有几个问题:

  • 这能做到吗,就像我描述的那样,还是别的
  • 参考资料,教程
  • 对于编程、CAD和FEM,您推荐哪些软件

    • 是的,可以做到。您所描述的是一个小型参数化结构尺寸多学科优化(MDO)环境。在您开始编写工具或环境之前,我建议您在几个方面做一些准备工作

    • 仔细制定最小化问题(最小化f(x),其中x是一个包含…变量的向量,受…约束,等等)
    • 调查并确定感兴趣的个人工具
    • 每个工具如何工作?输入变量?输出变量
    • 在设计结构矩阵(又称N^2图)中概述工具将如何相互提供信息(变量)
    • 哪种优化器最适合您的问题(MDF?)
    • 确定合适的收敛公差
    • 一旦采取上述步骤,我就会开始考虑MDO实现的细节。Python虽然不是最快的语言,但将是一个理想的环境,因为Python中内置了许多工具来解决MDO问题,比如您现有的MDO和较低的开发时间。我建议使用以下软件包

      • OpenMDAO():美国宇航局格伦研究中心编写的现代MDO平台。这些教程很好地帮助您开始学习。请注意,Sellar问题(本教程中的第二个问题)中的每个“规程”都包括对工具的调用,而不是封闭形式的方程式。只要您遵循OpenMDAO的类框架,它就不关心每个规程是什么,而是将其视为一个黑匣子;它不关心输入和输出之间发生了什么
      • Scipy和numpy:两个科学和数值优化包
      我不知道您可以访问哪些软件,但以下是一些与工具相关的提示,可帮助您进行工具调查和识别:

      • Abaqus有一个Python API()
      • 如果您需要使用没有API的程序,可以使用Python的win32com或Pywinauto(GUI自动化)包来自动化GUI
      • 对于FEM/FEA,我在以前的项目中使用了MSC PATRAN和MSC NASTRAN,因为它们有命令行接口(阅读:易于通过Python进行接口)
      • HyperSizer还有一个Python API
      • 安装Pythonxy()并使用Spyder Python IDE(附带)
      • CATIA可以使用win32com(谷歌快速搜索如何实现自动化:)
      注意:为了给您提供某种开发时间框架,您所要求的开发可能至少需要两周的时间


      我希望这能有所帮助。

      的确如此,非常感谢。在标准的CAD软件(CATIA v5、v6、NX、SolidWorks或AutoCAD)之外,您推荐哪种CAD软件?不是特别推荐哪种。我建议您使用您最熟悉的一个API。此外,请记住,听起来您只需要参数化FEM方面的CAD,而不需要大量的其他大牌产品。你听说过OpenVSP吗?它是由美国宇航局编写的,并且与有限元生成器程序CalculiX配合得很好。它们都有很好的API。有关详细信息,请参见的幻灯片14和15。