10本完了したので、目標を20本に変えてみた。
その11本目。
Calculixとは
フリーの解析ソフト。
- ccx ソルバー
- cgx プリポスト
環境
WSL
Xming
Calculix 2.11
gmsh
gmshの機能を使ってメッシングすることがある。
imagimagick
hcpyで画像作成するとき、convertするので使う。
pip2
matplotlib
gnuplot
ノック11本目: exampleの実行 Contact/Hertz2D
データの入手
公式サイトからのリンクで行けるGithubのexample。
下記サイトのリンクから、自分のCalculixのバージョンにあったファイルを探す。
https://github.com/mkraska/CalculiX-Examples/releases
Contact
Hertz2D
平面ひずみ要素で、四角と1/4円をぶつけて接触させる。その時の応力分布をみる。
強制変位と荷重の2パターンで1/4円を移動させている。
ccx2.11では正しい結果がでない?
ccx2.11では収束しなかった。(頑張って条件をいじって結果をだしても、READMEのコンターの分布と同じにならなかった。)
ccx2.16のwindows版を使ったら、一発で通った。結果はREADMEの結果と同等のものが作れた。
READMEにあるmonitor.pyの結果と同じように収束しなかった。
このEXAMPLE全体に言えるが、初期設定では収束しないやつとかがある。
これもccxのバージョンのせいだと思っている。
内容
Hertzの接触を、FEMで求める。
球体とか円柱が、他の面等に接触した時の応力分布等を表したHertzの式というのがあるらしい。
周波数のHertz(Hz)と同じ人が考えたらしい。
まずはディレクトリの移動。
cd ~/CalculiX-Examples-2.11/CalculiX-Examples-2.11/Contact/「~」は、サンプルを回答した場所のアドレス。
サンプルの実行
cgx -b pre.fbdをすると、メッシュ、境界条件などのファイルが出力される。
これらのファイルは、.inpで読み込まれて使用する。
ccx Hertzとすれば、同じ結果が出てくる…はずだった。
収束しない
STEP1は強制変位で動かしている。
STEP2は荷重変位で動かしている。
強制変位で動かしたほうが、収束はしやすいそうな。
STEP1は収束した。
ただ、STEP1はREADMEに書いてあるようなイテレーション回数で、収束しない。
STEP2の荷重で動かしているほうは収束しないで終わる。
なんで?
ccx2.11では結果が違う。
終息したSTEP1の結果だけを見てみる。
READMEにあるような、対称な応力分布になってくれない。片側の応力が出てこない。
接触面で応力が出ているけれども、サンプル画像では、内側で応力が発生していた。
ccx2.16(windows版)を使ってみる。
READMEと同じ結果が出てくる。
きっとこれが正しい結果なのだろう。同じ結果なので載せない。
ccxのバージョンは新しいのに限る。
以下の「余計なこと」は、すべてccx2.16でやった。
いろいろやってみる。
master slaveを入れ替えてみた
下記のようにマスタースレーブをひっくり返した。
*CONTACT PAIR, INTERACTION=contact, TYPE=SURFACE TO SURFACE
Ssblk,Sscyl結果は変わらなかった。
平面応力要素でやった(デフォルトは平面ひずみ要素)
平面ひずみだから意味のある解析なのですが、あえて平面応力でやってみました。
ファイルall.mshの
*ELEMENT, TYPE=CPE8, ELSET=Eallを
*ELEMENT, TYPE=CPS8, ELSET=Eallに書き換えた。
cgx Windows版をメインで使わない理由
windowsで最新版(2.16)が使えるのに、わざわざlinux上の2.11を使う理由は、
- cgxのGUIのメニューが一部使用できない箇所があった
(常にではなく、frdのロード時(?)など限られたタイミングで起こる。)。
下記画像、(左)WSL(Xming)のcgx2.11の右クリックメニュー(右)windows版のcgx2.16の右クリックメニュー
windows版ではdatasetsが出ない。載せていないが、矢印を展開した先でも似たような現象が散見された。
だけど、
- ccxは、windows版でも可。
ccxはむしろ新しい方がいい。
https://wakelet.com/wake/2ZhcmTk9IiwPSaUmQ8ICu
https://wakelet.com/wake/MKprO-p6BF05LfsFx5Wme
https://wakelet.com/wake/D4euwcJWVGX2B6F7QDB7J
https://wakelet.com/wake/Icaae7-c0AXbzAVdjU7oN
https://wakelet.com/wake/JHrHZPZAlrGk6mvJ8HNmk
https://wakelet.com/wake/EcYFbdz_aN5Mk7RR6z_Oi
https://wakelet.com/wake/SRu4I1BZuZUMHzN-kNI7A
https://wakelet.com/wake/6o-4pNKpR9VemXo0Nn5Gh
https://wakelet.com/wake/JwdfeuT8XLKELlv8OOu-O
https://wakelet.com/wake/rpjWHN2M-5myD5ATg4AQB
https://wakelet.com/wake/_M_GEq-LGPZg-kzl6CQG2
https://wakelet.com/wake/9nYwQhYWSjLoeePhq1WFq
https://wakelet.com/wake/4vMe_8bmJ0HdO3GR1lcXy
https://wakelet.com/wake/KzvK3Axrt2YahM2eVCKVI
https://wakelet.com/wake/zzp16sdQg1rbHSR0Jmykt
https://wakelet.com/wake/_Fg2XqGohM9JsNqktytXD
https://wakelet.com/wake/I_m6qRzRBYDIYe0py5dZB
https://wakelet.com/wake/gPCSKwUYmPyKhbUtBElP1
https://wakelet.com/wake/lM7OVcxmjoG-5U5uwFAoX