Calculixとは
フリーの解析ソフト。
- ccx ソルバー
- cgx プリポスト
環境
WSL
Xming
Calculix 2.11
gmsh
imagimagick
pip2
matplotlib
データの入手
公式サイトからのリンクで行けるGithubにあるCalculixのexample。
下記サイトのリンクから、自分のCalculixのバージョンにあったファイルを探す。
https://github.com/mkraska/CalculiX-Examples/releases
ノック9本目: exampleの実行 Linear/
Mesh1
アルミ製皿の固有値解析。
ポストのshapes.fblを使うと、複数の固有値のアニメーションを一気に作れる。
要素はIncompatible mode eight-node brick element (C3D8I)らしい。
ディレクトリの移動
cd ~/CalculiX-Examples-2.11/CalculiX-Examples-2.11/Linear/Mesh1「~」は、サンプルを解凍した場所のアドレス。
実行
cgx -b pre.fbl
ccx modal
cgx -b shapes.fblpre.fblの内容
手打ちで作ってみたら、途中、GUIからframeを使わないと、全体が見えなくなった。
下記で円弧が出現してた。作成途中でできたD002、D003を通る、中心点D001の円弧の命令?( 14)で書いたline。
line ! D002 D003 D001 141/4を作って、コピーで1/1にする。コピーのコマンドは下記。
最後のxは、yz面に対してミラーコピーの意味。yだったらx-z面
copy all new mir x
copy all new mir yすべてコピーなので、不要な重複が出る。マージで消す。
マージは下記。
merg p all 0.001
merg l all 0.001
merg s all 0.001all.mshの内容
先ほどのpre.fblの結果、all.mshが出力される。
all.mshには、節点座標とエレメントが使用する節点の情報が書いてある。
エレメントはIncompatible mode eight-node brick element (C3D8I)を使っていた。
modal.inpの内容
メッシュを読んでエレメントセットを用意して、
マテリアルを指定して、
上記マテリアルとエレメントセットをプロパティに設定して、
下記で、固有値計算になる。
*STEP*
frequency
〜省略〜
*END STEPこのmodal.inpが、ccxの解析で使う入力ファイルになる。
ccxで解析された結果は、modal.frdとmodal.datに出力される。
プロパティ設定の下の1は、3次元要素なので要らない気がする。あっても動くが。
shapes.fbl
出力した12個の固有値のアニメーションを自動で作るcgxスクリプト。
はじめに、wihleで使用する変数をvaluで用意している。
次に、readでmodal.frdを読み込んでいる。
次に、rotで角度を整えている。
最後に、whileで、すべてのデータセットのアニメーションを作成していた。
Whileについては以前やったので割愛。whileはendwhileで終わるが、endwhileがテキストエディタの最終行に来たらエラーで止まるのは要注意。
cgxで最短でアニメを描く方法
多分、gifアニメは3行で出力できる。
アニメーションは、moviでフレームを設定したら、dsのaオプションで出力される。
多分imagimagickか何かが必要になると思う。出力されるファイルは、リピートされないgifアニメ。
read modal.frd new
movi frames 30
ds 1 a