有限要素法のフリーのソフトウエア を試す

CAEで使われるフリーの有限要素法(FEM)ソフトウエアであるCalculixやOpenfoamを使ってみようとチャレンジしてたその足跡を残す。。。ついでに他のフリーソフトや商用ソフトの無償版にも手を出してみる。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

プリポストcgxラインの分割

cgxで作成した線ですが、分割することが可能です。

ただし、線が確定する前(qキーを押す前まで)までの話です。。。

pnt p1 0 0 0
pnt p2 1 0 0

でポイントを2つ作成し

qlin

でライン作成モードに入り、

p1を囲んでbキー
p2を囲んでgキー

を押します。

qキーを押すと、線分確定ですが、その前にカーソールを線分の上にあてて、

sキー

を押すとラインが分割できます。

cgxライン分割1
クリックすると大きくなります。

qキーを押すまで何度でも分割できます。
cgxライン分割2
クリックすると大きくなります。

cgxライン分割3
クリックすると大きくなります。

これは弧やスプラインでも使用可能です。


***これはフリー有限要素法ソフトウエアCalculixについての説明です。ABAQUSコマンドの説明ではありません***

にほんブログ村 科学ブログ 技術・工学へ

技術・工学ブログランキング



スポンサーサイト

テーマ:自然科学 - ジャンル:学問・文化・芸術

  1. 2008/12/01(月) 20:23:13|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

cgx 面(サーフィス)の作り方


今回から面を作り方を見てみます。

英語で書けばsurfaceですが、それをカタカナで書くとサーフェス、サーフェイス、サーフィスなどいろいろ表記されていますが今回はサーフィスと呼びます。

(後日の記事では言い方が変わるかもしれませんが、ご容赦を。。。)

脱線してしまいましたが、まずは、4つの線分に囲まれた領域を、コマンドを使って面を作ってみます。

コマンドで面を作る場合は、

surf
もしくは
gsur

を使います。

マニュアルに、gsurの方が使いやすいと書いてあるので、gsurを使って見ます。

まず、4つの線分を準備します。

pnt p1 0 0 0
pnt p2 1 0 0
pnt p3 1 1 0
pnt p4 0 1 0
plot pa all
line l1 p1 p2
line l2 p2 p3
line l3 p3 p4
line l4 p4 p1

gsur面作成1
クリックすると大きくなります


次にgsurコマンドでサーフィスを作ります。

書式は
gsur (サーフィスの名前) (+or-) blend (+or-) (最初のライン名) (+or-) (次のライン名) ・・・・ (+or-) (最後のライン名)

サーフィスの名前は任意です。

次の±の符号は面の法線方向を指定します。

blendはオプションで、面データ内部の表現方法のようです。(詳しくはまだ不明。。すいません)

次にライン名を±で方向(例えばp1からp2か p2からp1か)を指定しながら入力します。

ただし、この±の方向、間違っている場合は自動的に修正してくれるようです
(つまりあまり意味内容な。。。。)

今回の例題の場合は

gsur surf1 + blend + l1 + l2 + l3 + l4

という具合になります。

gsur面作成2
クリックすると大きくなります

***これはフリー有限要素法ソフトウエアCalculixについての説明です。ABAQUSコマンドの説明ではありません***

にほんブログ村 科学ブログ 技術・工学へ

技術・工学ブログランキング

テーマ:自然科学 - ジャンル:学問・文化・芸術

  1. 2008/12/02(火) 19:36:16|
  2. cgx
  3. | トラックバック:0
  4. | コメント:0

プリポストcgxでのマウスを使ったsurfaceの作成

今回は、マウスを使った面作成を行ってみたいと思います。

まず、前回同様、4つの線分で囲まれた正方形を作っておきます。

pnt p1 0 0 0
pnt p2 1 0 0
pnt p3 1 1 0
pnt p4 0 1 0
plot pa all
line l1 p1 p2
line l2 p2 p3
line l3 p3 p4
line l4 p4 p1

次に、

gsur

と入力し、マウスでの面作成モードに入ります。

マウスポインタの四角をてきとうに大きくして、一つ目の線分を選択します。

選択方法は、線分の真ん中あたり(名前のラベルあたり)にマウスを置き1キーを押します。

qsurs
クリックすると大きくなります

つぎに2つ目の線分を選択します。

マウス線分に当てた後、2キーを押します。

qsur2その2
クリックすると大きくなります。

同様に、3つ目の線分で3キー、4つ目の線分で4キーを押します。

そして、再び一つ目の線分を選択してgキーを押します。

qsurその3

最後にqキーを押して、作成モードから出ます。

これで作成完了です。

***これはフリー有限要素法ソフトウエアCalculixについての説明です。ABAQUSコマンドの説明ではありません***

にほんブログ村 科学ブログ 技術・工学へ

技術・工学ブログランキング

テーマ:自然科学 - ジャンル:学問・文化・芸術

  1. 2008/12/03(水) 20:28:00|
  2. cgx
  3. | トラックバック:0
  4. | コメント:0

CalculiX cgx setの作り方

次に、いわいる「押し出し」機能を用いた面の作成方法を見てみたいのですが、

その前に、cgxの形状データのsetについて、説明します。

setは形状や有限要素データの一部をグループ化する機能です。

例えば、自動車のモデルを作るのであれば、点や線、サーフィス、有限要素などが、ボディー、ドア、エンジン部、シャシー部、タイヤなど部品ごとにSETでグループ化し、選択できるようになっていれば、モデル作成時や結果表示時に便利です。

また、いくつかの材料で構成されている構造物の場合は、材料ごとにSETを割り当てておけば、要素に材料を割り当てるとき、便利です。

pnt p0 0 0 0
pnt p1 1 0 0
pnt p2 2 0 0
pnt p3 3 0 0
pnt p4 4 0 0

以上4つの点のうち、p0 p1 p2 を se1 というセットを作ってグループ化して見ます。

コマンドでsetを作る場合はsetaコマンドを使います。

seta se1 p p1 p2 p3

2カラム目はsetの名前、3カラム目はポイントのセットを示すp、後のカラムはポイントの名前を入力します。

prnt se

で作ったsetを確認できます。

prnt se
1 all stat:o n:0 e:0 f:0 p:5 l:0 s:0 b:0 L:0 S:0 se:0
2 se1 stat:c n:0 e:0 f:0 p:3 l:0 s:0 b:0 L:0 S:0 se:0

allは全部のデータが含まれるsetということになります。

se1はp:3、つまりポイントが3つ含まれるということです。

画面で確認するには、

plot pa all
plus pa se1 g

とすると、se1に含まれたポイントが緑で表示されます。

セットその1
クリックすると大きくなります


***これはフリー有限要素法ソフトウエアCalculixについての説明です。ABAQUSコマンドの説明ではありません***

にほんブログ村 科学ブログ 技術・工学へ

技術・工学ブログランキング

テーマ:自然科学 - ジャンル:学問・文化・芸術

  1. 2008/12/04(木) 20:28:36|
  2. cgx
  3. | トラックバック:0
  4. | コメント:0

CalculiXプリポストcgxでの押し出しによる面の作成


それでは押し出しコマンドを使い、面を作成してみます。

cgxスイープコマンドを使い、直線を押し出して面にします。

余談ですが、スイープと押し出しの違い(用語としての)がわからなかったんで、ネットで調べてみたのですが、CADによって使い方が違うみたいです。

基本的には、両方とも

ある形状を移動させた時、その軌跡を一つ上の次元の形状として作成すること、

です。

ただし、押し出しはスイープ機能の一部として定義されているCADも結構あるようです。

その場合は主に形状を直線的に移動して形状を作る場合のみを押し出しと呼んでいるものが多いです。

余談はここまでなのですが、今回は直線を直線的に(並進ベクトルに沿って)押し出して長方形を作ってみます。

まず、線分をつくります。

pnt p1 0 0 0
pnt p2 1 0 0
line l1 p1 p2

次に押し出される形状のsetを作ります

線分l1のみ含まれるsetになります。

seta se1 l l1

se1がset名、lはラインを意味しています。

次に、これの直線を押し出すのですが、コマンドはswepを使います

swep (押し出されるセット名) (押し出し先の形状のセット名) tra x方向移動量 y方向移動量 z方向移動量

今回はy方向に押し出そうと思いますので、以下のようになります。

swep se1 se2 tra 0 2 0

plot sa all
plus la all
plus pa all

押し出し1
クリックすると大きくなります


***これはフリー有限要素法ソフトウエアCalculixについての説明です。ABAQUSコマンドの説明ではありません***

にほんブログ村 科学ブログ 技術・工学へ

技術・工学ブログランキング







テーマ:自然科学 - ジャンル:学問・文化・芸術

  1. 2008/12/07(日) 22:05:26|
  2. cgx
  3. | トラックバック:0
  4. | コメント:0

CalculiXプリポストcgxでの形状のコピー

swepと似た入力方法を持つコマンドにcopyがあります。

見ての通り、形状をコピーするコマンドです。

swepは移動先までの軌跡を形状にしてしまうのですが、copyは移動先にコピーするだけです。

swepと同じようにsetに対してコピーします。

つまり、コピーするためにはコピーされる形状のsetを作る必要があります。
(少し面倒ですが。。。)

平行移動してコピーする場合の入力方法は、

copy (コピーするセット名) (新しくできるセット名) tra x方向移動量 y方向移動量 z方向移動量

前回の形状で作られたP001を(0,0,1)移動した場所にコピーします。

seta se3 p P001
copy se3 se4 tra 0 0 1

plus pa all

点のコピー1
クリックすると大きくなります


***これはフリー有限要素法ソフトウエアCalculixについての説明です。ABAQUSコマンドの説明ではありません***

にほんブログ村 科学ブログ 技術・工学へ

技術・工学ブログランキング

テーマ:自然科学 - ジャンル:学問・文化・芸術

  1. 2008/12/08(月) 19:10:44|
  2. cgx
  3. | トラックバック:0
  4. | コメント:0

cgx回転スイープでの面の作成

今回は線を回転させて、1/4円板を描きます。

swepコマンドを使いますが、押し出しの時はtraと入力したところをrotにします。

swep (移動するセット名) (新しくできるセット名) tra (回転軸を通る点1) (回転軸を通る点2) (回転角度)

前回のつづきで、

回転面作成1

の状態から1/4円板を追加します。

P001,P003を結ぶ線を軸としてL001を90度回転移動させます。

まず、移動する線分のsetを作ります。

seta se5 l L001

次にse5を回転させます。

swep se5 se6 rot P001 P003 90

以下のように1/4円が追加されます。

回転面作成2


***これはフリー有限要素法ソフトウエアCalculixについての説明です。ABAQUSコマンドの説明ではありません***

にほんブログ村 科学ブログ 技術・工学へ

技術・工学ブログランキング
  1. 2008/12/09(火) 22:46:53|
  2. cgx
  3. | トラックバック:0
  4. | コメント:0

CalculiXプリポストcgxでのswepコマンドの補足説明


ところで、swepコマンドで入力する

新しいセット名

に含まれる形状は、どれなのであろうか?

pnt p1 0 0 0
pnt p2 1 0 0
line l1 p1 p2
seta se1 l l1

swep se1 se2 tra 0 2 0

この時、se2に含まれる形状をみてみます。

plus pa se2 g
plus la se2 g
plus sa se2 g

最後のgはgreenのgで、表示されるset形状の色を指定できます。

新しいセット名1
クリックすると大ききなります


緑で表示されるのは、P001,P002,L001で、新しく作ったサーフィスは含まれないようです。

何故かはわかりませんが(仕様だから、ともいう)、新しく作ったサーフィスをsetを使って処理する場合は、新しくsetを作る必要があります。


***これはフリー有限要素法ソフトウエアCalculixについての説明です。ABAQUSコマンドの説明ではありません***

にほんブログ村 科学ブログ 技術・工学へ

技術・工学ブログランキング


  1. 2008/12/10(水) 18:54:07|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

cgxで2次元メッシュ(シェル)を切る


今回からはメッシュのきり方をみてみます。

メッシュを切る前に、どの種類の要素でメッシュを切るか、2次元の場合は3角形できるか4角形できるかを定義する必要があります。

そのコマンドが、eltyです。

elty (set名) (要素の種類)

要素の種類ですが、

be2-線要素(中間節点なし)
be3-線要素(中間節点あり)
tr3,tr3u-三角形要素(中間節点なし)
tr6-三角形要素(中間節点あり)
qu4-四角形要素(中間節点なし)
qu8-四角形要素(中間節点あり)
he8,he8i,he8r-六面体要素(中間節点なし)
he20,he20r-六面体要素(中間節点なし)

同じ形状でも、2種類または3種類あるものもあります。

それあの違いは、また機会があれば見たいと思います。

また、be2,tr3,qu4などは、CalculiXのソルバーccxに対応していません。。。。

他のソルバーのデータ(ABAQUSやNastranなど)に対応するためのものと思われます。

***これはフリー有限要素法ソフトウエアCalculixについての説明です。ABAQUSコマンドの説明ではありません***

にほんブログ村 科学ブログ 技術・工学へ

技術・工学ブログランキング


テーマ:自然科学 - ジャンル:学問・文化・芸術

  1. 2008/12/11(木) 22:28:50|
  2. Calculix 紹介 インストール
  3. | トラックバック:0
  4. | コメント:1

cgxメッシュの作成その2

今回はメッシュを切るコマンドについてみてみます。

まず、正方形のサーフィスを作成し、そこにメッシュをきってみることにします。


pnt p1 0 0 0
pnt p2 1 0 0
pnt p3 1 1 0
pnt p4 0 1 0
line l1 p1 p2
line l2 p2 p3
line l3 p3 p4
line l4 p4 p1

gsur suf1 + blend +l1 +l2 +l3 +l4

メッシュ切り1


形状全体が見えないので、コマンドから

frame

とすると、画面の大きさに合わせてくれる、ということなのですが、

メッシュ切り2



私のPCではまだ少しはみ出ますので、マウスの真ん中ボタンを押しながらドラッグして、大きさを調整します。

メッシュ切り3


次に、要素(形状)を決めます。

8節点四角形シェル要素のメッシュを作ることにします。

elty all qu8

ちなみに、allのsetは、全ての形状が含まれるsetということで、自動的に作られます。

次に、メッシュを切りますが、コマンドはその名の通りmeshを使います。

mesh (セット名)

今回は、全ての(面)形状にメッシュを切りますので、

mesh all

コマンド画面に以下のように表示されます

please wait for 'ready'
ready

readyが出れば成功ですが、モデルウインドウは何の変化もありません。。。

これは、要素や節点の表示がオンになっていないからです。


***これはフリー有限要素法ソフトウエアCalculixについての説明です。ABAQUSコマンドの説明ではありません***

にほんブログ村 科学ブログ 技術・工学へ

技術・工学ブログランキング

テーマ:自然科学 - ジャンル:学問・文化・芸術

  1. 2008/12/15(月) 22:12:28|
  2. cgx
  3. | トラックバック:0
  4. | コメント:0

cgxの要素節点の表示


メッシュを切った後、要素、節点を表示させます。

plot ea all

と入力すれば、要素と要素番号を表示してくれます。
(要素のみ表示させ、番号を表示させない時はplot e allとなります)

同様に節点は、

plot na all

ただし、節点以外の表示が消えてしまいますので、要素と節点を同時に表示させる場合は、
追加表示を行うplusコマンドを使って、

plot ea all
plus na all

とすればよいです。

しかし、いまひとつはっきり見えません。。。

節点要素表示1
クリックすると大きくなります

マウスの左ボタンを押しながらドラッグして形状を回転させると、色が明るくなり、番号が見えます。

節点要素表示2
クリックすると大きくなります

どうやら最初は裏を見ていたようです。

要素の境界が見えないのですが、モデルウインドウメニューのVieweing→Toggle Element Edges
を選択すれば、要素の境界が表示されます。

節点要素表示3
節点要素表示4
クリックすると大きくなります。

***これはフリー有限要素法ソフトウエアCalculixについての説明です。ABAQUSコマンドの説明ではありません***

にほんブログ村 科学ブログ 技術・工学へ

技術・工学ブログランキング


 

テーマ:自然科学 - ジャンル:学問・文化・芸術

  1. 2008/12/16(火) 22:15:08|
  2. Calculix 紹介 インストール
  3. | トラックバック:0
  4. | コメント:0

cgxメッシュ分割数の指定


メッシュ分割されましたが、メッシュ分割数を指定していないので、2x2のメッシュ分割になっています。

cgxでのメッシュ分割数の指定はdivコマンドで行うことができます。

div (ライン名) 分割数

もしくは

div (セット名) 分割数

分割数は節点の数を表します。

よって、中間節点がある要素(2次要素)の場合は、要素分割数は半分になります。

例えば、分割数を8に指定して、面要素にメッシュ分割する場合は、

qu8の場合は、4要素

qu4の場合、8要素

に分割されます。

例題は次回示します。


***これはフリー有限要素法ソフトウエアCalculixについての説明です。ABAQUSコマンドの説明ではありません***

にほんブログ村 科学ブログ 技術・工学へ

技術・工学ブログランキング


テーマ:自然科学 - ジャンル:学問・文化・芸術

  1. 2008/12/17(水) 21:39:09|
  2. cgx
  3. | トラックバック:0
  4. | コメント:0

cgxメッシュ分割数の表示

分割数を指定してみます。

以下のようなサーフィスの線分l1の分割数を指定します。

メッシュ分割1

50分割する場合コマンドは、

div l1 50

となります。

分割数を確認するには、plotコマンドを使って、

plot ld all

と入力すると、分割数を表示してくれます。

メッシュ分割2

l1は50、他の辺は4分割になっています。

***これはフリー有限要素法ソフトウエアCalculixについての説明です。ABAQUSコマンドの説明ではありません***

にほんブログ村 科学ブログ 技術・工学へ

技術・工学ブログランキング

テーマ:自然科学 - ジャンル:学問・文化・芸術

  1. 2008/12/18(木) 21:35:57|
  2. cgx
  3. | トラックバック:0
  4. | コメント:0

cgx分割数を決めてメッシュを切る

さて、前回のメッシュの指定

メッシュ分割10


でメッシュ分割してみます。

8節点四角形要素で分割してみます。

elty all qu8
mesh all

と入力します。

しかし、

please wait for 'ready'
WARNING: bad divisions in surf:s1
1 surfs are not meshed, check set -NOMESH
ready

とワーニングがでて、メッシュが切れません。

cgxでは、四角形対面の分割数が同じでないと、メッシュは切れないようです。

つまり、いわいるマップドメッシュはOKですが、フリーメッシュはNGです。


***これはフリー有限要素法ソフトウエアCalculixについての説明です。ABAQUSコマンドの説明ではありません***

にほんブログ村 科学ブログ 技術・工学へ

技術・工学ブログランキング

テーマ:自然科学 - ジャンル:学問・文化・芸術

  1. 2008/12/23(火) 22:00:14|
  2. cgx
  3. | トラックバック:0
  4. | コメント:0

cgx分割数を決めてメッシュを切る(その2)


前回の続きで、向かい合う辺の分割数を同じにします。

div l3 50

メッシュ分割11

mesh all

でメッシュを切ると、

メッシュ12

アスペクト比の高いメッシュですが、作成できます。

三角形要素を使っても同様で、フリーメッシュはできないようです。

一度メッシュを削除して、三角形メッシュで切りなおして見ます。

del meshコマンドでメッシュを削除します。

del mesh all

6節点三角形メッシュを設定します。

elty all tr6

mesh all

以下のようにメッシュが作成されます。

メッシュ作成13


***これはフリー有限要素法ソフトウエアCalculixについての説明です。ABAQUSコマンドの説明ではありません***

にほんブログ村 科学ブログ 技術・工学へ

技術・工学ブログランキング
  1. 2008/12/24(水) 22:00:00|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

複数形状に対してのメッシュ作成


複数形状に対してメッシュを切ってみます。

まず、形状を作成します。

pnt p1 0 0 0
pnt p2 1 0 0
pnt p3 1 1 0
pnt p4 0 1 0
pnt p5 -1 1 0
pnt p6 -1 1 1
line l1 p1 p2
line l2 p2 p3
line l3 p3 p4
line l4 p4 p1
gsur s1 + blend + l1 +l2 +l3 +l4
seta se1 l3
swep se1 se2 rot p5 p6 90

以下のようになります。

複数形状メッシュ1
クリックすると大きくなります

この場合、サーフィスA001とs1は辺l3を共有していますので、
メッシュが連続されます。

各辺8等分で、8節点四辺形要素で分割してみます。

コマンドは

elty all qu8

複数形状メッシュ2
クリックすると大きくなります。

mesh all

複数形状メッシュ3
クリックすると大きくなります。

メッシュが切れました。


***これはフリー有限要素法ソフトウエアCalculixについての説明です。ABAQUSコマンドの説明ではありません***

にほんブログ村 科学ブログ 技術・工学へ

技術・工学ブログランキング

テーマ:自然科学 - ジャンル:学問・文化・芸術

  1. 2008/12/25(木) 21:52:38|
  2. cgx
  3. | トラックバック:0
  4. | コメント:0

おしらせ


しばらくお正月休みにします。。。。

休み明けに再開しますので、おたのしみに!

(たのしみにしている方いるのだろうか??)

テーマ:自然科学 - ジャンル:学問・文化・芸術

  1. 2008/12/29(月) 22:19:27|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

プロフィール

tsunodako

Author:tsunodako
tsunodakoのプロフィール
無料でCAE環境を構築に挑戦中。
が、現在少し休止中。そのうち復活します。
ご意見ご感想をブログコメント大歓迎です!!!
メールの場合は下のほうにあるフォームに入力していただくか

tsunodako[at]yahoo.co.jpまで([at]=@に変換してください)。
このブログにあるソフトやデータを使用して生じた結果は責任負いませんのであしからず。
静解析CAE技術者のための動解析講座は http://vibrationcae.blog.fc2.com/ に移動いたしましたのでよろしく。

ブログ内検索

カレンダー(月別)

11 ≪│2008/12│≫ 01
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -

最近の記事

カテゴリー

tsunodakoへのメールはここからでもOK

名前:
メール:
件名:
本文:

最近のコメント

最近のトラックバック

フリーエリア

にほんブログ村 科学ブログ 技術・工学へ
にほんブログ村

RSSフィード

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。