2

オプティマイザが CAD ファイルに変更を加えて設計を最適化し、それを FEM で解析し、その結果をオプティマイザにフィードバックして、FEM に基づいて設計を変更し、解が最適 (質量、剛性、その他)。

これは私が想像するものです:

  • CAD ソフトウェア (CATIA など) で部品の設計図を作成します。
  • プログラミング言語 (Python など) 内から最適化コード (fmincon など) を実行します。オプティマイザーのパラメーターは、CAD モデルのパラメーター (角度、長さ、厚さなど) です。
  • オプティマイザーは、特定の設計 (パラメーター セット) を評価します。プログラミング言語が CAD ソフトウェアを呼び出し、それに応じて設計を変更します。
  • プログラミング言語は、いくつかの情報 (質量など) を抽出します。
  • 次に、プログラミング言語が STEP ファイルを抽出し、定義済みの解析が実行される FEA ソルバー (Abaqus など) に渡します。
  • プログラミング言語が結果を読み取ります (例: max van Mises 応力)。
  • CAD と FEM からの結果 (質量と応力など) がオプティマイザーに送られ、それに応じて設計が変更されます。
  • 収束するまで。

これがクローズド アーキテクチャ (isight など) 内から存在することはわかっていますが、オプティマイザがオープン プログラミング言語 (理想的には Python) 内から呼び出されるオープン アーキテクチャを使用したいと考えています。

最後に、ここに私の質問があります:

  • 私が説明したように、それを行うことはできますか?
  • リファレンス、チュートリアルをお願いします。
  • プログラミング、CAD、FEM のどのソフトウェアをお勧めしますか?
4

1 に答える 1

6

はい、できます。あなたが説明しているのは、小さなパラメトリック構造サイジングの多分野最適化 (MDO) 環境です。ツールや環境のコーディングを始める前に、いくつかの領域で予備作業を行うことをお勧めします

  1. 最小化問題を慎重に定式化します (f(x) を最小化します。ここで、x は ... 変数を含むベクトルで、... 制約などに従います)。
  2. 関心のある個々のツールを調査して特定する
  3. 各ツールはどのように機能しますか? 入力変数? 出力変数?
  4. ツールが情報 (変数) を相互にフィードする方法を設計構造マトリックス (別名 N^2 ダイアグラム) で概説します。
  5. 問題に最適なオプティマイザはどれですか (MDF?)
  6. 適切な収束許容値を特定する

上記の手順を実行したら、MDO 実装の詳細について考え始めます。Python は最速の言語ではありませんが、理想的な環境です。Python には、開発時間の短い MDO の問題を解決するツールが多数組み込まれているためです。次のパッケージを使用することをお勧めします

  • OpenMDAO ( http://openmdao.org/ ): NASA Glenn Research Center によって作成された最新の MDO プラットフォーム。チュートリアルは、開始するのに適しています。チュートリアルの 2 番目の問題であるセラー問題の各「規律」には、閉じた形式の方程式ではなく、ツールへの呼び出しが含まれることに注意してください。OpenMDAO のクラス フレームワークに従っている限り、各規律が何であるかは気にせず、ブラック ボックスとして扱います。入力と出力の間で何が起こっているかは気にしません。
  • Scipy と numpy: 2 つの科学的および数値的最適化パッケージ

どのソフトウェアにアクセスできるかはわかりませんが、ツールの調査と識別に役立つツール関連のヒ​​ントをいくつか紹介します。

注: ある種の開発期間を示すために、あなたが求めているものは、おそらく開発に少なくとも 2 週間はかかるでしょう。

これが役立つことを願っています。

于 2015-08-03T06:20:39.293 に答える