四面体節点要素の補間関数

ヨーサンです。テレワーク中は周囲の目が無いのを良いことに勉強に専念しています。研究者ですからね、勉強も仕事です。
最近は有限要素法による電磁界解析について勉強しており、自分の備忘録的にこの記事を書いています。今回は四面体節点要素の補間関数についてです。

 

突然ですが、「四面体節点における何らかの値」だけが分かっていて「その要素内の任意の位置における何らかの値」を知りたい時ってよくありますよね。そうですよねよくありますよね。図で書くとこんな状態です。

f:id:yo444:20201015212833p:plain

日常でよくあるこの疑問

このような時、どうしますか?私はと言うと、私は大雑把な性格なのでもうAをx,y,zの一次式として勝手に仮定しちゃいます。こんな感じです。
A=w0+w1*x+w2*y+w3*z
こうおくと任意の位置でのAを求めることができます。
ただ今度はw0からw3まである4つの謎の値がでてきてしまいました。これは困りました・・・ 
落ち着きましょう。慌ててはいけません。節点におけるAの値はわかっています、四面体の節点の数は4つです。上式の謎の値の数も4つです。お!なにかいけそうな気がしてきますね。この4つ節点における座標と値の関係を書いてみましょう。

A1=w0+w1*x1+w2*y1+w3*z1
A2=w0+w1*x2+w2*y2+w3*z2
A3=w0+w1*x3+w2*y3+w3*z3 
A4=w0+w1*x4+w2*y4+w3*z4

おお、こうすると4つの未知数に対して4つの方程式を作ることができました。この方程式をそれぞれのwについて解くことで任意の位置におけるAの値を求めることができます。めでたしめでたし。

ところでwという変数を、4つの座標とAの値で表すとどうなるのでしょうか。僕は気になりませんが、世の中には気になる人もいるようです。昔の人はよくこれを手計算でやろうと思いましたね。僕なら絶対に間違えます。
それはさておき、これを計算すると任意の位置でのAの値というのは以下のようなスッキリした形で表現できるようです。
A(x,y,z)=N1*A1+N2*A2+N3*A3+N4*A4
よく分からないNという関数を持ち出してきて「スッキリした!」というのはインチキくさいですが勘弁してください。ところでこのNを補間関数と呼びます。Nは(x,y,z)の関数で、書くのがためらわれるくらい複雑な形です(個人の感想です)。この補間関数を導入することでいろいろ良いことがあるようですが、それはまた別のお話です(未だ理解していません)。

という訳で四面体接点要素における補間関数の考え方を示したつもりです。あくまで考え方だけですね、実際の関数の形も示していませんので。しかし補間関数は節点要素だけでなく、辺要素、面要素にも存在するようです。おまけに要素は四面体要素だけでなく、六面体要素もあります。これらはもっともっと複雑です。頑張って学びたいと思います。

続く