FreeCAD FEM ワークベンチ、その後

約1年半前の記事では、パンテオン神殿の構造解析問題が、5年半前の記事に比べて随分楽チンに出来るようになったと紹介しました。ただその時までのメッシュは1次テトラ要素だったのが、今回は2次要素でも出来るようになったというレポートです。

フルオートの自動メッシュは随分大胆な粗密配分をしてくれて、メッシュ数が大幅に低減できています。その為、計算時間も数分というオーダーで終わってくれます。また今回は自重解析も可能になっています。

但しここで使用しているFreeCADは正式公開版(v0.16、DEXCS2017 for OpenFOAMに搭載されているもの)でなく、日々更新されているDaily版(0.17-12549)です。

1年半前と比べてFreeCADのヴァージョンが異なっているのは当然として、さらに大きく異なっているのはメッシャーです。従来はNetgenが標準メッシュツールとして採用されていましたが、最近はGmshしか使えないようになっています(Netgenを起動するボタンはありますが、下記ダイヤログにて使用できない)。

しかもGmshのヴァージョンにも依存して挙動が異なるので注意が必要です。

DEXCS2017 for OpenFOAM のベースOSはLinuxMint18(ubuntu16.04相当)なので、Gmshは標準(apt-get とか、synapticパッケージマネージャで)インストール可能ですが、これでインストールされるのは v-2.10.1です。これを使うのであれば、上述の結果となって、ある意味問題はないのですが、、、

FreeCAD⇒Gmshでメッシュ作成する場合、ボタンを押すと、下図のようなダイヤログが現れます。

Applyボタンを押せば、メッシュ作成が始まって、完成したらOKボタンを押すだけという、実用面では何とも簡単で有り難い作りになっています。これで、大抵のものはメッシュが切れてしまえそうです。場合によっては、メッシュの最大・最小サイズを規定すれば、それなりに作ってくれる。

このメッシュは1次要素なのか2次要素なのか?

別途調べた所、確かに2次要素であったので、実用面では問題ないかもしれないが、教育面ではせめて1次要素と2次要素での違いくらいは見れるようにしておきたい。 しかし、それだけの事が出来ないのを何としたものか。

Gmshを単独で使用してメッシュ作成すれば、1次・2次要素だけでなく、3次要素も出来る。しかも少し前にツイッターにて紹介したチュートリアル

で見たように、工夫すれば六面体要素も作成できる事が判ったのですが、残念ながらGmsh-2.10.1で作成したメッシュをFreeCADに戻すのに(メッシュ変換ツールを駆使すれば可能性はあるとは思うが)簡単な方法がないことが判明。

Gmshの進化点と問題

件のチュートリアルで使用しているGmshは最新のもの(Gmsh-3.0.5)のようで、こちらを使えばちゃんとunvファイルにエクスポートが出来て、そのままFreeCADにインポートし、解析(Calcuilixでの計算)が出来る事も判った。

Gmsh最新版は、GmshのHPからダウンロードできて、linux版を解凍すれば、DEXCS2017ではそのまま問題なく動いてくれる。

但し、こちらを使うと、今度はこのPanteon神殿の問題でFreeCADから起動した時のデフォルト設定ではメッシュ作成エラーが生じてしまうという新たな問題が発生。

しかしGmsh単独で起動して、メッシュ作成時のオプションを以下のよう(デフォルトでは①にチェックマークが付いているが、これを外すか、②にチェックマークを付ける)に変更すればエラーのないメッシュを作成できる事までは確認できたので、これなら教育的利用面でも使えそうな感触が出てきました。

Gmsh-2.10.1と比べて、メッシュの違いは明白で、応じて計算結果も異なっております。

残された課題

本パンテオンの例では無理としても、二次元メッシュを押し出す方法であれば、件のチュートリアルで判明した方法で六面体メッシュを作成しインポートできるのですが、現時点で最大の問題は、六面体の高次要素(C3D20)の場合、Caliculix用計算データに変換する際に1次要素としてしか変換出来ていない点です。

FEM Callculixのページによれば、そもそもまだ対応出来ていないようにも読み取れるのですが、FEM Mesh のページによれば対応出来ているようにも読み取れる。いずれにせよ、出来ていない原因と対策をFreeCAD FEM のフォーラム記事を読みながら調査中です。ご存知の方あればお知らせ下さい。

Share

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください