ANSYSでトポロジー最適化してみた

トポロジー最適化 シミュレーション

CAEソフトウェアANSYS studentを使ってみています。
今回は、最近流行りのトポロジー最適化をやってみました。

トポロジー最適化とは?

設計空間のどこに材料を配置すれば、より性能の高い構造が得られるか?を探査する手法です。(トポロジー最適化については、京都大学の西脇研のHPの解説が分かりやすい)

3Dプリンタの普及によって、最近は多少複雑な形状であっても(頑張れば)製造できるようになり、トポロジー最適化で生み出した形状が実際の製品に使われている例も出てきています。

といっても「トポロジー最適化やりたい!!」という意気込みは筆者には特に無く、ぼーっとworkbenchの画面を見ていたら「トポロジー最適化」という項目があったので、「え、できるの?ほんと?」と思い、じってみたら案外簡単にできた、というお話です。

DesignModeler: cutting a lattice for cooling tower legs

最初は、勘で適当にポチポチ設定していたのですが、探してみるとチュートリアルもあったので参考にしました。トポロジー最適化の設定のデモは55分11秒あたりから。この動画自体が結構面白いです。

静的構造解析

まずは、普通に静的構造解析を実施します。

(計算の設定は前回の記事も参照ください)

材料はデフォルトの構造用鋼。

メッシュもデフォルトのサイズで生成します。

底面を固定して、上面から50Nの力で押さえつける計算をします。

最大ミーゼス応力は38MPaと算出されました。



トポロジー最適化の設定

ここからが本題で、トポロジー最適化の設定をします。今回は、なるべく軽量、かつ発生する応力が小さい(強度が高い)形状をトポロジー最適化で探査します。

ホーム > 解析 > トポロジー最適化

を選択すると、トポロジー最適化の項目が追加されます。

目標を設定します。

トポロジー最適化(B5)を右クリックし、データの転送元 から、先ほど作った応力計算を選択します。

これで、「目標」に「コンプライアンス」という応答タイプが追加されます。このコンプライアンスは「応力」に当たるそうで、これを最小化するように設計します。

「応答拘束」に「質量」を選択し、保持する割合に90%を選択します。これで「なるべく軽くして!でも質量90%は残してね!」という条件設定となります。

上記設定で「解析を実行」としてみたのですが、

最適化ソルバーを正常に実行できませんでした。インストールを確認してください。

というエラーになります。

ANSYS Student Communityで調べたところ、ファイルを保存したあと最適化計算を実施すると、最適化モジュールが使えないというエラーが表示されるようです。なんじゃそのエラーは。

Topology Optimization error after saving the project より


If the project was started and not saved, I got the optimized shape. However, after saving the project the optmization module was not working at all. Somehow this seemed to me as a problem of the files being saved rather than the problem with installation or specific modules (anyway, “static structural” module was working even after saving and loading the project).

仕方がないので、最初から設定しなおして、ファイルを保存せずに、計算を実行。計算時間は5分程度で、19回の反復計算ののち、解が得られました。

トポロジー最適化でリンクされた回s系に必要なファイルが不足しています。続行する前に[結果の選択]で選択された解析を再計算して下さい。

別のエラーも表示されました。これも、Ansys forumで検索をかけるとヒットしました。

Can you clean the topology section (right-click and then click on Clear Generated Data) but not the static structural. This should help.

thank you for your reply, but it was a little more difficult. The “RSM Output Files Download” needs to be set to “Hide” to fix this problem.

https://forum.ansys.com/discussion/comment/129131#Comment_129131

解決策は2通りのようで、1つは「トポロジー最適化(B5)」を右クリックして「結果をクリーンアップ」をします。

これは本当に意味があるのか不明ですが、「オプション」から、RSM出力ファイルのダウンロードを非表示にすると、エラーが解決するようです。

実際、上記2つを試したところ解決しました。

最適化の結果

結果がこちら。このような構造であれば、応力を最小としつつ、質量を削減できるようです。

なんか木みたいですね。

こんな感じで、トポロジー最適化は全く未経験の私ですら、簡単に計算できました。

学術研究であればANSYS studentは使えると思うので、授業や研究で面白いものを作りたい!と考えている方は、使ってみると良いのではないでしょうか。

ではさようなら。



と、ここまでが、うまくいった部分です。
このあと、最適化された形状を読み込んで応力計算をして、発生する応力はどの程度なのか?を設計検証しようとして、挫折しました。やったことをメモ的に残しておきます。

最適化した構造をSTLで出力する

本来、以下の手順でSTL出力も実施できるはずですが、残念ながらうまくいきませんでした。

最適化されたモデルの形状で応力解析するためにWorkbenchのプロジェクト概念図に戻り、

・「設計検証システムに転送」

・「結果の更新」

↑あたらしくできた静的構造解析にて、「SpaceClaim」を「リフレッシュ」します。

リフレッシュしたら、ジオメトリからSpaceClaimを起動して、STLをソリッドに変換します。

出てきたソリッドには、まだたくさんの面が残っており(曲線を再現するのに必要な面ですが)、workbenchの解析にうまく取り込むことができませんでした。フェイスの結合など様々試してみたのですが、どうあがいても

アセンブリのインポートに失敗しました」というエラーが表示されます。ここで諦めました。

STL出力する方法(これは簡単)

得られたトポロジー密度結果を右クリックし「挿入」「スムーズ」を選択します。

すると、スムーズしたSTLを出力できるようになります。

移動限界のデフォルトは0、大きくするほど滑らかな面になります。

今回は2を設定します。

スムーズを右クリックして「評価」を押下します。

「スムーズの詳細」のファイル名に記載されているディレクトリに、stlファイルが出力されます。

WindowsのPrint 3Dアプリで表示するとこのような感じ。

最適化した構造をSTL出力しソリッドに変換する

粘り強くいろいろ試していたろころ、最適化してできた形状をSTL出力し、ソリッドに変換する方法がわかりましたので追記します。

トポロジー最適化で得られた「トポロジー密度」を右クリックして、STLでエクスポートします。

このSTLをSpaceClaimで形状を開き、「ファセット」タブの「ファセットをクリックする」→「自動修正」とし、ギャップサイズを5mm、☑フィーチャを保持、角度閾値を35°に設定して「シュリンクラップ」を実施すると、表面が滑らかになります。

ツリーからSTL面(ファセット)を選択して、「ソリッドに変換」→「面をマージ」とすると、ソリッドに変換できます。

簡単な構造であれば、上記手順でソリッド化できますが、ANSYS Studentはファイル出力の面の数に上限があるようで、それ以下まで面を減らさないと保存できないようです。上限は面の数で300。トポロジー最適化で得られるような複雑な形状は、面を1000近く使って再現するようなものばかりなので、この機能での出力は限定的になりそうです。

workbenchにはSTLで取り込んで、workbench側からSolidに変換できないかトライしましたがダメでした。

左がトポロジー最適化で得られた解だとすると、右が200面でSTLにしたもの。もとの形状特徴など跡形もなく消え去ってます。他にSTLからソリッドへの変換は、SCDM以外にも使えるツールがあると思うので調べてみます。

残課題は、STLデータの面を修正してSolidに変換することです。おそらく他のツールを使えばできると思うので、やってみます。斬課題がクリアできたら、次は実際の課題に使ってみたいと思います。いつになるかわかりませんが…

Images used courtesy of ANSYS, Inc.

コメント

  1. 山口 竜世 より:

    モード解析でのトポロジー最適化をやったのですが、最適化後を周波数応答解析をしたいと思っています。ですが、スペースクライムでどうやってスムーズにするのですか?

    • 得られたトポロジー密度結果を右クリックし「挿入」「スムーズ」
      の同じ手順でできそうですが、いかがでしょうか。
      モード解析でのトポロジー最適は試したことがないので、あまり知見無くすみません。

タイトルとURLをコピーしました