艱難辛苦、汝を玉にするここ数年、サポート部署に寄せられた有限要素法(FEM)解析ユーザーからの質問メールを横から垣間見ていると、筆者は複雑な気持ちにさせられる-この話題については、最後に余談として記載しておく。質量を入力せずに自重計算を実行しようとしたり、熱膨張係数を与えずに熱応力解析をしようとする入力ミスはご愛嬌としても、いまだ多いのが剛体変形を止める拘束条件の設定ミスである。FEM解析のイロハ事でありながら、この問題が絶えないのは、それだけFEMの世界に入ってくるエンジニアが続いている証拠なのだろうか。あるならば、長年この分野に携わってきた筆者としては、うれしい限りのことなのだが。そんなことで今回、剛体変形のテーマをまな板に載せてみたい。読者の中でベテランユーザーがおられたら、こんな初歩常識をテーマにするなんて、「人を馬鹿にするな」と叱られそうだが、初めてFEMの世界に足を踏み入れた頃の若かった自分を思い出していただきたい。同じようなミスを経験されているのを想像する。言う筆者自身もそうだったのだから。言うまでもないことだが、構造設計者が対象としようとする解析は、一般力学が扱っている剛体力学や機構解析での物体の運動ではない。載荷された弾性体の変形およびそれによって生ずる歪、応力を求めようする弾性力学の範疇に入る解析のはずだ。そのため、解析結果の中に歪が全く発生しない剛体変形モードが内在していては不都合であり、またそれには設計者は興味が無いはずである。剛体変形モードをFEMプログラム(以下、ソルバーと称す)が自動的に除外することは不可能である。優れたプリプロセッサであろうとも、この機能を持たせることも不可能だ。剛体変形モードは、ユーザーが自分で除外するしかないのである。剛体変形の6モード剛体変形は、3次元構造の場合だと、図1にあるように構造系全体が何の変形も起こさずに移動する並進3方向のモードと3軸回りの回転モードの計6モードが存在する(2次元構造では、並進2モードと回転モードの計3モード)。剛体変形モードの除去といえば、何だか難しそうな作業に思えてしまうが、何のことはない、このモードが出現しないように、節点自由度を拘束する情報をソルバーへ指示するだけのことである。実際の構造物が明確な拘束点を持っている場合はともかく、かならずしもはっきりしないケースもあり、これが、設定忘れや設定ミスを引き起こす要因になっているのが実情のようだ。剛体回転の阻止を忘れることが多いのである。以下は、いくつかの実例で、失敗例を見ていく。図2の問題は、X-Y面内にある平板の左右側面で対称荷重を掛けるという教育的な意味しか持たないような問題だ。この場合のように、変形が対称になる場合では、対称条件を利用して対称軸(面)上で拘束条件を設定する方法が一般的である。図2右図のモデル化では、まだ不十分である。確かに、この拘束設定で、X軸方向の剛体変形は止まり、平面内で回転する(Z軸回り)剛体回転も止められるであろうが、Y軸方向の並進剛体変形が止められていない。この場合、当該モデルの応力場に影響を与えないように、対称軸上どこかの1節点のY軸方向自由度を拘束することである。間違っても、上下端などの2点拘束はしてはいけない。そんなことをすれば、ポアソン比の関係で、平板が上下方向に縮もうとするのを阻止することになり、これでは真の応力場を乱すことになる。ここらが、FEM初心者には、難しいところかもしれない。一般的には、対称条件が利用できる問題ならば、積極的にそれを利用すべきである。実務でもそういう問題は結構多いものである。次は、鉛直方向(Z軸方向)を支えられた3次元構造物の問題である(図3)。このようなY軸方向の単純支持だけでは、X軸方向に剛体変形を許すことになるので、1点でその拘束をしようとしているのが、A点の表示である。これだけでは駄目である。3方向の並進とX,Y軸回りの回転の剛体変形は止まるが、Z軸回りの剛体回転を許すことになる。応力場を変化させないように、もう1点どこかにX軸方向自由度を拘束する必要がある。言っても、A点が属する鉛直ライン上の節点を候補にあげると意味が無いこと、賢明なる読者はお分かりだろう。このパターンのミスは、FEMに不慣れなユーザーがよく陥るミスでもある。図4のモデルは、本来、構造全体をソリッド要素でメッシュ分割するところをメッシュ数の減少化を目指して、あまり関心のない領域を梁モデルで近似して、両者を平面保持の変形条件を使って結合したものである。ビーム・ソリッド要素の複合モデルこのモデリングはよく利用される手法なのだが、うっかりすると剛体変形を見落としてしまう。構造全系を本来のソリッド要素のみでモデル化していれば、両端の拘束条件設定で、Z軸方向並進拘束をX軸方向の複数点で設定するから、Y軸回りの剛体回転が自動的に拘束されるのだが、なまじっか、梁要素で置き換えたため1点支持になり、ついY軸回りの回転拘束を見逃してしまうという例である。上3例では、剛体変形する方向や回転軸で、構造モデルを定義するグローバル座標軸に関する説明をしてきたが、事はそう単純ではない。実はグローバル座標軸では説明できない剛体変形モードも存在するのだ。それが、図5にあるような拘束状態である。この図は、対角線上に対向する2点で、並進3自由度を拘束している状態を表している。実際の構造物で、こんな拘束条件は考えにくい教育的な問題設定だが、ともかく、この拘束条件でグローバル座標軸を参照する限り、剛体変形の6モードは見かけ上、完全に阻止されている。拘束点を結ぶライン軸を考えて下さい。この軸回りに構造物が回転してしまうことを発見する。剛体変形は意外な形で出現するという例である。いう隠れた剛体変形モードは、厄介な問題となるが、実際問題は、そんな不安定な支持条件を持つ構造物が想定されることはないので、通常はグローバル座標軸で考えれば済むことが多いだろう。斜め2点で並進拘束された平板ところで、もしかしたらFEM初心者の中には、こんな疑問点を持つ方もおられるかもしれない。図6にあるように、剛体変形といっても、荷重方向は鉛直方向(Z軸方向)だけに掛けていて、その方向は拘束しているし、水平方向(Y軸方向)に剛体変形は出ないのではと。鉛直方向に載荷された単純支持構造物これに対する解説には、構造物の最終的な平衡方程式を思い起こしてもらえばいいかと思う。下にある連立方程式の係数マトリックスKが全体剛性マトリックスだが、構造物が安定した構造系となるためには、数学用語でいう正定値マトリックスであることが必須条件なのである。くだけた言い方をするならば、連立方程式の解式中にKの対角項が常に正値であることを言う。入門・剛性マトリックス”に記載してあるので、そちらをご欄下いただきたい。今まで話題にしてきた剛体変形モードが内在してしまうような拘束条件であると、Kが正定値でなくなり、すなわち、ある対角項でゼロ値になってしまい、計算が破綻してしまうのである。正定値マトリックスを対象とする多くのソルバーは、この時点で、“Singular(特異)である”とか、“ILL-Conditionである”とかのメッセージを出していた。正定値云々の判定は、剛性マトリックスKだけで判断するもので、右辺にある荷重ベクトルPの内容とは一切関わりはない。実際に、どんな荷重が掛かるかの問題ではなく、もしこういう荷重が掛った場合(図6では水平荷重)にどうなるかの、可能性を想定すべき問題と考えていただければ理解が早いかと思う。最後に、今まで正定値マトリックスを対象とするソルバーにこだわって話をしてきたが、かならずしも正定値にこだわらないソルバーもあることを追記しておく。解の一意性という条件を緩和するのであれば、非正定値マトリックスを相手にしてもいいわけだ。図2の問題に戻ってみる。この問題、対称条件を利用しなければ、フリーボディの力学問題となる。実は非正定値マトリックスを許容するソルバーでは、図7にあるように拘束を一切設定せずに計算できるのだ。結果は、右図にあるように変形位置が任意となる。ソルバーは任意に取りうる変形状態からある一つの状態をアウトプットするだろう。歪の方は、歪=変位量の微分、という関係があるため、いかに変位量に剛体変形分が含まれていても、それを表現する定数項が微分作用でゼロとなるため、解析者が必要とする唯一のものが求まることになる。したがって、応力も唯一の解となる。図7の問題は、柔らかい板構造の物を両手で引っ張ったまま、両手をいろいろな位置に変えても、歪状態は変わらないことからもイメージできるであろう。このように、自己平衡にある構造物の構造解析、換言すれば反力を取らない構造物の構造解析には、非正定値マトリックス採用のソルバーが積極的に利用できるだろう。非正定値用ソルバーの解の中には剛体変形を含んでいるので、本来きちっと剛体変形を止めるべき拘束条件を設定せずに使用すれば、どうなるかと言うと、当然変形モードが剛体変形を含んだものとなり、ユーザーの予想を裏切ることになる。中には変位量の数値がとんでもない値になっていることも発見するだろう。非正定値用ソルバーは、解析許容範囲が広く非常に柔軟的なので、対象構造物の力学をよく把握しているベテランユーザーには、うまく利用するのに都合よいものなのだが、FEM経験の浅いユーザーは、結果を評価するのに注意を要する。標準ユーザーには、やはり正定値用ソルバー、非正定値用ソルバーに関係なく、基本に忠実に、きちっと拘束条件を設定することを推奨する。今回のテーマの話は以上で終わる。ここからは、冒頭で少し言った余談に入いることにする。3年前(2013年時点)の正月、本エッセイ第54話“CAEにモノ申す”で旧人類の苦言めいたことを言ってきたが、今年の正月を迎えた今、ちょうど、本テーマがいい機会を与えてくれたので、またまた旧人類の一言をいっておきたい。一老人の遺言ととらえてもらえば幸いである。結論から言えば、最近のFEMユーザーは、あまり自分で問題解決しようとしていないのでは、また、自分でよく考える習慣がついていないのでは、と危惧しているのである。本文で出てきたソルバーストップにしても、何が原因なのかを一顧だにせず、即サポートのホットラインに頼っている傾向が顕著にみられる。FEM解析が大衆化された昨今、何事につけ機械的に処理してしまおうという風潮があるようだ。そこで、思い出すのが、汎用機全盛時代のエンジニアたちのことだ。現在、60歳以上の年齢に当たるエンジニアで、構造解析に携わった人たち(ここでは、シニアユーザーと呼ばせてもらう)は、若い現役の時代、もちろん現在のようなソフトウェア産業など存在していない当時だから、あらゆる問題に自分たちで解決法を探っていたものだ。実は正定値マトリックスのエラーストップの原因には、本文で記載した全体的剛体変形モードの内在の他にもう一種ある。発見するのが厄介なのだ。板要素のような構造要素と呼ばれている要素を駆使するモデルでは、この局所的不安定問題が散見される。複雑多岐にわたる構造モデルでは、局所的不安定を起こしている箇所を特定するのに、困難なことが多い。下図を見ていただきたい。この図にある構造は、実際にあった何千要素からなる骨組み構造物の一部を取り出したものだが、ある箇所で局所的不安定を起こす。これは読者諸氏への宿題とさせていただく。シニアユーザーは、こういう問題に出くわすと、エラーメッセージで方程式番号が分かる場合、それを手がかりに該当節点を見つけ、原因除去を図ったものである。いうことをやっているものだから、自ずと解析リテラシーも向上するというものだ。芸能界に“劇団ひとり”という芸能人がいるが、構造解析のコンサルティングを担う“解析ひとり”とも言うべき人たちが筆者の知り合いに何人かいる。サラリーマン人生の定年を迎えた団塊世代以上の人たちだ。現役時代に、自分でよく考え、問題解決を図った人たちゆえ出来ることなのだ。サポート電話に手がいく前に、一歩踏みとどまって、一旦自分で考えてみませんか。自分でトラブル原因を考える習慣をつけてほしいということなのだ。それが、解析リテラシー向上への一歩だ、と筆者は思っている。昔からの人生訓に「艱難辛苦、汝を玉にする」というのがある。この言葉、技術の世界でも言えることではないだろうか。コメントをキャンセル。