原理原則を押さえていれば、高額なソフトウェアを用意せずとも「パラメトリック最適化」「トポロジー最適化」「領域最適化」といった“形状最適化”手法を試すことができる! 本連載ではフリーのFEM(有限要素法)ソフトウェア「LISA」と「Excel」のマクロプログラムを用いた形状最適化にチャレンジする。連載第10回では、チェッカーフラグ対策付きトポロジー最適化を実践するとともに、対策のないトポロジー最適化結果との比較を行う。
今回は、チェッカーフラグ対策付きトポロジー最適化を実践します。そして、チェッカーフラグ対策のないトポロジー最適化結果と比較してみましょう。
最初に、チェッカーフラグの度合いと白黒はっきりしない度合いの数値(次式第2項、重力関数)の目標値を決めます。これは、勝手に決めてよい数字で、この値を変えると最適化形状も変わります。取りあえず、0.82[-]としましょう。目標を達成したら、制約関数h(ρ1,ρ2,ρ3……ρne)はゼロになります。
マクロプログラム付き「Excel」ファイル(TopoG_optimization.xlsm)と「LISA」ファイルをZIP形式で圧縮しました。こちらのリンクをクリックしてダウンロードしてください。ファイル名は「FreeFEM_ExcelMacro_10.zip」です(※注1)。
※注1:「FreeFEM_ExcelMacro_10.zip」の中には、Excelのマクロ機能を使用したファイル(TopoG_optimization.xlsm)が含まれます。利用にはマクロを有効にする必要がありますので、セキュリティの変更などは自己責任で行ってください。
まずは「片持ちはり」です。チェッカーフラグ対策付きトポロジー最適化では、注目している要素の上下左右の要素の密度を把握する必要があります。この結果、要素分割図は“碁盤の目”のようになります。マクロプログラムで有限要素法モデルが入ったLISAファイルを生成することにしました。
Excelファイルの「TopoG beam1」シートを開き、図1のように数値を入力してください。また、A4セルを「1」に書き換えることを忘れないでください。ヤング率E[Pa]、ポアソン比ν[-]、厚さThickness[m]は、LISAではなく、ここで設定します。入力した値がLISAファイルに反映されます。Gtarget[-]は0.82[-]とします。図2に各セルの意味を示します。
次に[Generate template]ボタンを押して、図3に示すような数値を入力してください。Lower left pointは解析領域左下の座標、Upper right pointは右上の座標です。Element sizeは表示された値をそのまま入力すると、節点数が1300に近くなります。そうすると、LISAファイルがC:\Tempフォルダに生成されます。LISAファイルの名前の意味は図4の通りです。
LISAを起動し、先ほど生成したLISAファイル(C:\Temp\beam1_optiG_1.liml)を開いてください。図5に示すように拘束条件と荷重条件を設定します。ツリー構造の「Names Selections」に「Unnamed <** nodes>」が3つあること、そして「Loads&Constraints」に「displacement」が2つ、「force」が1つあって、「displacement」が上にあることを確認してください。そうでなければマクロプログラムがエラーになってしまいます。荷重値はY方向−100[N]でよいでしょう。荷重を作用させる節点は、上下方向中央にしてください。つまり、右端の節点が奇数個であれば荷重を設定する節点は1個、偶数個では2個になります。
LISAの[=]ボタン(イコールのアイコン)を押して、解析を実行してください。ツリー構造の「von Mises Stress」をクリックして相当応力を確認しておいてください。そして、[Save]ボタン(フロッピーディスクのアイコン)を押すか、メニューから「File」−「Save」を選択して、解析結果を保存してください。
Excelに戻ります。[Read liml file]ボタンを押して5秒くらい待ってから、[λ search]ボタンをクリックしてください。ρiの濃淡の図が表示されます。ρiの濃淡を確認したら[Write liml file]ボタンを押し、第2世代のLISAファイルを生成して、LISAで解析してください。この作業を“24回”繰り返してください。
Copyright © ITmedia, Inc. All Rights Reserved.