CalculiX用プログラム置場・2007/10/02更新

管理者 千田知弘 メール

index

  1. CalculiXのインストール
  2. 各種プログラム
  3. ここのプログラムの内部の説明
  4. その他
  5. はじめに(読まなくて可)
  6. 注意事項(必須?)


CalculiXのインストール

CalculiXとは、GPLライセンスのフリーかつオープンソースの 有限要素解析ツールのことです。 windows版、Linux版が用意されており、 それぞれの実行ファイル、マニュアル等のインストールは
http://www.dhondt.de/
から行ってください。 もしLinux(vine)で用いる場合は、 こちら にインストールの日本語簡単訳があります。 使用方法などは、インストールしたマニュアルを読んでください。
input file で用いるコマンドの日本語訳は、
http://www.waka.kindai.ac.jp/tea/shibue/abaqus-inpexp.html
http://www.gsic.titech.ac.jp/~ccwww/tebiki/
のABAQUSの所が参考になると思います。 ちなみにこれらは最近学生が見付けて来たもので、 私は500pのマニュアルを全部きっちり読みましたけど(笑)。



半解析系

*更新情報
(2007/05/29)
昔書いてアクセス制限をかけていた、『cgxのつかい方』の アクセス制限を解除し、このページにリンクしました。 ただし、学生に最低限のことを覚えてもらうために書いたものであることと、 cgxをプリプロセッサとして用いることを前提としていないため、 非常に中途半端なものとなっています。 それでも良ければ御利用下さい。 なお、今のところ更新するつもりはありません。
(2007/10/02)
calculixのバージョン1.7がリリースされました。
(2007/03/01)
今のところ全解析系のプログラムはかなり古いバージョン載せています。 よって、最新バージョンの半解析プログラムとは ほとんど比較できなくなってしまいました。 よって、随時比較できるものを追加していこうと思います。
(2007/01/16)
分かりづれ〜、と評判が悪かった図6を差し替え、 対称面のところも書いてある図にしました。 それに合わせちょっと文章も書き換えました。
近日中に各モデルの図を載せていくつもりです。

全体図
全体図
モデル1
FEMモデル
全体図
全体図
モデル1
FEMモデル

合成梁関係

ここのプログラムの内部の説明

ここではちょこっとだけプログラムの説明を。 目次と位置が異なりますが、見やすさを重視したいので、 ここに置かせてもらいます(リンク重視ってことで)。 上の合成系の各プログラムの断面寸法(単位mm)を図1に、 座標系を図2に、 メッシュを切った図を図3 (拡大図) に、 自由端に集中荷重をかけて解析した結果をCalculiXのグラフィックツールcgxを使用して 描いた応力分布図を図4 (拡大図)*注1 に示します。

size
図1
zahyou
図2
size
図3
cgx
図4

まず、 図1は良いとして、図2では、図心に原点がくるように (当り前ですが)右手系で座標を定義し、メッシュを切っています。 節点番号と要素番号の定義は、図5のように、原点をどこに置いたかは別として、 図5 ( 拡大図 ) のような座標系で、左上を節点番号1として、x軸方向に節点番号が増えて行く様にし、 一番右側に来たらy方向に一段下がってまた左から番号をつけ、一番手前のxy面が埋まったら、 z方向に一つ進んでまた一番左上から続ける、というように設定しています。 要素番号もまた同じルールに従います。 このように、原点はあくまで座標であり、節点に依存も影響もしません。 どの節点を原点にするのかということだけです。 最初のうちどうしても慣れないのであれば、一番左上、つまり節点番号1番を 原点にしてプログラムすると良いかも知れません。

narabi.png
図5

ただし、CalculiXでは、 剛性マトリクスの関係で、 要素ごとの節点の並びを特定の並びに直さなければなりません。 このページにある全てのプログラムでは、 出力の時だけ並び替えて出力するようにしています (subroutine youso:write文で入れ換えている)。 もし、この節点の並びを採用するのであれば、 そのまま使用すれば問題ありません。 もちろん、CalculiXで書かれている節点、要素の並びを採用しても構いませんが、 面倒だと思います。
で、メッシュを切るときに注意しなければならないことがあります。 Calculixでは拘束箇所に載荷できないことになっているので、 断面弱軸の対象条件から半解析する場合には対称面にある節点全てに 載荷することができません。 よって図6のように、yz 面上に隣接する要素は, ひとつの要素をまっぷたつにしたイメージで、 x方向に隣接する要素に比べてx方向の幅を半分にし (各プログラムのsubroutine zahyouに対応)、 対称面に属する節点に載荷しないで済むようにしています。 つまり全体解析において x 方向の要素分割を奇数分割にし、 その中央の要素を対称面で2分割したモデルと同じであり、 分割しないで全体解析した値と同じ解析値を得られます。 また、集中荷重を受ける場合は、ひとつの節点に載荷したり、 中立軸に分配して載荷する、という方法をとらずに、 載荷の向きに対応する面の各節点に一様に載荷しますが、 各節点に同じ荷重を載荷すると、 角の方に応力が集中してしまうことと、 対称面上の節点には載荷できないという先の理由から、 各節点に隣接する要素の断面積に応じて載荷しています。 具体的には載荷荷重Pを断面積Aで割ったP/A=pとし、 図6のように2、3、5、6要素に接する節点にはそれぞれ、(a3/4)p〜 (a2/4+a3/4+a5/4+a6/4)pを載荷するよう工夫しています (各プログラムのsubroutine mensekiに対応)。 なお、図6は、ckhkata.fの所に書いたように、 本来単純梁のものを片持ち梁として内部で処理しているため、 本来たわむ梁中央が固定端となっています。 よって、載荷は自由端が上にたわむようにして、 見かけ上固定端が下にくるように設定しているので、 座標軸が逆になっているので注意してください (私が右手系を間違えているのではありません(笑))。 載荷をマイナスではなく、 正にとれば普通にたわみは正ででます(一般的な座標になります)。
ちなみにプログラム上では対称面のところだけ面積を2倍にして、 対応しています。

menseki
図6

この二つの工夫を用いるなら、注意事項にあるように、 参考文献にこのページを載せてもらえるとありがたいです。 ちなみにプログラムでは載荷荷重がマイナスになっていますが、 このプログラムは本来単純梁だったものを、対象条件から 片持ち梁としているので、固定端が実は梁の中央だということを 御理解ください。よって、実際の挙動に合わせるために、 デフォールトでは載荷荷重がマイナスになっています。 つまりy方向のマイナス側へ載荷しているのです。 ただ単純に片持ち梁を解くならプラスにしましょう。
その他の数式などに関しては、単純な数学です。 もし分からない場合は、nxとかいった変数に任意の値をいれ、 実際に図を書いてみることをお薦めします。 そうすることによってメッシュの切り方や、座標の決め方が分かってくると 思います。 ただし、いきなりhgousei3.fではなく、 簡単なckhkata.fやCalculiXに付いてくるサンプルなどで なさるのが良いでしょう。
★注1
cgxは各データごとの最大値と最小値で色の分布を決定してしまうため、 最大値と最小値の異なる図を複数並べて表示することに対応していません。 別に一個ずつ載せるからいいや、という方ならまだしも、 困る方の方が多いのでは。 もちろん違うグラフィックツールを使う方法もありますが、 我が師・ 後藤さん 色を合わせるプログラム を作ってくださったので今回はそれを使って、 応力の色を合わせました。複数図を使う方は御利用ください。



全解析系

半解析系のプログラムと比較できるように、 全解析プログラムをリニューアルしていこうと考えています。 手始めに何個か載せときます。 2007/03以降のプログラムだけまともです。 その他はあくまでも個人的なバックアップ(移すの面倒だから後で移します)なので、 参考資料程度にしてください。

柱関係

梁関係

合成梁関係

逆対称四点曲げシリーズ

作りかけ置場

いろんなプログラムをあちこちに作り過ぎて混乱してきたので、 strに置場をもうけてみた。

その他



はじめに

別のところでも書いたけど、読みたくもないのに「はじめに」が 最初にあって読まなくちゃいけない的な強迫観念に陥るようなサイトは嫌いだし (はじめにをとばすのにマウスの第三ボタンをクリクリするのも面倒ですね)、 逆に読まない人が少なからずいるのに何げに重要なことを「はじめに」に 書いてあるサイトもまた私は嫌いだ。 また、「はじめに」ごときで別ページを作ってリンクすることも、 後でディレクトリの中を見たときファイルがいっぱいあるのが嫌だから 絶対にしない。 よって、私のページの場合「はじめに」は後に持ってきて、 必須事項は書かないようにして、 読みたい人だけ読んでくれ、みたいにしている。
前置きが長くなったけど、このページは文字どおりプログラム置場で、 バックアップの意味も兼ねているけど、 学生がネットのつながる環境ならどこでも、 好きにダウンロードして、適宜改造して使えるように、 また、自分でプログラムする際の参考資料に、 という意味で作りました。 よって、著作権はもちろん放棄していますので、 ご自由にどなたでもお使いください。 また、近いうちに実戦向きのフォートラン講座を書こうと思っています。 代入法の簡単かつ最大限の効果を発揮する例題は必須だし、 if 文のフローチャートを載せているところは多いけど、 実際どう処理されるか具体例が少ない、と言った不満があるからです。 毎度毎度学生に指導するのも飽きたっていうのもありますが。



注意事項