Calculixとは
フリーの解析ソフト。Abaqusと書式が似ているらしい。
- ccx ソルバー
- cgx プリポスト
環境
WSL
Xming
Calculix 2.11
gmsh
gmshの機能を使ってメッシングすることがある。
imagimagick
hcpyで画像作成するとき、convertするので使う。
sudo apt install imagemagickpip2
matplotlib
ノック3本目: exampleの実行 CAD OnshapeTutorial
データの入手
公式サイトからのリンクで行けるGithubのexample。
下記サイトのリンクから、自分のCalculixのバージョンにあったファイルを探す。
https://github.com/mkraska/CalculiX-Examples/releases
WSLでLinuxのフォルダを使うというのに、windowsのデスクトップに解凍してしまった。
cd "/mnt/c/Users/yusuke/Desktop/CalculiX-Examples-2.11"でyusukeの部分を各ユーザーで移動されたし。
pythonのバージョンは2.7
pythonで実行させる場合もある。その際は、pythonのバージョンに気を付けられたし。
WSLならpython2もpython3も入ってる。
pythonもしくはpython2と打てば、python2が起動したし、
python3と打てば、python3が起動した。
.pyファイルのprintが
print ~
とスペース区切りで書いてあったら、python2。
CAD
OnshapeTutorial
ごく小さい段差がジオメトリ上にあって、オートメッシュで切ると細かいメッシュがたくさんできる。だけど、そんな所細かく切っても意味ない。そういう形状を、calculixのジオメトリ編集機能を使ってキレイに切りなおす。(自分でやったわけではない)
拘束は、足元の変位を拘束(1,2,3)。荷重は頭っぽい位置に面荷重。
gmshと連携して、STEPファイル→inpファイルにできる(inpファイルはcgxが読める)。みたいな理解。
cd ./CalculiX-Examples-2.11/CAD/OnshapeTutorial
cgx -b run.fbdrun.fbdの実行→gmshの終了ですべて終わる。run.fbdの内容は、
- gmshでノード、エレメント、荷重位置、拘束位置を出力(解析に関する命令は入っていない。)
- 出力した.inpを読んで、loadには、圧力1を設定して出力、supportと指定したところには何も指定しないでノード番号を出力
- あらかじめ用意されていた.inpに、上記ファイルが読み込まれる設定になっており、この.inpが実行される。
- 結果を読み込んで画像を保存して終わり。(要imagimagick)
.inpを作りこむことが勉強になる気がするんですけど、.inpはあらかじめ作ってある。
それどころか、run.fbdを実行すれば、何を書いてあるんだか分からなくても、絵が出てきてしまうという。
cgxでの荷重、拘束の表示の仕方
cgxでは、plot機能を使えば、fbdでLOADなどに指定したsetをplotする事で表示できる。
毎回plotしてたら、前回plotした情報が消えてしまうので、plotの次は、plusを使う。
FEMAPの様な、グラフィカルな表示は期待できない。
そもそも、荷重や拘束の設定は、.inp(もしくは.dlo)で行っているから、cgxの段階では、エクスポート前のsetに過ぎない。
このsetを表示する事で、荷重、拘束の表示とか言う事はできる。
オートメッシュにあまり興味がそそられないので、適当に飛ばす。
「後で必要になったら、.fbdを参考にすればいいや」としか思えない。
animationの機能に頼らずに、結果を動画にしてみた。うつらうつらしてるみたいになってしまったのは、基本ベクトルの何倍の係数をかけるかという設定のせいだと思う。
WSL上だと、datasetを選択すると
freeglut (cgx): Menu manipulation not allowed while menus in use.
とか表示されてウィンドウが消えてしまう。
解決方法は、freeglutのバージョンを下げればいいらしいけど、なんか知らんが下げられなかった。
おとなしくコマンドから、
ds 2 e 7
(データセット 2 のエンティティ7を表示)とかして頑張って目的のデータを探した。
https://wakelet.com/wake/mqQ7H8S3d4x99VXhahP-g
https://wakelet.com/wake/t2QEW46JhRnDlXlUqDYqf
https://wakelet.com/wake/n1jUxIdJ_3w0lXQp-R6T3
https://wakelet.com/wake/8GDXUu93c7PxA4WjkAQq4
https://wakelet.com/wake/90o5MTYr0XEFNahR4Lhmw
https://wakelet.com/wake/GDL59BZNZlBtw2gTnrY3l
https://wakelet.com/wake/2ENa1XagkScuW4LxDlGPe
https://wakelet.com/wake/PQ9QOVmiKnDefUYZebhLx
https://wakelet.com/wake/o2NPKBetxBHcNeeRBFTrq
https://wakelet.com/wake/_OP5e6072YLZSP_iICV1E
https://wakelet.com/wake/N-ywhF4ggUhnCjyO0sdO3
https://wakelet.com/wake/yaxpYJqEqNAkgB5EkO4R4
https://wakelet.com/wake/Z17zDjuiGpkSuRT_hiaMm
https://wakelet.com/wake/pawuJBH_GQKdRg5_mK7Fn
https://wakelet.com/wake/ArmM5WZZSknxWLmvJJgz4
https://wakelet.com/wake/80C_76vaJNOM2dqRBqDNb
https://wakelet.com/wake/VXkRMiMm67yl3F-_i-TAT
https://wakelet.com/wake/ffySXqwN8kgkp3TqdgAHM
https://wakelet.com/wake/qXCIvN1dzSOhhuROcbYVi