Automated Design in CAD, Analysis in FEA, and Optimization

自古美人都是妖i 提交于 2019-12-03 20:38:04

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. Carefully formulate the minimization problem (minimize f(x), where x is a vector containing ... variables, subject to ... constraints, etc.)
  2. Survey and identify individual tools of interest
  3. How would each tool work? Input variables? Output variables?
  4. Outline in a Design Structure Matrix (a.k.a. N^2 diagram) how the tools will feed information (variables) to each other
  5. What optimizer is best suited to your problem (MDF?)
  6. Identify suitable convergence tolerance(s)

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/): 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:

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

I hope this helps.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!