接触要素を使うと計算が収束しないことがよくあります。その1番目の対策は、連載第12回の図12で示しました。ここでは、その他のテクニックを紹介します。
相手の立場になって物事を考えると、問題を早く解決できる場合があります。非線形解析ではプログラムの気持ちを考えるとうまくいくことがあります。1990年代に接触要素を使い始めたときです。試しに図12のような片持ちはりを計算してみました。期待していた解析結果を図13に示します。
手始めに、はりと台の接触しそうな2つの節点を選択し、その接点間にギャップ要素を設置しました。節点のペアは多数ありますが、1つずつマウスをポチッ、ポチッと押しながら要素を作りました。そうすると、図13のような結果が得られました。次に、はりと台の面−面に接触要素を配置して計算してみました。計算は収束しませんでしたが、計算途中の様子を見ることができました。そのときの記憶をベースに作成したものを図14に示します。
「プログラムは、どことどこが接触するか全く見当もつかずに計算している」ことに気が付きました。プログラムの気持ちになって考えれば、「どことどこが接触するか」をプログラムに教えてあげればよいのです。図15のように、3ステップに分けて解析すると計算が収束しました。
試しに、現在のバージョンで解析すると図12の境界条件で一発で計算できましたが、もっと複雑な問題で未収束になったら試してみる価値があります。
読者の中には、「私は聖徳太子ではありませんので、一度にいろいろと言わないでください!」と言ったことのある、あるいは言われたことのある人がいるかもしれません。プログラムもそう言っています。大規模モデルを解析するときを想定します。計算が収束しても、しなくても2〜3日の計算時間を要します。さらに、収束させるための試行錯誤を5回行ったとしましょう。すると、かかった日数のトータルは10〜15日となり、約半月を費やすことになります。
大規模解析のときは、以下の手順を踏むようにしています。
(1)接触要素は全て固着、材料は弾性体、粗いメッシュで解析
(2)接触要素は全て固着、材料は弾塑性体、粗いメッシュで解析
(3)接触要素を摩擦ありなどに設定、材料は弾塑性体、粗いメッシュで解析
(4)接触要素を摩擦ありなどに設定、材料は弾塑性体、細いメッシュで解析
プログラムに一度に全てを要求するのではなく、少しずつ指示を出すのです。(1)の作業では拘束不足による剛体変位、ポカミスなどを洗い出します。たぶん1回の計算に1時間もかからないでしょう。(2)では材料非線形など、接触以外の非線形要因のバグ出しを行います。構造物が崩壊するほどの荷重を加えていたときはこの時点で未収束になります。1回の計算に4〜5時間を要するでしょうか。(3)では接触要素の動作確認をします。時間は一晩程度でしょうか。(4)は本番解析です。(1)(2)(3)の作業でいくつかの試行錯誤があっても4〜5日程度で作業が完了します。粗いメッシュでバグ出しをするところがポイントです。
Copyright © ITmedia, Inc. All Rights Reserved.