Top page
有限要素解析 ADVENTURE
単純な幾何学図形の場合は、曲げモーメントの微分式を積分することで、たわみ量を求めることができます。特に、代表的な梁などの形状は値を公式に代入するだけで簡単に求めることもできます。
しかし、すこし複雑な形状になると、全体形状を小さな単純要素に分解して、各要素に加わる応力による変形を重ね合わせる「有限要素法」が威力を発揮することになります。
従来から、有限要素法解析プログラムはあったのですが、パーソナルで使うには手が届かない存在でした。しかし、東京大学を中心とした、設計用大規模計算力学システム[ADVENTUREプロジェクト]により、フリーな環境での有限要素解析が実現化しつつあります。ここではこの、ADVENTURE の使い方を研究してみます。
ADVENTURE on Windows のインストール
ADVENTURE
上のリンクから、ADVENTURE_on_Windows 0.2b をダウンロードします。ダウンロードにはユーザー登録が必要です。
ダウンロードした ADvWn02.exe をダブルクリックしてインストールすることで、AdvOnWin0_2 が実行できるようになります。
ADVENTUREの使い方
ここでは、例として中が中空の箱に応力を加えて解析してみます。
その前に下のサンプルデータをメモ帳のようなエディターでコピーし、 box_emp.gm3d のような名前で適当なフォルダに図形データを作成してください。
[サンプルデータ]
box 0. 0. 0. 8. 10. 50.
box 1. 1. 1. 6. 8. 48.
subtract
解析実行の例
AdvOnWin0_2 を開始して、スタートを押すと下のような開始画面が現れます。
メッセージに従い、 「ファイル」-「新規解析」 を指示します。
次へ進めます
そのまま 「次へ」
ここでも、そのまま 「次へ」
形状モデルは「ADV_Cad」、 解析モデルは「4面体」を指定します。
「メッシュ」-「AdvCadファイル」 で用意しておいた box_emp.gm3d を指定します。
「メッシュ」-「節点密度設計」 をクリック
接点密度は 1.0 を指定します。
指示に従います。
指示に従います。
メッシュが作成されました。
指示に従います。
物性値は、デフォルト値でOKします。
指示に従います。
そのまま OK します。
box_emp.gm3d に指定した図形が表示されました。空洞のbox形状が見えます。
マウスで図形を動かすことができます。
回転: 左ボタンを押しながらマウスで動かす
平行移動: 右ボタンを押しながらマウスで動かす
面/点を選択: 左クリックをすると、色が緑色になって選択されます。
画面拡大縮小: マウスダイヤルを押して回転(筆者のPCでは未確認)
図形の内部にも入れるようですが未確認
拘束する面を指定します。拘束する面をクリックして緑色に変えてから、「境界条件」押して、「拘束」を選択します。
X、Y、Z方向共に拘束するので、全部にチェックを入れ、値は0 でOKします。
荷重を掛ける面(ここでは拘束面の反対面)を指定して、境界条件を「面荷重」、X方向にチェックを入れ、力を指定してOK
指定が完了したので、図形の画面の中の「ファイル」-「終了」で図形画面を消します。(消しても大丈夫です)
指示に従います。
指示に従います。
変位と応力にチェックを入れ、OK
指示に従います。
このままスタートを押します。
指示に従います。
このままスタートします。
指示に従います。
解析結果が色と、値で表示されます。また、変形拡大率や変位座標を変更できます。
注) 解析時間が長なる主な要因はメッシュの細かさです。例えば、細部形状が1mmの部分があるからといってメッシュを1.00で実行する必要はないようです。ただし、メッシュを大きく取りすぎるとメッシュ作成のステップでエラーが発生します。このような場合は密度設定ステップに戻って、メッシュを小さな値に修正してみると上手くいく場合があります。小さく取りすぎると解析時間が極端に長くなるので、メッシュの設定は重要です。
なお、有限要素解析は、極端に薄くて面積が大きい、あるいは細長い形状は、不得意かもしれません。俗に言うズングリムックリ形状の方が解析し易いようです。その方がメッシュ分割の負荷が軽いためかも知れません。
gm3dデータの作成方法
データはエディターで作成します。拡張子は .gm3d
データはスペースで区切ります。改行は無視されます。
小数点以下の座標値が 0 の場合は、 2. や 0. のように記述したほうが良いようです(エラーが発生しない)。ただし、分割数のような整数は単に 3
のようにします。
1) sheet
多角形 全ての点は同一平面上に配置します。
後述の extrude などで図形を押し出して、立体化して使います。
sheet N X1 Y1 Z1 X2 X2 X2 ,,,
N:角数
Xi Yi Zi: i番目のコーナーの座標
2) circle
円 全ての点は同一平面上に配置します。
後述の extrude などで図形を立体化して使います
circle Xc Yc Zc Xr Yr Zr Xq Yq Zq A
c:中心座標
r:半径
q:円の方向 (詳細は不明ですが、円に含まれ、rと直角方向に長さ1の座標を指定すると良いようです)
A:円の分割角数
3 extrude
登録されたsheet やcircle を押し出して立体にする機能を持つ.単独では使用しない.
extrude Xd Yd Zd
d: 押し出し方向
4) revolve
回転により平面形状から立体を作成します。単独では使用しない.
sheet やcircle をある軸の回りに回転して立体を作成。
revolve Xp0 Yp0 Zp0 Xp1 Yp2 Zp3 A
直線 p0 - p1 を回転軸とする。
A:1回転の分割数
5) box
ボックス
box Xo Yo Zo Xp Yp Zp
o:最も座標値の小さい頂点の座標
p:最も座標値の大きい頂点の相対座標(oからの相対座標)
6) add
和の集合演算
図形1+図形2
図形1
図形2
add
7) subtract
差の集合演算
図形1-図形2
図形1
図形2
subtract
メモ
1) sheetやciecleで作った図形をextrudeで押し出し立体にする場合は、図形は同一平面(例えば Z=0 面)に作ること。
2) 図形の座標は順番にデータを並べる。
3) 入力図形データに誤りがあると、エラーにも、完了にもならず、メモリが食われていくため、解析を中止させる。
4) add したり subtract する図形はオーバーラップしている必要がある。
5) 座標軸が(X:赤 Y:黄 Z:緑)で表示されるが、図形を回転させると異なった方向を示すため要注意。また原点位置でもない。
サンプルデータ
●ボックス
box 0 0 0 100 8 7
●多角形(5角形)を引き伸ばし
sheet 5 0. 0. 0. 2. 0. 0. 2.5 1.2 0. 0.5 2.5 0. -0.5 1. 0.
extrude 0. 0. 5.
●円を引き伸ばし
circle 0 0 -1 20 0 0 0 0 1 30
extrude 0 0 10
●円を軸の回りに回転
circle 5. 10. 0. 5. 0. 0. 0. 0. 1. 30
revolve 0. 0. 0. 1. 0. 0. 30
●円柱とボックスの加算
box 0 0 0 40 50 10
circle 0 0 10 10 0 0 0 0 1 30
extrude 0 0 -10
add
●ボックスから円柱を減算
box 0 0 0 40 50 10
circle 0 0 10 10 0 0 0 0 1 30
extrude 0 0 -10
subtract
●竹筒形状
circle
0. 0. 0. 5. 0. 0. 0. 0. 1. 30
extrude
0 0 60
circle
0. 0. 59. 4. 0. 0. 0. 0. 1. 30
extrude
0 0 -28
subtract
circle
0. 0. 29. 4. 0. 0. 0. 0. 1. 30
extrude
0 0 -28
subtract
長さ60mmの円柱に、2箇所円筒形の空洞を作っている。
手順は、
中心座標(x0,y0,z0) に半径 x5 の円を描き
extrudeで+Z方向へ60mm 押し出して円柱1を形成
中心座標(x0,y0,z59) に半径x4の円を描き
extrudeで-Z方向へ-28mm 押し出して円柱2を形成
この円柱2を、できている立体から引き算(subtract)
中心座標(x0,y0,z29) に半径x4の円を描き
extrudeで-Z方向へ-28mm 押し出して円柱3を形成
この円柱3を、できている立体から引き算(subtract)
注)作った立体をくり抜く場合は、立体を押し出した方向とは逆方向へ、subtractする空洞を押し出していることに注目。