検索
連載

領域最適化の実践フリーFEMソフトとExcelマクロで形状最適化(13)(3/5 ページ)

原理原則を押さえていれば、高額なソフトウェアを用意せずとも「パラメトリック最適化」「トポロジー最適化」「領域最適化」といった“形状最適化”手法を試すことができる! 本連載ではフリーのFEM(有限要素法)ソフトウェア「LISA」と「Excel」のマクロプログラムを用いた形状最適化にチャレンジする。連載第13回では、LISAとExcelのマクロプラグラムを使って、実際に領域最適化を行う。

Share
Tweet
LINE
Hatena

片持ちはり領域最適化の準備(続き:その2)

 次は、次世代の領域形状を決めるための解析ファイルを作ります。図12の手順でポアソン比を「0」にします。

ポアソン比の変更
図12 ポアソン比の変更[クリックで拡大]

 領域の境界を移動したくない節点を定義します。領域の境界を移動したくない節点の変位を拘束すれば定義できます。まず、今までに定義した境界条件を全て削除します。そして、図13のようにツリー構造の「displacement」を右クリックして、「× Delete」をクリックします。この調子で中央図の6つのアイテムを削除します。削除後、ツリー構造が図13右図のようになればOKです。

境界条件の削除
図13 境界条件の削除[クリックで拡大]

 領域の境界を移動したくない節点の定義を3種類設定します。図14左図のように左側の辺の節点について、一番下の節点を除いてX方向変位を拘束します。一番下の節点を除いたのは最終的な見栄えを良くするためで本質的なものではありません。次に、図14中央図のように上辺の節点のY方向変位を拘束します。さらに、図14右図のように右側の辺の上側2つの節点のX方向変位を拘束します。そして、メニュー「File」―「Save as...」をクリックし、ファイル名「uniform_stress_beam_TM_surface_0.liml」で保存します。

領域の境界を移動したくない節点の定義
図14 領域の境界を移動したくない節点の定義[クリックで拡大]

 先ほど作った応力解析のためのLISAファイルを読み込みます。図15のように、[開く]ボタンを押して、「開く」ウィンドウを表示します。そして、「更新日時」をクリックし、新しいファイルが上に表示されるようにしてから、ファイル名「uniform_stress_beam_TM_struct_1.liml」を選択して、[開く]ボタンを押します。

応力解析のためのLISAファイルの読み込み
図15 応力解析のためのLISAファイルの読み込み[クリックで拡大]

 応力解析を行います。図16のように[実行]ボタン(=マークのアイコン)を押して計算し、「Solver」ウィンドウが緑色になったら「×」を押してウィンドウを閉じ、[保存]ボタン(フロッピーディスクのアイコン)を押して計算結果を保存します。ツリー構造の「von Mises Stress」を押して相当応力を表示します。

応力解析の実行と結果の保存
図16 応力解析の実行と結果の保存[クリックで拡大]

 では、Excelに戻ります。シート名「力法 平等強さのはり」をアクティブにし、図17のように数値を入力します。数値の意味は以下の通りです。

  • Generation:世代|最初だけ「1」を入力します。第2世代以降は自動的にインクリメントされます
  • Symbol:名前|今回は「uniform_stress_beam_TM」です
  • Vtarget:目標体積|領域最適化後の領域面積の目標値、Vinitailが第1世代の面積なので、第1世代の面積と等しくなるように、M4セルに「=K4*1」と入力します
  • Rcollection:体積を目標面積に近づけるためのフィードバックゲイン、「15[-]」くらいでいいでしょう
  • Pratio:領域の形状変更の度合い。今回は「0.04[-]」としたので、1回の領域変動量は領域サイズの0.04倍となります。
  • σtarget:相当応力の目標値、領域全体の応力がこの値になるように領域の形状が変化します。応力の凹凸を平たん化するのが目標なので、相当応力の平均値を目標としました。よって、このセルには「=F8」と入力します

 シートの他のセルの数値の意味を図18に記します。

領域最適化のExcelシート
図17 領域最適化のExcelシート[クリックで拡大]
シートの他のセルの数値の意味
図18 シートの他のセルの数値の意味[クリックで拡大]

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る