CalculiXを始めよう


CalculiXの「[Getting Started Guide](http://www.bconverged.com/content/calculix/doc/GettingStarted.pdf)」を機械翻訳にかけました。

先に投稿した下記のWindows環境で確認しました。
https://qiita.com/Jun_Tatsuno/items/75c1f22706c11204042c

---

- Jeff Baylor氏 - Convergent Mechanical Solutions LLC
- CGXチュートリアルはGuido Dhondt氏のチュートリアルに基づいています
- Chris Fisichella氏による追加の貢献

![Lav.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/ef5b3493-a2e8-e0d7-c5b5-42e3845ec663.png)

# インストールのテスト

Windowsでは、スタートメニューにあるCalculiX Commandのショートカットをクリックします。

> [Start] [Programs] [bConverged] [CalculiX Command]

UNIX/Linuxでは、シェルを開きますコマンドプロンプトで次のように入力します：

>     cgx -b test.fbd

CalculiXのコマンドウィンドウが表示されますか？ウィンドウには使用状況が表示されます。

test.fbdファイルが存在しないという警告メッセージが表示される場合があります。これはOKです。ファイルが存在しない場合は、ファイルをはじめて保存する際にCGXが作成します。

![CGX.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/56b54cae-ec07-699c-4647-b1ae272affb9.png)

クローズボックスをクリックしてCGXウィンドウを閉じます。

![beampl.inp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/c7572994-9c17-89ab-69e8-c6b425290831.png)

コマンドラインの代わりに、Windows Explorerでインストールフォルダーから作業フォルダーに同じファイルをコピーします。
Windows Explorerで、beampl.inpファイルをダブルクリックしてCGXで開きます。ビームがレンダリングされた状態でCGXウィンドウが表示されますか？CGXウィンドウを終了します。

Windows Explorerでbeampl.inpファイルを右クリックして、Editオプションを選択します。テキストエディターSciTEのカスタマイズ版でファイルを開きます。ファイルの一番下までスクロールして、"*END STEP"行の直前に以下の行を追加します。

>     *NODE FILE
>     U
>     *EL FILE
>     S,E

これらの行は、変形、応力、ひずみのデータを結果ファイルへ書き込むようソルバーに要求します。<ctrl>sまたはメニューオプションの[File][Save]でファイルを保存します。

<ctrl>F10キーを押すか、メニューオプション[Tools][Solve]を使って、CCXでモデルを解きます。または、CalculiXコマンドプロンプトからCCXジョブを実行するには、次のように入力します。

>     ccx beampl

表示された最後の行に"Job finished"と表示されていますか？

結果を表示するには、CGXで開きます。テキストエディター内で<shift>F10キーを押すか、メニューオプション[Tools][Post process]を使用します。CGXを実行するには、CalculiXコマンドプロンプトから次のように入力します。

>     cgx -v beampl.frd

CGXのウィンドウに、同じビームがレンダリングされた状態で表示されますか？

左の余白でマウスの左ボタンを押したまま、メニューから選択します：

> [Data Sets] [-Entity-] [4 All]

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/28c1019b-2687-d176-29bb-3898c105c3df.png)

コンタープロットは表示されていますか？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/7243fb55-4674-99d1-377f-a080639169ba.png)

これらの操作がすべて成功すれば、CalculiXのコアコンポーネントが正しくインストールされています。ソルバーを詳細にテストするには、スタートメニューからテストスイートを実行します。

> [Start] [Programs] [bConverged] [Run CCX Test Suite]

これには数分かかることがあります。

# チュートリアルの表記法

> K：<font color="Blue">**キーボードコマンド**</font>
> LMP：マウスの左ボタンを押す
> LMR：マウスの左ボタンを離す
> LMPR：マウスの左ボタンを押して離す
> MM：マウスの中ボタンを押す
> RM：マウスの右ボタンを押す
> M：マウスを動かす（押したり離したりしない）
> V：結果を見る
> E：エンターキーを押す
> <font color="Green">**コメント**</font>

# CalculiX GraphiX (CGX) - プリプロセッサのチュートリアル

このチュートリアルはGuido Dhondt氏が書いたチュートリアルを元にしています。このチュートリアルは[http：//www.dhondt.de/tutorial.txt](http：//www.dhondt.de/tutorial.txt)で公開されています。

<font color="Green">**UNIX/Linuxでは、シェルを開いてチュートリアルを開始してください。
Windowsでは、CalculiXコマンドウィンドウ[Start] [Programs] [bConverged] [CalculiX Command]を開くか、ランチャー[Start] [Programs] [CalculiX] [Extended Version][CalculiX Launcher]を起動してください。**</font>

K：コマンドラインを使用する場合は、"cgx -b beam.fbd"（""を除く）と入力し、エンターキー（E）を押してcgxを起動します。ランチャーを使用する場合は、CGXで"beam.fbd"という名前の新しいファイルを開きます。
-bフラグは、LauncherでFBDファイルを開くときのデフォルトのフラグです。

V：描画ウィンドウが作成され、上部にはLinuxの場合は"CalculiX GraphiX No.1"またはWindowsの場合は"Calculix Graphix"、下部には"beam.fbd"、その中に座標系x-y-zとマウスポインターがある描画領域が表示されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/a3b167ac-b6dd-05fd-e387-8371c58cfc49.png)

<font color="Green">**また、"-b"はビルドモードを示します。
ファイル"beam.fbd"が存在する場合は開かれ、存在しない場合は新しいファイルが作成されます。**</font>

M：新しく作成されたウィンドウにマウスを移動
K："pnt p1 0 0 0"と入力し、E

<font color="Green">**キーボードコマンドは、CalculiX GraphiXウィンドウがアクティブな場合にのみ受け付けられます。**</font>

V：cgxを起動したウィンドウに"pnt p1 0 0"というテキストが表示されます
M：
V：描画ウィンドウに青い点が表示されます

K："pnt p2 1 0 0"と入力し、E
M：描画ウィンドウ内でマウスを描画領域の左または下に移動させる（この領域はメニュー領域とも呼ばれます）
LMP
V：グレーのメニューが表示され、上に"Viewing"、下に"-QUIT-"が表示されます
M：マウスを下に動かして、"Frame"という項目に移動します
LMR
V：ポイントを表す2つの青いドットが描画領域に表示されます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/5574c6a4-0699-18c0-c329-52f2c839df77.png)

K："plot pa all"と入力し、E
V：青い点の隣に青いラベル"p1"と"p2"が現れます

K："plot pa all r"と入力し、E
V：点とラベルが赤になりました

<font color="Green">**G=グリーン、Y=イエロー、K=ブラック、B=ブルー、M=マゼンタ**</font>

<font color="Green">**コマンドの最初の文字を間違えた場合は、Enterキーを押して、もう一度コマンドを入力します。
それ以外の文字を間違えた場合は、バックキーで戻って、間違えた文字を入力し直します。**</font>

K："qlin"と入力し、E
M：描画領域内にマウスを移動させる
K："r"と入力
M：マウスポインターを少し右と下に移動させます
K："r"と入力します
M：マウスを少し動かします
V：マウスポインターが長方形のポインターに変わります
その大きさは、"r"を入力した位置によって決まります：最初の"r"は左上隅を示し、2番目の"r"は右下隅を示します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/9efd5028-7cf2-829d-6a0d-40ea8effc00a.png)

<font color="Green">**なお、コマンドによっては、コマンドを入力した後にエンターキー（E）を押す必要がないものもあります。たとえば、上記の"r"の場合がそうです。**</font>

M：新しいマウスポインターをp1を象徴するドットの上に移動します
K："b"を押します（開始のため）
V：マークされた点の定義が、見逃していなければ入力ウィンドウに表示されます
M：ポインターをp2を表すドットの上に移動させます
K："g"(generate)を押します
V：マークした点の定義が入力ウィンドウに表示され、作成した線の説明も表示されます

<font color="Green">**円を作成するには、最初の点を"b"でマークし、次に中心点を"c"でマークし、最後に端点を"g"でマークします。**</font>


K："q"を入力する（qlinコマンドを終了するには）
V： 入力ウィンドウに"done"という文字が表示されます
M
V：マウスポインターが元に戻ります

<font color="Green">**終了しなくても、繰り返し"g"を使って連結した線分を作ったり、"b"で中断して新しい始点から線を引いたり、"l"で既存の線を選んで"b"、"c"、"g"で再定義したりして、線を引き続けることができます。**</font>

K："plus la all"と入力し、E
V：新しく作成された線が、そのラベルとともに表示されます

<font color="Green">**"plot l all"と入力し、Eとした場合、ラベルは表示されません。**</font>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/b02fc353-04da-22c4-852d-6c0b5b065f73.png)

<font color="Green">**"plot l all"と入力すると、図面が最初から作成され、線だけが表示されます（点と点のラベルは消えます）。**</font>

K："qadd se1"と入力し、E
K："a"と入力します
V：数秒後に"mode：a"というテキストが入力ウィンドウに表示されます
必ずこのテキストが表示されるまで待ってから次に進みます

<font color="Green">**ここで、その線を囲むようにウィンドウを作成します。**</font>

M：マウスポインターを、線を囲む仮想の長方形の左上隅に移動させる
T："r" と入力します
M：マウスポインターを線を囲む仮想の長方形の右下隅に移動します

T："r"を入力
M
V：先ほど定義したサイズの長方形が表示されます

<font color="Green">**何も起こらない場合は、メニューエリアでLMPRして、マウスを描画エリアに戻すと、たいていは解決します。**</font>

M：線がその中に入るように矩形を移動します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/66272ce1-e149-0216-fbfe-13ab5c3c3fef.png)

<font color="Green">**矩形が小さすぎる場合は、"r"で角のマーキングを再開してください。**</font>

K："l"を入力します（線の場合）

V：テキストウィンドウでは、矩形に"キャッチ"された線がリストアップされ（ここではL1のみ）、描画領域では、線がピンク色で表示されます

K："q"（qaddコマンドを終了する）を入力します

<font color="Green">**先ほどのコマンドで、名前が"se1"で、名前が"L1"の1本の線を含むセットを作成しました。**</font>

<font color="Green">**行名は自動的に付けられたことに注意してください。プログラムが与える名前は、常に大文字を使用します。**</font>

K："plot la se1"と入力し、E
V：セットse1に含まれる線とそのラベルが描画領域に表示されます（この場合は1線だけ）

K："plot la all"と入力し、E
V：実際には何も変わりません

<font color="Green">**集合"all"はすべてを含み、常に存在します。**</font>

K："swep se1 se2 tra 0 1 0"と入力し、E
M
V：描画ウィンドウに4本の線とそのラベルが表示されました

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/2cdcb4f4-8f59-0c74-542b-b3c8aae50483.png)

<font color="Green">**swepコマンドにより、方向ベクトル0 1 0の平行移動を用いて線を引きます；これにより、3本の新しいライン（L002、L003、L004）とサーフェスA001が作成されました。**</font>

K："plus sa all"と入力し、E
V：面A001とそのラベルがマゼンタで表示されます

K："plus la se2 g"と入力し、E
V：セットse2（swepコマンドで定義された）の線とそのラベルが緑で表示されます

<font color="Green">**swepコマンドは2つのセット名を受け取ります。1つ目はスイープされるセットで、2つ目はスイープされたエンティティが最終的な位置に格納されるターゲットセットです。**</font>

K："prnt se"と入力し、E
V：入力ウィンドウには、既存のすべてのセットの名前（se1、se2、all）が表示されます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/6a65b62a-f251-6044-5833-f6a18ea6c1e6.png)

<font color="Green">**サーフェスA001を含むセットse3を作成します。**</font>

K："qadd se3"と入力し、E
K："a"と入力します
M：マウスポインターをA001を含む矩形の左上に移動します
K："r"と入力
M：矩形の右下の位置
K："r"を入力
M
V：矩形が現れます
M：サーフェス（または少なくともそのラベル）が長方形の中に入るように移動します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/b41ed7eb-545a-b8a9-5136-410e543f8e68.png)

K："s"（サーフェスの場合）と入力します
V：入力ウィンドウにキャッチされたサーフェスが表示され、描画エリアにはピンク色が表示されます
K："q"と入力します（終了の場合）
M：マウスポインターが元の形に戻ります

<font color="Green">**上記の手順で"a"を省略すると、各"s"コマンドで最大1つのサーフェスを選択できます。"a"コマンドは、"s"をタイプすることで、ラベルがポインティング矩形内にあるすべてのサーフェスがセットに入ることを保証します。"s"（または他のエンティティを選択するための同等のコマンド："p"=point、"l"=lines、"b"=bodies、"n"=nodes、"e"=elements）コマンドは、マウスを動かした後に、他のエンティティを選択するために繰り返すことができます。**</font>

LMP
M
V：描画ウィンドウ内のサーフェスが回転します
LMR
MMP
M
V：サーフェスのサイズが大きくなったり小さくなったりします
MMR
RMP
M
V：サーフェスが変換されます
RMR

<font color="Green">**3つのマウスボタンを使って、描画ウィンドウ内の構造体を回転させたり、小さくしたり、大きくしたり、平行移動させたりできます。**</font>

K："swep se3 se4 tra 0 0 10"と入力し、E
M
V： 描画ウィンドウに合計6つの面と12本の線が描かれます。面A001を平行移動して、断面が正方形の梁を作成しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/c3568ade-cf9b-22d0-122e-d7d121206125.png)

K："plot ld all"と入力し、E
V：すべての線が分割されて表示されます

<font color="Green">**各線のデフォルトの分割数は4です。これは、各線に沿って4つの線形要素または2つの二次要素を作成できることを意味します。**</font>
K："elty all he8"と入力し、E
K："mesh all"と入力し、E
K："plot m all"と入力し、E
V：梁が緑色で滑らかに着色されます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/376b2546-c2b4-c2cd-acb4-0e0d266b4018.png)

M：ポインターをメニューエリアに移動させる
LMP
M："Viewing"メニューと"LINES"サブメニューを選択します
LMR
V：表面の色が消え、64個の要素を示す緑色の線が表示されます

<font color="Green">**8節点のブリック要素はhe8-elements、その他の要素タイプは：**</font>

> <font color="Green">**tr3 3節点の2次元要素（線形）**</font>
> <font color="Green">**qu4 4節点の2次元要素（線形）**</font>
> <font color="Green">**qu8 8節点の2次元要素（2次要素）**</font>
> <font color="Green">**he20 20節点のブリック要素（2次要素）**</font>

<font color="Green">**tr3、qu4、qu8要素はサーフェスのメッシュに、he8とhe20はボディのメッシュに使用されます。**</font>

K："plot e all"と入力し、E
V：とくに変化なし
K："plot ea all"と入力し、E
V：要素とそのラベルが表示されます（緑）
K："plus na all"と入力し、E
V：節点とそのラベルが表示されます（赤）

<font color="Green">**以上のことから、ボディが作成されたに違いないことがわかります。 実際：**</font>

K："plot ba all"と入力し、E
V：ボディB1とそのラベルが表示されます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/78860508-5fa2-0e6e-0d0e-370c16161e37.png)

<font color="Green">**黒い構造体のエッジは、メニューの"viewing - toggle model edges"を選択して取り除くことができます（ポインターをメニュー領域に移動）。**</font>

K："plot ld all"と入力し、E
V：線とラベルが表示されます

K："qdiv"と入力し、E
M：マウスポインターを長い線の1つに合わせます
K："2"と入力
M
V：線の分割数が4から2に変更されます
M：ポインターを別の長い線に移動させます
K：" 12"と入力する（12の前にスペースがあることに注意！）
M
V：分割が12に変わりました

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/50435e8e-a6c8-4249-7bc1-6cf9b10330d9.png)

K："a"と入力

<font color="Green">**入力ウィンドウに"mode：a"が表示されるのを待って、角を"r"でマークして長方形を作り、長い線のすべての分割数がその長方形の中に入るように移動します。**</font>

K：" 12"と入力
V：すべての線が12分割されます
K："q"を入力（qdivを残す）

<font color="Green">**分割数は次のようにします：**</font>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/2bc6895c-0de6-3a1c-9af7-ad15ac560426.png)

K："del me all"と入力し、E

<font color="Green">**メッシュを削除します。**</font>

K："elty all he20"と入力し、E

<font color="Green">****</font>新しい要素タイプがセット"all"（すべてのエンティティを含む）に割り当てられます。

K："mesh all"と入力し、E
K："plus e all"と入力し、E
V：これで8つの二次要素が作成されました（分割数が4なので、各線に沿って2つずつ）。

<font color="Green">**ここで、メニューの"orientation, +x view"を選択し、マウスポインターを描画領域に戻します。**</font>

V：構造体をx軸に沿って+x方向に見ます

K："plot l all"と入力し、E
K："plus n all"と入力し、E

<font color="Green">**ここで、z座標が0の節点をすべて選び、fixという名前のセットに入れます。**</font>

K："qadd fix1" と入力し、E
K："a"と入力
M：矩形の左上隅へ
K："r"と入力
M：矩形の左下隅へ
K："r"を入力
M：矩形を移動し、z=0の節点がすべて矩形内に入るようにします

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/5c609326-0d95-9100-641b-c9b06abb290c.png)

K："n"を入力

<font color="Green">**矩形が小さすぎた場合は、移動させてから、"n"コマンドを繰り返すと、連続した"n"コマンドで選ばれた節点は、すべて集合fix1に追加されます。**</font>

K："q"と入力

<font color="Green">**次に、ビームの正のy面でz座標が0の節点をすべてピックして、fix2という名前のセットに入れます。**</font>

K："qadd fix2"と入力し、E
K："a"と入力
M：矩形の左上隅へ
K："r"と入力
M：矩形の左下隅へ
K："r"を入力
M：矩形を移動し、z=0でビームの正の面にある節点のみが矩形内に入るようにします（このビューでは、これらの節点はすべて一致しています）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/d39128b1-e42a-aaf7-bad7-6a5e32357185.png)

K："n"と入力

<font color="Green">**5つの節点は表示ウィンドウに表示されます。**</font>

K："q"を入力

<font color="Green">**ここで、座標（0, 1, 0）の節点を選び、セットfix3に入れます。モデルを少し回転させて、目的の節点が他の節点と重ならないようにします。**</font>

K："qadd fix3"と入力し、E
M：カーソルを節点の上に移動させます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/c2554e00-21ea-a744-af3a-da03b8f331f4.png)

K："n"と入力

<font color="Green">**1つの節点の説明が出力ウィンドウに表示され、座標が正しいことを確認します。**</font>

K："q"を入力

K："plot n all"と入力し、E
K："plus n fix1 g"と入力し、E
V：セットfix1のすべての節点が緑に着色されます

K："plus n fix2 b"を入力し、E
V：セットfix2のすべての節点が青くなります

K："plus n fix3 m"を入力し、E
V：セットfix3のすべての節点がマゼンタ色になります

<font color="Green">**ここで、メニューの"orientation, +x view"を再選択し、マウスポインターを描画領域に戻します。y=1の面をすべてセット"load"に入れます。**</font>

K："plot f all"と入力し、E

<font color="Green">**ここで、メニューの"viewing - FILL"、続いて"viewing - Toggle Element Edges"を選択すると、すべての面が黄色で表示されます。面は要素の外側の側面で、メッシング後にのみ存在します。**</font>

K："qadd load"と入力し、E
K："a"と入力します
M：矩形の左上隅へ
K："r"を入力
M：矩形の右上隅へ
K："r"を入力
M：y=1の面がすべて長方形の中に入るように、長方形を動かします

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/f5b271a0-4f53-a4b7-06f4-beb194fc7779.png)

K："f"を入力
V：すべての面がピンク色になります

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/9b3f2791-34f9-83e3-2aad-9e276bf2cdfa.png)

<font color="Green">**上の方の面だけを選ぶのは不可能で、横の方の面もいくつか捉えてしまいます。
この問題は次のステップで解決します。**</font>

K："q"と入力
K："plot f load"と入力し、E
V：セット"load"に属するすべての面が表示されます

<font color="Green">**次に、ビーム上になく、セット"load"に属する面を削除します。**</font>

K："qrem load"を入力し、E

<font color="Green">**このコマンドはセット"load"からエンティティを取り除きます。**</font>

K："a"と入力
M：矩形の左上隅へ
K："r"と入力
M：矩形の右下隅へ
K："r"を入力
M：ビームの上にないすべての面が長方形の中に入るように、長方形を移動します
K："f"を入力
V：キャッチされた面はすべてピンク色になります。それらはセット"load"から取り除かれます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/51a3fc99-f77c-8c08-313a-c3b36c4db318.png)

K："q"を入力

同様にして、要素を選ぶこともできます。

K："send all fbd"と入力し、E
V："ready"で終わる入力ウィンドウのテキスト

<font color="Green">**この操作により、モデルの幾何学的エンティティ（点、線、面、ボディ、セット...節点や要素は含まれない）を含むファイル"all.fbd"が作成されます。このファイルの名前を"beam.fbd"に変更することで、このセッションを開始したのと同じコマンドで、モデルを別のcgxセッションに再読み込みできます。**</font>

K："send all frd"と入力と入力し、E
V："ready"で終わる入力ウィンドウのテキスト

<font color="Green">**この操作により、モデルの節点と要素を含むファイル"all.frd"が作成されました。このファイルは、別のセッションでcgx all.frdというコマンドで再び開くことができます。これは、このセッションを開くコマンドと同じですが、"-b"を除いています。ただし、このファイルには幾何学的なエンティティは含まれていません。**</font>

K："send all abq"と入力します。
V："ready"で終わる入力ウィンドウのテキスト

<font color="Green">**この操作により、ABAQUSフォーマットの節点と要素を含むファイル"all.msh"が作成され、さらに空のファイル"all.temp"が生成されます。温度が定義されている場合は、このファイルは空ではありません。**</font>

K："send load abq pres 1.0"と入力します。
V："ready"で終わる入力ウィンドウのテキスト

<font color="Green">**このアクションにより、セットloadのノードが属するすべての要素の側面にマグニチュード1.0の分散圧力をかけるためのABAQUSカードを含むファイル"load.dlo"が作成されました。**</font>

K："send fix1 abq nam"と入力します
K："send fix2 abq nam"と入力します
K："send fix3 abq nam"と入力します
V："ready"で終わる入力ウィンドウのテキスト

<font color="Green">**これらの操作により、ABAQUS方式でノードラベルをセットにまとめたファイル"fix1.nam"、"fix2.nam"、"fix3.nam"が作成されました。これは、ノードセットに力を適用したり、要素サブセットに異なる材料を割り当てたりするのに役立ちます。**</font>

K："help"と入力
V：ここで説明した以外のコマンドを含むヘルプメニューが入力ウィンドウに表示されます。

<font color="Green">**メニューから"-QUIT-"を選択すると、セッションが終了し、ディレクトリに"all.fbd"や"all.frd"などが見つかるはずです**</font>

CCXで解き、CGXで後処理する - チュートリアル
===========================================

メッシュの取得は、有限要素解析の問題定義の一部分に過ぎませんまた、以下のことも必要です：

-   材料の記述
-   境界条件による制約と荷重の記述
-   解析タイプを定義する
-   出力要求の宣言

この章では、これらのステップについて説明し、例を挙げて説明します。

<font color="Green">**UNIX/Linuxでは、シェルを開いてチュートリアルを開始します。Windowsでは、CalculiXコマンドウィンドウ[Start] [Programs] [CalculiX] [CalculiX Command]を開くか、ランチャーから[Run][CalculiX Command]を開きます。**</font>

K："mkdir beam"と入力し、E
K："move all.msh beam"と入力し、E
K："move fix*.nam beam"と入力し、E
K："move load.dlo beam"と入力し、E
K："cd beam"と入力し、E

<font color="Green">**[Start][Programs][bConverged][SciTE]、またはランチャーを使っている場合は、[File][Open Editor]を選択し、テキストエディターを開き、beamフォルダーに移動して、ファイル名に"beam.inp"と入力します。**</font>

<font color="Green">**エディターで以下の行を張り付け、beamディレクトリにbeam.inpとして保存します。**</font>

>     *INCLUDE, INPUT=all.msh
>     *INCLUDE, INPUT=fix1.nam
>     *INCLUDE, INPUT=fix2.nam
>     *INCLUDE, INPUT=fix3.nam
>     *MATERIAL, Name=steel
>     *ELASTIC
>       28000000, 0.3
>     *SOLID SECTION, Elset=Eall, Material=steel
>     *STEP
>     *STATIC
>     *BOUNDARY
>       Nfix1,3,3,0
>       Nfix2,2,3,0
>       Nfix3,1,3,0
>     *DLOAD
>     *INCLUDE, INPUT=load.dlo
>     *NODE FILE
>       U
>     *EL FILE
>       S, E
>     *END STEP

入力ファイルは一般的に"入力デッキ"と呼ばれ、アスタリスクから最初のコンマまでの文字を"キーワード"と呼び、関連データを持つキーワードを"カード"と呼びます。チュートリアルを続ける前に、この入力デッキについて簡単に説明します。

入力デッキは、解く有限要素解析問題を定義しています。一般的には、メッシュ定義、材料、解析タイプ、境界条件、出力要求などが含まれます。上記のデッキは非常に単純な解析です。多くの場合、問題を定義するためにかなり多くのカードを必要とします。

メッシュ
--------

>     *INCLUDE, INPUT=all.msh
>     *INCLUDE, INPUT=fix1.nam
>     *INCLUDE, INPUT=fix2.nam
>     *INCLUDE, INPUT=fix3.nam

*INCLUDEキーワードは、CCXに追加のファイルを読み込ませるためのものです。このモデルのメッシュ定義は、"all.msh"ファイルで定義されています。拡張子が".nam"のファイルには、ノードセットの定義が書かれています。これらは前回のチュートリアルでCGXから生成されたものです。

材料
----

>     *MATERIAL, Name=steel
>     *ELASTIC
>       28000000, 0.3
>     *SOLID SECTION, Elset=Eall, Material=steel

今回の解析で使用した材料モデルは、線形弾性モデルです。ヤング率とポアソン比があれば、静的な線形弾性解を得ることができます。これはもっともシンプルな材料モデルです。材料の定義とともに、SECTIONカード、この場合は"*SOLID SECTION"があります。

MatWebは、試験プログラムや材料メーカーからの情報がない場合に、予備的な材料データを得るための素晴らしいリソース（http：//www.matweb.com）です。

解析タイプ
----------

>     *STEP
>     *STATIC
>     ...
>     *END STEP

解析には少なくとも1つのロードステップが定義されている必要があります。ステップは、*STEPカードによって開かれ、*END STEPによって閉じられます。ステップの定義には、解析タイプの宣言、境界条件、出力要求が含まれます。この例では、線形静的解析を行います。

境界条件
--------

>     *BOUNDARY
>       Nfix1,3,3,0
>       Nfix2,2,3,0
>       Nfix3,1,3,0
>     *DLOAD
>     *INCLUDE, INPUT=load.dlo

このモデルの変位境界条件は、"*BOUNDARY"カードで定義されます。ノードセット"Nfix1"は、第3自由度（DOF）の動きを拘束されています。Nfix2"のノードの第2、第3のDOFは動きを拘束されます。Nfix3"の節点の1〜3自由度もゼロに拘束されています。

また、分布荷重をかけています（*DLOAD）。
この荷重は、ファイル"load.dlo"の要素面に適用されます。

出力要求
--------

>     *NODE FILE
>       U
>     *EL FILE
>       S, E

節点変位と要素応力とひずみは、後処理用のファイルに書き込まれます。これはFRD形式のファイルです。

これらのキーワードやその他多くのオプションについては、CCXのドキュメントを参照してください。

<font color="Green">**ソルバーを実行します。**</font>

K："ccx beam"と入力し、E

<font color="Green">****</font>最後の行に"Job finished"と表示されているはずです。
<font color="Green">****</font>CGXで後処理

K："cgx -v beam.frd"と入力し、E

M：描画ウィンドウ内でマウスを描画領域の左または下に移動させます（この領域はメニュー領域とも呼ばれます）
LMP
V：グレーのメニューが表示され、上に"Datasets"、下に"-QUIT-"が表示されます
M："Datasets"という項目にマウスを移動させ、一時停止します
V："Datasets"からグレーのサブメニューが表示されます
M："1. Disp 1.00000"という項目にマウスを移動します
LMR

<font color="Green">**データセットは変位になりました。**</font>

M：描画ウィンドウでマウスを描画領域の左または下に移動させます
LMP
V：グレーのメニューが表示され、上に"Datasets"、下に"-QUIT-"が表示されます
M："Datasets"という項目にマウスを移動させ、一時停止します
V："Datasets"からグレーのサブメニューが表示されます
M："Entity-"という項目にマウスを移動し、一時停止します
V："Entity-"からグレーのサブメニューが表示されます
M："D2"という項目にマウスを移動します
LMR

<font color="Green">**垂直方向の変位の等高線が表示されました。**</font>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/ab7af206-4ea1-caea-189d-506c79976927.png)

<font color="Green">**オイラービームの端部の垂直方向の変位は：-0.000536となります。**</font>

$$y_{max}=\frac{-wl^{4}}{8EI}$$

<font color="Green">**結果の-0.000539は、仮定を考えると十分に近い値です。**</font>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/3f3e2406-50c6-1e93-cfca-dcbca6fb2119.png)

<font color="Green">**データセット"Stress"とエンティティ"SZZ"を選択します。**</font>

<font color="Green">**ビームの曲げ応力は次のように仮定して300です：**</font>

$$\sigma_{yy}=\frac{Mc}{I}$$

<font color="Green">**FEMからの結果は315と-289です。**</font>

<font color="Green">**梁理論の仮定に近い梁領域と、より精緻なメッシュを用いれば、より一致した結果が得られるでしょうが、この結果は問題を十分に示しています。**</font>

<font color="Green">**この議論の中で、単位がないことに注意してください。単位系は、モデル全体を通して一貫している必要があります。そうでなければ、単位は役割を果たしません。**</font>

さらなる支援を求めて
====================

その他にも多くの参考資料があります。

**CGX**コマンドのヘルプについては、次を参照してください。

1.  CGXのドキュメントは、このアプリケーションの開発者であるKlaus Wittig氏によって書かれたもので、最初に読むのに適しています。最初のいくつかのセクション（少なくとも"Getting Started"まで）を読めば、簡単に概要を知ることができます。また、コマンドリファレンスやサンプルモデルのセクションもあります。
2.  Yahoo! Group for CalculiX（http：//groups.yahoo.com/group/calculix/）[^1]は、CGXのヘルプを得るのに最適な場所です。これは6年前から使われています。アーカイブを検索したり、質問を投稿できます。開発者と多くのアクティブなユーザが貢献しています。

いくつかの**CCX**リファレンスは次のとおりです：

1.  ドキュメントは、まず始めに読むのに良い場所です。これはCCXの開発者であるGuido Dhond氏によって書かれたものです。
2.  CCXの入力はABAQUS構文と完全に同じではありませんが、ABAQUSのドキュメントが参考になるくらいには近いものです。
3.  CCXのビルドにはかなりの数のテストファイルが含まれています。これらもGuido Dhondt氏から提供されたものです。
4.  Yahoo! GroupもCCXに関する質問には最適です（フォーラムを管理しているのはGuido氏です）。

[^1]: 現在のディスカッショングループは、Discourseにあります。