Calculixとは
フリーの解析ソフト。
- ccx ソルバー
- cgx プリポスト
ノック5本目: cgxでモデル作成:梁
梁モデルを、cgxだけでモデル化する。コマンドは手打ちする。
今回はコマンドを頻繁に使う。
(重要)必ず、マウスポインターはGUIの中に入れてから、コマンド入力する。
そうでない場合、コマンドラインからの入力を受け付けてくれない。
テキストエディタにコマンドを書いておいて、
cgx -b ファイル名をすれば、同じ内容になる。
Calculix(だけで行う解析)は、
cgxによるモデル作成
テキストエディタで.inpの作成
の二つが重要になってくると思ったので、やる。
点を打って、z10の所までスイープ→線になる。
pnt ! 0 0 0
seta center p all
swep center py tra 0 10 0この状態では、何も表示されないので、
点を表示したければ
plot p all線を表示したければ
plot l all線の名前も表示したければ、
plot la all線の再定義
line L001 D001 D002 20上記の代わりに、前述したswepの所で、
swep center py tra 0 10 0 20
と打っても同じ要素ができた。
要素タイプの選択
elty all be2CalculiX GraphiX, Version 2.16のUser Manualに載っている要素を表にしてみた。
| 梁beam | be2 | be2r | be2f | be2d | be3 | be3r | be3f | |||||||||
| 平面三角triangle | tr3 | tr3u | tr3e | tr3s | tr3c | tr6 | tr6u | tr6e | tr6s | tr6c | ||||||
| 平面四角quad | qu4 | qu4e | qu4s | qu4c | qu4r | qu4er | qu4sr | qu4cr | qu8 | qu8e | qu8s | qu8c | qu8r | qu8er | qu8sr | qu8cr |
| 八面体hexa | he8 | he8f | he8i | he8r | he20 | he20r | ||||||||||
| 三角柱penta | pe6 | pe6f | pe15 | pe15r | ||||||||||||
| 四面体tetra | te4 | te4f | te10 | te10m | te10t |
c: axisymmetric軸対象
e: plain strain平面ひずみ
s: plain stress平面応力
u: unstructured mesh訳がすぐに出てこなかった。(これ?),
r: reduced integration低減積分
i: incompatible modes
f: fluid element for ccx,
t: initial temperatures are interpolated linearly within the tet element (ccx:C3D10T)).
この状態では、まだエレメントは作成されていない。
mesh allと書いて初めてエレメントができる。
ノード、エレメントの表示
エレメントができたので、ノードもできたはず。
いちいちコマンドを入力しなければ、表示されない。
plotコマンドで表示しようとすると、以前のplot結果が消えてしまうため、plusコマンドを使う。
plus n all
plus e all出力
.inpに読ませるメッシュファイル(all.mshファイル)の出力のやり方は、
send all abqこれで、all.mshが、カレントフォルダに出力される。
all.mshには下記が書かれている。
- ノード
- ノードのセット名
- ノード座標
- エレメント
- エレメントのエレメントタイプ
- エレメントセット名
- エレメントが使用しているノード番号
*NODE, NSET=Nall
1,0.000000000000e+00,0.000000000000e+00,0.000000000000e+00
2,0.000000000000e+00,0.000000000000e+00,1.000000000000e+01
3,0.000000000000e+00,0.000000000000e+00,2.000000000000e+01
4,0.000000000000e+00,0.000000000000e+00,3.000000000000e+01
5,0.000000000000e+00,0.000000000000e+00,4.000000000000e+01
6,0.000000000000e+00,0.000000000000e+00,5.000000000000e+01
7,0.000000000000e+00,0.000000000000e+00,6.000000000000e+01
8,0.000000000000e+00,0.000000000000e+00,7.000000000000e+01
9,0.000000000000e+00,0.000000000000e+00,8.000000000000e+01
10,0.000000000000e+00,0.000000000000e+00,9.000000000000e+01
11,0.000000000000e+00,0.000000000000e+00,1.000000000000e+02
*ELEMENT, TYPE=B31, ELSET=Eall
1, 1, 2
2, 2, 3
3, 3, 4
4, 4, 5
5, 5, 6
6, 6, 7
7, 7, 8
8, 8, 9
9, 9, 10
10, 10, 11全部まとめると下記のようになった。
pnt ! 0 0 0
seta center p all
swep center py tra 0 0 10 10
##line L001 D001 D002 10
elty all be2
mesh all
send all abqinpファイルの作成。
メッシュができたので、このまま.inpの編集をする。
全部手打ち。
サンプルファイルのコピペもありだと思う。
先ほどのcgx作業で完成したall.mshを読み込むために、下記を記入。
*INCLUDE, INPUT=all.mshカレントフォルダになければ、アドレスを入力するしかない。
境界条件は下記で、「ノード1を1から6まで完全固定」になると思う。
*BOUNDARY1 ,1, 6材質は、名前がSTEELで、ヤング率210000、ポアソン比0.3。
*MATERIAL,NAME=STEEL*ELASTIC210000,0.3梁要素の断面特性は、断面を適用する要素のセット名をEall(all.mshファイル内で、定義されているエレメントのセット名)、材料は上記で設定したSTEEL、断面形状は矩形。
*BEAM SECTION,ELSET=Eall,MATERIAL=STEEL,SECTION=Rect15,151, 0, 0解析条件は、
*stepと
*end stepの間に書く。
静解析の場合、書くことは
- 静解析の指定
荷重
出力要求(ノード)
- 出力要求(エレメント)
静解析の指定は下記。
*static集中荷重は下記で、「ノード11を、1方向(X方向)へ、1000の荷重を付加」
*CLOAD11, 1, 1000.0出力ファイルへの出力要求は、ノードの結果の場合下記で、「U (変位)」
*NODE FILEU出力ファイルへの出力要求は、エレメントの結果の場合下記で、「S (応力)」
*el file, output=1DSまとめるとこうなった。
*INCLUDE, INPUT=all.msh
*BOUNDARY
1 ,1,6
*MATERIAL,NAME=STEEL
*ELASTIC
210000,0.3
*BEAM SECTION,ELSET=Eall,MATERIAL=STEEL,SECTION=Rect
15,15
1., 0, 0
*step
*static
*CLOAD
11,1,1000.0
*node file
U
*el file, output=1D
S
*end step上記をsolve.inpと名前を付けたら、下記コマンドで解析実行。
ccx solvejob finishedと出たら、
cgx -read solv.frdマウスポインターをGUIの中に入れてから、
全変位を見たければ、下記コマンド入力する。
ds 1 e 4もしくは、ミーゼス応力を見たければ
ds 2 e 7う〜ん不便。cgxでのメッシュ作成、ccx用の.inpファイル作成、全部不便。
GUIって便利だなと改めて思った。