20200209

Calculix 10本ノック: 5本目: cgxを使ってモデル化→解析

Calculixとは

フリーの解析ソフト。

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

ノック5本目: cgxでモデル作成:梁

梁モデルを、cgxだけでモデル化する。コマンドは手打ちする。

今回はコマンドを頻繁に使う。
(重要)必ず、マウスポインターはGUIの中に入れてから、コマンド入力する。
そうでない場合、コマンドラインからの入力を受け付けてくれない。

テキストエディタにコマンドを書いておいて、

cgx -b ファイル名

をすれば、同じ内容になる。

Calculix(だけで行う解析)は、

  1. cgxによるモデル作成

  2. テキストエディタで.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_name.png

線の再定義

line L001 D001 D002 20

上記の代わりに、前述したswepの所で、

swep center py tra 0 10 0 20
と打っても同じ要素ができた。

要素タイプの選択

elty all be2

CalculiX GraphiX, Version 2.16のUser Manualに載っている要素を表にしてみた。

                 
梁beambe2be2rbe2fbe2dbe3be3rbe3f
平面三角triangletr3tr3utr3etr3str3ctr6tr6utr6etr6str6c
平面四角quadqu4qu4equ4squ4cqu4rqu4erqu4srqu4crqu8qu8equ8squ8cqu8rqu8erqu8srqu8cr
八面体hexahe8he8fhe8ihe8rhe20he20r
三角柱pentape6pe6fpe15pe15r
四面体tetrate4te4fte10te10mte10t

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

node.png

出力

.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 abq

inpファイルの作成。

メッシュができたので、このまま.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 solve

job finishedと出たら、

cgx -read solv.frd

マウスポインターをGUIの中に入れてから、
全変位を見たければ、下記コマンド入力する。

ds 1 e 4

もしくは、ミーゼス応力を見たければ

ds 2 e 7

hcpy_1.png

う〜ん不便。cgxでのメッシュ作成、ccx用の.inpファイル作成、全部不便。

GUIって便利だなと改めて思った。

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

メールアドレス:

ホームページアドレス:

コメント: