片持ち梁 150 川井モデル 37 行列 59 行列式 59 剛性マトリックス 固定条件の処理 Choleski 法 97 エネルギー原理 FEMT 円孔板 応力 要素剛性マトリックス 68 91 160 50 仮想記憶方式 105 と歪の関係 80 転置マトリックス 熱伝導 34 六ンド・マトリッ 歪 49 エネルギー 平面応力問題 変位 47 と歪の関係 要素分割 マトリックス P oi on 比 変位法 14 4 51 52 悪い分割の例 6 0 列べクトル Rayleigh- Ritz 法 64 67 57 クス 70 8 0 73 165 2 58 9 1 6 7 三角形の面積 23 精度 154 節点番号のつけかた 全体剛性マトリックス 剪断弾性係数 51 弾性係数 (Young 率 ) 116 DDL 145 67 51
1 ・ 3 有限要素法小史 に航空機の設計計算に投人された . 胴体の骨組の強度計算 ( これも , なかなか大変な計算であるが ) は , 比較的 早く実用化された . その段階で , いわゆる「マトリックス法」という手法が確 立され , そこで必要となる大次元方程式の計算も , かなりうまく処理できるよ うになった . 骨組の計算がなぜ簡単に成功したかというと , それは複雑だと いっても , 部材数が多く 3 次元的な構造をしている , というだけのことで , 基 本的な計算法は , 既にトラスの解法 , ラーメンの解法として完成していたから で , あとは , それをコンビ = ータでいかにうまく処理するか , ということだけ を , くふうすればよかったのである . それに対し , 航空機の翼は , 図 1.6 のような構造をしている . を , まともに解析する方法は , まだ確立されていなかった . こういうもの つなぎ易さが鍵板 1 枚だけの計算ならば , 古典的方法によって可能である . だから , 理屈としては , 板を 1 枚 1 枚 , くラ , くラにして計算式を作り , それを全 部つなぎあわせて解析すればよいはずである ここまでは , 誰でも考えっく . ところが , 実際にやってみると , 古典的な計算式は , 隣の板の計算式と接続し ようと思っても , なかなかうまくいかないことがわかった . そこで , 新たに , もっと自由に接続し易いモデル ( 数学的模型 ) を作ること にした . 新しいモデルは , 簡単に接続することができるので , 板の内部の応力 分布が複雑な場合は , 一枚の板を , 仮想的にいくっかの小部分に分割し , それ ぞれ簡単なモデルを作ってつないで解析することができた . この「新しいモデ ル」が有限要素法になったのである . 一般化最初の論文 [ 1 ] には , 補強部材の取扱いかたとか , 箱桁の解きかた など , 実用的に袿力のある事項がいろいろ書かれているが , 肝心の「つなぎ易 いモデル」の導出法に関しては , ごく簡単な説明しか書いてない . 工学的な勘 と試行錯誤の結果として出てきたものなのであろう . 理詰めで読もうとすると , かなり難解な論文である . ところが , その後 , よく検討してみると , このモデルは , エネルギー原理と いう ( 応用力学の分野では昔からなじみの深い ) 法則から簡単に導けることが わかってきた . しかも , 有限要素法は , RaYleigh-Ritz 法の一種で , その試験
4. 実習用プログラム 出力例 4 1 168.2 7 -7.6 9 17 う . 96 28 . 85 0 . 0 0 0 . い 0 0 . 0 0 0 . 0 0 0 . 0 0 2 8 . 8 5 - 4 8 . U 8 0 . 0 0 0 . 0 0 0 . い 0 0 . 00 0 .00 17 9 . 81 -7.6 9 168. 2 / - 5 . 85 -48. 0 8 19. 2 5 0 .00 0 . 0 0 0 . 00 2 8 . 8 5 19 . 2 5 0 . 0 0 -4 8 . 0 8 -13 . 4 6 -2 6 . 9 2 0 . 0 し 0 . 0 0 0 . 0 0 ー J . 8 5 -7 . 6 9 2 4 4 . 8 7 2 21 . 7 9 -3 2 . 05 2 ・ 0 5 0 . 0 0 -11 . 5 4 2 8 . 8 5 -55 ・ 13 ー 4 8 . 0 8 -62. D5 155.90 5 2 . 0 5 2 8 . 8 う 0 . 0 0 19 . 2 J - 4 0 . 3 8 2 4 8 . 7 2 - 7 . 6 9 2 21.7 9 5 2 . 05 ー 3 2 . 05 -19.2 5 0 . OU 19. ゑ 3 ー 5 5 . 15 -3 2 . 0 5 14 9 . 6 6 3 2 . 05 0 . 0 リ -48 . 08 0.00 0 . 0 0 - 4 8 . 0 8 -11.5 4 19. 2 5 0 . 0 0 247.44 224.36 0 . 0 0 0 . 0 0 -4 8 . 0 8 28.85 -4 0. 5 8 -4 8 . 08 0 . 0 リ 0 . 0 0 0 . 0 0 -4 8 . 0 8 14 4 . 8 7 4 8 . 0 8 -19. 2 3 0 . 00 0 . 0 0 22 4 . 3 6 0 . 0 リ 0 .00 -6 7 . 31 0 . 0 0 -0. 00 0 . 00 4 8 . 0 8 - 4 8 . 0 8 -6 4 . 10 2 8 . 8 5 0 . u 0 5 56.5 4 0 . 0 0 0 . 00 0 . 00 し . 0 り 1 9 . 2 5 0 . 0 0 0 . 0 0 0 . n 0 .00 0 . 00 0.0 0 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0 0 . 00 0 . 0 0 0 . 00 0 . 0 0 0. 0 0 0 . 00 0. 0 0 0 . 00 0 . 00 0.00 - 4 8 . 0 8 7 うを 0 リ 2 8 . 8 ) -4 8 . 0 8 19. 2 5 ー 2 6 . 9 2 0 . 0 9 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 日 0 . 0 い 0 . 0 0 . 0 リ 0 . 0 い 19.2 5 -4 8 . U 8 0 . 0 0 8 8 . 4 6 -4 8 . 0 8 -15.4 6 2 8 . 8 う ー 2 6 . 9 2 0.0 0 0. 0 0 0. 0 0 0. 0 0 0 . 0 0 0 . 0 0 0 . 00 0 . 0 0 19.2 5 -26 . 92 0 . 0 0 0 .00 0 . 0 し U . 0 U 0 . 0 0 0 ・ 00 -48 . 08 48.08 599 0 .00 い . 0 0 0.0 0 0 . 0 0 0. 0 0 . n 0 -0. 00 -6 7 . 5 ・ 4 8 . . 56 0 . 0 い 0 . 0 ロ 0 . 0 い 0 . 0 u 0 . 0 い ぐらいと考えてよいであろう t. あっても , 実際には カタログなどに もっと大きな数字が書いて 管理フ。ログラム ( いわゆる OS ) が相当に広い 場所を占領する いくっかの仕事を同時処理する などの事情により , 個々の仕事に割り当てられる広さは , だいたい上記の程度 になるのが普通である . こういう制約のもとで , なるべく大きな問題まで解けるようにするには , 外部記憶装置 ( ディスクなど ) を活用する ということも考えられるが , その前に , まず 問題の特殊性を生かした処理法をくふうする という可能性を検討するのがよさそうである . そこで , 有限要素法の方程式に , どのような特殊性があるかを調べるために 剛性マトリックスを印刷させてみると , たとえば出力例 4.1 のようになり , 対称である 0 でない値は対角付近に集中している という性質があることがわかる . これは , 今の例に限らず , 多くの問題に共通 ↑大型計算センターでは , 運営上 , 必要記憶容量と計算所要時間によって , 仕事を いくっかのクラスに分け , 小口 ( 小容量 , 短時間 ) の仕事は優先的に処理し , 大口 ( 大 容量 , 長時間 ) の仕事は , ひまな時に処理する , というような方式をとっている所が 多い . TSS ( 会話的即時利用 ) の場合には , さらに厳しい容量制限を設けることがあ る .
16 ビットパソコン PC-9801 BASIC 戸川隼人著 2 色刷・ A 5 ・ 2200 円 16 ビット高速 CPU を採用した PC ー 9801 を , 初めての人にも使えるように , 例題 を多く使って説明 . 図形表示は特にわかリやすいと好評 . PC ー 9801F 日本語 BASIC 戸川隼人著 2 色刷・ A5 ・ 2600 円 JIS 第 1 水準の漢字 ROM を標準装備した NEC 最新 16 ビットパソコンの解説書 . 図形処理・ファイル処理・数値計算等が , 初心者にも可能になる . サイエンス社
4.3 データ入力方法の合理化 たとえば , 地盤の弾性係数を 3 通り変えて計算してみる , も , たいへん便利である . このプログラムでは , また , L E T H = A 十 B ー 3 . 6 109 というような場合に というような代人文を使うことも可能である . そういう機能があれば , 自動分 割 ( の簡単なもの ) と同じような処理ができる . よく使われる材料の特性を , データ・ライプラリーとして ( システムの側で ) 記憶しておいて , データ・カードに材料名 ( 規格番号など ) をパンチしておけ ば , 該当する値をとり出してそれで計算してくれる , という方式もある . これ も , 実用上 , 非常に便利である . フリー・フォーマット普通の FORTRAN の READ 文は , 変数名と穿孔位 置の対応が固定していて , 必ず指定された位置にパンチしなければならない . しかし , それでは不便なことが多いので , 最近は 項目の区切りは , 空白またはコンマで表す 項目の順序を変えてはいけない しかし ( 上記の二つを守れば ) 位置は自由 という方式が , 新しいプログラミング言語や , TSS 用 FORTRAN などで , よく使われるようになってきた . 使ってみると , 確かに便利である . たとえば , 85 ページのプログラムでは , 節点のデータを 点番号空白 ェ座標 1 7 5 . 8 座標 これを左につめて というような形で入れるようになっているが , 2 6 1 7 5 . 8 とパンチすることが許されるようになるわけである . そういうプログラムを , 普通の FORTRA N の文法で書こうとすると , なか なか手間がかかる . しかし書けないことはない . あとで示すプログラム ( pp ・ まちがいや , 書きまちがい , 転記ミス , 記入方法のまちがい , カード穿孔のミ 入力データの確認入力データの作成の段階では手作業が多く , 座標の読み 136 ~ 142 ) はその 1 例である .
[ 例 ] マトリックスの加算 C 良い例 106 3 ) ーに 4 ) 5 ) い例 I = J = 4. 実習用プログラム F OR TR AN では , 2 次元配列を , 列ごとにまとめて , 列番号順にメモリ ようにするとよい . 近い時点で使用するデータは近い番地に入れておく 入れている . 第 1 列の第 2 列の データデータ 第れ列の 上記 2 , 3 の理由から , なるべく , 列番号の近いデータをまとめて処理するこ したがって , マトリックスの計算する場合 , 原則として とが望ましい . 小さい ( 内側の ) ループでは行番号をコントロールする 大きい ( 外側の ) ループでは列番号をコントロールする という形にするとよい . = A 十 B の場合 , D 0 D O 1 J = 1 , N 1 1 = 1 , N D O D O 悪 1 1 1 , N 1 , N 1 4 ・ 3 C い , J ) = A ( I , J ) + B い , J) データ入力方法の合理化 1 C ( I , J ) = A い , J) + B い , J ) 有限要素法のプログラムの , データ入力部分は , いることが望ましい . データ作成の労力が少なくて済むこと データの追加や変更が容易であること 十分に「誤りの対策」をしてあること 次の三つの条件を満たして これを実現する方法として , いろいろなアイディアが浮かぶが , 大別して フ。ログラムの改良によって使い易くする 自動分割 図形入力装置の利用 この内 , などが考えられると思う . 自動分割と図形入力装置については ,
4.6 プログラムのリスト 4. 6 プログラムのリスト FEMT (version 3 ) のソース・リストを以下に示す . 前章末のプログラム と基本的には同じものなので , 説明はあまり必要ないと思う . メインプログラム 121 開始 INCARD カード 1 枚を読む む 一三ロ を タ デ 要素鋼性マト リックスの作 成と全体剛性 マトリックス への加え込み を行なう S MTRM を使う SMLIN 棒要素 SMTRM 三角形要素 剛性マトリックス を作る 固定条件処理 SMQDM 四角形要素 連立方程式 Ku = f を解く 応力計算と 結果の印刷 FIX 固定条件の処理 BCD コレスキー 分解 リックス用 BSL 右辺の計算 応力計算にも S MLIN SMTRM SMQDM を使用する 次のカード を読む カードなし ならば 終了
107 4.3 データ人力方法の合理化 「高等技術」であ。て本書の程度を越える t 多額の開発費がかかる かなり用途を限定しないと「便利なシステム」にならない などの理由により , 説明は省略し , 以下では , 主として , プログラムの簡単な 改造で実施できる方法 ( しかも , かなり一般的に応用できる方法 ) について述 べる . 座標変換節点の座標は , 図面から読み取。てデータ・シートに記入するわ けであるが , そのときに 読み取りの際には , 作業につごうのよい座標系で読む ータで行なう その値から実際の座標値への変換はコンヒ。 = ということにすれば便利であろう . 特に , 3 次元データの入力に際しては , のような機能がぜひ必要である . ごく簡単で , 要するに , 節点データを読み取。たあとで , 座 プログラムは , 標変換の計算をしてやればよいわけであるから , プ。グラム例を示す必要もな いであろう . プログラムを書く上で , ちょ。と問題になるのは , どのデータにどのような 処理をするかという指定のしかた ( 表しかた ) である . ひと口に座標変換とい っても , 拡大縮小 , 平行移動 , 回転 , 符号反転 , 極座標や曲線座標から直交座標への変換 など , いろいろある . そういうものを , 何でもできるようにすることは , 技術 的には可能であろうが , 使用法が複雑になり , かえ。て不便なシステムにな。 てしまうおそれがある . 実際には , むしろ , 使用目的を限定して , 仕様を簡素 化しておく方がよいと思う . 123 ページのプ。グラム例では , 「係数を掛ける」「平行移動」「極座標から ↑特別にむすかしい , というわけではないが , 本書は一般の研究者 , 技術者を対象 にしており , プログラミングの技巧的な話に深く立ち入ることは避けた方がいいと考 ータ・マニア向きの話は , いつか別の機会に書 えて , 省略することにした . コンヒュ きたいと思っている .
5 使用法と計算例 5. 1 要素分割 有限要素法で問題を解析する場合 , 次のような手順が必要である . 1 ) 2 ) 3 ) 4 ) 5 ) 6 ) 7 ) 物理的な簡単化 要素分割 入力データの作成 カード穿孔 コンヒ。 ータ処理 結果を読む 解釈し検討する 各段階について , もう少し詳しく説明しよう . 1 ) 物理的な簡単化 実際の問題を , 適当に理想化 , 簡単化して , 有限要素法で扱うことのできる 程度の問題になおす . すなわち , 個々の問題に許される範囲内で 細部構造の省略 影響の少ない要因の省略 特性の線型化 2 次元化 , 1 次元化 対称性の利用 局所化 などを行なう . こういう処理は , 有限要素法に限らず , どのような方法で解析 する場合もやるわけであるが , 有限要素法の場合には , 必要に応じて , 従来の 方法よりもはるかに詳しい解析ができるのであるから , 簡単化しすぎないよう に , しかも計算費用をむだにしないように , その間のランスを考えて , 詳し さの程度を適切に決めることが大切である . 既に発表された計算例などを参考
2 基本的な考え方 有限要素法の基本的な発想は 分割して 個々に計算して 全体を総合する ( 問題とする領域をいくっかの小部分に分ける ) ( 各部分ごとに簡単な近似式を適用する ) ( それをつなぎあわせて全体の計算を行なう ) ということにあり , しかもそれは 有限の分割で扱う ( 極限操作をしないで数値計算により処理する ) という点に特長がある . このような考え方を理解し , その定石的な処理技術を 学ぶために , 本章ではまず , 任意形状の図形の面積を有限要素法的なやりかた で計算し , その利害得失を考える . 2. 1 有限ということ まず簡単な例として , 放物線リ = ェ 2 ェ軸 直線ェ = 1 で囲まれた部分の面積の計算について考えてみよう . であるから , 積分の公式を使えば容易に計算できるが , たぶん高等学校のころ これは , に , 積分の前段階として , もっと原始的な方法を習ったと思う . すなわち , ェ = 0 からェ = 1 までを〃等分して , 分点 をとり , に分け , 区間 [ 0 , 1 ] を小区間 小区間の上の面積を ん = 1 , 2 , = ( 区間幅 ) x ( 区間の右端の関数値 ) = ( 1 / 〃 ) x は / 司 2