FEMINGWAY 〜有限要素法解析など構造設計にまつわる数理エッセイ〜

第35話 補間の話あれこれ

工学問題における各種の技術計算プログラムを開発する人にとっては“補間”という技術はかなり重要である。有限要素法も定式化の第一歩は補間関数の選択から始まっているとも言える。筆者の経験から言っても、補間技術の引き出しを多く持っていることが開発者の必須条件であるように思う。

曲線/曲面(以下、曲線で代表する)を生成する補間技術には大きく分けて2種類ある。指定された点を必ず通るような曲線を生成する場合とそうでない場合である。前者はカーブフィティングとも言われる技術であり、多くの補間技術がある。後者の代表例には最小二乗法で求まる“あてはめ曲線”があり、また、有名なベジェ曲線のように CAD における感覚曲線もある。これまた多くの補間技術がある。

有限要素法においては後者が利用されることはほとんどないと思うが、筆者は一度だけ利用したことがある。要素間で不連続な値として求まる応力値のスムージング処理に最小二乗法を利用したことがあった。ただ、一般にはほとんど登場場面はないと思われる。以下は前者の話である。

カーブフィティングといっても、有限要素法の範囲では形状関数とか変位関数とかで使用される指定点(すなわち節点)の数は極めて少ない。指定点での指定量を微分量までとるのかどうかで、ラグランジュ型、エルミート型と分けられていることは、第12話で紹介したとおりである。ここでは、この2つのタイプでの補間技術のこぼれ話を一席。

図35‒1 カーブフィティング

図35‒1 カーブフィティング

まず、ラグランジュ型の方だが、ちょっと有限要素法から離れた一般的な話である。たとえば、図35-1のように指定点が多くある場合の補間では隣接3点の区間毎の補間曲線を求めて、それらの結果をさらにスムースに繋いでいくという手がとられることがある。

わざわざこんな面倒なことをせず、全体を一挙に補間すればいいではないかという声も出てきそうだが、これには理由がある。ラグランジュ型補間では、高次関数になると曲線が振動してしまうという不安定さが存在するのである。これは有名な話で、この現象を発見したのが、応用数学の父とも言われたドイツのルンゲ(Runge;独1856-1927)である。連立微分方程式の数値解法で“ルンゲ・クッタ法”というのがあるが、あのルンゲである。それで、この現象は“ルンゲの現象”と呼ばれている。

ラグランジュ型補間の話に限らず、一般に高次の関数というものを実際の工学問題に適用するとなると、現実にはいろいろな弊害が生じる傾向にある。

余談となるが、昔、有限要素法の世界に新風を吹き込んだ“P 法”が日本に上陸した際、筆者はこの手法が8次とか9次とかのかなりの高次関数を利用していることを知り、やや不安げに眺めていたのだが、P 法では H 法のような単純な多項式ではなくルジャンドルの多項式を使用しているとのことで大丈夫であった。

たしかに、多項式を展開する必要のある問題においては、ルジャンドルの多項式のような直交多項式を利用することは各種の病的課題の克服に役立つようである。最小二乗法でのチェビッシェフの多項式の利用などもそうである。

次はエルミート型補間のこぼれ話。

ここでは有限要素法に戻る。今では、ほとんど使用されることはないと思うが、板要素の研究開発初期の頃、たとえば長方形要素の撓みを近似する変位関数の1つとして、下のような12の未定係数を持つ不完全3次関数があった。

35-a

未定係数は各節点での撓みと2方向の回転角(薄板の場合、撓みの1次微分)、すなわち、4(節点)×3(物理量)=12となり、数学的に矛盾無く決定される。未定係数さえ決まれば、これは補間関数である。板の剛性マトリックスを作成する変位関数としてはいささか資格に欠ける補間関数であるが、4指定点での関数およびその微分量を指定量とした矩形領域を対象とする立派なエルミート型の補間関数である。

ところで、この補間関数はラグランジュ型に比べて直感的でない所がある。ここで詳細な式を書き下すのは煩雑なので、式からの由来は省くが、矩形辺上にある点での微分量の補間値を求める場合、4点での指定微分量が絡んでくるのである。直感的には、その辺の両端での値だけが関係してくるように思うのだが。そして、このことで不都合を生じる場合がある。

図35‒2 辺上に載った補間位置

図35‒2 辺上に載った補間位置

図35-2を見てもらいたい。補間量を求める点 P がたまたま、左右両矩形の共通辺上に載っているとする。そして、この点の位置は外から人間が決定するのではなく、プログラムの中で自動的に決定されるものとする。もうお分かりでしょう。点 P が右の領域に属するのか、左の領域に属するのかの判定は、避けられない数値誤差の存在でゆらいでしまう。左右領域の判定結果により、補間値の結果にも差異が生じるという不安定さが残ってしまうのである。

こういう場合、その辺の両端の量だけで決定する補間関数であれば、どちらの領域にあると判断されても問題ない。実際、それはあるのである。

梁要素で使用されている1次元のエルミート型補間関数を重ね合わせた“双3次補間関数”を使用すればいい。この補間関数では、辺上の点の補間値はその両端の値からのみ決定される。

冒頭で筆者が言った、引き出しを多く持つことを勧めた事情もお分かりいただけたかな。

2005年9月記

Advertisement

コメントを残す

ページ上部へ