One Dimensional Finite Element Method
Calculus of Variations-13

いつもの様に、前のページの形状関数を使って、Helmholtz equation に重み付け残差法を適用します。そして、Neumann B.C. が最初の要素にある場合は、下のMatrix 式が得られます。

Neumann B.C. が最後の要素にある場合は、下のMatrix 式が得られます。違いはどこになるかと言うと、[B]T[B]と[N]T[N]の両方の積分ですが、特に[N]T[N]に注目して下さい。

Fortran プログラム(BUCKLE1C.FOR)は、ここをクリックすると、画面に表示されます。計算に使った領域と境界条件は、以前紹介したものと同じです。 つまり、最後の要素を、上で紹介した形状関数で置き換えてあります。 そして、要素分割数を2から10まで変化させて、Neumann B.C. が設定してある節点でのu(x)を厳密解と比較してみました。下図が計算結果です。

もともと線形要素で計算しても、そんなに誤差が大きくありませんでしたので、何とも言えませんが。しかし、何らかの効果は有った様ですね。境界付近を大きな要素で分割しても、高い精度が得られていると言うことを、上の図は、言っています。まー、要素の次数が高くなっているので、そのせいもあると思います。

気を良くして、2次要素でもプログラムを作成してみました。が、結果は、NGでした。この件については、暇を見つけ次第、続きをやりたいと考えています。

これで、変分法については、わりです。理解できましたか。有限要素法の本を見ても、変分法をここまで噛み砕いて説明していません。変分法には、まだまだ先があります。後は、皆さんが勉強して下さい。新しい発見をするかもしれませんよ。変分法については、Dym and Shamesの本に、まだまだ沢山載っています。また、読み易い本です。

なお、変分法以外のところのページで、積分式の値を表す記号として、δI の代わりに I を使っています。どっちにしろ、I0 を基準にとるか、ゼロを基準にとるかの違いですから、気にする必要は、ないでしょう。また、あまりギリシャ文字を沢山使い過ぎると、頭が混乱するので、δI の代わりに I を使って良かったと思っています。皆さんはどう思いますかね。

次は、まとめです。

BACK NEXT
Menu View Helm wrm Lin Element Rmrk Vari Para Non-L Wire