先の記事にて、表題の挙動が怪しいと記しましたが、その後の調査で依然不明点はいくつかあるものの、ある程度使えそうと判断するに至ったので、新たに判明した点と併せて、ここにまとめておきます。
計算例
とりあえず、このくらいの計算は、ちゃちゃっと出来そうです。
同じ題材(パンテオン神殿)を使って、Salome-MecaとAdventureを比較した約4年前の記事がありましたが、あれらに比べて遜色ないというか、GUI操作は格段に楽チンです。いくつか課題もありますけどね・・・
Verの問題
このFEMワークベンチは、まだまだ開発途上のようです。件の書籍では、現時点の正式版(Ver-0.15)をベースの記事でしたが、簡単なモデルならともかく、上記例題のレベルになると、簡単に昇天してしまいます。⇒Pre-release版の使用を強く推奨します。本記事で使用したヴァージョンは以下の通りです。
Windows版、Linux-Mint版ともに 0.16-6420 (2016/2/12)
Mac版については検証していません(出来ません)ので悪しからず。
Linuxにおける問題
Linux版は、拙作のDEXCS2015 for OpenFOAM(R)の仮想マシンにて検証していますが、上記ヴァージョンの問題以前に、Calculixを自前でインストールする必要がある事が判明。当初、先達の経験談を聞いたり、自分でもCalculixのインストールガイドを読んで・・・諦めかけていたのですが、FreeCADのFEM Install というページがあって、Ubuntu系であればパッケージインストールも出来る事が判って即採用⇒OKでした。
コマンド端末にて、
sudo apt-get update
sudo apt-get install ccx
sudo apt-get install freecad
と入力すれば一発OKなんですが、あくまでコマンド入力は駄目!という人向け、GUI(パッケージマネージャ)を使ってやる方法は、こちらを参照。
また、DEXCS2014 (ubuntu 14.04 LTS)をお使いの場合には、
sudo add-apt-repository ppa:freecad-maintainers/freecad-daily
と、レポジトリを追加する必要があります。
使い物になる!と思った点
CAE教育を主用途として開発し、拙が共著「はじめてのオープンCAE」に同梱の「DEXCS2010 for Adventure」がありまして、本格的なCAE(弾性解析だけですが・・・)を簡単に使えるという意味で、これまでこれを超えるものは存在しないと自負しておりましたが、本ツールを使えばもっと簡単に出来そうです。特に優れていると感じた箇所は2点。
- 境界条件設定が楽チン
- 固有値解析も出来る
特に拘束面を指定する操作は、CADモデルを直接対象として、Faceレベルで区分けが出来てさえいれば、ほとんどストレスなく操作できます。強いて言えば、さすがに広い範囲の面を指定すると、負荷になる(待ち時間が長くなる)ようなので、複数面指定の際には、広い大きな面は一番最後に指定する事くらいでしょうか。
また、固有値の計算結果例を以下に掲載しておきます。
ざっくりとした操作手順
まずは形状データ(入手先はこちら)のインポート。
ワークベンチを切り換えます
モデル②を選択して「解析ケース作成」ボタン③を押します
デフォルトのままでもメッシュ作成は可能ですが、本例の場合は、①2次要素のチェックマークを外し、②をデフォルトの「中程度」から「細かい」レベルに変更しました(理由は後述)。
約5分ほど待って、メッシュ完成です。
問題なければ「OK」ボタンを押します。
次に、「拘束面作成」ボタンを押して拘束面を設定します。
3D画面上でマウスを移動すると、選択候補面がベージュ色に変わるので、固定したい拘束面が選択できたらクリック。⇒選択済の部分は赤いピンのようなマークが付与されます。場所を変えて、続いてクリックしていくだけで複数箇所を設定できます。
全部選択できたら、「OK」ボタンを押して完了。この場合は、パンテオン神殿の接地面をすべて固定拘束しています。
続いて、「荷重設定ボタン」を押して、設定メニューを起動します。
拘束の場合の時と同様ですが、複数面に設定したい場合は、その都度「参照を追加」ボタン①を押す必要があります。また荷重方向は、「方向」ボタン③を押してから、3D画面上で方向に相応するエッジを選択します。
設定が終わったら、「OK」ボタン④を押して完了。
最後に、「材質設定」ボタンを押して、材料定数の設定メニューを起動します。
「素材」のプルダウンメニューにて・・・
下の図はLinux版の場合。Windows版では、こんなに多くない。
下図には直接見えていませんが、縦スクロールバーにて、最下部にヤング率、ポアソン比、材料密度の具体的な値を確認でき、直接変更も可能です。⇒問題なければ「OK」ボタンを押す。
以上で、解析条件が全て整ったので、「計算実行」ボタンを押します。
まずは「Write .inp file」のボタンを押して、Calculix計算用の入力ファイルを作成します。
入力ファイルが出来上がると、「Edit .inp file」「Calcuilx を実行」ボタンが使えるようになります。
「Calcuilx を実行」ボタンを押した後、この問題では約1分後、計算終了で、下記のようなメッセージが出力されます。
「Close」ボタンを押す。
最後に、「結果表示」ボタンを押して、計算結果を可視化します。
表示したい変数(変位または応力)を選択するだけです。
FEMツールバー
FreeCADのヴァージョンアップに伴って、FEMツールバーも大きく変わりました。
- Ver-0.15
- Ver-0.16
追加されたボタンは、いくつかありますが、
あたりは、すぐにでも使えそうなボタン。但し、強制変位指定は少し怪しい。
その他、
- ビーム要素設定
- シェル要素設定
や、また、従前からの謎のツールボタン
- ベアリング拘束
- ギア拘束
- プーリー拘束
などあって、どうやって使うのか・・・今後の調査がお楽しみ・・・です。
とは言え、
課題もいくつか
ありそうなので、以下に記しておきます。
-
計算結果の再読み込みは出来るのか?
計算の終わったモデルをファイル保存して、FreeCADを終了。FreeCADを再立ちあげして上記モデルを読み込むと・・・メッシュや拘束条件、結果はモデルツリー上に残っているが、FEMツールバーが有効にならず、結果を表示出来ない?!
MexhanicalAnalysisのタグを選択してマウス右クリックすると・・・
Activate analysis がありました! ⇒ これにて結果表示がOKとなります。
-
メッシュ作成ダイヤログの疑問
メッシュ作成ダイヤログはデフォルトで、
通常は、上部の3項目(最大サイズの指定、2次精度のチェック有無、細かさ指定)で事足りる。ただNetgenを使った経験上、細かさの程度に応じて、見え消しになっている「増加率」や「・・・セグメント数」が変わったという記憶なんだが、これらの数字が、細かさの程度を変更しても変化しない。メッシュそのものは確かに変わっているので、この数字が連動していないということのようだ。
「細かさ」をユーザー定義にすれば、これらの数字を直接変更できるので、問題があるということではないのだが・・・
-
メッシュ作成の成功/不成功問題
ここに取り上げたパンテオンの問題では、メッシュパラメタによっては、メッシュが出来なくて先へ進めない場合もあれば、メッシュは出来たものの、いざ計算実行するとエラーで止まるという状況もあった。問題は後者で、エラーメッセージは以下のようなもの。
*ERROR in e_c3d: nonpositive jacobian determinant in element 132183
これって、メッシュを作成した時点で検出できないのかしらん?・・・と思ってはみたものの、根っ子は深そうで、FreeCADのフォーラムでも何かと話題になっているようです。⇒解決策があるのかないのか?・・・自分の英語力では理解不能でした。
-
拘束や荷重条件の表示問題
拘束面には赤い画鋲のようなマーク、荷重面には赤い矢印マークが表示されるが、そのサイズが解析モデルの大きさに対して、なんともアンバランス。
解析モデルとして角柱の片持ち梁を想定、角柱のサイズを変えたらどうなるかを比較表示してみた。
角柱の長さとして、上から順に10,100,1000 mmと変えてみた。
拘束や荷重マークのサイズが一定の大きさになっているわけではないようだが・・・お粗末ですね。
もっともこれらは、Ver-0.15の場合。最新版(Ver-0.16)ではもう少し改善されて、
という状況。3つのサイズの順番はVer-0.15で比較したのと同じ。
なんとか、許容レベル・・・かな?
パッケージマネージャの使い方
Synapticパッケージマネージャを起動します。
①再読み込みしてから、「ccx」にて②クイック検索し、表示されたccxを③選択、マウスボタンを右クリックで、④インストール指定を選択。
関連パッケージも併せて追加
「適用」ボタンを押す
ccxが緑色になってくれれば、めでたくインストール完了。
また、DEXCS2015 for OpenFOAM(R)に搭載したFreeCADもそのままではヴァージョンが古くて使い物になりません。これもパッケージの最新版を再インストールが可能でした。
何故か、「再インストール指定」のメニューは有効になってくれなかったので、まずは「削除指定」です。
削除出来たら、今度は「インストール指定」
FreeCADの起動はこれまで通り
ヴァージョンの確認
このサイトで勉強させていただいています。FEM初学者の建築設計者(意匠)です。パンテオンは無事解析できましたが、設計した耐震シェルターで解析しようとするとメッシュ割で下記のようなワーニングがでて、
Warning : Surface mesh: worst distortion = -1.09168 (avg = 0.977133, 8 elements with jac.
計算をさせるとエラーメッセージはたくさん出るものの一応終了までたどり着きますが、結果が表示されません。
前略
*ERROR in e_c3d: nonpositive jacobian
determinant in element 29539
*ERROR in e_c3d: nonpositive jacobian
determinant in element 29539
*ERROR in e_c3d: nonpositive jacobian
determinant in element 29541
*ERROR in e_c3d: nonpositive jacobian
determinant in element 29541
*ERROR in e_c3d: nonpositive jacobian
determinant in element 29541
*ERROR in e_c3d: nonpositive jacobian
determinant in element 29541
*ERROR in e_c3d: nonpositive jacobian
determinant in element 31324
*ERROR in e_c3d: nonpositive jacobian
determinant in element 31324
*ERROR in e_c3d: nonpositive jacobian
determinant in element 31392
*ERROR in e_c3d: nonpositive jacobian
determinant in element 31392
Factoring the system of equations using the symmetric spooles solver
Using up to 1 cpu(s) for spooles.
15.0: CalculiX done!
15.2: Loading result sets…
なんとかお知恵を貸していただきたくコメントいたします。
ちなみにVer0.17でメッシュはGmshを使いました。パラメーターはいろいろ試していますが、同じです。ちなみにNのほうだと30分待っても計算が終わりません。
Ver0.18も試してみましたが、素材設定ウインドウが開きません。
お忙しいと存じますが、よろしくお願いいたします。
あるいはフォーラムのほうがよろしいでしょうか。