CAD自动化设计,FEA分析和优化 [英] Automated Design in CAD, Analysis in FEA, and Optimization

查看:259
本文介绍了CAD自动化设计,FEA分析和优化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想通过让优化器对CAD文件进行更改来优化设计,然后在FEM中对其进行分析,然后将结果反馈到优化器中,以基于FEM对设计进行更改,直到解决方案为止收敛到最佳值(质量,刚度,否则).

I would like to optimize a design by having an optimizer make changes to a CAD file, which is then analyzed in FEM, and the results fed back into the optimizer to make changes on the design based on the FEM, until the solution converges to an optimum (mass, stiffness, else).

这是我的构想:

  • 在CAD软件(例如CATIA)中创建零件的蓝图.
  • 从编程语言(例如Python)中运行优化程序代码(例如fmincon).优化器的参数是CAD模型的参数(角度,长度,厚度等).
  • 优化器评估某个设计(参数集).编程语言调用CAD软件并相应地修改设计.
  • 编程语言提取一些信息(例如质量).
  • 然后,编程语言将提取STEP文件,并将其传递给FEA解算器(例如Abaqus),并在其中执行预定义的分析.
  • 编程语言读取结果(例如max van Mises的压力).
  • CAD和FEM的结果(例如质量和应力)被馈送到优化器,该优化器将相应地更改设计.
  • 直到收敛为止.

我知道这种情况是在封闭的体系结构(例如isight)中存在的,但是我想使用一种开放的体系结构,其中的优化器是从一种开放的编程语言(理想情况下为Python)中调用的.

I know this exists from within a closed architecture (e.g. isight), but I want to use an open architecture where the optimizer is called from within an open programming language (ideally Python).

所以最后,这是我的问题:

So finally, here are my questions:

  • 可以按照我的描述完成吗?
  • 参考书,请教教程吗?
  • 您推荐使用哪种软件进行编程,CAD和FEM?

推荐答案

是的,可以做到.您要描述的是一个小型参数化结构尺寸的多学科优化(MDO)环境.在您甚至开始编写工具或环境的代码之前,我建议先在几个方面做一些初步工作

Yes, it can be done. What you're describing is a small parametric structural sizing multidisciplinary optimization (MDO) environment. Before you even begin coding up the tools or environment, I suggest doing some preliminary work on a few areas

  1. 谨慎地制定最小化问题(最小化f(x),其中x是包含...变量,受...约束等的向量)
  2. 调查并确定感兴趣的单个工具
  3. 每种工具如何工作?输入变量?输出变量?
  4. 设计结构矩阵(也称为N ^ 2图)中的概述工具如何将信息(变量)相互传递
  5. 哪种优化器最适合您的问题(MDF?)
  6. 确定合适的收敛容差

一旦采取了上述步骤,我将开始考虑MDO实现细节. Python虽然不是最快的语言,但却是理想的环境,因为Python内置了许多工具来解决MDO问题,例如您拥有的工具和开发时间短.我建议使用以下软件包

Once the above steps are taken, I would then start to think MDO implementation details. Python, while not the fastest language, would be an ideal environment because there are many tools that were built in Python to solve MDO problems like the one you have and the low development time. I suggest going with the following packages

  • OpenMDAO( http://openmdao.org/):由NASA Glenn研究中心编写的现代MDO平台.这些教程很好地帮助您入门.请注意,Sellar问题(本教程的第二个问题)中的每个纪律"都包括对您的工具的调用,而不是封闭式方程式.只要您遵循OpenMDAO的类框架,它就不会在乎每个学科是什么并将其视为黑匣子.不管输入和输出之间发生了什么.
  • Scipy和numpy:两个科学和数值优化包
  • OpenMDAO (http://openmdao.org/): a modern MDO platform written by NASA Glenn Research Center. The tutorials do a good job of getting you started. Note that each "discipline" in the Sellar problem, the 2nd problem in the tutorial, would include a call to your tool(s) instead of a closed-form equation. As long as you follow OpenMDAO's class framework, it does not care what each discipline is and treats it as a black-box; it doesn't care what goes on in-between an input and an output.
  • Scipy and numpy: two scientific and numerical optimization packages

我不知道您可以使用什么软件,但是这里有一些与工具有关的技巧可以帮助您进行工具调查和识别:

I don't know what software you have access to, but here are a few tool-related tips to help you in your tool survey and identification:

  • Abaqus has a Python API (http://www.maths.cam.ac.uk/computing/software/abaqus_docs/docs/v6.12/pdf_books/SCRIPT_USER.pdf)
  • If you need to use a program that does not have an API, you can automate the GUI using Python's win32com or Pywinauto (GUI automation) package
  • For FEM/FEA, I used both MSC PATRAN and MSC NASTRAN on previous projects since they have command-line interfaces (read: easy to interface with via Python)
  • HyperSizer also has a Python API
  • Install Pythonxy (https://code.google.com/p/pythonxy/) and use the Spyder Python IDE (included)
  • CATIA can be automated using win32com (quick Google search on how to do it: http://code.activestate.com/recipes/347243-automate-catia-v5-with-python-and-pywin32/)

注意:要给您一些开发时间框架,您要求的内容可能至少需要两周的时间来开发.

Note: to give you some sort of development time-frame, what you're asking will probably take at least two weeks to develop.

我希望这会有所帮助.

这篇关于CAD自动化设计,FEA分析和优化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆