20200207

Calculix 10本ノック: 3本目: exampleの実行 CAD OnshapeTutorial

Calculixとは

フリーの解析ソフト。Abaqusと書式が似ているらしい。

  • ccx ソルバー
  • cgx プリポスト

環境

  • WSL

  • Xming

  • Calculix 2.11

  • gmsh

    gmshの機能を使ってメッシングすることがある。

  • imagimagick

    hcpyで画像作成するとき、convertするので使う。

    sudo apt install imagemagick
  • pip2

  • 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の部分を各ユーザーで移動されたし。

デスクトップにcalculixサンプルのフォルダを置く.png

pythonのバージョンは2.7

pythonで実行させる場合もある。その際は、pythonのバージョンに気を付けられたし。

WSLならpython2もpython3も入ってる。
pythonもしくはpython2と打てば、python2が起動したし、
python3と打てば、python3が起動した。

.pyファイルのprintが

print ~

とスペース区切りで書いてあったら、python2。

CAD

OnshapeTutorial

ごく小さい段差がジオメトリ上にあって、オートメッシュで切ると細かいメッシュがたくさんできる。だけど、そんな所細かく切っても意味ない。そういう形状を、calculixのジオメトリ編集機能を使ってキレイに切りなおす。(自分でやったわけではない)

拘束は、足元の変位を拘束(1,2,3)。荷重は頭っぽい位置に面荷重。

hcpy_4.png

hcpy_5.png

gmshと連携して、STEPファイル→inpファイルにできる(inpファイルはcgxが読める)。みたいな理解。

cd ./CalculiX-Examples-2.11/CAD/OnshapeTutorial
cgx -b run.fbd

run.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の機能に頼らずに、結果を動画にしてみた。うつらうつらしてるみたいになってしまったのは、基本ベクトルの何倍の係数をかけるかという設定のせいだと思う。

新規.gif



WSL上だと、datasetを選択すると

freeglut (cgx): Menu manipulation not allowed while menus in use.

とか表示されてウィンドウが消えてしまう。
解決方法は、freeglutのバージョンを下げればいいらしいけど、なんか知らんが下げられなかった。

おとなしくコマンドから、

ds 2 e 7

(データセット 2 のエンティティ7を表示)とかして頑張って目的のデータを探した。

posted by yuchan at 00:00 | Comment(0) | Calculix
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: