密度法によるトポロジー最適化の準備を行うフリーFEMソフトとExcelマクロで形状最適化(6)(2/6 ページ)

» 2022年03月24日 11時00分 公開

最適性規準法の続き

 図1*Bで示した「Dが1に近づくようにρiを更新」の方法を説明します。λがマイナス値であることを意識して式6を眺めてみましょう。有限要素法解析の結果、ある要素の応力が大きな値であったとします。式6の分母が大きくなり、Dを1に近づけるにはρiを大きくしなければなりません。反対に要素の応力が小さな値のときはρiを小さくしなければなりません。参考文献[1]は密度法ではなく「均質化法」なのですが、次の世代のρiを求める式があります。しかし、ρiの変化量が大き過ぎると反復計算が発散するのでρiの変化量にリミッターをかけています。ほとんどの場合、リミッターに引っ掛かりますので、リミッターの数値をρiの変化量とします。次式でρiを更新します。

式10 式10
式11 式11

 もう1つリミッターをかけます。ρiは1以上にはなれず、かつマイナス値にもなれません。次式となります。

式12 式12
式13 式13

 この辺りは「Excel」のマクロプログラムに仕込んでおらず、シートのセルに式として設定しています。任意に数値やアルゴリズムを変えられると思います。

 図1*Cで示した「λを更新」の方法を説明します。式7が成立するようなλを求めます。式7を眺めると、ρiが大きくなれば、gも大きくなります。図2左図のようになります。

 次に式5が1と等しいとして、その式を変形します(式14)。

式14 式14

 λとρiの関係は、nが2か3で、マイナスの反比例です。図2中央図のようになります。そうすると、gとλの関係は図2右図になるのでしょうか。

g、ρi、λの関係 図2 g、ρi、λの関係[クリックで拡大]

 式7、つまりg=0が目標です。図2右図から、gがマイナスのときはλを増やし、gがプラスのときはλを減らせばよいということになります。次式でλを更新します。

式15 式15
式16 式16

 前述の操作でgの符号が反転すればしめたものです。以降は図3のように、1次式で新しいλを求めて、g/Voが許容値(1%で十分です)以下になれば、λが求まったことになります。あと1つ、ρiは0.05[-]刻みで変化するので、λを変えてもgが変化しなくなることがあります。よって、gが変化しなくなったらλが求まったことにして、図1の内側の反復計算を終了します。

λの求め方 図3 λの求め方[クリックで拡大]

 図1*Dで示した「各ρiが0ないし1になったか」の判定と計算終了の判断は人間が行います。図4に最適化した例を示します。グレーの領域があります。全ての要素のρiが完全に0か1になるまで計算を続けると、大切な小骨がなくなってしまいます。最後の判断は人間で行いましょう。

最適化した例 図4 最適化した例[クリックで拡大]

Copyright © ITmedia, Inc. All Rights Reserved.